@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(./oswald-cyrillic-ext-wght-normal-DLWmRmaW.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(./oswald-cyrillic-wght-normal-C8sJyxwB.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(./oswald-vietnamese-wght-normal-Tdf5mmdl.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(./oswald-latin-ext-wght-normal-Dj_1K-Kw.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(./oswald-latin-wght-normal-CzS3kehr.woff2)format("woff2-variations");unicode-range:U+20-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;src:url(./Geist-Variable-Bj2R_7yk.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:100 900}@font-face{font-family:Geist Pixel Line;src:url(./GeistPixel-Line-Bn2EgCYP.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:Geist Pixel Grid;src:url(./GeistPixel-Grid-CHCHJWPp.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500}:root{--pf-radius-scale:1;--appliance-header-height:82px;--font-heading:"Oswald Variable", "Arial Narrow", "Roboto Condensed", ui-sans-serif, system-ui, sans-serif;--heading-weight:500;--heading-line-height:1.2;--heading-line-height-display:1;--heading-tracking-display:-.05rem;--heading-tracking-tight:-.2em;--heading-tracking-section:.02em;--heading-size-h1:2rem;--heading-size-h2:1.5rem;--heading-size-h3:1.17rem;--heading-size-page:2rem;--heading-size-page-compact:2rem;--heading-size-page-library:2rem;--heading-size-section:1.35rem;--heading-size-section-compact:.92rem;--heading-size-modal:1.32rem;--heading-size-metric:clamp(1.45rem, 2vw, 2rem);--heading-size-metric-summary:clamp(1.8rem, 2.6vw, 2.6rem);color:#0f1612;color:color(display-p3 .052 .078 .061);background:#fafdfa;font-synthesis:none;text-rendering:optimizelegibility;--background:#f8fdf9;--text:#0b140f;--muted:#465c50;--border:#c6dbcd;--border-strong:#a6c3b0;--accent:#008c4d;--accent-hover:#00a859;--success:#009451;--danger:#f20025;--focus:#ff5616;--led-green:#00b75e;--led-yellow:#ff9e00;--led-red:#ff222b;--led-purple:#962aff;--chart-total:#ff4d10;--chart-upper:#5d2aff;--chart-lower:#00b754;--brew-focus-bg:#000a04;background:color(display-p3 .977 .991 .979);font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 .977 .991 .979);--text:color(display-p3 .052 .078 .061);--muted:color(display-p3 .291 .359 .318);--border:color(display-p3 .791 .855 .808);--border-strong:color(display-p3 .673 .762 .697);--accent:color(display-p3 0 .565 .275);--accent-hover:color(display-p3 0 .675 .315);--success:color(display-p3 0 .596 .286);--danger:color(display-p3 .892 .11 .166);--focus:color(display-p3 1 .33 .055);--led-green:color(display-p3 0 .734 .326);--led-yellow:color(display-p3 1 .62 0);--led-red:color(display-p3 1 .11 .145);--led-purple:color(display-p3 .55 .14 1);--chart-total:color(display-p3 1 .295 .025);--chart-upper:color(display-p3 .34 .11 1);--chart-lower:color(display-p3 0 .735 .276);--brew-focus-bg:color(display-p3 .005 .037 .018)}}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--heading-weight);line-height:var(--heading-line-height);margin:0}h1{font-size:var(--heading-size-h1);letter-spacing:-.05rem}h2{font-size:var(--heading-size-h2);letter-spacing:-.05rem}h3{font-size:var(--heading-size-h3);letter-spacing:var(--heading-tracking-section)}.page-title{color:var(--app-text,var(--text));font-size:var(--heading-size-page);line-height:var(--heading-line-height-display);letter-spacing:-.05rem;margin:0}.page-title--compact{font-size:var(--heading-size-page-compact)}.page-title--library{font-size:var(--heading-size-page-library);letter-spacing:-.05rem}.section-title{color:var(--app-text,var(--text));margin:0}.section-title--card{font-size:var(--heading-size-section)}.section-title--compact{font-size:var(--heading-size-section-compact);align-items:center;gap:8px;display:flex}.section-title--selection{font-size:1.2rem}.modal-title{font-size:var(--heading-size-modal);letter-spacing:-.05rem;margin:0}.modal-title--selection{font-size:clamp(1.55rem,3vw,2.15rem);line-height:var(--heading-line-height-display);margin:5px 0 4px}.modal-title--confirmation{margin:10px 0 8px;font-size:clamp(1.65rem,4vw,2.2rem)}.metric-title{font-size:var(--heading-size-metric);letter-spacing:-.05rem}.metric-title--panel{line-height:var(--heading-line-height);margin:0 0 20px}.metric-title--summary{color:var(--accent);font-size:var(--heading-size-metric-summary);line-height:var(--heading-line-height-display);margin:0}.guided-step-title{font-size:clamp(2.2rem,5vw,4.8rem);line-height:var(--heading-line-height-display);letter-spacing:var(--heading-tracking-section);margin:14px 0 10px}.card-title{font-family:var(--font-heading);font-size:2rem;font-weight:300;line-height:1.1}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}html.focus-view-active,body.focus-view-active{background:var(--brew-focus-bg)}button,input{font:inherit}button{color:inherit}button:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 38%, transparent);outline-offset:3px}a:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 38%, transparent);outline-offset:3px}input:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 38%, transparent);outline-offset:3px}select:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 38%, transparent);outline-offset:3px}.app-shell{border:1px solid var(--border);background:var(--background);min-height:100dvh;overflow-x:hidden}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:32px;min-height:92px;padding:0 3.1vw;display:flex}.header-status{align-items:center;gap:32px;height:48px;font-size:1rem;display:flex}.hostname{color:#484341}.connection{border-left:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;align-items:center;gap:12px;min-height:40px;padding:0 32px;display:inline-flex}.connection i{background:currentColor;border-radius:50%;width:18px;height:18px}.connection--online{color:var(--success)}.connection--offline{color:var(--danger)}.settings-button{cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-height:44px;padding:0 4px;font-size:1rem;display:inline-flex}.settings-button svg{width:25px;height:25px}.total-weight{border-bottom:1px solid var(--border-strong);background:#fbfaf9;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:34px 6vw;padding:46px 6vw 34px;display:grid}.total-weight__summary,.total-weight__controls{min-width:0}.total-weight__heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.total-tare{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.total-tare>span{color:var(--muted);font-size:.75rem}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:700}.total-source{min-height:30px;color:var(--success);white-space:nowrap;background:#f0f8f2;border:1px solid #b9d4c1;border-radius:999px;padding:6px 11px;font-size:.76rem;font-weight:650}.total-source--partial{color:#8a6500;background:#fff9e8;border-color:#e0c884}.weight-capture{border-bottom:1px solid var(--border-strong);background:#fff;padding:44px 6vw 48px}.weight-capture__header{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.weight-capture__copy{max-width:620px}.weight-capture__copy p{color:var(--muted);margin:12px 0 0;font-size:.92rem;line-height:1.5}.capture-controls{align-items:center;gap:10px;display:flex}.capture-button{border:1px solid var(--accent);border-radius:calc(4px * var(--pf-radius-scale));min-width:96px;height:46px;color:var(--accent);cursor:pointer;background:#fff;padding:0 18px;font-size:.9rem;font-weight:650;transition:background-color .14s,color .14s,transform .14s}.capture-button:hover:not(:disabled){background:#faf7f5;transform:translateY(-1px)}.capture-button:active:not(:disabled){transform:translateY(0)}.capture-button:disabled{cursor:not-allowed;opacity:.4}.capture-button--primary{background:var(--accent);color:#fff}.capture-button--primary:hover:not(:disabled){background:var(--accent-hover)}.capture-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;min-height:78px;margin:28px 0 0;display:grid}.capture-stats>div{min-width:0;padding:0 28px}.capture-stats>div:first-child{padding-left:0}.capture-stats>div+div{border-left:1px solid var(--border)}.capture-stats dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:700}.capture-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:620}.capture-status{align-items:center;gap:9px;display:flex}.capture-status i{background:#8c8783;border-radius:50%;width:10px;height:10px}.capture-status--recording i{background:var(--danger);animation:1.1s ease-in-out infinite capture-pulse}.capture-status--waiting i{background:#c08b00;animation:none}.capture-status--stopped i{background:var(--accent)}@keyframes capture-pulse{0%,to{opacity:.35}50%{opacity:1}}.capture-chart-frame{border:1px solid var(--border);border-radius:calc(6px * var(--pf-radius-scale));background:linear-gradient(#fbfaf9 0%,#f4f1ed 100%);min-width:0;margin-top:26px;padding:18px 18px 10px;position:relative;overflow:hidden}.capture-chart{touch-action:pan-y;width:100%;height:332px;min-height:0}.capture-chart__reset{z-index:2;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);min-height:28px;color:var(--muted);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:0 9px;font-size:.68rem;font-weight:700;position:absolute;top:18px;right:18px}.capture-chart__reset:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.capture-chart__reset:disabled{opacity:.42;cursor:default}.capture-chart__empty{color:var(--muted);text-align:center;pointer-events:none;place-items:center;margin:0;font-size:.88rem;display:grid;position:absolute;top:72px;bottom:38px;left:18px;right:18px}.capture-message{min-height:20px;color:var(--muted);margin:10px 0 0;font-size:.8rem}.total-weight__value{min-height:154px;font-family:var(--font-heading);letter-spacing:.02em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;align-items:baseline;padding-top:20px;font-weight:500;display:flex}.total-weight__value>span{letter-spacing:.02em;font-size:clamp(6.8rem,11vw,11rem);font-weight:500;line-height:.85}.total-weight__value small{letter-spacing:.02em;margin-left:15px;font-size:clamp(2rem,3vw,3.1rem);font-weight:500}.total-weight__value--unavailable>span{color:#8c8783;letter-spacing:.02em}.progress-copy{color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:10px;font-size:.82rem;display:flex}.progress-copy strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:650}.total-progress{border:1px solid var(--border-strong);background:#e8e4e1;border-radius:999px;width:100%;height:26px;overflow:hidden;box-shadow:inset 0 1px 2px #17151414}.total-progress__fill{width:var(--progress,0%);border-radius:inherit;transform-origin:0;height:100%;transition:width .18s;display:block}.total-progress__fill--normal,.led-legend__dot--normal{background:var(--led-green)}.total-progress__fill--approaching,.led-legend__dot--approaching{background:var(--led-yellow);animation:led-flash var(--approach-duration,1s) steps(1, end) infinite}.total-progress__fill--at_target,.led-legend__dot--at_target{background:var(--led-red);animation:2s ease-in-out infinite led-breathe}.total-progress__fill--overweight,.led-legend__dot--overweight{background:var(--led-purple);animation:.5s step-end infinite led-pulse}.led-legend{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:.78rem;display:flex}.led-legend__dot{border-radius:50%;width:10px;height:10px}.total-weight__controls{border:1px solid var(--border);border-radius:calc(8px * var(--pf-radius-scale));background:#fff;align-self:center;padding:8px 24px 0;box-shadow:0 10px 30px #5126120f}.advanced-targets{border-top:1px solid var(--border);grid-column:1/-1;padding-top:18px}.advanced-targets summary{width:-moz-fit-content;width:fit-content;color:var(--accent);cursor:pointer;font-weight:650}.advanced-targets>p{color:var(--muted);margin:12px 0 0;font-size:.82rem}.advanced-targets__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:12px;display:grid}@keyframes led-flash{0%,49.9%{opacity:1}50%,to{opacity:.08}}@keyframes led-breathe{0%,to{opacity:.12}50%{opacity:1}}@keyframes led-pulse{0%,29.9%{opacity:1}30%,to{opacity:.08}}.scale-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:520px;padding:54px 4vw 58px;display:grid}.scale-panel{grid-template-columns:66px minmax(0,1fr);gap:24px;min-width:0;padding:22px 5.6vw 0 0;display:grid;position:relative}.scale-panel+.scale-panel{border-left:1px solid var(--border-strong);padding-left:3.9vw;padding-right:2.7vw}.scale-panel__content{min-width:0}.tick-rail{flex-direction:column;justify-content:space-between;align-items:flex-start;height:326px;padding:1px 0;display:flex}.tick{background:#bdb7b3;width:22px;height:1px}.tick--active{background:var(--accent);width:54px;height:3px}.weight{min-height:214px;font-family:var(--font-heading);letter-spacing:.02em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;align-items:baseline;font-weight:500;display:flex}.weight>span{letter-spacing:.02em;font-size:clamp(8.5rem,13.7vw,14.4rem);font-weight:500;line-height:.9}.weight small{letter-spacing:.02em;margin-left:18px;font-size:clamp(2.1rem,3vw,3.3rem);font-weight:500}.weight--unavailable>span{color:#8c8783;letter-spacing:.02em}.measurement-line{color:#817975;align-items:center;gap:12px;width:100%;min-height:30px;display:flex}.measurement-line svg{flex:1;min-width:0;height:20px;overflow:visible}.measurement-line path{fill:none;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.measurement-line span{letter-spacing:.06em;text-align:right;text-transform:uppercase;min-width:78px;font-size:.74rem;font-weight:700}.measurement-line--stable{color:var(--success)}.measurement-line--active{color:var(--accent)}.measurement-line--drawdown{color:#336b8e}.measurement-line--disturbed_or_uncertain{color:var(--danger)}.measurement-summary{color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px;font-size:.78rem;display:flex}.measurement-summary strong{color:var(--text);letter-spacing:.04em;font-size:.82rem}.measurement-summary--stable strong{color:var(--success)}.measurement-summary--active strong{color:var(--accent)}.measurement-summary--drawdown strong{color:#336b8e}.measurement-summary--disturbed_or_uncertain strong{color:var(--danger)}.raw-reading{color:#302d2b;font-variant-numeric:tabular-nums;letter-spacing:.025em;margin:16px 0 24px;font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:1.3}.raw-reading span{margin-right:18px}.target-control{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:12px;margin:0 0 28px;padding:18px 0;display:grid}.target-control--primary{border-top:0;margin-bottom:8px}.target-control__heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.target-control__heading label{font-weight:650}.target-control__heading span{color:var(--muted);font-size:.82rem}.target-control__entry{grid-template-columns:minmax(120px,1fr) auto auto;gap:8px;display:grid}.target-control__input{border:1px solid var(--border-strong);border-radius:calc(4px * var(--pf-radius-scale));background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;height:46px;display:grid}.target-control__input input{min-width:0;height:100%;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0 12px}.target-control__input input:focus{outline:0}.target-control__input span{color:var(--muted);padding-right:12px}.target-button{border:1px solid var(--border-strong);border-radius:calc(4px * var(--pf-radius-scale));cursor:pointer;background:#fff;min-width:70px;height:46px;padding:0 14px}.target-button--save{border-color:var(--accent);background:var(--accent);color:#fff}.target-button:disabled,.target-chip:disabled{cursor:not-allowed;opacity:.48}.target-history{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.target-history>span{color:var(--muted);margin-right:2px;font-size:.78rem}.target-chip{border:1px solid var(--border-strong);min-height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:0 10px;font-size:.78rem}.target-chip--active{border-color:var(--accent);color:var(--accent);background:#f5eeea}.target-message{min-height:18px;color:var(--muted);margin:0;font-size:.76rem}.scale-actions{grid-template-columns:1.2fr 1fr;gap:46px;display:grid}.button{border-radius:calc(5px * var(--pf-radius-scale));border:1px solid var(--accent);cursor:pointer;min-height:78px;padding:0 24px;font-size:clamp(1.05rem,1.55vw,1.5rem);font-weight:540;transition:background-color .14s,color .14s,transform .14s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.48}.button--primary{background:var(--accent);color:#fff}.button--primary:hover:not(:disabled){background:var(--accent-hover)}.button--secondary{color:var(--accent);background:#fff}.button--secondary:hover:not(:disabled){background:#faf7f5}.button--full{width:100%;min-height:58px;margin-top:8px;font-size:1rem}.action-message{height:20px;color:var(--muted);margin:8px 0 0;font-size:.82rem}.health-rail{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-height:107px;padding:0 6.5vw;display:grid}.health-item{align-items:center;gap:18px;min-width:0;min-height:62px;padding:0 clamp(14px,2.5vw,44px);display:flex}.health-item:first-child{padding-left:0}.health-item+.health-item{border-left:1px solid var(--border)}.health-item svg{flex:none;width:46px;height:46px}.health-item p{gap:4px;min-width:0;margin:0;display:grid}.health-item span,.health-item strong{white-space:nowrap;font-size:clamp(.9rem,1.15vw,1.12rem);font-weight:470}.health-item strong{font-weight:450}.health-item--ok svg,.health-item--ok strong{color:var(--success)}.health-item--error svg,.health-item--error strong{color:var(--danger)}.responsive-note{align-items:center;gap:38px;min-height:174px;padding:34px 5.8vw;display:flex;position:relative}.desktop-mark,.mobile-mark{border:3px solid var(--accent);border-radius:calc(5px * var(--pf-radius-scale));color:var(--accent);gap:4px;padding:8px;display:flex}.desktop-mark{width:140px;height:84px}.mobile-mark{flex-direction:column;width:62px;height:112px}.desktop-mark span,.mobile-mark span{border-radius:calc(2px * var(--pf-radius-scale));background:#e8e4e1;flex:1}.responsive-arrow{color:var(--accent);font-size:3.2rem;font-weight:250}.responsive-note p{margin:0;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.45}.responsive-note small{color:#8c8783;position:absolute;bottom:22px;right:3vw}.modal-backdrop{z-index:10;background:#1715146b;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{border:1px solid var(--border-strong);border-radius:calc(8px * var(--pf-radius-scale));background:#fff;width:min(100%,480px);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 20px 60px #2818102e}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:0 24px 0 28px;display:flex}.icon-button{cursor:pointer;background:0 0;border:0;width:42px;height:42px;padding:9px}.icon-button svg{width:100%;height:100%}.modal-sheet-container{--app-bg:#fafdfa;--app-surface:#fff;--app-surface-2:#eef7f0;--app-text:#0a180f;--app-muted:#4c6054;--app-line:#1111111f;--app-accent:#008e49;z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--app-text);background:#020b0657;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}body:has(.appliance[data-theme=dark]) .modal-sheet-container{--app-bg:#050f09;--app-surface:#0b1b11;--app-surface-2:#132b1c;--app-text:#f2fff6;--app-muted:#acc3b5;--app-line:#ffffff21;--app-accent:#3bef7f;background:#00000094}.modal-sheet{width:min(760px,100%);height:max(260px, min(850px, calc(var(--pf-visual-vh,100dvh) - 48px)));border:1px solid color-mix(in srgb, var(--app-line) 82%, transparent);border-radius:calc(20px * var(--pf-radius-scale));background:var(--app-surface);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 18px 55px #0000003d}.modal-sheet__handle{display:none}.modal-sheet__header{border-bottom:1px solid var(--app-line);flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:10px 18px;display:grid}.modal-sheet__title{min-width:0;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-sheet__cancel,.modal-sheet__save{min-height:44px;font:inherit;cursor:pointer;border-radius:10px;padding:0 12px;font-weight:720}.modal-sheet__cancel{border:1px solid var(--app-line);color:var(--app-text);background:0 0}.modal-sheet__save{border:1px solid var(--app-accent);background:var(--app-accent);color:var(--app-bg);align-items:center;gap:7px;display:inline-flex}.modal-sheet__save svg{width:17px;height:17px}.modal-sheet__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-sheet__body{overscroll-behavior:contain;flex:auto;min-height:0;padding:21px;scroll-padding-block:18px;overflow:auto}.modal-sheet__body input,.modal-sheet__body select,.modal-sheet__body textarea{scroll-margin-block:24px}.modal-sheet-confirm-backdrop{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;place-items:center;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.modal-sheet-confirm{border:1px solid var(--app-line);background:var(--app-surface);width:min(430px,100%);color:var(--app-text);border-radius:18px;padding:24px;box-shadow:0 20px 60px #00000047}.modal-sheet-confirm h2{margin:0;font-size:1.2rem}.modal-sheet-confirm p{color:var(--app-muted);margin:8px 0 20px;line-height:1.45}.modal-sheet-confirm__actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-sheet-confirm__actions button{border:1px solid var(--app-line);background:var(--app-surface-2);min-height:44px;color:var(--app-text);font:inherit;border-radius:10px;padding:0 10px;font-weight:700}.modal-sheet-confirm__actions button:first-child{grid-column:1/-1}.modal-sheet-confirm__discard{color:#b33a32!important}.modal-sheet-confirm__save{border-color:var(--app-accent)!important;background:var(--app-accent)!important;color:var(--app-bg)!important}.modal-form{gap:14px;padding:28px;display:grid}.modal-form p{color:var(--muted);margin:0 0 8px;line-height:1.55}.modal-form label{margin-top:2px;font-size:.88rem;font-weight:600}.modal-form input{border:1px solid var(--border-strong);border-radius:calc(4px * var(--pf-radius-scale));width:100%;height:52px;color:var(--text);background:#fff;padding:0 14px}.input-with-unit{grid-template-columns:minmax(0,1fr) 84px;gap:10px;display:grid}.input-with-unit select{border:1px solid var(--border-strong);border-radius:calc(4px * var(--pf-radius-scale));height:52px;color:var(--text);background:#fff;padding:0 12px}.form-hint{color:var(--muted);margin-top:-6px;line-height:1.4}.form-error{font-size:.9rem;color:var(--danger)!important}.form-status{font-size:.9rem;color:var(--success)!important}@media (max-width:980px){.app-shell{height:auto;overflow:visible}.app-header{align-items:flex-start;padding-block-start:20px;padding-block-end:20px}.header-status{flex-wrap:wrap;justify-content:flex-end;gap:12px 20px;height:auto}.hostname{text-align:right;width:100%}.connection{padding:0 18px}.total-weight{grid-template-columns:1fr;padding:38px 7vw 30px}.total-weight__controls{align-self:auto}.weight-capture{padding:38px 7vw 42px}.weight-capture__header{align-items:flex-start}.advanced-targets__grid{gap:24px}.scale-grid{grid-template-columns:1fr;padding:24px}.scale-panel{padding:30px 5vw 44px 0}.scale-panel+.scale-panel{border-left:0;border-top:1px solid var(--border);padding:52px 5vw 30px 0}.weight>span{font-size:clamp(7rem,25vw,12rem)}.health-rail{grid-template-columns:repeat(2,1fr);padding:12px 24px}.health-item{padding:14px 20px}.health-item:nth-child(3){border-left:0}}@media (max-width:640px){.app-shell{border:0}.app-header{align-items:center;min-height:82px;padding:18px 20px}.hostname{display:none}.connection{border:0;min-height:36px;padding:0;font-size:.82rem}.connection i{width:11px;height:11px}.settings-button{width:42px;height:42px;padding:8px;font-size:0}.settings-button svg{width:26px;height:26px}.total-weight{gap:24px;padding:30px 20px 24px}.total-weight__heading{gap:14px;display:grid}.total-source{width:-moz-fit-content;width:fit-content}.total-weight__value{min-height:112px}.total-weight__value>span{font-size:clamp(5.6rem,28vw,8rem)}.total-weight__value small{margin-left:8px;font-size:2rem}.progress-copy{align-items:flex-end;font-size:.74rem}.progress-copy strong{text-align:right}.total-weight__controls{padding-inline-start:16px;padding-inline-end:16px}.weight-capture{padding:32px 20px 36px}.weight-capture__header{gap:22px;display:grid}.weight-capture__copy p{font-size:.84rem}.capture-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.capture-button{width:100%;min-width:0;padding-inline-start:12px;padding-inline-end:12px}.capture-button:last-child{grid-column:1/-1}.capture-stats{min-height:72px;margin-top:22px}.capture-stats>div{padding:0 10px}.capture-stats>div:first-child{padding-left:0}.capture-stats dt{letter-spacing:.07em;font-size:.62rem}.capture-stats dd{font-size:.86rem}.capture-status{gap:6px}.capture-status i{width:8px;height:8px}.capture-chart-frame{margin-top:20px;padding:12px 8px 6px}.capture-chart{height:252px;min-height:0}.capture-chart__reset{top:12px;right:10px}.capture-chart__empty{top:62px;bottom:30px;left:12px;right:12px}.advanced-targets__grid{grid-template-columns:1fr;gap:0}.scale-grid{padding:0 20px}.scale-panel,.scale-panel+.scale-panel{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:36px 0 40px}.metric-title--panel{margin-bottom:18px;font-size:1.4rem}.tick-rail{height:190px}.tick{width:13px}.tick--active{width:28px}.weight{min-height:118px}.weight>span{letter-spacing:0;font-size:clamp(5rem,24vw,7.2rem)}.weight small{margin-left:8px;font-size:2rem}.raw-reading{margin:8px 0 24px;font-size:1rem}.target-control__entry{grid-template-columns:minmax(0,1fr) auto auto}.target-button{min-width:62px;padding:0 10px}.scale-actions{gap:12px}.button{min-height:56px;padding:0 12px;font-size:1rem}.action-message{font-size:.72rem}.health-rail{grid-template-columns:1fr;padding:10px 20px}.health-item,.health-item:first-child{border-left:0;padding:12px 0}.health-item+.health-item{border-left:0;border-top:1px solid var(--border)}.health-item svg{width:38px;height:38px}.responsive-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.total-progress__fill,.led-legend__dot,.capture-status--recording i{opacity:1!important;animation:none!important}}.appliance{--app-bg:#f8fdf9;--app-bg-hint:#e4fbeb;--app-surface:#fff;--app-surface-2:#e6f6eb;--app-text:#03160b;--app-muted:#3e5f4b;--app-line:#09120d1f;--app-accent:#008c4d;--app-accent-soft:#c4fdd7;--app-warning:#c45300;--app-panel:#f2faf5;isolation:isolate;min-height:100dvh;color:var(--app-text);background:0 0;position:relative}@supports (color:color(display-p3 0 0 0)){.appliance{--app-bg:color(display-p3 .977 .991 .979);--app-bg-hint:color(display-p3 .91 .98 .925);--app-surface:color(display-p3 1 1 1);--app-surface-2:color(display-p3 .914 .962 .925);--app-text:color(display-p3 .028 .083 .045);--app-muted:color(display-p3 .272 .369 .3);--app-line:color(display-p3 .043 .071 .052/.12);--app-accent:color(display-p3 0 .565 .275);--app-accent-soft:color(display-p3 .815 .987 .855);--app-warning:color(display-p3 .73 .34 0);--app-panel:color(display-p3 .954 .981 .961)}}.appliance:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom, var(--app-bg-hint) 0%, var(--app-bg) 42%, var(--app-bg) 100%);position:fixed;top:0;bottom:0;left:0;right:0}.appliance[data-theme=dark]{--app-bg:#000d06;--app-bg-hint:#002110;--app-surface:#01190c;--app-surface-2:#032914;--app-text:#edfff3;--app-muted:#99c3ac;--app-line:#edfff321;--app-accent:#00ea6c;--app-accent-soft:#004019;--app-warning:#ffad00;--app-panel:#001f0e;--background:#01190c;--text:#edfff3;--muted:#99c3ac;--border:#054322;--border-strong:#175c30;--accent:#00ea6c}@supports (color:color(display-p3 0 0 0)){.appliance[data-theme=dark]{--app-bg:color(display-p3 .006 .049 .025);--app-bg-hint:color(display-p3 .025 .13 .065);--app-surface:color(display-p3 .026 .096 .052);--app-surface-2:color(display-p3 .057 .158 .087);--app-text:color(display-p3 .94 1 .955);--app-muted:color(display-p3 .633 .761 .68);--app-line:color(display-p3 .94 1 .955/.13);--app-accent:color(display-p3 .16 .93 .4);--app-accent-soft:color(display-p3 .02 .25 .1);--app-warning:color(display-p3 1 .68 .02);--app-panel:color(display-p3 .032 .121 .062);--background:color(display-p3 .026 .096 .052);--text:color(display-p3 .94 1 .955);--muted:color(display-p3 .633 .761 .68);--border:color(display-p3 .107 .258 .145);--border-strong:color(display-p3 .176 .354 .205);--accent:color(display-p3 .16 .93 .4)}}:is(.appliance[data-theme=dark],.active-brew-summary[data-theme=dark],body:has(.appliance[data-theme=dark]) .library-panel-container) :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,em,i,label,button,a,li,dt,dd,legend,figcaption,caption,th,td,summary,output,input,textarea,select,svg){mix-blend-mode:plus-lighter}.appliance button,.appliance input,.appliance textarea,.appliance select{font:inherit}.appliance button{cursor:pointer}.appliance button:disabled{cursor:not-allowed;opacity:.45}.appliance-header{z-index:20;min-height:var(--appliance-header-height);height:var(--appliance-header-height);border-bottom:1px solid var(--app-line);background:0 0;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 clamp(20px,4vw,64px);display:grid;position:sticky;top:0}.appliance-header__title{min-width:0;max-width:100%;font-size:2rem;line-height:var(--heading-line-height);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appliance-header__title a{color:inherit;text-decoration:none}.appliance-header nav{border-radius:calc(14px * var(--pf-radius-scale));background:var(--app-surface-2);align-items:center;gap:4px;padding:4px;display:flex}.appliance-header nav a{border-radius:calc(10px * var(--pf-radius-scale));min-height:38px;color:var(--app-muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 14px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.appliance-header nav a svg{width:16px;height:16px}.appliance-header nav a.active{background:var(--app-surface);color:var(--app-text);box-shadow:0 1px 5px #00000014}.appliance-actions{justify-self:end;align-items:center;gap:8px;display:flex}.appliance-actions>button{border:1px solid var(--app-line);border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface);width:40px;height:40px;color:var(--app-text);padding:10px}.appliance-actions>.install-app{white-space:nowrap;align-items:center;gap:7px;width:auto;padding:0 12px;font-size:.72rem;font-weight:700;display:inline-flex}.appliance-actions>.install-app svg{width:16px;height:16px}.appliance-actions svg{width:100%;height:100%}.appliance-connection{border:1px solid var(--app-line);min-height:36px;color:var(--app-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.74rem;font-weight:650;display:inline-flex}.appliance-connection i{background:#d15245;border-radius:50%;width:7px;height:7px}.appliance-connection.online{color:var(--app-accent);background:var(--app-accent-soft)}.appliance-connection.online i{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 15%, transparent);background:currentColor}.device-status-banner{z-index:19;top:var(--appliance-header-height);border-bottom:1px solid color-mix(in srgb, #a33a32 28%, var(--app-line));background:color-mix(in srgb, #fff0ee 94%, var(--app-bg));color:#7d251f;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:9px clamp(20px,4vw,64px);display:flex;position:sticky}.device-status-banner>div{gap:2px;display:grid}.device-status-banner strong{font-size:.82rem}.device-status-banner span,.device-status-banner small{font-size:.72rem;line-height:1.35}.device-status-banner small{font-weight:700}.device-status-banner--connecting,.device-status-banner--partial{border-bottom-color:color-mix(in srgb, #9c7100 28%, var(--app-line));background:color-mix(in srgb, #fff7d6 94%, var(--app-bg));color:#684d00}.device-status-banner__action{border-radius:calc(10px * var(--pf-radius-scale));min-height:36px;color:inherit;background:0 0;border:1px solid;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:.74rem;font-weight:750;display:inline-flex}.device-status-banner__action svg{width:15px;height:15px}.appliance-body{width:min(1420px,100%);min-width:0;margin:0 auto;padding:clamp(24px,4vw,58px)}.library-status{border-bottom:1px solid var(--app-line);color:#684d00;background:#fff7d6;justify-content:center;align-items:center;gap:16px;min-height:44px;padding:8px clamp(20px,4vw,64px);font-size:.82rem;display:flex}.library-status--cached{color:#684d00;background:#fff7d6}.library-status--error{color:#8d241d;background:#fff0ee}.brew-layout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:start;gap:28px;width:100%;min-width:0;display:grid}.brew-layout>*{min-width:0}.brew-hero,.brew-readings,.brew-guide{border:1px solid var(--app-line);border-radius:calc(24px * var(--pf-radius-scale));background:var(--app-surface)}.brew-hero{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:20px 48px;min-height:278px;padding:clamp(26px,4vw,52px);display:grid;overflow:hidden}.brew-eyebrow{color:var(--app-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.68rem;font-weight:750}.page-header,.section-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.page-header--compact{margin-bottom:34px}.page-header__description{max-width:460px;color:var(--app-muted);margin:10px 0 0;line-height:1.5}.section-header--compact{align-items:center}.section-title--compact small{border-radius:calc(10px * var(--pf-radius-scale));background:var(--app-surface-2);min-width:19px;height:19px;color:var(--app-muted);letter-spacing:0;place-items:center;padding:0 5px;font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.67rem;display:inline-grid}.brew-hero__copy>p:last-child{color:var(--app-muted);margin:15px 0 0}.brew-timer{text-align:right;min-width:220px;display:grid}.brew-timer>span{color:var(--app-accent);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:750}.brew-timer strong{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-family:Geist Pixel Grid,ui-monospace,monospace;font-size:clamp(4rem,8vw,7.5rem);font-weight:500;line-height:1}.brew-timer small{color:var(--app-muted);margin-top:8px}.brew-coffee-select{max-width:520px;color:var(--app-muted);gap:7px;margin-top:20px;font-size:.72rem;font-weight:700;display:grid}.brew-coffee-select select{border:1px solid var(--app-line);border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-bg);width:100%;min-height:44px;color:var(--app-text);outline:0;padding:0 12px}.brew-coffee-select select:focus-visible{border-color:var(--app-accent)}.brew-coffee-stock{color:var(--app-muted);margin-top:7px;display:block}.brew-coffee-stock--warning{color:var(--app-warning);font-weight:700}.brew-key-metrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.brew-key-metrics>div{border:1px solid var(--app-line);border-radius:calc(14px * var(--pf-radius-scale));background:var(--app-bg);align-content:center;gap:6px;min-height:82px;padding:15px 17px;display:grid}.brew-key-metrics dt{color:var(--app-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700}.brew-key-metrics dd{font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:650}.brew-key-metrics small{color:var(--app-muted);font-size:.66rem}.brew-actions{align-items:center;gap:10px;display:flex}.brew-primary,.brew-secondary,.new-recipe{border-radius:calc(12px * var(--pf-radius-scale));justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:.84rem;font-weight:700;display:inline-flex}.brew-primary{border:1px solid var(--app-text);background:var(--app-text);color:var(--app-bg)}.brew-secondary,.new-recipe{border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-text)}.brew-primary svg,.brew-secondary svg{width:17px;height:17px}.brew-progress{background:var(--app-surface-2);border-radius:99px;grid-column:1/-1;height:5px;overflow:hidden}.brew-progress span{border-radius:inherit;background:var(--app-accent);height:100%;transition:width .3s linear;display:block}.active-brew-summary{--focus-bg:var(--brew-focus-bg);--focus-fill:#173a24;--focus-surface:#f6f7f414;--focus-surface-strong:#f6f7f424;--focus-text:#f6f7f4;--focus-muted:#aeb3aa;--focus-accent:#7bd796;z-index:1000;background:var(--focus-bg);color:var(--focus-text);isolation:isolate;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.active-brew-summary[data-theme=light]{--focus-bg:#f7f7f5;--focus-fill:#dcefe0;--focus-surface:#11111112;--focus-surface-strong:#1111111f;--focus-text:#171514;--focus-muted:#67615e;--focus-accent:#166534;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.active-brew-summary[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.active-brew-summary:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#060f0994 0%,#060f0942 48%,#060f0985 100%),linear-gradient(#060f0929,#060f097a);position:absolute;top:0;bottom:0;left:0;right:0}.active-brew-summary__graph{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.active-brew-summary__graph .brew-graph,.active-brew-summary__graph .brew-graph__drawing,.active-brew-summary__graph .brew-graph__plot{background:0 0;border-radius:0;width:100%;max-width:none;height:100%;min-height:0;overflow:hidden}.active-brew-summary__graph .brew-graph__empty{z-index:1;color:#f6f7f4b8;letter-spacing:.08em;text-transform:uppercase;padding:0 24px;font-size:.82rem;top:0;bottom:0;left:0;right:0}.active-brew-summary__content{z-index:2;min-height:100%;padding:max(26px, env(safe-area-inset-top)) max(30px, env(safe-area-inset-right)) max(26px, env(safe-area-inset-bottom)) max(30px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(20px,4vh,54px);display:grid;position:relative}.active-brew-summary__progress-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.active-brew-summary__content--preparing{grid-template-rows:auto minmax(0,1fr)}.focus-prep{border-radius:calc(22px * var(--pf-radius-scale));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c180fa8;border:1px solid #f6f7f429;gap:16px;width:min(620px,100%);margin:auto;padding:clamp(22px,4vw,38px);display:grid;box-shadow:0 24px 90px #00000047}.focus-prep .prep-recipe{background:#f6f7f414}.focus-prep .prep-recipe span,.focus-prep .prep-recipe small,.focus-prep .prep-decision p{color:var(--focus-muted)}.focus-prep .prep-check{background:#f6f7f40d;border-color:#f6f7f429}.focus-prep .prep-health{background:#f6f7f412}.focus-prep .button--secondary{color:var(--focus-text);background:#f6f7f414;border-color:#f6f7f433}.focus-prep .button--primary{border-color:var(--focus-accent);background:var(--focus-accent);color:#092111}.active-brew-summary__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.active-brew-summary__fullscreen-status{color:var(--focus-muted);margin:-12px 0 0;font-size:.78rem;line-height:1.4}.active-brew-summary__stage-rail{z-index:2;pointer-events:none;height:54px;position:absolute;top:0;left:0;right:0}.active-brew-summary__stage-rail-line{background:color-mix(in srgb, var(--focus-accent) 36%, transparent);height:1px;position:absolute;top:27px;left:0;right:0}.active-brew-summary__stage-marker{height:54px;color:var(--focus-muted);letter-spacing:.04em;white-space:nowrap;font-size:.55rem;font-weight:700;position:absolute;top:0;transform:translate(-50%)}.active-brew-summary__stage-marker[data-edge=start]{transform:none}.active-brew-summary__stage-marker[data-edge=end]{transform:translate(-100%)}.active-brew-summary__stage-marker span{text-overflow:ellipsis;max-width:100px;display:block;overflow:hidden}.active-brew-summary__stage-card{z-index:1;border:1px solid var(--focus-accent);border-radius:calc(5px * var(--pf-radius-scale));background:color-mix(in srgb, var(--focus-bg) 82%, var(--focus-accent));min-width:92px;max-width:min(170px,20vw);color:var(--focus-text);text-overflow:ellipsis;white-space:nowrap;padding:6px 11px;transition:left .7s cubic-bezier(.2,.8,.2,1),transform .25s;position:absolute;top:17px;overflow:hidden;transform:translate(-50%);box-shadow:0 5px 18px #00000014}.active-brew-summary__stage-card[data-edge=start]{transform:none}.active-brew-summary__stage-card[data-edge=end]{transform:translate(-100%)}.active-brew-summary__stage-card strong{text-overflow:ellipsis;font-size:.68rem;font-weight:760;display:block;overflow:hidden}.active-brew-summary__stage{gap:4px;min-width:0;display:grid}.active-brew-summary__stage>span,.active-brew-summary__metric>span,.active-brew-summary__next>span,.active-brew-summary__confirm>span{color:var(--focus-accent);letter-spacing:.13em;text-transform:uppercase;font-size:clamp(.68rem,1.1vw,.82rem);font-weight:760}.active-brew-summary__stage>strong{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;max-width:min(60vw,760px);font-size:clamp(1.25rem,2.6vw,2.4rem);font-weight:630;overflow:hidden}.active-brew-summary__stage>small{color:var(--focus-muted);font-size:clamp(.72rem,1.1vw,.9rem)}.active-brew-summary__utilities{gap:10px;display:flex}.active-brew-summary__utility{background:var(--focus-surface);width:52px;height:52px;color:var(--focus-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #f6f7f42b;border-radius:50%;place-items:center;padding:13px;display:grid}.active-brew-summary__utility:hover{background:var(--focus-surface-strong)}.active-brew-summary__utility:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-accent) 78%, white);outline-offset:4px}.active-brew-summary__control:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-accent) 78%, white);outline-offset:4px}.active-brew-summary__confirm button:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-accent) 78%, white);outline-offset:4px}.active-brew-summary__utility svg{width:100%;height:100%}.active-brew-summary__metrics{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(34px,7vw,128px);min-height:0;display:grid}.active-brew-summary__metric{align-content:center;gap:10px;min-width:0;display:grid}.active-brew-summary__metric>span{color:var(--focus-muted)}.active-brew-summary__metric>strong{min-width:0;color:var(--focus-text);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;line-height:.84;display:flex}.active-brew-summary__metric--timer>strong{letter-spacing:-.035em;font-family:Geist Pixel Grid,ui-monospace,monospace;font-size:clamp(5rem,13vw,12rem);font-weight:500}.active-brew-summary__metric--weight>strong{letter-spacing:-.045em;font-family:Geist Pixel Line,ui-monospace,monospace;font-size:clamp(4rem,9vw,8rem);font-weight:500}.active-brew-summary__metric>strong em{color:var(--focus-muted);letter-spacing:.08em;text-transform:uppercase;margin-left:.1em;font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.18em;font-style:normal;font-weight:680}.active-brew-summary__metric>small{color:var(--focus-muted);font-size:clamp(.76rem,1.35vw,1.05rem);font-weight:580}.active-brew-summary__footer{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:flex-end;gap:34px;display:grid}.active-brew-summary__footer-info{align-items:flex-end;gap:clamp(20px,4vw,58px);min-width:0;display:flex}.active-brew-summary__footer .active-brew-summary__stage>span,.active-brew-summary__footer .active-brew-summary__next>span{font-size:clamp(.62rem,.8vw,.72rem)}.active-brew-summary__footer .active-brew-summary__stage>strong,.active-brew-summary__footer .active-brew-summary__next>strong{letter-spacing:-.025em;max-width:min(24vw,320px);font-size:clamp(.94rem,1.35vw,1.16rem);font-weight:680}.active-brew-summary__footer .active-brew-summary__stage>small{font-size:clamp(.68rem,.9vw,.78rem)}.active-brew-summary__next{gap:7px;min-width:0;max-width:min(52vw,720px);display:grid}.active-brew-summary__next>strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.9rem,1.5vw,1.18rem);font-weight:620;overflow:hidden}.active-brew-summary__actions{flex:none;gap:12px;display:flex}.active-brew-summary__control{background:var(--focus-surface);min-height:60px;color:var(--focus-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #f6f7f42e;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:.86rem;font-weight:720;display:inline-flex}.active-brew-summary__control:hover{background:var(--focus-surface-strong)}.active-brew-summary__control--primary{border-color:var(--focus-accent);background:var(--focus-accent);color:#092111}.active-brew-summary__control--primary:hover{background:#91e5a9}.active-brew-summary__control svg{width:20px;height:20px}.active-brew-summary__confirm-backdrop{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#030503c2;place-items:center;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.active-brew-summary__confirm{border-radius:calc(22px * var(--pf-radius-scale));background:#141815;border:1px solid #f6f7f429;width:min(430px,100%);padding:30px;box-shadow:0 24px 90px #0000007a}.active-brew-summary__confirm p{color:var(--focus-muted);margin:0;line-height:1.55}.active-brew-summary__confirm>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:26px;display:grid}.active-brew-summary__confirm button{border-radius:calc(12px * var(--pf-radius-scale));min-height:52px;padding:0 14px;font-weight:720}.active-brew-summary__confirm-cancel{background:var(--focus-surface);color:var(--focus-text);border:1px solid #f6f7f42b}.active-brew-summary__confirm-end{color:#2b0c09;background:#eaa099;border:1px solid #eaa099}.active-brew-summary[data-theme=light]:after{background:linear-gradient(90deg,#f7f7f56b 0%,#f7f7f51f 48%,#f7f7f552 100%),linear-gradient(#f7f7f514,#f7f7f54d)}.active-brew-summary[data-theme=light] .active-brew-summary__graph{background:0 0}.active-brew-summary[data-theme=light] .active-brew-summary__graph .brew-graph__empty{color:#1715149e}.active-brew-summary[data-theme=light] .focus-prep{background:#ffffffc7;border-color:#11111121;box-shadow:0 24px 90px #2230262e}.active-brew-summary[data-theme=light] .focus-prep .prep-recipe{background:#1111110f}.active-brew-summary[data-theme=light] .focus-prep .prep-check{background:#11111109;border-color:#11111121}.active-brew-summary[data-theme=light] .focus-prep .prep-health{background:#1111110e}.active-brew-summary[data-theme=light] .focus-prep .button--secondary{color:var(--focus-text);background:#1111110f;border-color:#11111126}.active-brew-summary[data-theme=light] .active-brew-summary__utility,.active-brew-summary[data-theme=light] .active-brew-summary__control{border-color:#11111124}.active-brew-summary[data-theme=light] .active-brew-summary__stage-rail-line{background:#16653457}.active-brew-summary[data-theme=light] .active-brew-summary__stage-card{background:#ffffffeb;box-shadow:0 5px 18px #22302629}.active-brew-summary[data-theme=light] .active-brew-summary__control--primary{color:#f4fff5}.active-brew-summary[data-theme=light] .active-brew-summary__confirm-backdrop{background:#ecefebc2}.active-brew-summary[data-theme=light] .active-brew-summary__confirm{background:#fff;border-color:#11111121;box-shadow:0 24px 90px #22302638}.active-brew-summary[data-theme=light] .active-brew-summary__confirm-cancel{border-color:#11111124}.brew-readings{grid-area:2/2;gap:24px;padding:28px;display:grid;position:sticky;top:104px}.brew-readings--warning{border-color:#d8aa48}.brew-readings__tools{justify-content:space-between;align-items:center;gap:12px;display:flex}.brew-readings__tools>strong{font-size:.78rem}.brew-readings__tools .brew-secondary{min-height:38px;padding-inline-start:12px;padding-inline-end:12px;font-size:.74rem}.dual-tare-message{min-height:16px;color:var(--app-muted);margin:-16px 0 0;font-size:.7rem}.brew-readings__primary{gap:5px;display:grid}.brew-readings__primary>span,.brew-readings dt{color:var(--app-muted);font-size:.72rem}.brew-readings__primary strong{letter-spacing:-.065em;font-variant-numeric:tabular-nums;font-size:clamp(3.2rem,6vw,5.5rem);font-weight:550;line-height:1}.weight>span,.total-weight__value>span,.brew-readings__primary strong{font-family:Geist Pixel Line,ui-monospace,monospace;font-weight:500}.brew-readings__primary small{color:var(--app-accent);font-weight:650}.brew-readings dl{grid-template-columns:1fr 1fr;gap:18px 14px;margin:0;display:grid}.brew-readings dl>div{border-top:1px solid var(--app-line);gap:5px;padding-top:14px;display:grid}.brew-readings dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:650}.brew-reading-state{border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface-2);gap:3px;padding:12px 14px;font-size:.74rem;display:grid}.brew-reading-state span{color:var(--app-muted)}.brew-reading-state strong{font-weight:700}.brew-session-message{border:1px solid var(--app-line);border-radius:calc(10px * var(--pf-radius-scale));color:var(--app-muted);background:var(--app-panel);margin:-6px 0 18px;padding:10px 12px;font-size:.78rem}.brew-readings dl small{color:var(--app-muted);font-size:.68rem;display:block}.brew-guide{grid-area:2/1;grid-template-columns:1fr minmax(210px,.48fr);gap:38px;padding:clamp(24px,4vw,44px);display:grid}.brew-guide__current>span{color:var(--app-accent);font-size:.75rem;font-weight:700}.brew-guide__current>p{max-width:630px;color:var(--app-muted);margin:0;font-size:1rem;line-height:1.65}.next-step{border-top:1px solid var(--app-line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:34px;padding:16px 0;display:grid}.next-step span{color:var(--app-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.next-step strong{font-size:.86rem}.next-step svg{width:18px}.brew-timeline{gap:4px;margin:0;padding:0;list-style:none;display:grid}.brew-timeline li{border-radius:calc(12px * var(--pf-radius-scale));min-height:58px;color:var(--app-muted);grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:8px;display:grid}.brew-timeline li.active{background:var(--app-accent-soft);color:var(--app-text)}.brew-timeline li.done{opacity:.65}.brew-timeline li>span{border:1px solid var(--app-line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.72rem;display:grid}.brew-timeline li.active>span{border-color:var(--app-accent);color:var(--app-accent)}.brew-timeline li>div{gap:3px;display:grid}.brew-timeline strong{font-size:.82rem}.brew-timeline small{font-size:.7rem}.brew-graph-card{border:1px solid var(--app-line);border-radius:calc(24px * var(--pf-radius-scale));background:var(--app-surface);grid-column:1/-1;min-width:0;max-width:100%;padding:clamp(20px,3vw,34px);overflow:hidden}.brew-graph-card__header{margin-bottom:18px}.brew-graph-card__header>span{color:var(--app-muted);font-size:.75rem;font-weight:700}.brew-graph{min-width:0;min-height:300px;position:relative}.brew-graph--compact{min-height:230px}.brew-graph--backdrop{min-height:0}.brew-graph__milestones{scrollbar-width:thin;gap:6px;min-height:28px;margin-bottom:8px;display:flex;overflow-x:auto}.brew-graph__milestone{border:1px solid var(--app-line);color:var(--app-muted);background:var(--app-surface-2);border-radius:999px;flex:none;padding:5px 8px;font-size:.68rem;font-weight:650}.brew-graph__milestone--pour{border-color:color-mix(in srgb, var(--app-accent) 45%, var(--app-line));color:var(--app-accent)}.brew-graph__drawing{min-width:0;position:relative}.brew-graph__plot{border-radius:calc(14px * var(--pf-radius-scale));background:linear-gradient(180deg, var(--app-surface) 0%, var(--app-surface-2) 100%);touch-action:pan-y;width:100%;min-width:0;max-width:100%;height:300px;overflow:hidden}.brew-graph--compact .brew-graph__plot{height:230px}.brew-graph--backdrop .brew-graph__plot{height:100%}.pourframe-chart-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:132px;box-shadow:0 12px 32px #00000024;border-radius:calc(10px * var(--pf-radius-scale))!important}.pourframe-chart-tooltip__time{color:var(--app-muted,var(--muted));font-variant-numeric:tabular-nums;margin-bottom:6px;font-weight:700}.pourframe-chart-tooltip__row{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;line-height:1.65;display:grid}.pourframe-chart-tooltip__row strong{font-variant-numeric:tabular-nums;margin-left:10px}.brew-graph__empty{color:var(--app-muted);text-align:center;pointer-events:none;place-items:center;margin:0;font-size:.8rem;display:grid;position:absolute;top:108px;bottom:26px;left:20px;right:20px}.prep-flow{gap:16px;padding:26px;display:grid}.prep-recipe{border-radius:calc(14px * var(--pf-radius-scale));background:var(--app-surface-2);align-items:center;gap:13px;padding:16px;display:flex}.prep-recipe svg{width:24px}.prep-recipe div{gap:3px;display:grid}.prep-recipe span{color:var(--app-muted);font-size:.78rem}.prep-recipe small{color:var(--app-muted);font-size:.72rem}.prep-check--warning{border-color:color-mix(in srgb, var(--app-warning) 55%, var(--app-line));background:color-mix(in srgb, var(--app-warning) 8%, var(--app-surface))}.prep-check{border:1px solid var(--app-line);border-radius:calc(12px * var(--pf-radius-scale));cursor:pointer;align-items:center;gap:12px;min-height:58px;padding:12px 14px;font-size:.86rem;line-height:1.4;display:flex}.prep-check input{width:20px;height:20px;accent-color:var(--app-accent)}.prep-health{gap:8px;display:flex}.prep-health span{background:var(--app-surface-2);color:var(--app-muted);border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:700}.prep-health .ok{color:var(--app-accent);background:var(--app-accent-soft)}.prep-health .warn{color:#9a6511;background:#fff4d8}.prep-working,.prep-decision{text-align:center;justify-items:center;gap:12px;padding:18px 4px 8px;display:grid}.prep-working p,.prep-decision p{color:var(--app-muted);margin:0;line-height:1.5}.prep-decision .button{width:100%}.spinner{border:3px solid var(--app-line);border-top-color:var(--app-accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite appliance-spin}@keyframes appliance-spin{to{transform:rotate(360deg)}}.recipes-area{gap:14px;display:grid}.recipe-section-tabs{border:1px solid var(--app-line);border-radius:calc(13px * var(--pf-radius-scale));background:var(--app-surface);gap:3px;width:-moz-fit-content;width:fit-content;padding:4px;display:flex}.recipe-section-tabs a{border-radius:calc(9px * var(--pf-radius-scale));min-height:40px;color:var(--app-muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0 18px;font-size:.78rem;font-weight:750;text-decoration:none;display:inline-flex}.recipe-section-tabs a.active{background:var(--app-text);color:var(--app-bg)}.recipe-workspace{border:1px solid var(--app-line);border-radius:calc(24px * var(--pf-radius-scale));background:var(--app-surface);grid-template-columns:320px minmax(0,1fr);min-height:680px;display:grid;overflow:hidden}.recipe-library{border-right:1px solid var(--app-line);background:var(--app-surface-2);padding:28px 20px}.new-recipe{background:var(--app-text);width:100%;color:var(--app-bg);margin:22px 0 14px}.recipe-library ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.recipe-library li{grid-template-columns:1fr auto;gap:4px;display:grid}.recipe-library li>button:first-child{border-radius:calc(12px * var(--pf-radius-scale));text-align:left;background:0 0;border:0;gap:4px;min-height:62px;padding:10px 12px;display:grid}.recipe-library li>button.active{background:var(--app-surface);box-shadow:0 1px 5px #00000012}.recipe-library li strong{font-size:.84rem}.recipe-library li span,.recipe-library li small{color:var(--app-muted);font-size:.7rem}.recipe-delete{width:34px;color:var(--app-muted);background:0 0;border:0;font-size:1.2rem}.recipe-editor{padding:clamp(28px,5vw,64px)}.editor-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;display:flex}.recipe-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.recipe-metrics label,.recipe-metric-readonly{border:1px solid var(--app-line);border-radius:calc(15px * var(--pf-radius-scale));background:var(--app-surface-2);min-width:0;color:var(--app-muted);gap:10px;padding:16px;font-size:.7rem;font-weight:750;display:grid}.recipe-metrics label>div{align-items:baseline;gap:8px;display:flex}.recipe-metrics input,.recipe-metric-readonly strong{width:100%;min-width:0;color:var(--app-text);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:650}.recipe-metric-readonly strong{align-self:end}.recipe-metrics small{color:var(--app-muted);white-space:nowrap}.recipe-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.recipe-field{color:var(--app-muted);gap:8px;font-size:.72rem;font-weight:650;display:grid}.recipe-field>div{border:1px solid var(--app-line);border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-bg);align-items:center;height:48px;padding:0 12px;display:flex}.recipe-field input,.recipe-field textarea,.recipe-field select{width:100%;min-width:0;color:var(--app-text);background:0 0;border:0;outline:0}.recipe-field>input,.recipe-field>select{border:1px solid var(--app-line);border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-bg);min-height:48px;padding:0 12px}.recipe-field small{white-space:nowrap}.recipe-field--wide{margin-bottom:18px}.recipe-field--wide>input,.recipe-field--wide textarea{border:1px solid var(--app-line);border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-bg);min-height:50px;padding:12px}.recipe-field--wide textarea{resize:vertical;min-height:110px}.library-message{min-height:20px;color:var(--app-muted);font-size:.78rem}.brew-selection-backdrop{--app-bg:#f7f7f5;--app-surface:#fff;--app-surface-2:#f0f0ed;--app-text:#111;--app-muted:#6c6c67;--app-line:#1111111f;--app-accent:#166534;--app-accent-soft:#e8f4eb;z-index:900;padding:18px max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000047;justify-content:center;align-items:flex-end;animation:.18s ease-out both brew-selection-backdrop-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.brew-selection-backdrop--dark{--app-bg:#101110;--app-surface:#171817;--app-surface-2:#20221f;--app-text:#f6f7f4;--app-muted:#a4a69f;--app-line:#ffffff21;--app-accent:#67c883;--app-accent-soft:#183824;background:#0000008f}.brew-selection-sheet{border:1px solid color-mix(in srgb, var(--app-line) 82%, transparent);border-radius:calc(24px * var(--pf-radius-scale));background:var(--app-surface);width:min(760px,100vw - 36px);max-height:calc(100dvh - 36px);color:var(--app-text);flex-direction:column;animation:.24s cubic-bezier(.2,.8,.2,1) both brew-selection-sheet-in;display:flex;overflow:hidden;box-shadow:0 24px 70px #00000045}.brew-selection-sheet__handle{background:var(--app-line);border-radius:99px;width:42px;height:4px;margin:11px auto 0}.brew-selection-sheet__header{border-bottom:1px solid var(--app-line);justify-content:space-between;align-items:flex-start;gap:18px;padding:17px 21px 18px;display:flex}.brew-selection-sheet__header p{color:var(--app-muted);margin:0;font-size:.78rem;line-height:1.4}.brew-selection-sheet__step{color:var(--app-accent);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:800}.brew-selection-sheet__body{gap:16px;min-height:0;padding:18px 21px;display:grid;overflow:visible}.brew-selection-section{gap:10px;display:grid}.brew-selection-section__heading{justify-content:space-between;align-items:end;gap:18px;padding:0 0 8px 6px;display:flex}.brew-selection-section__heading>div{align-items:baseline;gap:9px;display:flex}.brew-selection-section__heading span{color:var(--app-muted);font-family:Geist Pixel Line,ui-monospace,monospace;font-size:.74rem}.brew-selection-section__heading small{color:var(--app-muted);font-size:.68rem}.brew-selection-rail{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:11px;margin-inline-start:0;margin-inline-end:0;padding:2px 0 4px;display:flex;overflow-x:auto}.brew-selection-rail::-webkit-scrollbar{display:none}.brew-selection-card{border:1px solid var(--app-line);border-radius:calc(17px * var(--pf-radius-scale));scroll-snap-align:start;background:var(--app-bg);min-height:198px;color:var(--app-text);text-align:left;flex:0 0 218px;align-content:start;gap:7px;padding:16px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:grid;position:relative}.brew-selection-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--app-text) 38%, var(--app-line));transform:translateY(-2px)}.brew-selection-card.is-selected{border-color:var(--app-accent);background:var(--app-accent-soft);box-shadow:inset 0 0 0 1px var(--app-accent)}.brew-selection-card:disabled{cursor:not-allowed;opacity:.5}.brew-selection-card__check{width:19px;height:19px;color:var(--app-accent);position:absolute;top:13px;right:13px}.brew-selection-card__icon{border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-surface);width:34px;height:34px;color:var(--app-accent);place-items:center;margin-bottom:8px;display:grid}.brew-selection-card__icon svg{width:18px;height:18px}.brew-selection-card strong{max-width:170px;font-size:.95rem;line-height:1.18}.brew-selection-card>span,.brew-selection-card>small{color:var(--app-muted);font-size:.7rem;line-height:1.35}.brew-selection-card>b{margin-top:5px;font-family:Geist Pixel Line,ui-monospace,monospace;font-size:.84rem;font-weight:500}.brew-selection-card__topline{color:var(--app-muted);justify-content:space-between;gap:8px;font-size:.65rem;font-weight:700;display:flex}.brew-selection-card__topline span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brew-selection-card__topline+strong{margin-top:11px}.brew-selection-sheet__summary{border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface-2);justify-content:space-between;align-items:baseline;gap:12px;margin:1px 0 0;padding:12px 14px;font-size:.76rem;display:flex}.brew-selection-sheet__summary span{color:var(--app-muted)}.brew-selection-sheet__footer{padding:15px 21px max(17px, env(safe-area-inset-bottom));border-top:1px solid var(--app-line);flex-shrink:0;gap:12px;display:grid}.brew-selection-sheet__footer-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.brew-selection-sheet__footer .brew-selection-sheet__summary{margin:0}.brew-selection-sheet__footer-note{color:var(--app-muted);font-size:.68rem;line-height:1.35}.brew-selection-sheet__footer .brew-primary,.brew-selection-sheet__footer .brew-secondary{min-height:44px}@keyframes brew-selection-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes brew-selection-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.brew-selection-toast-container{--app-bg:#f7f7f5;--app-surface:#fff;--app-surface-2:#f0f0ed;--app-text:#111;--app-muted:#6c6c67;--app-line:#1111111f;--app-accent:#166534;--app-accent-soft:#e8f4eb;z-index:900;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#020b0657;place-items:center;animation:.18s ease-out both brew-selection-toast-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.brew-selection-toast-container--dark{--app-bg:#101110;--app-surface:#171817;--app-surface-2:#20221f;--app-text:#f6f7f4;--app-muted:#a4a69f;--app-line:#ffffff21;--app-accent:#67c883;--app-accent-soft:#183824}.brew-selection-toast{border:1px solid color-mix(in srgb, var(--app-line) 82%, transparent);border-radius:calc(20px * var(--pf-radius-scale));background:var(--app-surface);width:min(760px,100%);height:max(260px,min(720px,100dvh - 36px));color:var(--app-text);pointer-events:auto;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 18px 55px #0000003d}.brew-selection-toast__header{border-bottom:1px solid var(--app-line);justify-content:space-between;align-items:flex-start;gap:18px;padding:17px 21px 18px;display:flex}.brew-selection-toast__header p{color:var(--app-muted);margin:0;font-size:.78rem;line-height:1.4}.brew-selection-toast__step{color:var(--app-accent);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:800}.brew-selection-toast__body{overscroll-behavior:contain;flex:auto;align-content:start;gap:16px;min-height:0;padding:18px 21px;display:grid;overflow:hidden auto}.brew-selection-toast__body [role=radiogroup]{min-width:0}.brew-selection-card:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 72%, white);outline-offset:3px}.brew-selection-close:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 72%, white);outline-offset:3px}.modal-sheet button:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 72%, white);outline-offset:3px}.modal-sheet input:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 72%, white);outline-offset:3px}.modal-sheet select:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 72%, white);outline-offset:3px}.modal-sheet textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 72%, white);outline-offset:3px}.brew-selection-close{border:1px solid var(--app-line);min-height:44px;color:var(--app-text);font:inherit;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:720;display:inline-flex}.brew-selection-close svg{width:17px;height:17px}.brew-selection-toast .brew-selection-card{min-height:170px}.brew-selection-toast__summary{border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface-2);justify-content:space-between;align-items:baseline;gap:12px;margin:1px 0 0;padding:12px 14px;font-size:.76rem;display:flex}.brew-selection-toast__summary span{color:var(--app-muted)}.brew-selection-toast__footer{z-index:1;padding:15px 21px max(17px, env(safe-area-inset-bottom));border-top:1px solid var(--app-line);background:var(--app-surface);flex-shrink:0;gap:12px;display:grid;position:relative}.brew-selection-toast__footer-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.brew-selection-toast__footer-note{color:var(--app-muted);font-size:.68rem;line-height:1.35}.brew-selection-toast__footer .brew-primary,.brew-selection-toast__footer .brew-secondary{min-height:44px}.brew-selection-toast__footer .brew-primary{color:var(--app-bg)}@keyframes brew-selection-toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.bag-list-controls{grid-template-columns:1fr 1.35fr;gap:8px;margin-bottom:14px;display:grid}.bag-list-controls label{color:var(--app-muted);gap:5px;font-size:.64rem;font-weight:700;display:grid}.bag-list-controls select{border:1px solid var(--app-line);border-radius:calc(9px * var(--pf-radius-scale));background:var(--app-surface);width:100%;min-width:0;height:38px;color:var(--app-text);padding:0 7px;font-size:.7rem}.empty-state{text-align:center;color:var(--app-muted);place-content:center;justify-items:center;display:grid}.empty-state--compact{gap:8px;min-height:180px;padding:20px}.empty-state--compact svg{width:26px}.empty-state--compact .empty-state__title{color:var(--app-text);font-size:.84rem}.empty-state--compact .empty-state__description{font-size:.7rem}.empty-state--full{min-height:420px}.empty-state--full svg{width:38px;height:38px;color:var(--app-muted)}.empty-state--full .empty-state__title{margin:16px 0 0;padding-bottom:12px}.empty-state--full .empty-state__description{max-width:420px;color:var(--app-muted);margin:0;line-height:1.5}.empty-state--full .brew-primary{min-height:48px;margin-top:20px}.coffee-bag-editor{align-content:start;display:grid}.bag-weight-summary{border-radius:calc(16px * var(--pf-radius-scale));background:var(--app-text);color:var(--app-bg);grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;padding:18px;display:grid}.bag-weight-summary>div:not(.bag-weight-progress){gap:4px;display:grid}.bag-weight-summary span{opacity:.68;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:700}.bag-weight-summary strong{font-variant-numeric:tabular-nums;font-family:Geist Pixel Line,ui-monospace,monospace;font-size:clamp(1.7rem,4vw,2.7rem);font-weight:500}.bag-weight-progress{border-radius:calc(10px * var(--pf-radius-scale));background:color-mix(in srgb, var(--app-bg) 20%, transparent);grid-column:1/-1;height:5px;overflow:hidden}.bag-weight-progress span{border-radius:inherit;background:var(--app-bg);height:100%;display:block}.bag-section{border-top:1px solid var(--app-line);gap:16px;padding:22px 0;display:grid}.bag-section__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.bag-section__heading>span{color:var(--app-text);font-size:.92rem;font-weight:750}.bag-section__heading small{color:var(--app-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.bag-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bag-field--wide{grid-column:span 1}.tasting-note-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.bag-rating-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bag-rating,.processing-field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.bag-rating legend,.processing-field legend{color:var(--app-muted);font-size:.72rem;font-weight:650}.bag-rating>div,.processing-field>div{flex-wrap:wrap;gap:7px;display:flex}.bag-rating button,.processing-field button{border:1px solid var(--app-line);border-radius:calc(10px * var(--pf-radius-scale));background:var(--app-bg);min-width:38px;min-height:38px;color:var(--app-muted);padding:0 11px;font-size:.72rem;font-weight:700}.bag-rating button.active,.processing-field button.active{border-color:var(--app-text);background:var(--app-text);color:var(--app-bg)}.bag-rating small{color:var(--app-muted);font-size:.66rem}.processing-field label{color:var(--app-muted);gap:7px;font-size:.72rem;font-weight:650;display:grid}.processing-field input{border:1px solid var(--app-line);border-radius:calc(10px * var(--pf-radius-scale));background:var(--app-bg);min-height:46px;color:var(--app-text);outline:0;padding:0 12px}.history-workspace{padding:clamp(24px,4vw,54px)}.history-workspace:has(.empty-state--full){min-height:calc(100dvh - var(--appliance-header-height) - 132px);grid-template-rows:auto minmax(420px,1fr);display:grid}.device-workspace{background:0 0;padding:clamp(24px,4vw,54px)}.history-workspace__header .page-header__copy{display:none}.history-workspace__header{margin-bottom:12px}.history-workspace__header>.brew-secondary{margin-left:auto}.history-list{gap:10px;display:grid}.history-brew{border:1px solid var(--app-line);border-radius:calc(15px * var(--pf-radius-scale));overflow:hidden}.history-brew__summary{text-align:left;background:0 0;border:0;grid-template-columns:minmax(180px,1fr) 1.4fr auto;align-items:center;gap:20px;width:100%;padding:20px;display:grid}.history-brew__summary>div{gap:5px;display:grid}.history-brew__summary span{color:var(--app-muted);font-size:.72rem}.history-brew__summary dl{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;display:grid}.history-brew__summary dl>div{gap:4px;display:grid}.history-brew__summary dt{color:var(--app-muted);font-size:.68rem}.history-brew__summary dd{text-transform:capitalize;margin:0;font-size:.82rem;font-weight:650}.history-brew__summary>svg{width:19px;transition:transform .16s}.history-brew--expanded .history-brew__summary>svg{transform:rotate(90deg)}.history-brew__graph{border-top:1px solid var(--app-line);padding:18px 20px 24px}.history-brew__graph>p,.history-trace-error p{color:var(--app-muted);font-size:.8rem}.history-trace-error{justify-content:space-between;align-items:center;gap:18px;display:flex}.device-workspace{padding:0}.device-workspace__heading{border-bottom:1px solid var(--app-line);margin:0;padding:30px clamp(20px,4vw,54px)}.device-workspace__header .page-header__copy{display:none}.device-workspace__header .header-status{margin-left:auto}.device-workspace .total-weight{border-bottom-color:var(--app-line)}.mock-note{text-align:center;color:var(--app-muted);margin:0;padding:16px;font-size:.76rem}.appliance[data-theme=dark] .total-weight,.appliance[data-theme=dark] .weight-capture,.appliance[data-theme=dark] .capture-chart-frame,.appliance[data-theme=dark] .scale-grid,.appliance[data-theme=dark] .total-weight__controls,.appliance[data-theme=dark] .modal,.appliance[data-theme=dark] .modal-form input,.appliance[data-theme=dark] .input-with-unit select,.appliance[data-theme=dark] .target-control__input,.appliance[data-theme=dark] .target-button,.appliance[data-theme=dark] .target-chip,.appliance[data-theme=dark] .button--secondary{background:var(--app-surface);color:var(--app-text)}.appliance[data-theme=dark] .total-progress{background:var(--app-surface-2)}.appliance[data-theme=dark] .target-chip--active{background:var(--app-accent-soft);color:var(--app-accent)}.appliance[data-theme=dark] .capture-button:hover:not(:disabled),.appliance[data-theme=dark] .button--secondary:hover:not(:disabled){background:var(--app-surface-2)}.appliance[data-theme=dark] .raw-reading,.appliance[data-theme=dark] .hostname{color:var(--app-muted)}@media (max-width:980px){.appliance-header{grid-template-columns:1fr auto}.appliance-header nav{z-index:30;justify-content:space-around;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 12px 34px #0003}.appliance-header nav a{flex:1;justify-content:center}.appliance-body{padding-bottom:100px}.brew-layout{grid-template-columns:1fr}.brew-readings{grid-area:auto;position:static}.brew-guide{grid-area:auto;grid-template-columns:1fr}.recipe-grid{grid-template-columns:repeat(2,1fr)}.recipe-metrics{grid-template-columns:1fr 1fr}.recipe-metrics>:last-child{grid-column:1/-1}.history-brew__summary{grid-template-columns:1fr auto}.history-brew__summary dl{grid-column:1/-1}}@media (max-width:640px){:root{--appliance-header-height:115px}.appliance-header{--appliance-header-height:115px;min-height:var(--appliance-header-height);height:var(--appliance-header-height);gap:10px;padding:0 16px}.appliance-connection{display:none}.appliance-header__title{font-size:2rem}.appliance-actions>button{width:38px;height:38px}.appliance-actions>.install-app{width:38px;padding:10px}.install-app span{display:none}.device-status-banner{align-items:flex-start;padding:10px 16px;top:68px}.device-status-banner span{font-size:.68rem}.device-status-banner__action{min-height:34px;padding:0 9px}.appliance-header nav{gap:2px;padding:5px}.appliance-header nav a{flex-direction:column;gap:2px;min-width:0;padding:0 6px;font-size:.62rem}.appliance-header nav a svg{width:17px;height:17px}.appliance-body{padding:18px 14px 96px}.brew-layout{gap:14px}.brew-hero,.brew-readings,.brew-guide{border-radius:calc(18px * var(--pf-radius-scale))}.brew-hero{grid-template-columns:1fr;gap:24px;min-height:0;padding:24px 20px}.page-title--default{font-size:2.5rem}.brew-timer{text-align:left;min-width:0}.brew-timer strong{font-size:5.2rem}.brew-key-metrics{grid-template-columns:1fr 1fr}.brew-key-metrics>div:last-child{grid-column:1/-1}.brew-actions{grid-template-columns:1fr 1fr;display:grid}.brew-actions .brew-primary{grid-column:1/-1;min-height:54px}.brew-actions .brew-secondary{min-height:48px}.brew-readings{padding:22px 20px}.brew-readings__primary strong{font-size:4.1rem}.brew-guide{gap:24px;padding:24px 20px}.guided-step-title{font-size:3rem}.recipe-section-tabs{width:100%}.recipe-section-tabs a{flex:1}.recipe-workspace{border-radius:calc(18px * var(--pf-radius-scale));grid-template-columns:1fr}.recipe-library{border-right:0;border-bottom:1px solid var(--app-line)}.recipe-library ul{max-height:260px;overflow:auto}.recipe-editor{padding:26px 20px}.editor-heading{align-items:flex-end}.recipe-grid,.recipe-metrics,.bag-form-grid,.tasting-note-grid,.bag-rating-grid{grid-template-columns:1fr 1fr;gap:12px}.recipe-metrics>:last-child,.tasting-note-grid label:last-child{grid-column:1/-1}.page-header,.section-header{align-items:flex-start}.history-workspace{padding:24px 18px}.history-brew__summary{padding:16px}.history-brew__summary dl{grid-template-columns:1fr 1fr}.device-workspace{border:0;border-radius:0;margin:-18px -14px}.device-workspace__heading{padding:24px 20px;display:grid}.device-workspace__heading .header-status{justify-content:flex-start}.device-workspace__heading .hostname{text-align:left;width:auto;display:block}}@media (max-width:719px),(max-height:539px){.active-brew-summary__content{padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));gap:clamp(18px,3.2vh,34px)}.active-brew-summary__stage>strong{max-width:64vw;font-size:clamp(1.2rem,6vw,2rem)}.active-brew-summary__stage>small{text-overflow:ellipsis;white-space:nowrap;max-width:58vw;overflow:hidden}.active-brew-summary__utility{width:48px;height:48px;padding:12px}.active-brew-summary__metrics{grid-template-columns:1fr;align-content:center;gap:clamp(28px,6vh,58px)}.active-brew-summary__metric--timer>strong{font-size:clamp(5.4rem,27vw,10rem)}.active-brew-summary__metric--weight>strong{font-size:clamp(4.4rem,22vw,8rem)}.active-brew-summary__stage-rail{height:48px}.active-brew-summary__stage-rail-line{top:24px}.active-brew-summary__stage-marker{height:48px}.active-brew-summary__stage-marker span{display:none}.active-brew-summary__stage-card{max-width:42vw;padding:6px 9px;top:14px}.active-brew-summary__footer{grid-template-columns:1fr;justify-content:stretch;gap:20px;display:grid}.active-brew-summary__footer-info{flex-wrap:wrap;align-items:flex-end;gap:14px 24px}.active-brew-summary__next{max-width:100%}.active-brew-summary__actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.active-brew-summary__control{min-width:0;min-height:56px;padding:0 16px}}@media (max-height:520px) and (orientation:landscape){.active-brew-summary__content{padding:max(16px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));gap:10px}.active-brew-summary__header{align-items:center}.active-brew-summary__stage{grid-template-columns:auto auto;align-items:baseline;gap:4px 10px}.active-brew-summary__stage>strong{max-width:34vw;font-size:1.2rem}.active-brew-summary__stage>small{grid-column:1/-1}.active-brew-summary__utility{width:46px;height:46px;padding:11px}.active-brew-summary__metrics{gap:7vw}.active-brew-summary__metric{gap:5px}.active-brew-summary__metric--timer>strong{font-size:clamp(5rem,18vw,9rem)}.active-brew-summary__metric--weight>strong{font-size:clamp(4rem,12vw,6.5rem)}.active-brew-summary__metric>small{font-size:.72rem}.active-brew-summary__footer{align-items:center}.active-brew-summary__control{min-height:50px;padding:0 18px}}@media (max-width:420px){.recipe-grid,.recipe-metrics,.bag-form-grid,.tasting-note-grid,.bag-rating-grid,.brew-key-metrics{grid-template-columns:1fr}.recipe-metrics>:last-child,.tasting-note-grid label:last-child,.brew-key-metrics>div:last-child{grid-column:auto}.bag-list-controls,.bag-weight-summary{grid-template-columns:1fr}.bag-weight-progress{grid-column:auto}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.brew-progress span,.active-brew-summary__progress{transition:none}}.settings-tab{border:1px solid var(--app-line);border-radius:calc(10px * var(--pf-radius-scale));min-height:38px;color:var(--app-muted);align-items:center;gap:7px;padding:0 12px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.settings-tab.active{color:var(--app-text);background:var(--app-surface-2)}.library-workspace{gap:22px;padding:clamp(22px,4vw,46px);display:grid}.library-workspace__header .page-header__copy{display:none}.library-workspace__header>.new-recipe,.library-workspace__header>.library-header-actions{margin-left:auto}.library-workspace__header>.new-recipe,.library-workspace__header .library-header-actions .new-recipe{width:auto;margin:0}.page-header--library{align-items:flex-start;gap:20px}.library-header-actions,.library-controls,.view-toggle,.modal-toolbar{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.library-controls{border:1px solid var(--app-line);border-radius:calc(14px * var(--pf-radius-scale));background:var(--app-surface-2);padding:13px}.library-controls label{color:var(--app-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-size:.76rem;font-weight:700;display:inline-flex}.library-controls select{border:1px solid var(--app-line);border-radius:calc(8px * var(--pf-radius-scale));background:var(--app-surface);min-height:34px;color:var(--app-text);font:inherit;text-transform:none;letter-spacing:0;padding:0 9px}.bean-library-controls{gap:12px;display:grid;position:relative}.bean-library-controls__action-row{justify-content:space-between;align-items:center;gap:9px;display:flex}.bean-library-controls__more{display:none}.bean-library-controls__desktop .view-toggle{margin-right:auto}.bean-library-controls__menu{display:none}.recipe-library-controls{gap:12px;display:grid;position:relative}.recipe-library-controls__action-row{justify-content:end;align-items:center;gap:9px;min-height:38px;display:flex}.recipe-library-controls__desktop-actions,.recipe-library-controls__mobile-actions{align-items:center;gap:9px;display:flex}.recipe-library-controls__mobile-actions,.recipe-library-controls__more{display:none}.recipe-library-controls__desktop .view-toggle{margin-right:auto}.recipe-library-controls__menu{display:none}.view-toggle{border:1px solid var(--app-line);border-radius:calc(10px * var(--pf-radius-scale));margin-right:auto;padding:3px}.view-toggle button,.modal-toolbar button{border-radius:calc(7px * var(--pf-radius-scale));min-height:32px;color:var(--app-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 9px;font-size:.78rem;font-weight:650;display:inline-flex}.view-toggle button[aria-pressed=true]{color:var(--app-text);background:var(--app-surface);box-shadow:0 1px 4px #00000014}.view-toggle svg,.modal-toolbar svg{width:15px;height:15px}.library-group,.bag-collection{gap:12px;display:grid}.bag-collection--grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.bag-collection--list{grid-template-columns:1fr}.library-card{border:1px solid var(--app-line);border-radius:calc(15px * var(--pf-radius-scale));background:var(--app-bg);min-width:0;transition:border-color .18s,transform .18s;position:relative}.library-card:hover{border-color:color-mix(in srgb, var(--app-text) 34%, var(--app-line));transform:translateY(-1px)}.bag-card--depleted{opacity:.68}.library-card__open{width:100%;min-height:130px;color:var(--app-text);text-align:left;cursor:pointer;background:0 0;border:0;align-content:start;gap:6px;padding:17px 46px 17px 17px;display:grid}.library-card__open span{color:var(--app-muted);font-size:.79rem}.bag-card__open b{margin-top:7px;font-family:Geist Pixel Line,ui-monospace,monospace;font-size:.91rem;font-weight:500}.library-card__open small{color:var(--app-muted);font-size:.72rem;line-height:1.35}.bag-collection--list .bag-card__open{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(130px,1fr);align-items:center;min-height:78px}.bag-collection--list .bag-card__open strong{grid-column:1}.bag-collection--list .bag-card__open span{grid-area:1/2}.bag-collection--list .bag-card__open b{grid-area:1/3;margin:0}.bag-collection--list .bag-card__open small{grid-column:1/-1}.library-star{color:var(--app-muted);cursor:pointer;background:0 0;border:0}.library-card>.library-star{border-radius:calc(12px * var(--pf-radius-scale));place-items:center;width:44px;height:44px;display:grid;position:absolute;top:8px;right:8px}.library-star svg{width:18px;height:18px}.library-star.active{color:#b37b1d}.library-star.active svg{fill:currentColor}.modal-toolbar{border-bottom:1px solid var(--app-line);padding-bottom:15px}.modal-toolbar .danger{color:#b33a32}.recipe-collection{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;display:grid}.recipe-collection--list{grid-template-columns:1fr}.recipe-card__open{min-height:136px}.recipe-collection--list .recipe-card__open{grid-template-columns:minmax(170px,1fr) minmax(190px,1fr);align-items:center;min-height:78px}.recipe-collection--list .recipe-card__open strong{grid-column:1}.recipe-collection--list .recipe-card__open span{grid-area:1/2}.recipe-collection--list .recipe-card__open small{grid-column:1/-1}.library-modal{width:min(760px,100vw - 28px);max-height:min(850px,100dvh - 28px);overflow:auto}.library-modal__body{gap:19px;padding:21px;display:grid}.library-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0;display:grid}.library-detail>div{border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-surface-2);padding:12px}.library-detail dt{color:var(--app-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.67rem;font-weight:700}.library-detail dd{color:var(--app-text);margin:5px 0 0;line-height:1.35}.library-detail>div:last-child:nth-child(odd){grid-column:1/-1}.button--full{justify-content:center;width:100%}.bag-edit-form,.recipe-edit-form{gap:16px;display:grid}.bag-edit-form .bag-section{border:0;padding:0}.refill-form p{color:var(--app-muted);margin:0;line-height:1.5}.library-panel-container{--app-bg:#fafdfa;--app-surface:#fff;--app-surface-2:#eef7f0;--app-text:#0a180f;--app-muted:#4c6054;--app-line:#1111111f;--app-accent:#008e49;--app-accent-soft:#dbfce4;--app-warning:#c16900;--app-panel:#f5faf6;z-index:90;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#020b0647;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.appliance[data-theme=dark]~.library-panel-container{--app-bg:#050f09;--app-surface:#0b1b11;--app-surface-2:#132b1c;--app-text:#f2fff6;--app-muted:#acc3b5;--app-line:#ffffff21;--app-accent:#3bef7f;--app-accent-soft:#0c4523;--app-warning:#ffba0f;--app-panel:#0d2215;background:#00000085}body:has(.appliance[data-theme=dark]) .library-panel-container{--app-bg:#050f09;--app-surface:#0b1b11;--app-surface-2:#132b1c;--app-text:#f2fff6;--app-muted:#acc3b5;--app-line:#ffffff21;--app-accent:#3bef7f;--app-accent-soft:#0c4523;--app-warning:#ffba0f;--app-panel:#0d2215;background:#00000085}.library-panel{border:1px solid color-mix(in srgb, var(--app-line) 82%, transparent);border-radius:calc(20px * var(--pf-radius-scale));background:var(--app-surface);width:min(760px,100%);max-height:min(850px,100dvh - 48px);color:var(--app-text);pointer-events:auto;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 18px 55px #0000003d}.library-panel__handle{display:none}.library-panel__header{border-bottom:1px solid var(--app-line);flex:none;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:16px 18px;display:flex}.library-panel__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.library-panel__actions,.library-panel__action-group{align-items:center;gap:3px;display:flex}.library-panel__actions{scrollbar-width:none;flex:0 auto;min-width:0;overflow-x:auto}.library-panel__actions::-webkit-scrollbar{display:none}.library-panel-action,.library-panel-menu>summary{border-radius:calc(9px * var(--pf-radius-scale));width:36px;height:36px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.library-panel-action svg,.library-panel-menu>summary svg{width:17px;height:17px}.library-panel-action:hover:not(:disabled),.library-panel-menu>summary:hover{background:var(--app-surface-2);color:var(--app-text)}.library-panel-action:disabled{cursor:wait;opacity:.55}.library-panel-action--primary{background:var(--app-accent);color:var(--app-bg)}.library-panel-action--primary:hover:not(:disabled){background:color-mix(in srgb, var(--app-accent) 86%, #000);color:var(--app-bg)}.library-panel-action--danger{color:#b33a32}.library-panel__separator{background:var(--app-line);flex:none;width:1px;height:21px;margin:0 5px}.library-panel__body{overscroll-behavior:contain;align-content:start;gap:19px;min-height:0;padding:21px;display:grid;overflow:auto}.library-panel-menu{flex:none;position:relative}.library-panel-menu>summary{list-style:none}.library-panel-menu>summary::-webkit-details-marker{display:none}.library-panel-menu>div{z-index:2;border:1px solid var(--app-line);border-radius:calc(10px * var(--pf-radius-scale));background:var(--app-surface);min-width:150px;padding:5px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 10px 24px #00000029}.library-panel-menu button{border-radius:calc(7px * var(--pf-radius-scale));color:#b33a32;width:100%;min-height:34px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 9px;font-size:.78rem;font-weight:700}.library-panel-menu button:hover{background:var(--app-surface-2)}.library-panel-action[data-tooltip],.library-panel-menu>summary[data-tooltip]{position:relative}.library-panel-action[data-tooltip]:after,.library-panel-menu>summary[data-tooltip]:after{z-index:4;border-radius:calc(6px * var(--pf-radius-scale));background:var(--app-text);width:max-content;max-width:170px;color:var(--app-bg);content:attr(data-tooltip);opacity:0;pointer-events:none;padding:5px 7px;font-size:.67rem;font-weight:700;line-height:1.1;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);right:0;transform:translateY(2px)}.library-panel-action[data-tooltip]:hover:after,.library-panel-menu>summary[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.library-panel-action[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.library-panel-menu>summary[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}@keyframes library-panel-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.catalog-combobox,.catalog-combobox__input{position:relative}.catalog-combobox__input>input{border:1px solid var(--app-line);border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-bg);min-height:50px;color:var(--app-text);padding:0 78px 0 12px}.catalog-combobox__loading{color:var(--app-muted);pointer-events:none;font-size:.68rem;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.catalog-combobox__list{z-index:8;border:1px solid var(--app-line);border-radius:0 0 calc(11px * var(--pf-radius-scale)) calc(11px * var(--pf-radius-scale));background:var(--app-surface);max-height:min(280px,42vh);margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% - 1px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 24px #00000029}.catalog-combobox__list li{border-radius:calc(7px * var(--pf-radius-scale));min-height:48px;color:var(--app-text);cursor:pointer;align-items:center;gap:9px;padding:8px;display:flex}.catalog-combobox__list li[aria-selected=true],.catalog-combobox__list li:hover{background:var(--app-surface-2)}.catalog-combobox__list strong,.catalog-combobox__list small,.catalog-combobox__list em{display:block}.catalog-combobox__list small,.catalog-hint{color:var(--app-muted);font-size:.72rem}.catalog-combobox__list em{color:var(--app-muted);margin-top:2px;font-size:.65rem;font-style:normal}.catalog-option__logo{border-radius:calc(9px * var(--pf-radius-scale));object-fit:contain;background:var(--app-surface-2);flex:0 0 34px;width:34px;height:34px}.catalog-option__logo--fallback,.catalog-preview__image--fallback{color:var(--app-muted);letter-spacing:.05em;place-items:center;font-size:.68rem;font-weight:800;display:inline-grid}.catalog-hint{line-height:1.4;display:block}.catalog-status{color:var(--app-muted);background:var(--app-surface-2);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:2px 6px;font-size:.64rem;font-weight:800;display:inline-block}.catalog-status--seasonal{color:#6b4710;background:#f0d28b}.catalog-status--sold-out,.catalog-status--archived{color:#7b3030;background:#f2d3d3}.catalog-preview{border:1px solid var(--app-line);border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface-2);padding:13px}.catalog-preview__heading{align-items:flex-start;gap:11px;display:flex}.catalog-preview__image{border-radius:calc(10px * var(--pf-radius-scale));object-fit:cover;background:var(--app-surface);flex:0 0 58px;width:58px;height:58px}.catalog-preview__heading h3,.catalog-preview__heading p{margin:0}.catalog-preview__heading h3{margin-top:2px;font-size:.95rem}.catalog-preview__heading p,.catalog-preview__heading small,.catalog-preview__description,.catalog-preview__attribution{color:var(--app-muted);font-size:.74rem}.catalog-preview__heading .catalog-status{margin-top:5px}.catalog-preview__description{margin:11px 0 0;line-height:1.45}.catalog-preview__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:11px 0;display:grid}.catalog-preview__details div{min-width:0}.catalog-preview__details dt{color:var(--app-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.catalog-preview__details dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.77rem}.catalog-preview__actions{flex-wrap:wrap;gap:8px;display:flex}.catalog-preview__actions button{border:1px solid var(--app-line);border-radius:calc(8px * var(--pf-radius-scale));background:var(--app-surface);min-height:36px;color:var(--app-text);font:inherit;cursor:pointer;padding:0 10px;font-size:.76rem;font-weight:700}.catalog-preview__actions button:first-child{background:var(--app-accent);color:var(--app-accent-contrast,#fff)}.catalog-preview__link,.catalog-preview__attribution{color:var(--app-muted);align-items:center;gap:4px;margin-top:10px;display:inline-flex}.catalog-preview__link svg,.catalog-preview__attribution svg{width:12px;height:12px}.catalog-recipes__description{color:var(--app-muted);margin:-7px 0 0;font-size:.78rem;line-height:1.45}.catalog-recipes__description a{color:inherit}.catalog-recipes__controls input{border:1px solid var(--app-line);border-radius:calc(8px * var(--pf-radius-scale));background:var(--app-surface);min-height:34px;color:var(--app-text);font:inherit;padding:0 9px}.catalog-new{color:#6b4710;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:#f0d28b;border-radius:999px;margin-left:7px;padding:2px 6px;font-size:.62rem}.brew-dock{z-index:35;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));border:1px solid color-mix(in srgb, var(--app-line) 78%, transparent);border-radius:calc(17px * var(--pf-radius-scale));background:color-mix(in srgb, var(--app-surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:16px;width:min(760px,100% - 36px);margin:0 auto;padding:11px 12px 11px 17px;display:flex;position:fixed;box-shadow:0 14px 38px #0000002e}.brew-dock__selection{gap:2px;min-width:0;display:grid}.brew-dock__selection>span{color:var(--app-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:700}.brew-dock__selection strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;overflow:hidden}.brew-dock__selection small{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.brew-dock .brew-primary{flex:none}.appliance-body:has(.library-workspace){padding-bottom:132px}.appliance-body:has(.history-workspace){padding-bottom:132px}@media (max-width:640px){.settings-tab span{display:none}.settings-tab{justify-content:center;width:38px;padding:0}.library-workspace{padding:22px 16px 116px}.page-header--library{display:grid}.library-workspace__header,.device-workspace__header{justify-content:end;justify-items:end}.library-header-actions{width:auto}.library-header-actions>button{flex:1;justify-content:center}.library-controls{align-items:stretch}.view-toggle{width:100%;margin-right:0}.view-toggle button{flex:1;justify-content:center}.library-controls label{flex:1;justify-content:space-between}.bag-collection--list .bag-card__open{grid-template-columns:1fr 1fr;min-height:105px}.bag-collection--list .bag-card__open span{grid-area:2/1}.bag-collection--list .bag-card__open b{grid-area:1/2}.library-detail{grid-template-columns:1fr}.library-detail>div:last-child:nth-child(odd){grid-column:auto}.catalog-preview__details{grid-template-columns:1fr}.catalog-preview__actions{flex-direction:column}.catalog-preview__actions button{width:100%}.brew-dock{bottom:max(12px, env(safe-area-inset-bottom));width:calc(100% - 24px)}.brew-dock .brew-primary{min-height:44px;padding-inline-start:13px;padding-inline-end:13px}.brew-dock .brew-primary svg,.bean-library-controls__desktop{display:none}.bean-library-controls__more{border:1px solid var(--app-line);border-radius:calc(9px * var(--pf-radius-scale));background:var(--app-surface);width:36px;min-height:36px;color:var(--app-text);cursor:pointer;place-items:center;padding:0;display:grid}.bean-library-controls__more svg{width:18px;height:18px}.bean-library-controls__menu{z-index:12;border:1px solid var(--app-line);border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface);gap:12px;width:min(286px,100vw - 32px);padding:11px;display:grid;position:absolute;top:47px;right:0;box-shadow:0 14px 30px #0003}.bean-library-controls__menu>div,.bean-library-controls__menu label{gap:7px;display:grid}.bean-library-controls__menu>div>span,.bean-library-controls__menu label>span{color:var(--app-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:750}.bean-library-controls__layout{border:1px solid var(--app-line);border-radius:calc(9px * var(--pf-radius-scale));grid-template-columns:1fr 1fr;padding:3px;display:grid}.bean-library-controls__layout button{border-radius:calc(6px * var(--pf-radius-scale));min-height:48px;color:var(--app-muted);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;gap:3px;font-size:.72rem;font-weight:700;display:grid}.bean-library-controls__layout button svg{width:16px;height:16px}.bean-library-controls__layout button[aria-pressed=true]{background:var(--app-surface-2);color:var(--app-text)}.bean-library-controls__menu select{border:1px solid var(--app-line);border-radius:calc(8px * var(--pf-radius-scale));background:var(--app-bg);min-height:36px;color:var(--app-text);font:inherit;padding:0 9px}.recipe-library-controls__desktop,.recipe-library-controls__desktop-actions{display:none}.recipe-library-controls__mobile-actions{display:flex}.recipe-library-controls__more{border:1px solid var(--app-line);border-radius:calc(9px * var(--pf-radius-scale));background:var(--app-surface);width:36px;min-height:36px;color:var(--app-text);cursor:pointer;place-items:center;padding:0;display:grid}.recipe-library-controls__more svg{width:18px;height:18px}.recipe-library-controls__menu{z-index:12;border:1px solid var(--app-line);border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface);gap:12px;width:min(286px,100vw - 32px);padding:11px;display:grid;position:absolute;top:47px;right:0;box-shadow:0 14px 30px #0003}.recipe-library-controls__menu>div,.recipe-library-controls__menu label{gap:7px;display:grid}.recipe-library-controls__menu>div>span,.recipe-library-controls__menu label>span{color:var(--app-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:750}.recipe-library-controls__layout{border:1px solid var(--app-line);border-radius:calc(9px * var(--pf-radius-scale));grid-template-columns:1fr 1fr;padding:3px;display:grid}.recipe-library-controls__serve-tabs{grid-template-columns:repeat(3,1fr)}.recipe-library-controls__layout button{border-radius:calc(6px * var(--pf-radius-scale));min-height:48px;color:var(--app-muted);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;gap:3px;font-size:.72rem;font-weight:700;display:grid}.recipe-library-controls__layout button svg{width:16px;height:16px}.recipe-library-controls__layout button[aria-pressed=true]{background:var(--app-surface-2);color:var(--app-text)}.recipe-library-controls__menu select{border:1px solid var(--app-line);border-radius:calc(8px * var(--pf-radius-scale));background:var(--app-bg);min-height:36px;color:var(--app-text);font:inherit;padding:0 9px}.recipe-library-controls__import{border:1px solid var(--app-line);border-radius:calc(8px * var(--pf-radius-scale));background:var(--app-surface-2);min-height:38px;color:var(--app-text);font:inherit;cursor:pointer;align-items:center;gap:7px;padding:0 9px;font-size:.78rem;font-weight:700;display:inline-flex}.recipe-library-controls__import svg{width:15px;height:15px}.recipe-collection--list .recipe-card__open{grid-template-columns:1fr;min-height:105px}.recipe-collection--list .recipe-card__open strong,.recipe-collection--list .recipe-card__open span,.recipe-collection--list .recipe-card__open small{grid-area:auto/1}.modal-sheet-container{place-items:end stretch;padding:0}.modal-sheet{width:100%;height:min(92dvh, var(--pf-visual-vh,100dvh));border-radius:calc(22px * var(--pf-radius-scale)) calc(22px * var(--pf-radius-scale)) 0 0;border-bottom:0;border-left:0;border-right:0}.modal-sheet__handle{background:var(--app-line);border-radius:99px;flex:none;width:42px;height:4px;margin:10px auto 0;display:block}.modal-sheet__header{padding:10px 16px 12px}.modal-sheet__body{padding:18px 16px max(22px, env(safe-area-inset-bottom))}.modal-sheet__cancel,.modal-sheet__save{min-height:44px}.brew-selection-toast-container{place-items:end stretch;padding:12px}.brew-selection-toast{width:100%;height:calc(var(--pf-visual-vh,100dvh) - 24px);border-radius:calc(18px * var(--pf-radius-scale))}.brew-selection-toast__header{padding:15px 16px 17px}.brew-selection-toast__body{gap:10px;padding:12px 16px}.brew-selection-rail{padding-inline-start:0;padding-inline-end:0;margin-inline-start:0;margin-inline-end:0;padding-bottom:2px}.brew-selection-card{flex-basis:min(78vw,270px);min-height:170px}.brew-selection-toast__footer{padding-inline-start:16px;padding-inline-end:16px}.brew-selection-toast__footer-note{max-width:42%}.brew-selection-toast__footer .brew-primary{flex:none}.brew-selection-toast__summary{gap:4px;display:grid}.library-panel-container{place-items:end stretch;padding:0}.library-panel{border-radius:calc(22px * var(--pf-radius-scale)) calc(22px * var(--pf-radius-scale)) 0 0;border-bottom:0;border-left:0;border-right:0;width:100%;max-height:min(92dvh,760px);animation-name:library-panel-drawer-in}.library-panel__handle{background:var(--app-line);border-radius:99px;flex:none;width:42px;height:4px;margin:10px auto 0;display:block}.library-panel__header{gap:9px;padding:12px 16px 14px}.library-panel__body{padding:18px 16px max(22px, env(safe-area-inset-bottom))}.library-panel__separator{margin-inline-start:2px;margin-inline-end:2px}.library-panel-action,.library-panel-menu>summary{width:34px;height:34px}}@keyframes library-panel-drawer-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.appliance-header{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}.appliance-header nav{box-shadow:none;justify-content:center;position:static;top:auto;bottom:auto;left:auto;right:auto}.appliance-header nav a{flex:0 auto}}@media (max-width:640px){.appliance-header{grid-template-columns:1fr auto;min-height:auto;padding:8px 16px}.appliance-header nav{grid-area:2/1/auto/-1;width:100%}.appliance-header nav a{flex:1}.device-status-banner{top:122px}}@media (prefers-reduced-motion:reduce){.brew-selection-backdrop,.brew-selection-sheet,.brew-selection-toast-container,.library-panel{animation:none}}@supports (color:color(display-p3 1 1 1)){.total-progress{box-shadow:inset 0 1px 2px color(display-p3 .045 .06 .049/.08)}.total-weight__controls{box-shadow:0 10px 30px color(display-p3 .22 .075 .018/.06)}.modal-backdrop{background:color(display-p3 .045 .06 .049/.42)}.modal{box-shadow:0 20px 60px color(display-p3 .16 .045 .012/.18)}.appliance-header nav a.active{box-shadow:0 1px 5px color(display-p3 0 .05 .02/.08)}.active-brew-summary{--focus-fill:color(display-p3 .025 .2 .085);--focus-surface:color(display-p3 .94 1 .955/.08);--focus-surface-strong:color(display-p3 .94 1 .955/.14);--focus-text:color(display-p3 .94 1 .955);--focus-muted:color(display-p3 .67 .76 .7);--focus-accent:color(display-p3 .3 .97 .49)}.active-brew-summary[data-theme=light]{--focus-bg:color(display-p3 .977 .991 .979);--focus-fill:color(display-p3 .815 .987 .855);--focus-surface:color(display-p3 .043 .071 .052/.07);--focus-surface-strong:color(display-p3 .043 .071 .052/.12);--focus-text:color(display-p3 .052 .078 .061);--focus-muted:color(display-p3 .291 .359 .318);--focus-accent:color(display-p3 0 .565 .275)}.active-brew-summary:after{background:linear-gradient(90deg,color(display-p3 .004 .04 .018/.6) 0%,color(display-p3 .004 .04 .018/.28) 48%,color(display-p3 .004 .04 .018/.54) 100%),linear-gradient(color(display-p3 .004 .04 .018/.18),color(display-p3 .004 .04 .018/.5))}.active-brew-summary__graph .brew-graph__empty{color:color(display-p3 .94 1 .955/.72)}.focus-prep{background:color(display-p3 .018 .09 .04/.7);border-color:color(display-p3 .94 1 .955/.16);box-shadow:0 24px 90px color(display-p3 0 .03 .01/.28)}.focus-prep .prep-recipe{background:color(display-p3 .94 1 .955/.08)}.focus-prep .prep-check{background:color(display-p3 .94 1 .955/.05);border-color:color(display-p3 .94 1 .955/.16)}.focus-prep .prep-health{background:color(display-p3 .94 1 .955/.07)}.focus-prep .button--secondary{background:color(display-p3 .94 1 .955/.08);border-color:color(display-p3 .94 1 .955/.2)}.active-brew-summary__stage-card{box-shadow:0 5px 18px color(display-p3 0 .03 .01/.08)}.active-brew-summary__utility{border-color:color(display-p3 .94 1 .955/.17)}.active-brew-summary__control{border-color:color(display-p3 .94 1 .955/.18)}.active-brew-summary__confirm-backdrop{background:color(display-p3 0 .02 .008/.78)}.active-brew-summary__confirm{border-color:color(display-p3 .94 1 .955/.16);box-shadow:0 24px 90px color(display-p3 0 .02 .008/.48)}.active-brew-summary__confirm-cancel{border-color:color(display-p3 .94 1 .955/.17)}.active-brew-summary[data-theme=light]:after{background:linear-gradient(90deg,color(display-p3 .977 .991 .979/.44) 0%,color(display-p3 .977 .991 .979/.14) 48%,color(display-p3 .977 .991 .979/.34) 100%),linear-gradient(color(display-p3 .977 .991 .979/.1),color(display-p3 .977 .991 .979/.32))}.active-brew-summary[data-theme=light] .active-brew-summary__graph .brew-graph__empty{color:color(display-p3 .052 .078 .061/.62)}.active-brew-summary[data-theme=light] .focus-prep{background:color(display-p3 1 1 1/.8);border-color:color(display-p3 .043 .071 .052/.13);box-shadow:0 24px 90px color(display-p3 .06 .16 .09/.18)}.active-brew-summary[data-theme=light] .focus-prep .prep-recipe{background:color(display-p3 .043 .071 .052/.06)}.active-brew-summary[data-theme=light] .focus-prep .prep-check{background:color(display-p3 .043 .071 .052/.035);border-color:color(display-p3 .043 .071 .052/.13)}.active-brew-summary[data-theme=light] .focus-prep .prep-health{background:color(display-p3 .043 .071 .052/.055)}.active-brew-summary[data-theme=light] .focus-prep .button--secondary{background:color(display-p3 .043 .071 .052/.06);border-color:color(display-p3 .043 .071 .052/.15)}.active-brew-summary[data-theme=light] .active-brew-summary__utility,.active-brew-summary[data-theme=light] .active-brew-summary__control,.active-brew-summary[data-theme=light] .active-brew-summary__confirm,.active-brew-summary[data-theme=light] .active-brew-summary__confirm-cancel{border-color:color(display-p3 .043 .071 .052/.14)}.active-brew-summary[data-theme=light] .active-brew-summary__stage-rail-line{background:color(display-p3 0 .565 .275/.34)}.active-brew-summary[data-theme=light] .active-brew-summary__stage-card{background:color(display-p3 1 1 1/.92);box-shadow:0 5px 18px color(display-p3 .06 .16 .09/.16)}.active-brew-summary[data-theme=light] .active-brew-summary__confirm-backdrop{background:color(display-p3 .9 .94 .91/.76)}.active-brew-summary[data-theme=light] .active-brew-summary__confirm{box-shadow:0 24px 90px color(display-p3 .06 .16 .09/.22)}.recipe-library li>button.active,.view-toggle button[aria-pressed=true]{box-shadow:0 1px 5px color(display-p3 0 .03 .01/.07)}.brew-selection-backdrop{--app-bg:color(display-p3 .977 .991 .979);--app-surface:color(display-p3 1 1 1);--app-surface-2:color(display-p3 .914 .962 .925);--app-text:color(display-p3 .028 .083 .045);--app-muted:color(display-p3 .272 .369 .3);--app-line:color(display-p3 .043 .071 .052/.12);--app-accent:color(display-p3 0 .565 .275);--app-accent-soft:color(display-p3 .815 .987 .855);background:color(display-p3 0 0 0/.28)}.brew-selection-backdrop--dark{--app-bg:color(display-p3 .006 .049 .025);--app-surface:color(display-p3 .026 .096 .052);--app-surface-2:color(display-p3 .057 .158 .087);--app-text:color(display-p3 .94 1 .955);--app-muted:color(display-p3 .633 .761 .68);--app-line:color(display-p3 .94 1 .955/.13);--app-accent:color(display-p3 .16 .93 .4);--app-accent-soft:color(display-p3 .02 .25 .1);background:color(display-p3 0 0 0/.56)}.brew-selection-sheet{box-shadow:0 24px 70px color(display-p3 0 .02 .008/.27)}.brew-dock{box-shadow:0 14px 38px color(display-p3 0 .02 .008/.18)}}.appliance-header{grid-template-columns:minmax(0,1fr) auto;gap:16px}.appliance-actions{gap:10px}.settings-tab{min-height:40px}.brew-dock{gap:12px;padding:7px}.brew-dock nav{border-radius:calc(12px * var(--pf-radius-scale));background:var(--app-surface-2);align-items:center;gap:2px;min-width:0;padding:3px;display:flex}.brew-dock nav a{border-radius:calc(9px * var(--pf-radius-scale));min-height:40px;color:var(--app-muted);align-items:center;gap:6px;padding:0 12px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.brew-dock nav a svg{width:16px;height:16px}.brew-dock nav a.active{background:var(--app-surface);color:var(--app-text);box-shadow:0 1px 5px #00000014}.brew-dock .brew-primary{flex:none;min-height:44px;padding-inline-start:15px;padding-inline-end:15px}.appliance-body{padding-bottom:132px}.settings-sections{border-bottom:1px solid var(--app-line);gap:12px;padding:clamp(22px,4vw,46px);display:grid}.settings-section{border:1px solid var(--app-line);border-radius:calc(16px * var(--pf-radius-scale));background:var(--app-surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(18px,3vw,26px);display:grid}.settings-section>div:first-child{gap:5px;display:grid}.settings-section>div:first-child>span{color:var(--app-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.67rem;font-weight:750}.settings-section h2{margin:0;font-size:1.1rem}.settings-section p{max-width:560px;color:var(--app-muted);margin:0;font-size:.8rem;line-height:1.45}.settings-controls{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:10px;display:flex}.settings-choice,.theme-choice{border:1px solid var(--app-line);border-radius:calc(11px * var(--pf-radius-scale));background:var(--app-surface-2);min-height:52px;color:var(--app-text)}.settings-choice{text-align:left;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;min-width:136px;padding:8px 10px;display:grid}.settings-choice svg{grid-row:span 2;width:19px;height:19px}.settings-choice span{font-size:.76rem;font-weight:750}.settings-choice small{color:var(--app-muted);font-size:.68rem}.theme-choice{align-items:center;gap:4px;padding:5px;display:flex}.theme-choice>span{color:var(--app-muted);padding:0 5px;font-size:.7rem;font-weight:750}.theme-choice button{border-radius:calc(8px * var(--pf-radius-scale));min-height:38px;color:var(--app-muted);font:inherit;background:0 0;border:0;padding:0 9px;font-size:.72rem;font-weight:700}.theme-choice button[aria-pressed=true]{background:var(--app-surface);color:var(--app-text);box-shadow:0 1px 4px #00000014}.settings-section--danger{border-color:color-mix(in srgb, #c2493d 32%, var(--app-line))}.settings-section--danger .button{color:#a7352d}@media (max-width:980px){.appliance-header{grid-template-columns:minmax(0,1fr) auto;gap:12px}}@media (max-width:640px){.appliance-header{grid-template-columns:1fr auto;height:68px;min-height:68px;padding:8px 16px}.device-status-banner{top:68px}.settings-tab{justify-content:center;width:40px;padding:0}.settings-tab span{display:none}.brew-dock{bottom:max(12px, env(safe-area-inset-bottom));width:calc(100% - 24px)}.brew-dock nav a{flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:0 8px;font-size:.6rem}.brew-dock nav a svg{width:16px;height:16px}.brew-dock .brew-primary{min-height:44px;padding-inline-start:13px;padding-inline-end:13px}.brew-dock .brew-primary svg{display:none}.settings-sections{padding:18px 16px}.settings-section{grid-template-columns:1fr;align-items:stretch}.settings-controls{justify-content:stretch}.settings-choice,.theme-choice{flex:1}.theme-choice{justify-content:space-between}}.brew-dock{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.brew-dock nav{border:1px solid var(--app-line);background:var(--app-surface-2);border-radius:999px;flex:auto;overflow:hidden;box-shadow:0 10px 26px #0000001f}.brew-dock nav a{white-space:nowrap;flex:1 1 0;justify-content:center}.brew-dock .brew-dock__prepare{white-space:nowrap;border-radius:999px;flex:none;gap:6px;width:max-content;min-height:48px;padding-inline-start:15px;padding-inline-end:15px;font-size:.78rem;font-weight:700;box-shadow:0 10px 26px #00000029}.brew-dock .brew-dock__prepare svg{width:16px;height:16px}@media (max-width:640px){.brew-dock{gap:8px}.brew-dock nav{flex-basis:0}.brew-dock nav a{min-height:48px;padding-inline-start:5px;padding-inline-end:5px}.brew-dock .brew-dock__prepare{flex-direction:column;gap:2px;width:auto;min-width:72px;min-height:48px;padding:5px 9px 4px;font-size:.6rem;line-height:1.1}.brew-dock__prepare svg{display:block!important}}.brew-notification-stack{z-index:1100;top:max(20px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));pointer-events:none;gap:12px;width:min(405px,100vw - 40px);display:grid;position:fixed}.brew-notification{--notification-drag-y:0px;--notification-fg:#073326;--notification-action-bg:#0b4a37;--notification-action-fg:#fff;--notification-action-hover:#073326;--notification-icon-bg:#bdeedc;border-radius:calc(23px * var(--pf-radius-scale));min-height:88px;color:var(--notification-fg);pointer-events:auto;touch-action:pan-x;transform:translateY(var(--notification-drag-y));background:#c9f5e6;border:1px solid #24785f;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 13px 12px 14px;transition:transform .18s,opacity .18s;animation:.22s cubic-bezier(.2,.8,.2,1) both brew-notification-in;display:grid;box-shadow:0 10px 18px #08523c29}.brew-notification--dragging{-webkit-user-select:none;user-select:none;transition:none}.brew-notification--error{--notification-fg:#3d0a07;--notification-action-bg:#5e1512;--notification-action-hover:#470d0b;--notification-icon-bg:#ffb6b1;background:#ffe0dd;border-color:#b8332e;box-shadow:0 10px 18px #8c251f24}.brew-notification--warning{background:#e0f7ef;border-color:#24785f}.brew-notification__icon{background:var(--notification-icon-bg);width:62px;height:62px;color:var(--notification-fg);border-radius:50%;place-items:center;display:grid;box-shadow:0 3px 8px #08523c26}.brew-notification--error .brew-notification__icon{box-shadow:0 3px 8px #991d1d33}.brew-notification__icon svg{stroke-width:2.2px;width:29px;height:29px}.brew-notification__icon span{border:2px solid color-mix(in srgb, currentColor 38%, transparent);width:48px;height:48px;font-family:var(--font-heading);font-variant-numeric:tabular-nums;letter-spacing:-.04em;border-radius:50%;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.brew-notification strong{min-width:0;color:var(--notification-fg);font-family:var(--font-heading);letter-spacing:-.02em;font-size:clamp(1.2rem,2.3vw,1.55rem);font-weight:650;line-height:1.18}.brew-notification__actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.brew-notification__dismiss,.brew-notification__action{min-height:44px;color:var(--notification-fg);border:0}.brew-notification__dismiss{background:0 0;border-radius:50%;place-items:center;width:44px;padding:8px;display:grid}.brew-notification__dismiss:hover{background:color-mix(in srgb, var(--notification-fg) 12%, transparent)}.brew-notification__dismiss svg{stroke-width:2px;width:25px;height:25px}.brew-notification__action{border:1px solid var(--notification-action-bg);border-radius:calc(10px * var(--pf-radius-scale));background:var(--notification-action-bg);color:var(--notification-action-fg);font:inherit;padding:0 12px;font-size:.72rem;font-weight:760}.brew-notification__action:hover{background:var(--notification-action-hover)}.brew-notification__dismiss:focus-visible{outline:3px solid var(--notification-fg);outline-offset:2px}.brew-notification__action:focus-visible{outline:3px solid var(--notification-fg);outline-offset:2px}.brew-notification--persistent{grid-template-columns:62px minmax(0,1fr);grid-template-areas:"icon message""icon actions";align-items:start;row-gap:10px}.brew-notification--persistent .brew-notification__icon{grid-area:icon}.brew-notification--persistent strong{grid-area:message;padding-top:4px}.brew-notification--persistent .brew-notification__actions{grid-area:actions;justify-content:flex-start}.appliance[data-theme=dark] .brew-notification{--notification-fg:#f2fff6;--notification-action-bg:#c7f7da;--notification-action-fg:#073326;--notification-action-hover:#a9ecc7;--notification-icon-bg:#1d6448;background:#123f2e;border-color:#5cc997;box-shadow:0 10px 22px #00000052}.appliance[data-theme=dark] .brew-notification--warning{background:#163f30;border-color:#65cf9f}.appliance[data-theme=dark] .brew-notification--error{--notification-fg:#fff2f0;--notification-action-bg:#ffd0cb;--notification-action-fg:#3d0a07;--notification-action-hover:#ffb9b1;--notification-icon-bg:#7d2d28;background:#4b1716;border-color:#ffaaa5}.appliance[data-theme=dark] .brew-notification :-webkit-any(strong,button,svg,span){mix-blend-mode:normal}.appliance[data-theme=dark] .brew-notification :is(strong,button,svg,span){mix-blend-mode:normal}@keyframes brew-notification-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translate(0,0)}}@media (max-width:640px){.brew-notification-stack{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));left:max(12px, env(safe-area-inset-left));width:auto}.brew-notification{border-radius:calc(20px * var(--pf-radius-scale));grid-template-columns:58px minmax(0,1fr) auto;gap:11px;min-height:82px;padding:10px 9px 10px 11px}.brew-notification__icon{width:53px;height:53px}.brew-notification__icon svg{width:26px;height:26px}.brew-notification__icon span{width:42px;height:42px;font-size:1.05rem}.brew-notification strong{font-size:1.22rem}.brew-notification__dismiss{width:44px;min-height:44px}.brew-notification__dismiss svg{width:23px;height:23px}.brew-notification__action{min-height:44px;padding:0 10px;font-size:.72rem}.brew-notification--persistent{grid-template-columns:53px minmax(0,1fr);grid-template-areas:"icon message""icon actions"}.brew-notification--persistent .brew-notification__actions{grid-template-columns:minmax(0,1fr) 44px;width:100%;display:grid}.brew-notification--persistent .brew-notification__action{width:100%}}@media (prefers-reduced-motion:reduce){.brew-notification{transition:none;animation:none}}.onboarding-backdrop{z-index:1000000001;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#000000ad;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.onboarding-dialog{border:1px solid var(--app-line);border-radius:calc(26px * var(--pf-radius-scale));background:var(--app-surface);width:min(940px,100%);max-height:calc(100dvh - 36px);color:var(--app-text);grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);display:grid;overflow:hidden;box-shadow:0 30px 90px #00000057}.onboarding-dialog__visual{background:var(--app-surface-2);min-height:520px;overflow:hidden}.onboarding-dialog__visual img{object-fit:cover;width:100%;height:100%;display:block}.onboarding-dialog__content{flex-direction:column;justify-content:center;min-width:0;padding:clamp(28px,4vw,48px);display:flex}.onboarding-dialog__progress{align-items:center;gap:7px;min-height:12px;margin-bottom:34px;display:flex}.onboarding-dialog__progress span{background:var(--app-line);border-radius:999px;width:7px;height:7px;transition:width .18s,background-color .18s}.onboarding-dialog__progress span.active{background:var(--app-accent);width:24px}.onboarding-dialog__eyebrow{color:var(--app-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.68rem;font-weight:800}.onboarding-dialog h2{max-width:420px;font-family:var(--font-heading);letter-spacing:-.05rem;margin:0;font-size:clamp(2.35rem,4.8vw,4.2rem);font-weight:650;line-height:.96}.onboarding-dialog__content>p:not(.onboarding-dialog__eyebrow):not(.onboarding-dialog__message){max-width:450px;color:var(--app-muted);margin:22px 0 0;font-size:.95rem;line-height:1.6}.onboarding-dialog__message{border-radius:calc(10px * var(--pf-radius-scale));background:color-mix(in srgb, #a33a32 11%, var(--app-surface));color:#8b2f29;margin:16px 0 0;padding:10px 12px;font-size:.78rem;line-height:1.4}.onboarding-dialog__actions{justify-content:space-between;align-items:center;gap:16px;margin-top:40px;display:flex}.onboarding-dialog__actions>div{align-items:center;gap:8px;display:flex}.onboarding-dialog__actions .brew-primary,.onboarding-dialog__actions .brew-secondary{white-space:nowrap;min-height:46px;padding-inline-start:17px;padding-inline-end:17px}.onboarding-skip{min-height:42px;color:var(--app-muted);font:inherit;background:0 0;border:0;padding:0;font-size:.76rem;font-weight:700}.onboarding-skip:hover{color:var(--app-text)}.onboarding-skip:focus-visible{color:var(--app-text)}.onboarding-dialog button:disabled{opacity:.55;cursor:wait}.driver-popover.pourframe-tour{border-radius:calc(17px * var(--pf-radius-scale));color:#101713;background:#fafdfa;border:1px solid #1111111f;min-width:min(290px,100vw - 24px);max-width:min(350px,100vw - 24px);padding:18px;font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 18px 55px #00000042}.pourframe-tour .driver-popover-title{font-family:var(--font-heading);letter-spacing:-.025em;padding-right:30px;font-size:1.45rem;font-weight:650;line-height:1.08}.pourframe-tour .driver-popover-description{color:#59625d;margin-top:9px;font-size:.79rem;line-height:1.5}.pourframe-tour .driver-popover-close-btn{border-radius:calc(8px * var(--pf-radius-scale));color:#737a76;font-size:22px;top:8px;right:8px}.pourframe-tour .driver-popover-close-btn:hover{color:#101713;background:#eef2ef}.pourframe-tour .driver-popover-close-btn:focus-visible{color:#101713;background:#eef2ef}.pourframe-tour .driver-popover-footer{gap:12px;margin-top:20px}.pourframe-tour .driver-popover-progress-text{color:#737a76;font-size:.7rem;font-weight:650}.pourframe-tour .driver-popover-navigation-btns{gap:7px}.pourframe-tour .driver-popover-navigation-btns button+button{margin-left:0}.pourframe-tour .driver-popover-footer-btn{border-radius:calc(9px * var(--pf-radius-scale));color:#101713;background:#f0f3f0;border:1px solid #11111124;min-height:36px;padding:0 12px;font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.72rem;font-weight:700}.pourframe-tour .driver-popover-next-btn{color:#fff;background:#166534;border-color:#166534}.pourframe-tour .driver-popover-footer-btn:hover{background:#e3e9e4}.pourframe-tour .driver-popover-footer-btn:focus-visible{background:#e3e9e4}.pourframe-tour .driver-popover-next-btn:hover{background:#0e5229}.pourframe-tour .driver-popover-next-btn:focus-visible{background:#0e5229}.pourframe-tour .driver-popover-arrow-side-left{border-color:#0000 #0000 #0000 #fafdfa}.pourframe-tour .driver-popover-arrow-side-right{border-color:#0000 #fafdfa #0000 #0000}.pourframe-tour .driver-popover-arrow-side-top{border-color:#fafdfa #0000 #0000}.pourframe-tour .driver-popover-arrow-side-bottom{border-color:#0000 #0000 #fafdfa}html[data-splash-theme=dark] .driver-popover.pourframe-tour{color:#f4f7f4;background:#151a17;border-color:#ffffff21;box-shadow:0 18px 55px #0000008c}html[data-splash-theme=dark] .pourframe-tour .driver-popover-description,html[data-splash-theme=dark] .pourframe-tour .driver-popover-progress-text,html[data-splash-theme=dark] .pourframe-tour .driver-popover-close-btn{color:#a2aba5}html[data-splash-theme=dark] .pourframe-tour .driver-popover-close-btn:hover{color:#fff;background:#232a26}html[data-splash-theme=dark] .pourframe-tour .driver-popover-close-btn:focus-visible{color:#fff;background:#232a26}html[data-splash-theme=dark] .pourframe-tour .driver-popover-footer-btn{color:#f4f7f4;background:#232a26;border-color:#ffffff24}html[data-splash-theme=dark] .pourframe-tour .driver-popover-next-btn{color:#08130c;background:#67c883;border-color:#67c883}html[data-splash-theme=dark] .pourframe-tour .driver-popover-arrow-side-left{border-left-color:#151a17}html[data-splash-theme=dark] .pourframe-tour .driver-popover-arrow-side-right{border-right-color:#151a17}html[data-splash-theme=dark] .pourframe-tour .driver-popover-arrow-side-top{border-top-color:#151a17}html[data-splash-theme=dark] .pourframe-tour .driver-popover-arrow-side-bottom{border-bottom-color:#151a17}@media (max-width:720px){.onboarding-backdrop{place-items:stretch stretch;padding:0}.onboarding-dialog{border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;width:100%;min-height:100dvh;max-height:none;overflow-y:auto}.onboarding-dialog__visual{aspect-ratio:3/2;min-height:0}.onboarding-dialog__content{padding:26px 22px max(24px, env(safe-area-inset-bottom));justify-content:flex-start}.onboarding-dialog__progress{margin-bottom:24px}.onboarding-dialog h2{font-size:clamp(2.55rem,12vw,3.6rem)}.onboarding-dialog__content>p:not(.onboarding-dialog__eyebrow):not(.onboarding-dialog__message){margin-top:16px;font-size:.87rem;line-height:1.5}.onboarding-dialog__actions{align-items:flex-end;margin-top:auto;padding-top:28px}.onboarding-dialog__actions>div{flex-wrap:wrap;justify-content:flex-end}}@media (max-width:390px){.onboarding-dialog__content{padding-inline-start:18px;padding-inline-end:18px}.onboarding-dialog__actions{gap:10px}.onboarding-dialog__actions .brew-primary,.onboarding-dialog__actions .brew-secondary{padding-inline-start:12px;padding-inline-end:12px}}@media (prefers-reduced-motion:reduce){.onboarding-dialog__progress span{transition:none}}@supports (corner-shape:squircle){:root{--pf-radius-scale:2}:where(*){corner-shape:squircle}}.appliance-header{background:0 0;border-bottom:0}.appliance-header__title{transition:font-size .18s cubic-bezier(.2,.8,.2,1),letter-spacing .18s cubic-bezier(.2,.8,.2,1)}.appliance-header[data-compact=true] .appliance-header__title{letter-spacing:-.025rem;font-size:1.4rem}.settings-tab{corner-shape:round;border-radius:20px;justify-content:center;width:40px;min-height:40px;padding:0}.settings-tab svg{width:17px;height:17px}.brew-dock-stack{--chrome-pill-height:48px;--chrome-pill-radius:24px;--chrome-pill-inset:4px;--chrome-inner-radius:20px;z-index:35;top:calc(var(--appliance-header-height) + 12px);width:max-content;max-width:calc(100vw - 36px);margin:0;position:fixed;bottom:auto;left:50%;right:auto;transform:translate(-50%)}.brew-dock-stack>.brew-dock{z-index:1;isolation:isolate;gap:10px;width:max-content;max-width:100%;margin:0;position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none}.appliance:has(.device-status-banner) .brew-dock-stack{top:calc(var(--appliance-header-height) + 70px)}.brew-dock nav{min-height:var(--chrome-pill-height);padding:var(--chrome-pill-inset);border-radius:var(--chrome-pill-radius);corner-shape:round;background:color-mix(in srgb, var(--app-surface-2) 78%, transparent)}.brew-dock nav a{min-height:calc(var(--chrome-pill-height) - (var(--chrome-pill-inset) * 2));border-radius:var(--chrome-inner-radius);corner-shape:round}.brew-dock .brew-dock__prepare{min-height:var(--chrome-pill-height);border-radius:var(--chrome-pill-radius);corner-shape:round}.active-brew-dock{z-index:34;top:calc(var(--appliance-header-height) + 72px);border:1px solid color-mix(in srgb, var(--app-line) 78%, transparent);corner-shape:round;background:color-mix(in srgb, var(--app-surface) 78%, transparent);-webkit-backdrop-filter:blur(18px);border-radius:20px;width:min(900px,100% - 36px);margin:0 auto;position:fixed;left:18px;right:18px;overflow:clip;box-shadow:0 14px 38px #00000029}.active-brew-dock__collapsed{grid-template-columns:minmax(130px,1fr) minmax(210px,auto) auto;align-items:center;gap:14px;min-height:64px;padding:8px 10px 8px 16px;display:grid}.active-brew-dock__identity,.active-brew-dock__metrics>div{gap:2px;min-width:0;display:grid}.active-brew-dock__identity small,.active-brew-dock__metrics dt,.active-brew-dock__details span{color:var(--app-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:760}.active-brew-dock__identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.active-brew-dock__metrics{align-items:center;gap:18px;margin:0;display:flex}.active-brew-dock__metrics dd{color:var(--app-text);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-family:Geist Pixel Line,ui-monospace,monospace;font-size:1.05rem}.active-brew-dock__metrics dd small{color:var(--app-muted);font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.68rem}.active-brew-dock__actions{align-items:center;gap:6px;display:flex}.active-brew-dock__action{border:1px solid var(--app-line);background:color-mix(in srgb, var(--app-surface) 82%, transparent);width:40px;height:40px;color:var(--app-text);corner-shape:round;border-radius:20px;place-items:center;padding:0;display:grid}.active-brew-dock__action svg{width:17px;height:17px}.active-brew-dock__action--primary{border-color:var(--app-accent);background:var(--app-accent);color:var(--app-bg)}.active-brew-dock__action:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 75%, white);outline-offset:3px}.settings-tab:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 75%, white);outline-offset:3px}.active-brew-dock__toggle{display:none}.active-brew-dock[data-overflows=true] .active-brew-dock__toggle{display:grid}.active-brew-dock__details{border-top:1px solid var(--app-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 16px 16px;display:grid}.active-brew-dock__details>div{background:color-mix(in srgb, var(--app-bg) 68%, transparent);border-radius:12px;gap:4px;min-width:0;padding:10px;display:grid}.active-brew-dock__details strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.appliance:has(.active-brew-dock) .appliance-body{padding-top:max(clamp(24px,4vw,58px),138px);padding-bottom:132px}.end-brew-confirm-backdrop{z-index:1200;-webkit-backdrop-filter:blur(18px);background:#030503c2;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.end-brew-confirm{border:1px solid var(--app-line);background:var(--app-surface);width:min(430px,100%);color:var(--app-text);border-radius:22px;padding:30px;box-shadow:0 24px 90px #0000007a}.end-brew-confirm>span{color:var(--app-accent);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:760}.end-brew-confirm p{color:var(--app-muted);margin:0;line-height:1.55}.end-brew-confirm>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:26px;display:grid}.end-brew-confirm button{min-height:52px;font:inherit;border-radius:12px;padding:0 14px;font-weight:720}.end-brew-confirm__cancel{border:1px solid var(--app-line);background:var(--app-surface-2);color:var(--app-text)}.end-brew-confirm__end{color:#2b0c09;background:#eaa099;border:1px solid #eaa099}@media (max-width:640px){.brew-dock-stack{top:auto;right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto;max-width:none;left:12px;transform:none}.brew-dock-stack>.brew-dock{gap:8px;width:100%}.appliance:has(.device-status-banner) .brew-dock-stack{top:auto}.brew-dock nav{flex:1 1 0}.brew-dock nav a{min-width:0;padding-inline-start:5px;padding-inline-end:5px}.brew-dock .brew-dock__prepare{min-width:72px}.active-brew-dock{top:auto;right:12px;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 58px);border-radius:18px;width:auto;left:12px}.active-brew-dock__collapsed{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:68px;padding:8px 8px 8px 13px}.active-brew-dock__metrics{grid-area:2/1;gap:12px}.active-brew-dock__actions{grid-area:1/2/span 2}.active-brew-dock__action{border-radius:22px;width:44px;height:44px}.active-brew-dock__action svg{width:16px;height:16px}.active-brew-dock__toggle{display:grid}.active-brew-dock__details{grid-template-columns:1fr 1fr;padding:10px 12px 13px}.appliance:has(.active-brew-dock) .appliance-body{padding-top:clamp(24px,4vw,58px);padding-bottom:226px}}@media (prefers-reduced-motion:reduce){.appliance-header__title{transition:none}}
