.brew-calculator{color:var(--color-text);font-family:var(--font-display);margin:2.5rem 0}.brew-calculator .visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.brew-calculator fieldset{border:0;min-width:0;margin:0;padding:0}.brew-calculator legend,.brew-calculator label{color:var(--color-text);font-size:.78rem;font-weight:750}.brew-calculator input,.brew-calculator button{font:inherit}.brew-calculator input[type=number]{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;min-height:3.25rem;color:var(--color-text);background:var(--color-background);font-variant-numeric:tabular-nums;padding:.68rem .8rem;font-size:1rem}.brew-calculator input[aria-invalid=true]{border-color:var(--color-accent-strong)}.brew-calculator__field{align-content:start;gap:.5rem;min-width:0;display:grid}.brew-calculator__helper,.brew-calculator__error{color:var(--color-text-muted);font-size:.69rem;font-weight:550;line-height:1.4}.brew-calculator__error{color:var(--color-accent-strong)}.brew-calculator--compact{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem 1.5rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.brew-calculator--compact input[type=range]{width:100%;min-height:2rem;accent-color:var(--color-accent);margin:.35rem 0 0}.brew-calculator__compact-result{border-top:1px solid var(--color-border);min-height:7rem;color:var(--color-text-muted);flex-direction:column;grid-column:1/-1;justify-content:space-between;padding-top:1.25rem;font-size:.82rem;font-weight:700;display:flex}.brew-calculator__compact-result strong{color:var(--color-text);letter-spacing:-.06em;white-space:nowrap;font-size:clamp(2.5rem,7vw,4.8rem);font-weight:540;line-height:.95;display:block}.brew-calculator--full{width:min(100vw - (2 * var(--space-page)), 52rem);border-top:2px solid var(--color-text);border-bottom:1px solid var(--color-border);margin:clamp(2.25rem,6vw,3.5rem) 0 clamp(3rem,7vw,4rem) 50%;transform:translate(-50%)}.brew-calculator__toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:start;gap:1.5rem 3rem;padding:.95rem 0 1rem;display:flex}.brew-calculator__toolbar fieldset{gap:.25rem;display:grid}.brew-calculator__choice-options,.brew-calculator__unit-options{align-items:center;gap:.9rem;display:flex}.brew-calculator__choice-options label,.brew-calculator__unit-options label{cursor:pointer;position:relative}.brew-calculator__choice-options input,.brew-calculator__unit-options input{opacity:0;width:1px;height:1px;position:absolute}.brew-calculator__choice-options span,.brew-calculator__unit-options span{color:var(--color-text-muted);border-bottom:2px solid #0000;padding:.1rem 0 .22rem;font-size:.76rem;transition:color .16s,border-color .16s;display:block}.brew-calculator__choice-options input:checked+span,.brew-calculator__unit-options input:checked+span{border-color:var(--color-accent-strong);color:var(--color-text)}.brew-calculator__choice-options input:focus-visible+span,.brew-calculator__unit-options input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:1px}.brew-calculator__equation{grid-template-columns:minmax(10rem,1.1fr) auto minmax(9rem,.85fr) auto minmax(11rem,1fr);align-items:start;gap:clamp(.65rem,2vw,1.25rem);padding:clamp(1.7rem,4vw,2.4rem) 0;display:grid}.brew-calculator__equation label,.brew-calculator__equation legend{line-height:1.35}.brew-calculator__value-with-suffix{grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.brew-calculator--full input[type=number]{background:var(--color-surface-raised);letter-spacing:-.035em;min-height:4.1rem;padding:.7rem .9rem;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:600}.brew-calculator__value-with-suffix input{border-radius:var(--radius) 0 0 var(--radius)}.brew-calculator__value-with-suffix>span{border:1px solid var(--color-border);border-radius:0 var(--radius) var(--radius) 0;min-width:3rem;color:var(--color-text-muted);background:var(--color-surface-raised);border-left:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:grid}.brew-calculator__operator{color:var(--color-text-muted);font-family:var(--font-reading);margin-top:3.05rem;font-size:1.7rem;line-height:1}.brew-calculator__ratio{gap:.5rem;display:grid}.brew-calculator__ratio legend{margin-bottom:.5rem}.brew-calculator__ratio-input{grid-template-columns:auto minmax(0,1fr);display:grid}.brew-calculator__ratio-input>label{border:1px solid var(--color-border);border-radius:var(--radius) 0 0 var(--radius);min-width:3rem;min-height:4.1rem;color:var(--color-text-muted);background:var(--color-surface-raised);font-variant-numeric:tabular-nums;border-right:0;place-items:center;display:grid}.brew-calculator__ratio-input>input{border-radius:0 var(--radius) var(--radius) 0}.brew-calculator__quick-ratios{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.brew-calculator__quick-ratios button{min-height:1.75rem;color:var(--color-text-muted);cursor:pointer;transition:color .16s ease, border-color .16s ease, transform .16s var(--ease-out);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:.1rem 0;font-size:.69rem;font-weight:700}.brew-calculator__quick-ratios button:hover{color:var(--color-text)}.brew-calculator__quick-ratios button[aria-pressed=true]{border-color:var(--color-accent-strong);color:var(--color-text)}.brew-calculator__quick-ratios button:active{transform:translateY(1px)}.brew-calculator__result{align-content:center;gap:.65rem;min-width:0;display:grid}.brew-calculator__result-label{color:var(--color-accent-strong);font-size:.76rem;font-weight:750}.brew-calculator__result strong{min-width:0;color:var(--color-text);letter-spacing:-.055em;overflow-wrap:anywhere;font-size:clamp(2.5rem,5vw,3.8rem);font-weight:550;line-height:.95}.brew-calculator__result strong small{color:var(--color-text-muted);letter-spacing:0;white-space:nowrap;margin-left:.15em;font-size:.27em;font-weight:700}.brew-calculator__result .brew-calculator__result-empty{letter-spacing:-.04em;font-size:clamp(1.4rem,3vw,2rem);line-height:1}.brew-calculator__summary{border-top:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:1.5rem 3rem;padding:1rem 0 1.05rem;display:flex}.brew-calculator__formula{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700;line-height:1.45}.brew-calculator__result-note{max-width:34ch;color:var(--color-text-muted);font-family:var(--font-reading);text-align:right;font-size:.7rem;line-height:1.45}@media (width<=47.99rem){.brew-calculator--compact{grid-template-columns:1fr}.brew-calculator__compact-result{grid-column:auto}.brew-calculator--full{width:min(100vw - (2 * var(--space-page)), 40rem)}.brew-calculator__toolbar,.brew-calculator__summary{grid-template-columns:1fr;gap:.9rem;display:grid}.brew-calculator__toolbar{padding:.9rem 0 1rem}.brew-calculator__equation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.7rem;padding:1.4rem 0 1.25rem}.brew-calculator__equation>.brew-calculator__operator:nth-of-type(2){display:none}.brew-calculator__result{border-top:1px solid var(--color-border);grid-column:1/-1;grid-template-columns:1fr auto;align-items:end;margin-top:.35rem;padding-top:1.15rem}.brew-calculator__result-label{padding-bottom:.3rem}.brew-calculator__result strong{text-align:right}.brew-calculator__result-note{text-align:left;max-width:none}}@media (width<=25rem){.brew-calculator__equation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem}.brew-calculator--full input[type=number],.brew-calculator__ratio-input>label,.brew-calculator__value-with-suffix>span{min-height:3.6rem}.brew-calculator__quick-ratios{gap:.35rem}}@media (prefers-reduced-motion:reduce){.brew-calculator__choice-options span,.brew-calculator__quick-ratios button{transition:none}}
