.ff7r{--ff7r-red:var(--c-accent,#bb1724);--ff7r-border:var(--c-line,#d2d2d2);color:var(--c-ink,#222);background:var(--c-paper,#fff);font-size:16px;line-height:1.8;min-width:0;max-width:100%;overflow-wrap:anywhere}
.ff7r *{box-sizing:border-box;min-width:0}
.ff7r p{margin:0 0 1em}
.ff7r :is(h1,h2,h3,h4){overflow-wrap:anywhere;word-break:normal;max-width:100%}
.ff7r h1{font-size:clamp(1.55rem,3.7vw,2.15rem);line-height:1.45;margin:.3em 0 .65em}
.ff7r h2{font-size:1.35em;line-height:1.6;border-bottom:2px solid var(--c-ink,#222);padding-bottom:.3em;margin:1.8em 0 .8em}
.ff7r .ff7r-hero{border-top:5px solid var(--c-ink,#222);padding:1.2em 0;margin-bottom:1em}
.ff7r .ff7r-eyebrow{font-size:.875em;font-weight:700;letter-spacing:.03em;color:var(--c-accent,#8e1620);margin-bottom:.5em}
.ff7r .ff7r-version{font-size:.875em;color:var(--c-muted,#555)}
.ff7r .ff7r-nav{display:flex;flex-wrap:wrap;gap:.5em;margin:1em 0 1.5em}
.ff7r .ff7r-nav a{display:block;border:1px solid var(--c-line,#bbb);padding:.5em .75em;color:var(--c-ink,#222);text-decoration:none;background:var(--c-paper,#fff)}
.ff7r .ff7r-nav a:hover,.ff7r .ff7r-nav a[aria-current=page]{background:var(--c-ink,#222);color:var(--c-paper,#fff);border-color:var(--c-ink,#222)}
.ff7r .ff7r-toc,.ff7r .ff7r-panel{border:1px solid var(--c-line,#ccc);background:var(--c-subtle,#f7f7f7);padding:1em;margin:1.2em 0}
.ff7r .ff7r-toc :is(ul,ol){padding-left:1.4em;margin:.5em 0}
.ff7r .ff7r-footer{border-top:1px solid var(--c-line,#ccc);padding-top:1em;margin-top:2em;font-size:.9em;color:var(--c-muted,#555)}
.ff7r .ff7r-header-art{display:block;max-width:100%;height:auto;margin:.8em 0 1em}
.ff7r article :is(ul,ol){padding-left:1.4em}
.ff7r article li{margin:.5em 0}
.ff7r h3{font-size:1.15em;line-height:1.6;margin:.25em 0 .65em}
.ff7r a{color:var(--c-accent,#9b101c);text-decoration:underline;text-underline-offset:.18em}
.ff7r button,.ff7r input,.ff7r select,.ff7r textarea{font:inherit;line-height:1.5;max-width:100%;border:1px solid var(--c-line,#777);border-radius:3px}
.ff7r input:not([type=checkbox]),.ff7r select,.ff7r textarea{display:block;background:var(--c-paper,#fff);color:var(--c-ink,#222);padding:.65em;width:100%;min-height:44px}
.ff7r textarea{resize:vertical;margin:.5em 0 1em;white-space:pre-wrap;overflow-wrap:anywhere}
.ff7r input[type=checkbox]{width:1.25em;height:1.25em;accent-color:var(--ff7r-red)}
.ff7r button{cursor:pointer;background:var(--c-ink,#222);color:var(--c-paper,#fff);padding:.6em 1em;white-space:normal;min-height:44px}
.ff7r button:hover{background:var(--ff7r-red)}
.ff7r :is(button,input,select,textarea,a,[tabindex]):focus-visible{outline:3px solid var(--c-accent,#b51a27);outline-offset:3px}
.ff7r .ff7r-field{display:flex;flex-direction:column;gap:.35em;margin:0;font-weight:600}
.ff7r .ff7r-field:has(input[type=checkbox]){flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:.7em}
.ff7r .ff7r-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:end;gap:1em;margin:1em 0}
.ff7r .ff7r-actions{display:flex;flex-wrap:wrap;gap:.7em;margin:1em 0}
.ff7r .ff7r-cards{display:grid;gap:1em;margin:1em 0}
.ff7r .ff7r-card{border:1px solid var(--ff7r-border);border-top:3px solid var(--c-ink,#222);padding:1em;background:var(--c-paper,#fff)}
.ff7r .ff7r-tag{font-size:.875em;font-weight:700;color:var(--c-accent,#90131d);margin:0 0 .4em}
.ff7r .ff7r-note{font-size:.9em;color:var(--c-muted,#555);margin:1em 0}
.ff7r .ff7r-count{font-weight:700;border-left:4px solid var(--ff7r-red);padding:.5em .75em;background:var(--c-subtle,#f4f4f4)}
.ff7r .ff7r-status:empty{display:none}
.ff7r .ff7r-status{padding:.75em;border:1px solid var(--ff7r-border);background:var(--c-subtle,#f5f5f5)}
.ff7r .ff7r-error{color:var(--c-accent,#8d1020);border-left:4px solid var(--ff7r-red);padding:.75em;background:var(--c-subtle,#fff2f3)}
.ff7r .ff7r-material-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75em;border:1px solid var(--ff7r-border);padding:1em;margin:1em 0}
.ff7r .ff7r-material-row legend{padding:0 .4em;font-weight:700}
.ff7r .ff7r-material-row button{grid-column:1/-1;justify-self:start;background:var(--c-paper,#fff);color:var(--c-ink,#222)}
.ff7r .ff7r-result{margin:1.5em 0}
.ff7r :is(.ff7r-table-scroll,.ff7r-table-wrap){width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--ff7r-border);overscroll-behavior-x:contain}
.ff7r :is(.ff7r-table-scroll,.ff7r-table-wrap) table{border-collapse:collapse;width:100%;min-width:480px;font-size:16px;margin:0}
.ff7r :is(.ff7r-table-scroll,.ff7r-table-wrap) caption{text-align:left;padding:.6em;font-weight:700}
.ff7r :is(.ff7r-table-scroll,.ff7r-table-wrap) :is(th,td){border:1px solid var(--ff7r-border);padding:.5em .7em;text-align:right;vertical-align:top}
.ff7r :is(.ff7r-table-scroll,.ff7r-table-wrap) :is(th,td):first-child{text-align:left;max-width:250px;overflow-wrap:anywhere}
.ff7r :is(.ff7r-table-scroll,.ff7r-table-wrap) th{background:var(--c-ink,#222);color:var(--c-paper,#fff)}
.ff7r .ff7r-share{background:var(--c-subtle,#f4f4f4)}
@media(max-width:480px){.ff7r .ff7r-material-row{grid-template-columns:1fr}.ff7r .ff7r-card{padding:.8em}.ff7r .ff7r-controls{grid-template-columns:1fr}.ff7r .ff7r-actions button{width:100%}}

.ff7r .ff7r-field:has(input[type=checkbox]){min-height:44px;cursor:pointer;padding:.45em .3em;justify-content:flex-start;gap:.8em}.ff7r .ff7r-nav a,.ff7r .ff7r-card a{min-height:44px;display:inline-flex;align-items:center}.ff7r .ff7r-quantity-grid{display:grid;gap:1em;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.ff7r .ff7r-custom{border:1px solid var(--c-line,#bbb);padding:1em;margin:1em 0}.ff7r [hidden]{display:none!important}.ff7r .ff7r-stock{margin:1em 0}

.ff7r .ff7r-species-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.5em}.ff7r .ff7r-recipe{border:1px solid var(--c-line,#aaa);padding:1em;margin:1em 0}.ff7r .ff7r-recipe legend{font-weight:700}.ff7r .ff7r-ingredient{border-top:1px solid var(--c-line,#ccc);padding-top:.6em}.ff7r .ff7r-dlc{font-size:.9em;color:var(--c-muted,#555)}.ff7r .ff7r-result:empty{display:none}.ff7r button:disabled{opacity:.6;cursor:not-allowed}.ff7r .ff7r-table-scroll table.ff7r-needs-table{min-width:380px}

/* Keep FF7R tap targets above the native C-design section-nav minimum. */
.c-site .ff7r .ff7r-nav > a{min-height:44px}

.ff7r details>summary,.c-site .ff7r .ff7r-panel>summary{min-height:44px;cursor:pointer;padding:.4em .2em;font-weight:700}

.ff7r .ff7r-header-art{width:460px;max-width:100%;height:auto}

.ff7r .ff7r-tool-reference table{min-width:740px}
