:root{--n-card: #fff;--n-panel: #fffaf3;--n-panel-strong: #f7ead8;--n-input: #fff;--n-border: #ead9c5;--n-border-strong: #c88c52;--n-ink: #2d211a;--n-muted: #7c6859;--n-brand: #a84e27;--n-brand-dark: #71301b;--n-brand-soft: #f5ddc5;--n-coffee: #6d3024;--n-water: #d28c39;--n-yield: #bd6b36;--n-retained: #bca58d;--n-dilution: #e4ad5e;--n-success: #3c7d59;--n-warning: #a76d24;--n-danger: #a44632;--n-shadow: rgba(76, 41, 25, .14)}.theme-dark{--n-card: #271e1a;--n-panel: #33251e;--n-panel-strong: #473024;--n-input: #211916;--n-border: #5b4030;--n-border-strong: #e39b58;--n-ink: #fff1dc;--n-muted: #c9ae93;--n-brand: #e28a4b;--n-brand-dark: #ffc38b;--n-brand-soft: #553121;--n-coffee: #c77654;--n-water: #e0a34c;--n-yield: #d8894c;--n-retained: #8e7762;--n-dilution: #f1bd70;--n-success: #82c699;--n-warning: #f2bb68;--n-danger: #ee947a;--n-shadow: rgba(0, 0, 0, .38)}.cold-brew-ratio-calculator{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.35fr);gap:1rem;max-width:1120px;margin:0 auto;padding:1rem;border:1px solid var(--n-border);border-radius:1.4rem;background:var(--n-card);color:var(--n-ink);box-shadow:0 1.5rem 3rem var(--n-shadow)}.cold-brew-controls,.cold-brew-results{min-width:0;border:1px solid var(--n-border);border-radius:1rem}.cold-brew-controls{display:flex;flex-direction:column;gap:.9rem;padding:1rem;background:var(--n-panel)}.cold-brew-controls h2,.cold-brew-results h2,.cold-brew-visual-stage h3,.cold-brew-steps h3{margin:0;color:var(--n-ink);font-size:1.08rem;line-height:1.2}.cold-brew-unit-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.2rem;border:1px solid var(--n-border);border-radius:.65rem;background:var(--n-input)}.cold-brew-unit-button,.cold-brew-mode-button,.cold-brew-preset,.cold-brew-action{border:1px solid var(--n-border);color:var(--n-muted);cursor:pointer;font:inherit;transition:.16s ease}.cold-brew-unit-button{padding:.45rem;border:0;border-radius:.45rem;background:transparent;font-size:.75rem;font-weight:800}.cold-brew-unit-button.is-active{background:var(--n-brand);color:var(--n-card)}.cold-brew-mode-grid,.cold-brew-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.cold-brew-mode-button{display:grid;gap:.18rem;min-height:5.8rem;padding:.7rem;border-radius:.75rem;background:var(--n-input);text-align:left}.cold-brew-mode-button:hover,.cold-brew-mode-button.is-active,.cold-brew-preset:hover,.cold-brew-preset.is-active{border-color:var(--n-brand);color:var(--n-brand-dark)}.cold-brew-mode-button.is-active,.cold-brew-preset.is-active{background:var(--n-brand-soft);box-shadow:inset 0 -3px var(--n-brand)}.cold-brew-mode-icon{color:var(--n-brand);font-size:1.3rem;line-height:1}.cold-brew-mode-button span:nth-child(2),.cold-brew-preset{font-weight:800}.cold-brew-mode-button small,.cold-brew-label-row span{color:var(--n-muted);font-size:.72rem;line-height:1.3}.cold-brew-preset{padding:.58rem .45rem;border-radius:.6rem;background:var(--n-input);font-size:.78rem}.cold-brew-form-section{display:grid;gap:.45rem}.cold-brew-section-label,.cold-brew-label-row{margin:0;color:var(--n-ink);font-size:.84rem;font-weight:800}.cold-brew-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.cold-brew-input-row{display:flex;align-items:center;gap:.6rem}.cold-brew-range{min-width:0;flex:1;accent-color:var(--n-brand);cursor:pointer}.cold-brew-number{width:4.6rem;padding:.52rem .25rem;border:1px solid var(--n-border);border-radius:.6rem;background:var(--n-input);color:var(--n-ink);font:inherit;font-weight:800;text-align:center}.cold-brew-number:focus{border-color:var(--n-border-strong);outline:2px solid var(--n-brand-soft)}.cold-brew-unit,.cold-brew-ratio-display,.cold-brew-time-display{min-width:3.3rem;color:var(--n-brand);font-size:.8rem;font-weight:900;text-align:right}.cold-brew-concentrate-only{display:none}.is-concentrate .cold-brew-concentrate-only{display:grid}.cold-brew-control-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.25rem}.cold-brew-action{border-radius:.65rem;padding:.65rem .8rem;font-size:.8rem;font-weight:800}.cold-brew-action-primary{flex:1;border-color:var(--n-brand);background:var(--n-brand);color:var(--n-card)}.cold-brew-action-primary:hover{background:var(--n-brand-dark)}.cold-brew-action-quiet{background:transparent}.cold-brew-action-quiet:hover{border-color:var(--n-brand);color:var(--n-brand)}.cold-brew-results{overflow:hidden;background:var(--n-card)}.cold-brew-result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem 0}.cold-brew-kicker{margin:0 0 .2rem;color:var(--n-brand);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.cold-brew-result-badge,.cold-brew-status{display:inline-flex;align-items:center;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.cold-brew-result-badge{padding:.4rem .6rem;background:var(--n-brand-soft);color:var(--n-brand-dark);white-space:nowrap}.cold-brew-visual-stage{margin:.9rem 1.1rem 0;padding:.95rem;border:1px solid var(--n-border);border-radius:.8rem;background:var(--n-panel)}.cold-brew-visual-heading{margin-bottom:1rem}.cold-brew-flow-lanes{display:grid;gap:.8rem}.cold-brew-flow-lane{display:grid;gap:.35rem}.cold-brew-flow-label{color:var(--n-muted);font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.cold-brew-flow-track{display:flex;width:100%;height:2.35rem;overflow:hidden;border-radius:.55rem;background:var(--n-panel-strong)}.cold-brew-flow-segment{display:flex;min-width:0;align-items:center;justify-content:center;overflow:hidden;color:var(--n-card);transition:width .35s ease,opacity .2s ease}.cold-brew-flow-segment b{overflow:hidden;padding:0 .25rem;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.cold-brew-flow-coffee{background:var(--n-coffee)}.cold-brew-flow-water{background:var(--n-water)}.cold-brew-flow-yield,.cold-brew-flow-served{background:var(--n-yield)}.cold-brew-flow-retained{background:var(--n-retained)}.cold-brew-flow-dilution{background:var(--n-dilution)}.cold-brew-flow-legend{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin-top:.85rem;color:var(--n-muted);font-size:.68rem}.cold-brew-flow-legend span{display:inline-flex;align-items:center;gap:.3rem}.cold-brew-legend-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%}.cold-brew-legend-coffee{background:var(--n-coffee)}.cold-brew-legend-water{background:var(--n-water)}.cold-brew-legend-retained{background:var(--n-retained)}.cold-brew-legend-served{background:var(--n-yield)}.cold-brew-legend-dilution{background:var(--n-dilution)}.cold-brew-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;padding:.9rem 1.1rem 0}.cold-brew-stat{display:grid;gap:.3rem;min-width:0;padding:.65rem;border:1px solid var(--n-border);border-radius:.7rem;background:var(--n-panel)}.cold-brew-stat span{color:var(--n-muted);font-size:.68rem;line-height:1.2}.cold-brew-stat strong{color:var(--n-ink);font-size:.95rem}.cold-brew-stat-feature strong,.cold-brew-stat-total strong{color:var(--n-brand)}.cold-brew-stat-total{grid-column:auto}.cold-brew-result-meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;align-items:center;padding:.8rem 1.1rem 0;color:var(--n-muted);font-size:.75rem}.cold-brew-result-meta b{color:var(--n-ink)}.cold-brew-status{padding:.3rem .5rem}.cold-brew-status-short{background:var(--n-danger);color:var(--n-card)}.cold-brew-status-balanced{background:var(--n-success);color:var(--n-card)}.cold-brew-status-long{background:var(--n-warning);color:var(--n-card)}.cold-brew-steps{padding:1rem 1.1rem}.cold-brew-steps ol{display:grid;gap:.5rem;margin:.7rem 0 0;padding:0;list-style:none}.cold-brew-steps li{display:flex;align-items:center;gap:.65rem;color:var(--n-muted);font-size:.78rem}.cold-brew-steps li>span{display:grid;width:1.4rem;height:1.4rem;flex:0 0 1.4rem;place-items:center;border-radius:50%;background:var(--n-brand-soft);color:var(--n-brand-dark);font-weight:900}.cold-brew-steps p{margin:0}@media(max-width:850px){.cold-brew-ratio-calculator{grid-template-columns:1fr}}@media(max-width:520px){.cold-brew-ratio-calculator{gap:.75rem;padding:.6rem;border-radius:1.1rem}.cold-brew-stat-grid{grid-template-columns:1fr 1fr}.cold-brew-stat-total{grid-column:1 / -1}}
