@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-italic-BicUS2cM.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-italic-BfTTTDIL.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3eadd;--bg-tint:#ecdfcd;--surface:#fffdf9;--surface-2:#f9f1e6;--ink:#2a1d14;--muted:#786451;--espresso:#3a2416;--espresso-deep:#21130b;--crema:#d8a85e;--gold:#c89351;--heading:var(--espresso);--accent:#b06a1f;--accent-2:#d99a3e;--accent-text:#8f5416;--accent-soft:#f6e7cf;--accent-ink:#fffaf2;--btn-2:#a0591a;--btn-1:#834710;--good:#2f7d52;--good-soft:#e3f0e7;--bad:#b23b3b;--good-fill:#2f7d52;--eco-ink:#276541;--eco-soft:#eef7f1;--eco-line:#cfe3d6;--line:#e8dac6;--line-strong:#ddc9ad;--radius:18px;--radius-sm:12px;--radius-lg:26px;--radius-pill:999px;--maxw:760px;--shadow-sm:0 1px 2px #3a24160d, 0 2px 6px #3a24160d;--shadow:0 2px 4px #3a24160d, 0 14px 30px -10px #3a241629;--shadow-lg:0 10px 20px -8px #3a24161f, 0 30px 60px -16px #3a241638;--shadow-gold:0 10px 28px -8px #b06a1f73;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-sans:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);font:16px/1.6 var(--font-sans);font-feature-settings:"cv05" 1, "ss01" 1;letter-spacing:-.005em;background-color:var(--bg);background-image:radial-gradient(1100px 520px at 50% -8%, #d8a85e38, transparent 62%), radial-gradient(900px 600px at 110% 0%, #b06a1f1a, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-tint) 100%);padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 36px);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-repeat:no-repeat;background-attachment:fixed;margin:0}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--espresso-deep)}.app{max-width:var(--maxw);flex-direction:column;gap:18px;margin:0 auto;display:flex}.app-main{flex-direction:column;gap:18px;display:flex}.app-main:focus{outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow);transition:top .15s var(--ease);padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.hero{text-align:center;padding:clamp(34px,7vw,60px) 8px 12px}.eyebrow{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);align-items:center;gap:7px;margin-bottom:18px;padding:7px 15px 7px 13px;font-size:.74rem;font-weight:600;display:inline-flex}.hero h1{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--heading);margin:0 0 14px;font-size:clamp(2.1rem,7vw,3.4rem);font-weight:600;line-height:1.04}.hero h1 em{background:linear-gradient(100deg, var(--accent), var(--crema) 70%, var(--gold));-webkit-text-fill-color:transparent;color:var(--accent);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:500}.tagline{max-width:46ch;color:var(--muted);margin:0 auto;font-size:clamp(1rem,2.4vw,1.12rem);line-height:1.55}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow .35s var(--ease), transform .35s var(--ease), border-color .35s var(--ease);padding:clamp(20px,4vw,28px);position:relative}.card h2{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--heading);align-items:center;gap:12px;margin:0 0 6px;font-size:clamp(1.25rem,3.4vw,1.5rem);font-weight:600;display:flex}.step-num{width:34px;height:34px;font-family:var(--font-sans);color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;flex-shrink:0;place-items:center;font-size:.95rem;font-weight:700;display:inline-grid;box-shadow:0 4px 10px -2px #b06a1f80,inset 0 1px #fff6}.hint{color:var(--muted);margin:0 0 16px;font-size:.92rem;line-height:1.55}.ing-note{margin-top:14px;font-size:.86rem}.form-phase{flex-direction:column;gap:7px;margin-top:8px;display:flex}.app-main>.form-phase:first-child{margin-top:0}.form-phase-head{align-items:center;gap:12px;display:flex}.form-phase-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent) 11%, var(--surface));border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);flex-shrink:0;align-items:center;gap:7px;padding:6px 14px 6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.form-phase-icon{flex-shrink:0;width:15px;height:15px;display:block}.form-phase-rule{background:linear-gradient(to right, var(--line-strong), transparent);flex:1;height:1px}.form-phase-note{color:var(--muted);margin:0 4px;font-size:.9rem;line-height:1.5}.hint strong{color:var(--accent-text);font-weight:600}.basket-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.freq-toggle{border-radius:var(--radius-pill);border:1.5px solid var(--line-strong);background:var(--surface);display:inline-flex;overflow:hidden}.freq-btn{font:inherit;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);white-space:nowrap;background:0 0;border:none;padding:7px 15px;font-size:.82rem;font-weight:600}.freq-btn:hover:not([aria-pressed=true]){background:var(--accent-soft);color:var(--accent-text)}.freq-btn[aria-pressed=true]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink)}.ghost-btn{background:var(--surface);border:1px solid var(--line-strong);color:var(--accent-text);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform 80ms var(--ease), box-shadow .2s var(--ease);padding:8px 16px;font-size:.85rem;font-weight:600}.ghost-btn:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-sm)}.ghost-btn:active{transform:scale(.97)}.ghost-btn[aria-pressed=true]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);box-shadow:var(--shadow-sm);border-color:#0000}.tip-toggle{flex-wrap:wrap;gap:8px;display:flex}.tip-btn{border:1.5px solid var(--line-strong);background:var(--surface);min-width:64px;color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform 80ms var(--ease);flex:auto;padding:9px 14px;font-size:.9rem;font-weight:600}.tip-btn:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.tip-btn:active{transform:scale(.96)}.tip-btn.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);box-shadow:var(--shadow-sm);border-color:#0000}.tip-readout{color:var(--accent-text);margin:14px 0 0;font-size:.9rem;font-weight:600;line-height:1.5}.filter-toggle{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.filter-btn{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);padding:6px 12px;font-size:.78rem;font-weight:600}.filter-btn:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.filter-btn.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.pill-group{flex-wrap:wrap;gap:6px;display:flex}.pill-btn{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);padding:7px 13px;font-size:.82rem;font-weight:600}.pill-btn:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.pill-btn.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.habit-cost{text-align:center;border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--espresso) 0%, var(--espresso-deep) 100%);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:4px;margin-bottom:18px;padding:22px 18px;display:flex;position:relative;overflow:hidden}.habit-cost:before{content:"";pointer-events:none;background:radial-gradient(140% 120% at 0 0,#d8a85e4d,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.habit-cost>*{position:relative}.habit-cost-label{text-transform:uppercase;letter-spacing:.07em;color:var(--crema);font-size:.74rem;font-weight:600}.habit-cost-value{font-family:var(--font-display);color:var(--surface);font-size:clamp(2.2rem,9vw,3rem);font-weight:600;line-height:1.05}.habit-cost-equiv{color:var(--accent-2);font-size:.95rem;font-weight:600}.habit-cost-invested{color:color-mix(in srgb, var(--surface) 78%, transparent);margin-top:4px;font-size:.82rem}.habit-cost-invested:empty,.habit-cost-equiv:empty{display:none}.anatomy{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:16px}.anatomy-title{font-family:var(--font-display);color:var(--heading);margin:0 0 12px;font-size:1.05rem;font-weight:600}.anatomy-bars{grid-template-columns:minmax(58px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.anatomy-row{grid-template-columns:5.5rem minmax(0,1fr) 3.5rem;align-items:center;column-gap:10px;display:grid}.anatomy-bars>.anatomy-row{grid-column:1/-1;grid-template-columns:subgrid}.anatomy-row-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.anatomy-bar{border-radius:var(--radius-pill);background:var(--surface-2);height:22px;display:flex;overflow:hidden}.anatomy-seg{height:100%;transition:width .5s var(--ease)}.anatomy-seg.seg-drink{background:var(--bad)}.anatomy-seg.seg-tip{background:color-mix(in srgb, var(--bad) 55%, var(--gold))}.anatomy-seg.seg-bean{background:var(--heading)}.anatomy-seg.seg-milk{background:var(--crema)}.anatomy-seg.seg-sugar{background:var(--accent)}.anatomy-total{font-family:var(--font-display);text-align:right;min-width:56px;font-size:.95rem;font-weight:600}.anatomy-total--shop{color:var(--bad)}.anatomy-total--home{color:var(--good)}.anatomy-legend{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:12px;margin-top:4px;font-size:.76rem;display:flex}.anatomy-legend span{align-items:center;gap:5px;display:inline-flex}.anatomy-legend .dot{border-radius:3px;width:10px;height:10px}.anatomy-legend .dot.seg-drink{background:var(--bad)}.anatomy-legend .dot.seg-tip{background:color-mix(in srgb, var(--bad) 55%, var(--gold))}.anatomy-legend .dot.seg-bean{background:var(--heading)}.anatomy-legend .dot.seg-milk{background:var(--crema)}.anatomy-legend .dot.seg-sugar{background:var(--accent)}.anatomy-verdict{color:var(--good);margin:10px 0 0;font-size:.9rem;font-weight:600}.anatomy-verdict:empty{display:none}.anatomy-verdict--caveat{color:var(--ink);font-weight:500}.machine-compare{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:4px 0 18px;padding:16px}.machine-compare-title{font-family:var(--font-display);color:var(--heading);margin:0 0 2px;font-size:1.05rem;font-weight:600}.machine-compare-hint{color:var(--muted);margin:0 0 12px;font-size:.82rem}.machine-compare-list{flex-direction:column;gap:8px;display:flex}.mc-row{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s var(--ease), background .2s var(--ease);align-items:center;gap:8px;padding:8px 10px;display:flex}.mc-row.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft))}.mc-pick{text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:4px;display:flex}.mc-name{color:var(--heading);flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.mc-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:var(--radius-pill);padding:2px 7px;font-size:.62rem;font-weight:800}.mc-meta{color:var(--muted);font-size:.82rem}.mc-buy{color:var(--accent-text);border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);transition:background .2s var(--ease), border-color .2s var(--ease);flex-shrink:0;padding:8px 12px;font-size:.82rem;font-weight:700;text-decoration:none}.mc-buy:hover{background:var(--accent-soft);border-color:var(--accent)}.accessory-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.accessory-card{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease);flex-direction:column;gap:3px;padding:14px;text-decoration:none;display:flex;position:relative}.accessory-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.accessory-buy{width:30px;height:30px;color:var(--accent-text);background:var(--accent-soft);transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.accessory-buy svg{width:16px;height:16px}.accessory-card:hover .accessory-buy{color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));transform:scale(1.08)}.accessory-img{object-fit:contain;background:var(--surface-2);border-radius:10px;width:64px;height:64px;margin-bottom:6px}.accessory-art{background:linear-gradient(135deg, var(--surface-2) 0%, var(--line) 100%);width:64px;height:64px;color:var(--accent-text);stroke-width:2px;transition:background .25s var(--ease), color .25s var(--ease);border-radius:10px;flex-shrink:0;margin-bottom:6px;padding:7px}.accessory-card:hover .accessory-art{color:var(--accent)}.accessory-art-fallback{display:block}.accessory-category{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.66rem;font-weight:700}.accessory-name{color:var(--heading);font-size:.98rem;font-weight:700}.accessory-price{font-family:var(--font-display);color:var(--ink);font-weight:600}.accessory-blurb{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.45}.drink-list{flex-direction:column;display:flex}.drink-row{border-top:1px solid var(--line);transition:background .2s var(--ease);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:10px 12px;padding:15px 4px;display:grid}.drink-row:first-child{border-top:none}.drink-row:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.drink-name-wrap{flex-direction:column;gap:1px;display:flex}.drink-name{color:var(--heading);font-size:1.02rem;font-weight:600;line-height:1.3}.drink-shop-price{color:var(--muted);font-size:.76rem;font-weight:500}.qty{flex-direction:column;align-items:center;gap:5px;display:inline-flex}.qty-label{color:var(--muted);font-size:.78rem;font-weight:500}.qty input{width:68px}.drink-prices{flex-wrap:wrap;grid-column:1/-1;gap:10px;padding-top:4px;display:flex}.drink-prices[hidden]{display:none}.drink-extras{width:-moz-fit-content;width:fit-content;color:var(--muted);cursor:pointer;grid-column:1/-1;align-items:center;gap:6px;font-size:.78rem;font-weight:500;display:inline-flex}.drink-extras input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.price-field{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:7px;padding:7px 11px;font-size:.8rem;font-weight:500;display:inline-flex}.price-field input{width:74px}.week-shelf-wrap{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.week-shelf{cursor:pointer;border-radius:12px;align-items:flex-end;gap:3px;margin:-4px -5px -3px;padding:4px 5px 3px;display:flex}.shelf-cup{background:0 0;border:none;place-items:center;width:32px;min-height:42px;margin:0;padding:0;display:grid}.shelf-cup svg{width:100%;height:100%;display:block;overflow:visible}.ws-outline{fill:none;stroke:var(--line-strong);stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round;transition:stroke .18s var(--ease)}.ws-detail{fill:none;stroke:var(--line-strong);stroke-width:1.9px;stroke-linejoin:round;stroke-linecap:round;opacity:0;transition:opacity .2s var(--ease), stroke .18s var(--ease)}.shelf-cup[data-fill=full] .ws-outline,.shelf-cup[data-fill=preview] .ws-outline{stroke:var(--heading)}.shelf-cup[data-fill=full] .ws-detail{opacity:1;stroke:var(--heading)}.ws-liquid{fill:var(--accent-2);transform-box:fill-box;transform-origin:bottom;transition:transform .34s var(--ease);transform:scaleY(0)}.shelf-cup[data-fill=full] .ws-liquid{transform:scaleY(1)}.shelf-cup[data-fill=preview] .ws-liquid{opacity:.3;transform:scaleY(1)}.ws-crema{fill:var(--crema);opacity:0;transition:opacity .22s var(--ease) .12s}.shelf-cup[data-fill=full] .ws-crema{opacity:1}.ws-garnish{opacity:0;transition:opacity .22s var(--ease) .18s}.shelf-cup[data-fill=full] .ws-garnish{opacity:.85}.ws-garnish-line{fill:none;stroke:var(--espresso);stroke-linecap:round;stroke-linejoin:round}.ws-garnish-dot{fill:var(--espresso)}.shelf-more{font:700 .72rem/1 var(--font-sans);color:var(--accent-text);background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-self:center;margin-left:5px;padding:5px 8px}.shelf-more[hidden]{display:none}.shelf-readout{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 9px;font-size:.8rem;font-weight:500;display:flex}.shelf-count{color:var(--heading);font-variant-numeric:tabular-nums;font-weight:700}.shelf-mini{border:1px solid var(--line-strong);background:var(--surface);border-radius:9px;display:inline-flex;overflow:hidden}.shelf-mini-btn{-webkit-appearance:none;appearance:none;color:var(--accent);font:700 1rem/1 var(--font-sans);cursor:pointer;width:28px;height:26px;transition:background .15s var(--ease);background:0 0;border:none}@media (hover:hover){.shelf-mini-btn:hover{background:var(--accent-soft)}}.shelf-clear{-webkit-appearance:none;appearance:none;font:600 .74rem/1 var(--font-sans);color:var(--muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:color .15s var(--ease), background .15s var(--ease);animation:shelf-clear-in .22s var(--ease) both;background:0 0;border:none;border-radius:8px;margin:-7px -4px;padding:7px 8px}.shelf-clear[hidden]{display:none}@media (hover:hover){.shelf-clear:hover{color:var(--bad);background:var(--surface-2);text-decoration-color:currentColor}}@keyframes shelf-clear-in{0%{opacity:0;transform:translate(5px)}to{opacity:1;transform:none}}@media (max-width:520px){.week-shelf-wrap{grid-column:1/-1;align-items:stretch}.week-shelf{justify-content:space-between;gap:1px}.shelf-cup{flex:1 1 0;width:auto;max-width:40px}.shelf-readout{justify-content:flex-end;gap:7px}}.flavor-list{flex-direction:column;display:flex}.flavor-row{border-top:1px solid var(--line);transition:background .2s var(--ease);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:15px 4px;display:grid}.flavor-row:first-child{border-top:none}.flavor-row:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.flavor-info{flex-direction:column;grid-column:1;gap:1px;min-width:0;display:flex}.flavor-row .qty,.flavor-row .week-shelf-wrap{grid-column:2}@media (max-width:520px){.flavor-row .week-shelf-wrap{grid-column:1/-1}}.flavor-name{color:var(--heading);font-size:1.02rem;font-weight:600;line-height:1.3}.flavor-blurb{color:var(--muted);font-size:.78rem;line-height:1.35}.flavor-foot{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:2px 14px;display:flex}.flavor-meta{color:var(--ink);font-size:.8rem;font-weight:600}.flavor-buy{color:var(--accent-text);white-space:nowrap;font-size:.8rem;font-weight:700;text-decoration:none}.flavor-buy:hover{text-decoration:underline}.flavor-readout{font-family:var(--font-display);color:var(--accent-text);margin:12px 0 0;font-size:.95rem;font-weight:600}.flavor-readout:empty{display:none}input[type=number]{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);text-align:right;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:11px;padding:9px 12px;font-weight:600}input[type=number]:hover{border-color:var(--accent)}input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}input[type=number]:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}select:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}a:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.machine-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.bean-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.milk-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.freq-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.tip-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.ghost-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.cta-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.reset-link:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.stepper-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.week-shelf:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.shelf-mini-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.shelf-clear:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.onboarding-reopen:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.onboarding-close:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.skip-link:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.stepper{align-items:stretch;display:inline-flex}.stepper-btn{width:40px;min-height:40px;color:var(--accent);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s var(--ease), border-color .15s var(--ease), transform 80ms var(--ease);place-items:center;font-size:1.3rem;font-weight:700;line-height:1;display:grid}.stepper-dec{border-radius:11px 0 0 11px}.stepper-inc{border-radius:0 11px 11px 0}.stepper-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.stepper-btn:active{transform:scale(.94)}.stepper-btn:focus-visible{z-index:1}.stepper input[type=number]{text-align:center;-webkit-appearance:textfield;appearance:textfield;border-left:none;border-right:none;border-radius:0;width:54px;padding-left:4px;padding-right:4px}.stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-readout{margin-top:4px}.field-readout-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-readout-label{font-size:.94rem;font-weight:500}.field-readout-value{font-family:var(--font-display);color:var(--accent-text);white-space:nowrap;font-weight:700}.field-note{color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.45}.upkeep-hint{margin-top:10px}.upkeep-list{flex-direction:column;gap:14px;margin-top:16px;display:flex}.upkeep-row{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-2) 60%, transparent);padding:13px 14px}.upkeep-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.upkeep-label{font-size:.94rem;font-weight:600}.upkeep-monthly{font-family:var(--font-display);color:var(--accent-text);white-space:nowrap;font-size:.9rem;font-weight:700}.upkeep-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.upkeep-money{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:2px;min-height:38px;padding:0 12px;display:inline-flex}.upkeep-money:focus-within{border-color:var(--accent)}.upkeep-currency{color:var(--muted);font-size:.9rem}.upkeep-money input[type=number].upkeep-amount{width:5.5ch;min-height:0;font:inherit;font-variant-numeric:tabular-nums;color:inherit;-webkit-appearance:textfield;appearance:textfield;background:0 0;border:0;padding:0;font-size:.95rem}.upkeep-amount:focus{outline:none}.upkeep-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.upkeep-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.upkeep-every{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.upkeep-interval{border:1.5px solid var(--line-strong);background:var(--surface);min-height:38px;font:inherit;color:inherit;border-radius:999px;padding:6px 10px;font-size:.9rem}.upkeep-note{color:var(--muted);margin:9px 0 0;font-size:.78rem;line-height:1.45}.upkeep-total{border-top:1.5px solid var(--line-strong);justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;padding-top:13px;display:flex}.upkeep-total-label{font-size:.96rem;font-weight:600}.upkeep-reset{margin-top:12px}.field-slider{margin-top:20px}.field-slider-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.field-slider-head label{font-size:.94rem;font-weight:500}input[type=range]{-webkit-appearance:none;appearance:none;background:var(--line-strong);cursor:pointer;border-radius:999px;width:100%;height:6px;margin:6px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:3px solid var(--surface);cursor:pointer;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #00000040}input[type=range]::-moz-range-thumb{border:3px solid var(--surface);background:var(--accent);cursor:pointer;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #00000040}input[type=range]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, white);outline-offset:4px}.field.inline{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.field.inline label,.field.inline>span{flex:auto;min-width:0;font-size:.94rem;font-weight:500}.field.inline input[type=number]{flex:none;width:6.5em}.field.field-pills{flex-direction:column;align-items:stretch;gap:8px;margin-top:14px;display:flex}.field.field-pills>span{font-size:.94rem;font-weight:500}.field.field-pills .pill-group{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.field.field-pills .pill-btn{text-align:center}.machine-list{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;display:grid}.machine-card{text-align:left;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);flex-direction:column;gap:4px;padding:16px;display:flex;position:relative;overflow:hidden}.machine-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.machine-card:active{transform:translateY(-1px)scale(.995)}.machine-card.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), var(--shadow)}.machine-card.selected:after{content:"✓";width:22px;height:22px;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px -1px #b06a1f99}.machine-img{object-fit:contain;background:var(--surface-2);border-radius:10px;width:76px;height:76px;margin-bottom:6px}.machine-art{background:linear-gradient(135deg, var(--surface-2) 0%, var(--line) 100%);width:76px;height:76px;color:var(--accent-text);stroke-width:2px;transition:background .25s var(--ease), color .25s var(--ease);border-radius:10px;flex-shrink:0;margin-bottom:6px;padding:8px}.machine-card.selected .machine-art{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--surface-2)), color-mix(in srgb, var(--accent) 26%, var(--line)));color:var(--accent)}.machine-art-fallback{display:block}.machine-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:var(--radius-pill);align-self:flex-start;margin-bottom:2px;padding:2px 7px;font-size:.62rem;font-weight:800;display:inline-block}.machine-tier{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.68rem;font-weight:700}.machine-name{color:var(--heading);font-size:1.02rem;font-weight:700}.machine-price{font-family:var(--font-display);color:var(--heading);font-size:1.1rem;font-weight:600}.machine-blurb{color:var(--muted);font-size:.82rem;line-height:1.45}details summary{cursor:pointer;font-family:var(--font-display);color:var(--heading);letter-spacing:-.015em;align-items:center;gap:12px;font-size:clamp(1.25rem,3.4vw,1.5rem);font-weight:600;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary:after{content:"";border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);width:9px;height:9px;transition:transform .25s var(--ease);margin-left:auto;transform:rotate(45deg)}details[open] summary:after{transform:rotate(225deg)}.opt{font-family:var(--font-sans);color:var(--muted);letter-spacing:0;font-size:.85rem;font-weight:500}.results{background:radial-gradient(120% 100% at 50% 0%, #d8a85e1a, transparent 55%), linear-gradient(165deg, var(--surface), var(--surface-2));border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.results h2{justify-content:center;margin-bottom:18px}.result-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.result-grid>.result:first-child:nth-last-child(2){grid-column:1/-1}.result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease), box-shadow .25s var(--ease);flex-direction:column;gap:4px;padding:16px;display:flex}.result:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.result.highlight{background:linear-gradient(135deg, var(--espresso) 0%, var(--espresso-deep) 100%);box-shadow:var(--shadow-lg);border-color:#0000;grid-column:1/-1;position:relative;overflow:hidden}.result.highlight:before{content:"";pointer-events:none;background:radial-gradient(140% 120% at 100% 0,#d8a85e52,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.result.highlight>*{position:relative}.result-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.74rem;font-weight:600}.result.highlight .result-label{color:var(--crema)}.result-value{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--heading);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,5vw,1.85rem);font-weight:600}.result.highlight .result-value{color:#fff;font-size:clamp(1.9rem,7vw,2.5rem)}.result-sub{color:var(--muted);font-size:.78rem}.result-context{color:var(--accent-text);margin:-6px 0 16px;font-size:.88rem;font-weight:600}.result-context:empty{margin:0;display:none}.eco-impact{background:radial-gradient(120% 80% at 100% 0%, #2f7d521a, transparent 62%), linear-gradient(180deg, var(--eco-soft), var(--good-soft));border:1px solid var(--eco-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0 0 18px;padding:16px 16px 14px;font-size:.85rem}.eco-impact-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--eco-ink);align-items:center;gap:8px;margin:0 0 12px;font-size:.78rem;font-weight:800;display:flex}.eco-impact-badge{border-radius:var(--radius-pill);width:26px;height:26px;color:var(--eco-ink);background:#2f7d5224;flex:none;justify-content:center;align-items:center;display:inline-flex}.eco-impact-badge-icon{width:16px;height:16px}.eco-impact-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.eco-impact-stat{background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--eco-line);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:10px 12px 12px;display:flex}.eco-impact-glyphs{height:30px;color:var(--good);align-items:flex-end;margin-bottom:6px;display:flex}.eco-impact-glyph-row{stroke-width:1.5px;flex:auto;width:100%;min-width:0;height:100%}.eco-glyph--ghost{opacity:.35}.eco-impact-weight-icon{flex:none;width:27px;height:27px}.eco-impact-figure{font-family:var(--font-display);letter-spacing:-.02em;color:var(--eco-ink);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.5rem,5.6vw,1.95rem);font-weight:700;line-height:1.05}.eco-impact-unit{font-size:.62em;font-weight:600}.eco-impact-caption{color:var(--eco-ink);margin:2px 0 0;font-size:.78rem;font-weight:600;line-height:1.35}.eco-impact-period{color:var(--eco-ink);margin:10px 0 0;font-size:.8rem;font-weight:600}.eco-impact-note{color:var(--muted);margin:6px 0 0}.eco-impact-sources{color:var(--muted);margin:6px 0 0;font-size:.76rem}.eco-impact-sources a{color:inherit;text-decoration:underline}.chart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:8px 0 12px;padding:14px 14px 10px}.chart-head{margin-bottom:12px}.chart-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.chart-caption{color:var(--muted);margin:3px 0 0;font-size:.78rem;line-height:1.45}.chart-plot{position:relative}.timeline-svg{width:100%;height:104px;display:block;overflow:visible}.chart-zero-tag,.chart-be-flag{white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;font-size:.64rem;font-weight:700;position:absolute}.chart-zero-tag{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:1px 6px;right:0;transform:translateY(-50%)}.chart-be-flag{color:var(--accent-ink);background:var(--good-fill);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:2px 8px;top:-3px;transform:translate(-50%)}.chart-be-flag:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--good-fill);width:0;height:0;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.chart-labels{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.72rem;font-weight:500;display:flex}.chart-label-right{font-variant-numeric:tabular-nums;font-weight:700}.chart-zero{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}.chart-area{opacity:.14}.chart-area--pos{fill:var(--good)}.chart-area--neg{fill:var(--bad)}.chart-line{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.chart-line--pos{stroke:var(--good)}.chart-line--neg{stroke:var(--bad)}.chart-be-dot{fill:var(--good);stroke:var(--surface);stroke-width:2.5px}.chart-be-line{stroke:var(--good);stroke-width:1.5px;stroke-dasharray:2 3;opacity:.55}.cup-wrap{flex-direction:column;align-items:center;gap:10px;padding:12px 0 24px;display:flex}.coffee-cup-svg{transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 10px 14px #3a24162e);overflow:visible}.cup-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);transition:color .3s var(--ease);margin:0;font-size:.76rem;font-weight:600}.cup-label--reached{color:var(--good);font-weight:700}.cup-steam{opacity:0;transform-box:fill-box;transform-origin:50% 100%}.coffee-cup--full .cup-steam:first-child{animation:2s ease-in-out infinite steam-rise}.coffee-cup--full .cup-steam:nth-child(2){animation:2s ease-in-out .65s infinite steam-rise}.coffee-cup--full .cup-steam:nth-child(3){animation:2s ease-in-out 1.3s infinite steam-rise}@keyframes steam-rise{0%{opacity:0;transform:translateY(0)scaleX(1)}20%{opacity:.55}to{opacity:0;transform:translateY(-14px)scaleX(1.5)}}.bean-list{grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:10px;margin-top:4px;display:grid}.bean-card{text-align:left;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);flex-direction:column;gap:4px;padding:12px 14px 13px;display:flex;position:relative;overflow:hidden}.bean-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.bean-card:active{transform:translateY(0)}.bean-card.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), var(--shadow)}.bean-card.selected:after{content:"✓";width:18px;height:18px;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.organic-badge{text-transform:uppercase;letter-spacing:.07em;color:var(--good);background:var(--good-soft);border-radius:4px;align-self:flex-start;margin-bottom:1px;padding:2px 5px;font-size:.62rem;font-weight:700;display:inline-block}.bean-name{color:var(--heading);font-size:.88rem;font-weight:700;line-height:1.25}.bean-bag{color:var(--muted);font-size:.74rem;line-height:1.3}.bean-shot{font-family:var(--font-display);color:var(--accent-text);margin-top:2px;font-size:.94rem;font-weight:600}.bean-card--custom{border-style:dashed}.bean-card--decline{background:var(--surface-2);border-style:dashed}.bean-card--decline .bean-name,.bean-card--decline .bean-shot{color:var(--muted)}.bean-card--decline.selected .bean-name,.bean-card--decline.selected .bean-shot{color:var(--accent-text)}.decline-note{color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin:12px 0 0;padding:11px 14px;font-size:.84rem;line-height:1.5}.bean-custom{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:14px;padding:14px 16px}.bean-custom-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 20px;display:grid}.bean-custom-fields .field.inline{margin-top:8px}.bean-custom-fields input{max-width:110px}.bean-custom-readout{font-family:var(--font-display);color:var(--accent-text);margin:12px 0 0;font-size:.95rem;font-weight:600}.milk-list{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:10px;margin-top:4px;display:grid}.milk-card{text-align:left;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);flex-direction:column;gap:3px;padding:11px 13px 12px;display:flex;position:relative;overflow:hidden}.milk-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.milk-card:active{transform:translateY(0)}.milk-card.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), var(--shadow)}.milk-card.selected:after{content:"✓";width:17px;height:17px;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;place-items:center;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:7px;right:7px}.milk-name{color:var(--heading);font-size:.86rem;font-weight:700;line-height:1.25}.milk-detail{font-family:var(--font-display);color:var(--accent-text);margin-top:2px;font-size:.9rem;font-weight:600}.milk-serving{color:var(--muted);font-size:.72rem}.milk-custom{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:14px;padding:14px 16px}.milk-custom-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px 20px;display:grid}.milk-custom-fields .field.inline{margin-top:8px}.milk-custom-fields input{max-width:110px}.milk-custom-fields select{font:inherit;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:inherit;cursor:pointer;padding:6px 8px}.milk-custom-readout{font-family:var(--font-display);color:var(--accent-text);margin:12px 0 0;font-size:.95rem;font-weight:600}.cta-btn{text-align:center;background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);color:var(--accent-ink);letter-spacing:.01em;border-radius:var(--radius-sm);box-shadow:var(--shadow-gold);isolation:isolate;transition:transform .2s var(--ease), box-shadow .25s var(--ease), filter .2s var(--ease);padding:17px 22px;font-size:1.05rem;font-weight:700;text-decoration:none;display:block;position:relative;overflow:hidden}.cta-btn:before{content:"";z-index:-1;transition:transform .7s var(--ease);background:linear-gradient(100deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}.cta-btn:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 14px 34px -8px #b06a1f8c}.cta-btn:hover:before{transform:translate(120%)}.cta-btn:active{transform:translateY(0)}.bean-cta-btn{text-align:center;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--accent-text);border-radius:var(--radius-sm);transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);margin-top:10px;padding:12px 18px;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.bean-cta-btn:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.bean-cta-btn:active{transform:translateY(0)}.how-body{color:var(--muted);margin-top:16px;font-size:.92rem;line-height:1.6}.how-body>p{margin:0 0 14px}.formula-list{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 14px;padding:16px;display:grid}.formula-list dt{color:var(--heading);white-space:nowrap;font-weight:700}.formula-list dd{margin:0}.how-note{opacity:.85;margin:0;font-size:.82rem}.share-wrap{text-align:center;margin-top:14px}.ghost-btn:disabled{opacity:.6;cursor:default}.reset-link{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:3px;transition:color .2s var(--ease);background:0 0;border:none;margin:12px auto 0;padding:0;font-size:.78rem;text-decoration:underline;display:block}.reset-link:hover{color:var(--bad)}.disclosure{text-align:center;color:var(--muted);padding:8px 8px 12px;font-size:.82rem}.disclosure p{margin:5px 0}.disclosure .fine{opacity:.85;font-size:.76rem}.site-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding-top:12px;padding-bottom:14px;display:flex}.brand--nav{padding-left:2px}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{filter:drop-shadow(0 3px 8px #b06a1f59);border-radius:10px;flex-shrink:0;width:32px;height:32px}.brand-lockup{flex-direction:column;line-height:1;display:inline-flex}.brand-word{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;color:var(--heading);white-space:nowrap;font-size:1.28rem;font-weight:600}.brand-diy{background:linear-gradient(100deg, var(--accent), var(--crema) 70%, var(--gold));-webkit-text-fill-color:transparent;color:var(--accent);-webkit-background-clip:text;background-clip:text}.brand-tag{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:.6rem;font-weight:700}.brand--nav .brand-word{font-size:1.15rem}.brand--nav .brand-mark{width:30px;height:30px}.brand--hero{gap:14px;margin:0 auto 22px}.brand--hero .brand-mark{border-radius:clamp(15px,3.7vw,19px);width:clamp(52px,12.5vw,68px);height:clamp(52px,12.5vw,68px)}.brand--hero .brand-word{font-size:clamp(2rem,7vw,2.9rem)}.brand--hero .brand-tag{margin-top:7px;font-size:clamp(.62rem,1.8vw,.72rem)}.site-nav-links{flex-wrap:wrap;gap:8px;display:flex}.site-nav-links a{color:var(--accent-text);border-radius:var(--radius-pill);transition:background .18s var(--ease), color .18s var(--ease);padding:6px 12px;font-size:.88rem;font-weight:600;text-decoration:none}.site-nav-links a:hover{background:var(--accent-soft)}.site-nav-links a[aria-current=page]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink)}.content-page{gap:18px}.article h1{font-family:var(--font-display);color:var(--heading);margin:0 0 12px;font-size:clamp(1.7rem,5vw,2.3rem);font-weight:600;line-height:1.15}.article h2{font-family:var(--font-display);color:var(--heading);margin:26px 0 8px;font-size:1.3rem;font-weight:600}.article h3{color:var(--accent-text);margin:18px 0 6px;font-size:1.05rem;font-weight:700}.article p{color:var(--ink);margin:0 0 14px}.article li{margin-bottom:6px}.article-lede{color:var(--muted);font-size:1.08rem}.breadcrumb{color:var(--muted);margin-bottom:14px;font-size:.8rem}.breadcrumb a{color:var(--accent-text);text-decoration:none}.breadcrumb span[aria-current]{color:var(--ink);font-weight:600}.review-cta{color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:var(--radius-pill);box-shadow:var(--shadow-gold);transition:transform .12s var(--ease), box-shadow .2s var(--ease);margin:6px 0 18px;padding:13px 22px;font-weight:700;text-decoration:none;display:inline-block}.review-cta:hover{transform:translateY(-2px)}.review-cta--alt{color:var(--accent-text);background:var(--surface);border:1.5px solid var(--accent);box-shadow:var(--shadow-sm)}.compare-table-wrap{margin:0 0 18px;overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;min-width:460px;font-size:.92rem}.compare-table th,.compare-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.compare-table thead th{font-family:var(--font-display);color:var(--heading);border-bottom:2px solid var(--line)}.compare-table tbody th{color:var(--ink);white-space:nowrap;font-weight:700}.compare-table a{color:var(--accent);text-decoration:none}.compare-table .price{color:var(--heading);white-space:nowrap;font-weight:700}.compare-table--matrix th,.compare-table--matrix td{vertical-align:middle;padding:10px 12px;line-height:1.35}.compare-table--matrix tbody th[scope=row]{min-width:172px}.compare-table--matrix .hint{color:var(--muted);margin:0;font-size:.78rem;font-weight:400;line-height:1.35;display:block}.compare-table--matrix .compare-row--diy td{color:var(--muted);font-style:italic}.compare-table--matrix .compare-row--diy .price{font-style:normal}.table-scroll-hint{color:var(--muted);margin:-10px 0 16px;font-size:.78rem;display:none}.brand-notes{margin:0 0 20px;padding:0;font-size:.88rem}.brand-note{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.32fr) 1fr;gap:4px 14px;padding:7px 0;display:grid}.brand-note:last-child{border-bottom:0}.brand-note dt{color:var(--ink);font-weight:700}.brand-note dd{color:var(--muted);margin:0}@media (max-width:480px){.brand-note{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--line);text-align:center;margin-top:8px;padding-top:18px}.site-footer-cta{color:var(--accent-text);margin-bottom:12px;font-weight:700;text-decoration:none;display:inline-block}.site-footer-disclosure{color:var(--muted);margin:0 0 6px;font-size:.8rem}.site-footer-fine{color:var(--muted);margin:0;font-size:.74rem}.onboarding-reopen{left:auto;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom) + 16px);z-index:900;border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);color:var(--accent-ink);font:inherit;letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-gold);transition:transform .14s var(--ease), box-shadow .2s var(--ease);border:none;align-items:center;gap:7px;padding:11px 20px;font-size:.9rem;font-weight:700;display:inline-flex;position:fixed}.onboarding-reopen:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px #b06a1f8c}.onboarding-reopen:active{transform:translateY(0)}@media (max-width:480px){.onboarding-reopen{padding:9px 14px;font-size:.82rem}}body.has-sticky-cta .onboarding-reopen{bottom:calc(env(safe-area-inset-bottom) + 82px)}.sticky-cta{left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);z-index:950;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(100% - 24px,560px);box-shadow:var(--shadow-lg);transition:transform .32s var(--ease);align-items:center;gap:10px;padding:12px 12px 12px 16px;display:flex;position:fixed;transform:translate(-50%)translateY(140%)}.sticky-cta.sticky-cta--shown{transform:translate(-50%)translateY(0)}.sticky-cta[hidden]{display:none}.sticky-cta-savings{font-family:var(--font-display);color:var(--heading);white-space:nowrap;flex:none;font-size:.92rem;font-weight:600}.sticky-cta-link{min-width:0;color:var(--accent-ink);background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);border-radius:var(--radius-pill);white-space:nowrap;text-overflow:ellipsis;text-align:center;box-shadow:var(--shadow-gold);transition:transform .18s var(--ease), box-shadow .2s var(--ease);flex:auto;padding:9px 14px;font-size:.85rem;font-weight:700;text-decoration:none;overflow:hidden}.sticky-cta-link:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px #b06a1f8c}.sticky-cta-jump{text-align:center;cursor:pointer;font:inherit;color:var(--accent-ink);background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);border-radius:var(--radius-pill);white-space:nowrap;box-shadow:var(--shadow-gold);transition:transform .18s var(--ease), box-shadow .2s var(--ease);border:none;flex:auto;padding:9px 14px;font-size:.85rem;font-weight:700;text-decoration:none}.sticky-cta-jump:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px #b06a1f8c}.sticky-cta-dismiss{background:var(--surface-2);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.05rem;line-height:1;display:grid}.sticky-cta-dismiss:hover{background:var(--line);color:var(--ink)}body.onboarding-open{overflow:hidden}.onboarding-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:onboarding-fade .25s var(--ease);background:#21130b8c;justify-content:center;align-items:center;padding:clamp(8px,3vw,28px);display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.onboarding-overlay[hidden]{display:none}.onboarding-modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(620px,100%);max-height:min(92dvh,860px);box-shadow:var(--shadow-lg);animation:onboarding-pop .32s var(--ease);flex-direction:column;display:flex;overflow:hidden}.onboarding-head{border-bottom:1px solid var(--line);background:var(--surface);flex:none;padding:16px clamp(20px,4vw,28px) 12px}.onboarding-progress{border-radius:var(--radius-pill);background:var(--surface-2);height:5px;overflow:hidden}.onboarding-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));width:12.5%;height:100%;transition:width .35s var(--ease);display:block}.onboarding-head-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.onboarding-head-text{flex-direction:column;gap:2px;display:flex}.onboarding-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.onboarding-group-label[hidden]{display:none}.onboarding-step-count{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0;font-size:.78rem;font-weight:700}.onboarding-close{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);flex:none;place-items:center;font-size:1rem;line-height:1;display:grid}.onboarding-close:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}.onboarding-body{-webkit-overflow-scrolling:touch;flex:auto;padding:4px 0;overflow-y:auto}.onboarding-body>.card{width:100%;box-shadow:none;border:none;border-radius:0;margin:0;transform:none}.onboarding-body>.results{box-shadow:none;border:none;border-radius:0}.onboarding-body>.card>details>summary{cursor:default}.onboarding-body .flavor-buy{display:none}.onboarding-foot{border-top:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:12px;padding:14px clamp(20px,4vw,28px);display:flex}.onboarding-foot-hint{text-align:center;color:var(--muted);flex:auto;font-size:.76rem}.onboarding-back{flex:none}.onboarding-next{flex:none;width:auto;padding:12px 24px;font-size:.95rem;display:inline-block}@keyframes onboarding-fade{0%{opacity:0}to{opacity:1}}@keyframes onboarding-pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:520px){.onboarding-modal{border:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.onboarding-overlay{padding:0}.onboarding-foot-hint{display:none}.onboarding-next{flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.drink-parade{width:100%;max-width:540px;height:auto;margin:clamp(18px,4.5vw,30px) auto 0;display:block;overflow:visible}.drink-parade .dp-vessel,.drink-parade .dp-line{fill:none;stroke:var(--heading);stroke-opacity:.62;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.drink-parade .dp-line{stroke-width:1.4px;stroke-opacity:.42}.drink-parade .dp-vessel-fill{fill:color-mix(in srgb, var(--surface) 82%, transparent)}.drink-parade .dp-shine{fill:none;stroke:#fff;stroke-opacity:.7;stroke-width:2.4px;stroke-linecap:round}.drink-parade .dp-cap{fill:color-mix(in srgb, var(--espresso) 72%, transparent)}.drink-parade .dp-shadow{fill:var(--espresso);opacity:.09}.drink-parade .dp-shelf{stroke:url(#dp-shelf-grad);stroke-width:1.2px}.drink-parade .dp-glass{--dp-liquid:var(--accent);--dp-head:color-mix(in srgb, var(--dp-liquid) 28%, #fffaf2)}.drink-parade .dp-glass--espresso{--dp-liquid:#4a2c18;--dp-head:var(--crema)}.drink-parade .dp-glass--soda{--dp-liquid:#c2542f}.drink-parade .dp-glass--kombucha{--dp-liquid:#bb8a2e}.drink-parade .dp-glass--electrolytes{--dp-liquid:#4f90a8}.drink-parade .dp-glass--cold-brew{--dp-liquid:#35200f;--dp-head:#f3e3cd}.drink-parade .dp-glass--beer{--dp-liquid:#dfa632;--dp-head:#fdf3e0}.drink-parade .dp-glass--water{--dp-liquid:#8fc2d4}.drink-parade .dp-liquid-body{fill:var(--dp-liquid)}.drink-parade .dp-liquid-head,.drink-parade .dp-foam{fill:var(--dp-head)}.drink-parade .dp-ice{fill:#fff;fill-opacity:.34;stroke:#fff;stroke-opacity:.5;stroke-width:1.1px}.drink-parade .dp-bolt{fill:var(--accent-ink);fill-opacity:.85}.drink-parade .dp-bubble{fill:#fff;opacity:0}.drink-parade .dp-steam{fill:none;stroke:var(--heading);stroke-opacity:.55;stroke-width:1.5px;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:50% 100%}.drink-parade .dp-liquid{animation:13s infinite dp-tide;animation-delay:calc(var(--dp-i) * .55s)}@keyframes dp-tide{0%{transform:translateY(var(--dp-travel));animation-timing-function:cubic-bezier(.2,.75,.3,1)}13%{transform:translateY(0)}70%{animation-timing-function:cubic-bezier(.6,0,.75,.4);transform:translateY(0)}84%,to{transform:translateY(var(--dp-travel))}}.drink-parade .dp-bubble{transform-box:fill-box;transform-origin:50%;animation:dp-rise var(--dp-bd) linear infinite;animation-delay:var(--dp-bdelay)}@keyframes dp-rise{0%{opacity:0;transform:translateY(0)scale(.65)}14%{opacity:.6}78%{opacity:.42}to{transform:translateY(calc(var(--dp-bt) * -1)) scale(1);opacity:0}}.drink-parade .dp-steam{animation:13s ease-in-out infinite dp-steam;animation-delay:var(--dp-sd)}@keyframes dp-steam{0%,15%{opacity:0;transform:translateY(5px)scaleY(.55)}32%{opacity:.42}46%{opacity:.3}58%,to{opacity:0;transform:translateY(-12px)scaleY(1.2)}}.drink-parade .dp-ice{animation:7s ease-in-out infinite dp-glint;animation-delay:var(--dp-gd)}@keyframes dp-glint{0%,to{fill-opacity:.3}50%{fill-opacity:.55}}.drink-parade .dp-bolt{animation:5s ease-in-out infinite dp-pulse}@keyframes dp-pulse{0%,to{fill-opacity:.85}50%{fill-opacity:.4}}@media (prefers-reduced-motion:reduce){.drink-parade .dp-liquid,.drink-parade .dp-ice,.drink-parade .dp-bolt{animation:none!important}.drink-parade .dp-liquid{transform:none}.drink-parade .dp-bubble,.drink-parade .dp-steam{display:none}}.brand--live{--dy-cycle:7.2s}.brand-mark--live{--dy-fill:13.3px}.brand-mark--live .dy-glass{fill:none;stroke:var(--accent-ink);stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round}.brand-mark--live .dy-glass-fill{fill:#fff;fill-opacity:.13}.brand-mark--live .dy-liquid-body{fill:var(--accent-ink);fill-opacity:.94}.brand-mark--live .dy-liquid-head{fill:#fff}.brand-mark--live .dy-drop{fill:var(--accent-ink);opacity:0}.brand-mark--live .dy-bubble{fill:var(--accent);fill-opacity:.45;opacity:0}.brand-mark--live .dy-sheen{opacity:0}.brand-mark--live .dy-liquid{animation:dy-pour var(--dy-cycle) infinite}@keyframes dy-pour{0%,10.4%{transform:translateY(var(--dy-fill));animation-timing-function:cubic-bezier(.2,.85,.3,1)}14.6%,24.3%{transform:translateY(calc(var(--dy-fill) * .64));animation-timing-function:cubic-bezier(.2,.85,.3,1)}28.5%,38.2%{transform:translateY(calc(var(--dy-fill) * .32));animation-timing-function:cubic-bezier(.2,.85,.3,1)}42.4%,82%{animation-timing-function:cubic-bezier(.55,0,.75,.35);transform:translateY(0)}90%,to{transform:translateY(var(--dy-fill))}}.brand-mark--live .dy-drop{transform-box:fill-box;transform-origin:50% 100%;animation:dy-drop var(--dy-cycle) cubic-bezier(.45, 0, .85, .5) infinite;animation-delay:var(--dy-dd)}@keyframes dy-drop{0%{opacity:0;transform:translateY(-12px)scale(.45)}1.5%{opacity:1}5.2%{opacity:1;animation-timing-function:linear;transform:translateY(0)scale(1)}6.4%{opacity:0;transform:translateY(1.2px)scale(1.45,.3)}6.5%,to{opacity:0;transform:translateY(-12px)scale(.45)}}.brand-mark--live .dy-bubble{transform-box:fill-box;transform-origin:50%;animation:dy-fizz var(--dy-cycle) linear infinite;animation-delay:var(--dy-bd)}@keyframes dy-fizz{0%{opacity:0;transform:translateY(0)scale(.5)}10%{opacity:.55}24%,to{opacity:0;transform:translateY(-11px)scale(1)}}.brand-mark--live .dy-sheen{transform-box:view-box;transform-origin:20px 20px;animation:dy-sheen var(--dy-cycle) ease-in-out infinite}@keyframes dy-sheen{0%,44%{opacity:0;transform:translate(0)skew(-18deg)}47%{opacity:.85}56%,to{opacity:0;transform:translate(64px)skew(-18deg)}}.brand--live .brand-diy{transform-origin:50% 90%;animation:dy-lift var(--dy-cycle) var(--ease) infinite;animation-delay:var(--dy-kd);display:inline-block}@keyframes dy-lift{0%{transform:translateY(0)scale(1)}3%{transform:translateY(-3px)scale(1.06)}9%,to{transform:translateY(0)scale(1)}}.brand-tag--keyed{color:var(--muted)}.brand-tag-key b{color:var(--accent-text);border-bottom:1.5px solid color-mix(in srgb, var(--accent) 50%, transparent);font-weight:800}.brand--live .brand-tag-key{animation:dy-say var(--dy-cycle) ease-in-out infinite;animation-delay:var(--dy-kd)}@keyframes dy-say{0%,1%{color:var(--muted)}4%,10%{color:var(--heading)}20%,to{color:var(--muted)}}@media (prefers-reduced-motion:reduce){.brand-mark--live .dy-liquid{transform:none;animation:none!important}.brand-mark--live .dy-drop,.brand-mark--live .dy-bubble,.brand-mark--live .dy-sheen{display:none}.brand--live .brand-diy,.brand--live .brand-tag-key{animation:none!important}.brand--live .brand-diy{transform:none}}.hub-grid{grid-template-columns:1fr;gap:14px;margin-top:18px;display:grid}@media (min-width:560px){.hub-grid{grid-template-columns:repeat(2,1fr)}}.hub-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);flex-direction:column;gap:4px;padding:20px 18px;text-decoration:none;display:flex}.hub-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.hub-card:focus-visible{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.hub-card-icon{width:44px;height:44px;color:var(--accent-text);stroke-width:1.8px;flex-shrink:0;align-self:center;margin-bottom:4px}.hub-card-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.hub-card-tagline{color:var(--muted);font-size:.92rem}.hub-card-cta{color:var(--accent-ink);margin-top:8px;font-size:.9rem;font-weight:600}.hub-card--soon{cursor:default;background:var(--surface-2);box-shadow:none;border-style:dashed}.hub-card--soon .hub-card-icon,.hub-card--soon .hub-card-name{color:var(--muted)}.hub-card--soon:hover{box-shadow:none;border-color:var(--line);transform:none}.hub-card--soon:focus-visible{box-shadow:none;border-color:var(--line);transform:none}.hub-card-soon-badge{color:var(--muted);margin-top:8px;font-size:.9rem;font-weight:600}.legal-disclaimer-short{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 4px;padding:10px 14px;font-size:.84rem;line-height:1.5}.safety-note{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:24px 0 0;padding:10px 14px;font-size:.84rem;line-height:1.5}.safety-note a{color:inherit;white-space:nowrap}.legal-disclaimer{color:var(--muted);font-size:.86rem;line-height:1.6}.legal-disclaimer h2{font-size:1.05rem}.legal-disclaimer p{margin:0 0 12px}.legal-disclaimer p:last-child{margin-bottom:0}.legal-disclaimer strong{color:var(--ink)}.goal-chips{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.goal-chip{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform 80ms var(--ease);align-items:center;gap:6px;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.goal-chip:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.goal-chip:active{transform:scale(.96)}.goal-chip.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);box-shadow:var(--shadow-sm);border-color:#0000}.goal-chip:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.goal-blurb{color:var(--muted);margin:4px 0 0;font-size:.88rem;line-height:1.5}.beta-badge{vertical-align:middle;font-family:var(--font-sans,inherit);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;margin-left:4px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.beta-note{max-width:46ch;color:var(--muted);text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:14px auto 0;padding:10px 14px;font-size:.84rem;line-height:1.55}.beta-note .beta-badge{margin:0 6px 0 0}.ors-warning{color:#6b4a12;border-radius:var(--radius-sm);background:#fbeecb;border:1.5px solid #e3b559;margin-top:12px;padding:12px 14px;font-size:.86rem;font-weight:600;line-height:1.5}.dose-fields{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.dose-field-label{color:var(--ink);margin-bottom:6px;font-size:.92rem;font-weight:600;display:block}.dose-field-unit{color:var(--muted);font-weight:500}.dose-field-controls{align-items:center;gap:12px;display:flex}.dose-field-controls input[type=range]{accent-color:var(--accent);flex:auto}.dose-field-controls input[type=number]{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:76px;color:var(--ink);font:inherit;flex-shrink:0;padding:7px 8px;font-size:.92rem}.dose-field-controls input[type=number]:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.dose-field-controls input[type=range]:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-options{grid-template-columns:1fr;gap:12px;display:grid}.mix-option{color:var(--ink);flex-direction:column;gap:5px;font-size:.88rem;font-weight:600;display:flex}.mix-option select,.mix-option input[type=number]{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;padding:9px 10px;font-size:.92rem}.mix-option select:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-option input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-option--checkbox{flex-direction:row;align-items:center;gap:9px}.mix-option--checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.mix-results{flex-direction:column;gap:18px;display:flex}.recipe-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:10px 0;display:flex}.recipe-row:last-child{border-bottom:none}.recipe-row-name{color:var(--ink);font-weight:600}.recipe-row-amount{color:var(--accent-text);font-size:.92rem;font-weight:600}.recipe-row-tsp{color:var(--muted);font-weight:500}.recipe-row-batch{color:var(--muted);flex-basis:100%;font-size:.84rem}.recipe-note{color:var(--muted);margin:14px 0 0;font-size:.84rem;line-height:1.5}.recipe-empty{color:var(--muted);font-size:.9rem}.shopping-list-subhead{font-family:var(--font-display);color:var(--heading);margin:18px 0 4px;font-size:1.02rem;font-weight:600}.shopping-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.shopping-row:last-child{border-bottom:none}.shopping-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.shopping-row-name{color:var(--ink);font-weight:600}.shopping-row-price{color:var(--muted);font-size:.84rem}.shopping-row-buy{color:var(--accent-text);white-space:nowrap;flex-shrink:0;font-size:.86rem;font-weight:700;text-decoration:none}.shopping-row-buy:hover{text-decoration:underline}.comparison-strip .comparison-row{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.comparison-strip .comparison-row+.comparison-row{margin-top:4px}.comparison-row--mine{background:var(--accent-soft);font-weight:700}.comparison-row--match:not(.comparison-row--mine){background:var(--surface-2)}.comparison-name{color:var(--ink)}.comparison-row--mine .comparison-name{color:var(--accent-text)}.comparison-price{font-variant-numeric:tabular-nums;color:var(--ink)}.comparison-match,.comparison-savings{color:var(--accent-text);margin:12px 0 0;font-size:.9rem;font-weight:600;line-height:1.5}.mix-advanced{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.mix-advanced>summary{cursor:pointer;color:var(--accent-text);font-size:.9rem;font-weight:700}.mix-advanced>summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px;border-radius:var(--radius-sm)}.mix-advanced .hint{margin:10px 0 12px}.source-rows{flex-direction:column;gap:12px;display:flex}.source-row{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:8px 12px;padding:10px 0;display:grid}.source-row:last-child{border-bottom:none}.source-mineral{color:var(--ink);font-weight:700}.source-row select,.source-fixed{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;padding:8px 10px;font-size:.9rem}.source-fixed{color:var(--muted)}.source-field{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.source-field input{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:7px 8px;font-size:.9rem}.source-row select:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.source-field input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-profile{color:var(--muted);margin:12px 0 0;font-size:.86rem;line-height:1.6}.mix-profile b{color:var(--ink);font-variant-numeric:tabular-nums}.cost-comp{margin-top:16px}.cost-comp-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.cost-comp-title{color:var(--ink);font-size:.92rem;font-weight:700}.cost-comp-total{color:var(--accent-text);font-variant-numeric:tabular-nums;font-weight:700}.cost-comp-bar{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);height:14px;display:flex;overflow:hidden}.cost-comp-seg{height:100%;transition:width .25s var(--ease)}.cost-comp-seg--mineral{background:var(--accent)}.cost-comp-seg--extra{background:var(--muted)}.cost-comp-seg--flavor{background:#e08a3c}.cost-comp-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:.82rem;display:flex}.cost-comp-key{align-items:center;gap:6px;display:inline-flex}.cost-comp-key b{color:var(--ink)}.cost-comp-cents{color:var(--muted);font-variant-numeric:tabular-nums}.cost-comp-dot{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.cost-comp-dot--mineral{background:var(--accent)}.cost-comp-dot--extra{background:var(--muted)}.cost-comp-dot--flavor{background:#e08a3c}@media (min-width:700px){.dose-fields{grid-template-columns:repeat(2,1fr)}.mix-options{grid-template-columns:repeat(3,1fr)}.source-row{grid-template-columns:1.1fr 1.6fr 1fr 1fr;align-items:center}}.trust-pill{border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid var(--line-strong);color:var(--accent-text);letter-spacing:.01em;transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);align-items:center;gap:7px;margin-top:18px;padding:9px 18px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.trust-pill:hover{box-shadow:var(--shadow-sm);border-color:var(--accent);transform:translateY(-1px)}.trust-pill:focus-visible{box-shadow:var(--shadow-sm);border-color:var(--accent);transform:translateY(-1px)}.trust-pill svg{flex-shrink:0;width:14px;height:14px;display:block}.trust-strip{border:1px solid color-mix(in srgb, var(--good) 30%, var(--line));border-radius:var(--radius-sm);background:linear-gradient(160deg, var(--good-soft), var(--surface) 70%);text-align:center;margin:0 0 18px;padding:18px clamp(14px,4vw,24px)}.trust-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 10px;display:flex}.trust-badge{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--heading);white-space:nowrap;align-items:center;gap:6px;padding:6px 13px;font-size:.78rem;font-weight:700;display:inline-flex}.trust-badge-icon{flex-shrink:0;width:15px;height:15px;display:block}.trust-promise{margin:0;max-width:62ch;color:var(--muted);margin-inline-start:auto;margin-inline-end:auto;font-size:.86rem;line-height:1.55}.trust-link{color:var(--accent-text);white-space:nowrap;margin-left:4px;font-weight:700;text-decoration:none;display:inline-block}.trust-link:hover{text-decoration:underline}.footer-nav{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px;display:flex}.footer-nav a{color:var(--accent-text);border-radius:var(--radius-pill);transition:background .18s var(--ease), color .18s var(--ease);padding:6px 12px;font-size:.84rem;font-weight:600;text-decoration:none}.footer-nav a:hover{background:var(--accent-soft)}.footer-nav a[aria-current=page]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink)}.article ul li strong{color:var(--heading)}.hero{padding-top:clamp(30px,6vw,52px);padding-bottom:6px}.hero .eyebrow{margin-bottom:20px}.hero h1{margin-bottom:16px}.hero .tagline{margin-bottom:4px}.hub-card-cta{color:var(--accent-text)}.hub-card-teaser{font-family:var(--font-display);color:var(--good);align-items:center;margin-top:6px;font-size:.86rem;font-weight:600;display:inline-flex}.hub-card-teaser--fallback{font-family:var(--font-sans);color:var(--muted)}.why-drinkiy{padding:clamp(8px,2vw,14px) 4px 4px}.why-drinkiy h2{text-align:center;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--heading);margin:0 0 16px;font-size:clamp(1.35rem,3.6vw,1.7rem);font-weight:600}.why-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:720px){.why-grid{grid-template-columns:repeat(3,1fr)}@supports (grid-template-rows:subgrid){.why-grid{grid-template-rows:auto auto;row-gap:10px}.why-pillar{grid-row:span 2;grid-template-rows:subgrid}}}.why-pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease);grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:center;gap:10px 12px;padding:clamp(18px,3.4vw,24px);display:grid}.why-pillar:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.why-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-text);border-radius:12px;grid-area:1/1;padding:8px;display:block}.why-pillar h3{font-family:var(--font-display);text-wrap:balance;color:var(--heading);grid-area:1/2;margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.why-pillar p{color:var(--muted);grid-column:1/-1;align-self:start;margin:0;font-size:.9rem;line-height:1.55}.why-pillar a{color:var(--accent-text);white-space:nowrap;font-weight:600;text-decoration:none}.why-pillar a:hover{text-decoration:underline}.notfound-hint{color:var(--muted);margin:0 0 10px;font-size:.88rem}.notfound-links{flex-wrap:wrap;gap:8px;display:flex}.notfound-links a{border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--accent-text);transition:background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:6px;padding:8px 14px;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex}.notfound-links a:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.trust-line{color:var(--muted);text-align:center;justify-content:center;align-items:flex-start;gap:6px;margin:10px 0 0;padding:0 4px;font-size:.78rem;line-height:1.4;display:flex}.trust-line[hidden]{display:none}.trust-line-icon{width:14px;height:14px;color:var(--good);flex-shrink:0;margin-top:1px}.trust-line em{color:var(--accent-text);font-style:normal;font-weight:600}.disclosure-badge{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);align-items:center;gap:6px;margin:0 0 6px;padding:5px 12px;font-size:.78rem;display:inline-flex}.disclosure-badge .trust-line-icon{width:13px;height:13px;color:var(--good)}.disclosure-badge strong{color:var(--accent-text);font-weight:800}.results-empty{border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);text-align:center;justify-content:center;align-items:center;gap:8px;margin:0 0 18px;padding:14px 18px;font-size:.92rem;font-weight:600;display:flex}.results-empty[hidden]{display:none}.results.is-empty .habit-cost,.results.is-empty .result-grid,.results.is-empty .anatomy,.results.is-empty .chart-wrap,.results.is-empty .cup-wrap,.results.is-empty .machine-compare{opacity:.42;filter:saturate(.55);transition:opacity .3s var(--ease), filter .3s var(--ease)}.habit-cost-value,.anatomy-total,.chart-label-right,.field-readout-value,.mc-meta{font-variant-numeric:tabular-nums}.anatomy-row-label{white-space:nowrap;line-height:1.25}@media (max-width:400px){.anatomy-bars{grid-template-columns:fit-content(76px) minmax(0,1fr) auto}.anatomy-row-label{white-space:normal}}.result.highlight .result-label{align-items:center;gap:6px;display:inline-flex}.result.highlight .result-label:before{content:"✓";background:var(--crema);width:15px;height:15px;color:var(--espresso-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:.6rem;font-weight:800;display:inline-grid}.mc-pick:focus-visible{outline:3px solid var(--accent-text);outline-offset:-2px;border-radius:var(--radius-sm)}.mc-row:hover:not(.selected){border-color:var(--line-strong);background:color-mix(in srgb, var(--surface-2) 55%, transparent)}#share-btn{transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform 80ms var(--ease), box-shadow .2s var(--ease)}#share-btn.share-btn--success{background:var(--surface);border-color:var(--good);color:var(--good)}#share-btn.share-btn--pop{animation:share-btn-pop .35s var(--ease)}@keyframes share-btn-pop{0%{transform:scale(1)}45%{transform:scale(1.07)}to{transform:scale(1)}}.reset-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;margin-top:12px;display:flex}.reset-wrap .reset-link{margin:0}.reset-link--confirm{color:var(--bad);font-weight:700}.reset-link--confirm:hover{color:var(--bad);opacity:.85}.reset-link--cancel:hover{color:var(--ink)}.machine-card.is-revealing,.accessory-card.is-revealing{transition:none}.onboarding-progress{height:6px}.embed-page{margin:0}.app--embed{gap:14px;padding:0 14px 24px}.embed-bar{z-index:5;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 -14px 4px;padding:8px 14px;display:flex;position:sticky;top:0}.embed-bar .brand{flex-shrink:0}.embed-bar-note{min-width:0;color:var(--muted);flex:180px;font-size:.74rem;line-height:1.35}.embed-bar-cta{color:var(--accent-text);white-space:nowrap;flex-shrink:0;font-size:.78rem;font-weight:700;text-decoration:none}.embed-bar-cta:hover{text-decoration:underline}.embed-bar-cta:focus-visible{text-decoration:underline}.app--embed .hero{padding-top:6px}.article{line-height:1.75}.article-lede{margin:0 0 6px;font-size:1.1rem;line-height:1.65}.article h2{margin:36px 0 12px;line-height:1.25}.article h2:first-of-type{margin-top:22px}.article h3{margin:22px 0 8px;line-height:1.3}.article p{margin:0 0 16px}.article ul{margin:0 0 18px;padding-left:22px}.article li{margin-bottom:8px;line-height:1.65}.article li:last-child{margin-bottom:0}.article strong{color:var(--heading);font-weight:700}.article em{color:var(--accent-text);font-style:italic}.compare-table{min-width:620px}.compare-table thead th:first-child,.compare-table tbody th[scope=row]{z-index:1;white-space:normal;background:var(--surface);min-width:132px;max-width:42vw;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.compare-table tbody tr:hover th[scope=row],.compare-table tbody tr:hover td,.compare-table .compare-row--diy th[scope=row],.compare-table .compare-row--diy td{background:var(--accent-soft)}.compare-table th.num,.compare-table td.num{text-align:right;font-variant-numeric:tabular-nums}.compare-table .price,.compare-table--matrix td.num{white-space:nowrap}.compare-table-wrap{--table-edge-shadow:#3c281829;background:linear-gradient(to right, var(--surface) 55%, transparent) 0 0 / 34px 100% no-repeat local, linear-gradient(to left, var(--surface) 55%, transparent) 100% 0 / 34px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--table-edge-shadow), transparent) 0 0 / 13px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--table-edge-shadow), transparent) 100% 0 / 13px 100% no-repeat scroll}.compare-table-wrap:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px;border-radius:var(--radius-sm)}.compare-table--matrix{font-size:.86rem}@media (max-width:720px){.compare-table{font-size:.86rem}.compare-table th,.compare-table td,.compare-table--matrix th,.compare-table--matrix td{padding:9px 10px}.compare-table--matrix{font-size:.8rem}.table-scroll-hint{display:block}}@media (pointer:coarse){.compare-table td a,.compare-table th a{padding:5px 0;display:inline-block}}.trust-note{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--good);border-radius:var(--radius-sm);margin:0 0 24px;padding:11px 15px;font-size:.82rem;line-height:1.5}.trust-note a{color:var(--accent-text);font-weight:600;text-decoration:none}.trust-note a:hover{text-decoration:underline}.calc-callout{background:linear-gradient(155deg, var(--surface), var(--accent-soft) 130%);border:1.5px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:22px 0;padding:clamp(18px,4vw,26px)}.calc-callout-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin:0 0 6px;font-size:.72rem;font-weight:700}.calc-callout h2,.calc-callout h3{margin-top:0!important}.calc-callout p{color:var(--ink);margin:0 0 12px}.calc-callout-note{color:var(--accent-text);margin:0 0 16px;font-size:.86rem;font-weight:600}.calc-callout>p:last-child,.calc-callout>.review-cta,.calc-callout>.review-cta--alt{margin-bottom:0}.explore{padding:clamp(18px,4vw,26px)}.explore-heading{font-family:var(--font-display);color:var(--heading);margin:0 0 14px;font-size:1.2rem;font-weight:600}.explore-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.explore-grid{grid-template-columns:repeat(3,1fr)}}.explore-card{color:inherit;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex;position:relative}.explore-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.explore-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.explore-card--calc{background:linear-gradient(160deg, var(--surface), var(--accent-soft));border-color:var(--accent)}.explore-card-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.66rem;font-weight:700}.explore-card-title{font-family:var(--font-display);color:var(--heading);font-size:1rem;font-weight:600;line-height:1.3}.explore-card-teaser{color:var(--muted);font-size:.84rem;line-height:1.45}.explore-card-arrow{color:var(--accent-text);margin-top:auto;padding-top:6px;font-size:.84rem;font-weight:700}.video-reviews{margin-top:28px}.video-review-grid{grid-template-columns:1fr;gap:12px;margin:14px 0;display:grid}@media (min-width:640px){.video-review-grid{grid-template-columns:repeat(2,1fr)}}.video-review-card{color:inherit;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);align-items:flex-start;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.video-review-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.video-review-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.video-review-play{color:var(--accent-text);flex:none}.video-review-play-icon{width:34px;height:34px;transition:transform .2s var(--ease);display:block}.video-review-card:hover .video-review-play-icon{transform:scale(1.08)}.video-review-body{flex-direction:column;gap:4px;min-width:0;display:flex}.video-review-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.66rem;font-weight:700}.video-review-title{font-family:var(--font-display);color:var(--heading);font-size:1rem;font-weight:600;line-height:1.3}.video-review-note{color:var(--muted);font-size:.84rem;line-height:1.45}.video-review-arrow{color:var(--accent-text);padding-top:6px;font-size:.84rem;font-weight:700}.video-reviews-intro{margin:6px 0 0}.video-reviews-disclosure{color:var(--muted);margin:4px 0 0;font-size:.8rem;line-height:1.5}.index-grid{grid-template-columns:1fr;gap:14px;margin:20px 0;display:grid}@media (min-width:640px){.index-grid{grid-template-columns:repeat(2,1fr)}}.index-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);flex-direction:column;gap:6px;padding:20px 22px 44px;display:flex;position:relative}.index-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.index-card--featured{background:linear-gradient(160deg, var(--surface), var(--accent-soft));border-color:var(--accent)}.index-card-meta{text-transform:uppercase;letter-spacing:.07em;color:var(--accent-text);font-size:.68rem;font-weight:700}.index-card-title{font-family:var(--font-display);color:var(--heading);margin:2px 0 0;font-size:1.15rem;font-weight:600;line-height:1.3}.index-card-title a{color:inherit;text-decoration:none}.index-card-title a:after{content:"";border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.index-card-title a:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.index-card-teaser{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.index-card-arrow{color:var(--accent-text);transition:transform .2s var(--ease);font-size:1.05rem;font-weight:700;position:absolute;bottom:18px;right:22px}.index-card:hover .index-card-arrow{transform:translate(4px)}.embed-snippet-list{gap:14px;margin:18px 0 6px;display:grid}.embed-snippet{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:14px 16px 12px}.embed-snippet-title{align-items:center;gap:9px;margin:0 0 10px;font-size:1rem;display:flex}.embed-snippet-icon{width:28px;height:28px;color:var(--accent);flex-shrink:0}.embed-snippet-code{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);-moz-tab-size:2;tab-size:2;margin:0;padding:10px 12px;font-size:.76rem;line-height:1.55;overflow-x:auto}.embed-snippet-code code{white-space:pre}.embed-snippet-links{margin:9px 0 0;font-size:.82rem}.embed-snippet-links a{color:var(--accent-text);font-weight:600;text-decoration:none}.embed-snippet-links a:hover{text-decoration:underline}.embed-snippet-links a:focus-visible{text-decoration:underline}.splash{display:none}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){.splash{--splash-out-delay:1.75s;--splash-out:.5s;--splash-fill:13.3px;z-index:200;background:radial-gradient(118% 88% at 50% 16%, var(--surface), var(--bg) 46%, var(--bg-tint));pointer-events:none;animation:splash-out var(--splash-out) var(--ease) var(--splash-out-delay) both;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.splash-stage{text-align:center;flex-direction:column;align-items:center;margin-bottom:clamp(16px,7vh,56px);display:flex}.splash-mark{filter:drop-shadow(0 16px 34px #b06a1f57);width:clamp(88px,27vw,124px);height:auto;animation:splash-mark-in .6s var(--ease) 50ms both;border-radius:clamp(24px,7.4vw,34px)}.splash-glass{fill:none;stroke:var(--accent-ink);stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round}.splash-glass-fill{fill:#fff;fill-opacity:.13}.splash-liquid-body{fill:var(--accent-ink);fill-opacity:.94}.splash-liquid-head{fill:#fff}.splash-liquid{animation:.68s cubic-bezier(.22,.85,.3,1) .62s both splash-pour}.splash-drop{fill:var(--accent-ink);opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:.32s cubic-bezier(.45,0,.85,.5) .42s both splash-drop}.splash-bubble{fill:var(--accent);fill-opacity:.45;opacity:0;transform-box:fill-box;transform-origin:50%;animation:splash-fizz .7s linear var(--splash-bd) both}.splash-sheen{opacity:0;transform-box:view-box;transform-origin:20px 20px;animation:.6s ease-in-out 1.15s both splash-sheen}.splash-word{animation:splash-rise .55s var(--ease) .55s both;margin:clamp(18px,4.5vh,26px) 0 0;line-height:1}.splash-word .brand-word{font-size:clamp(1.9rem,8.5vw,2.5rem)}.splash-rule{background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.55;width:clamp(90px,34vw,132px);height:1px;animation:splash-draw .58s var(--ease) .85s both;margin:14px 0 12px;display:block;transform:scaleX(0)}.splash-tag{animation:splash-rise .52s var(--ease) 1s both;margin:0}.splash-tag .brand-tag{font-size:clamp(.6rem,2.6vw,.7rem)}}@keyframes splash-out{0%{opacity:1;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(1.04)}}@keyframes splash-mark-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes splash-pour{0%{transform:translateY(var(--splash-fill))}to{transform:translateY(0)}}@keyframes splash-drop{0%{opacity:0;transform:translateY(-12px)scale(.45)}14%{opacity:1}76%{opacity:1;animation-timing-function:linear;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(1.2px)scale(1.45,.3)}}@keyframes splash-fizz{0%{opacity:0;transform:translateY(0)scale(.5)}22%{opacity:.55}to{opacity:0;transform:translateY(-9px)scale(1)}}@keyframes splash-sheen{0%{opacity:0;transform:translate(0)skew(-18deg)}22%{opacity:.85}to{opacity:0;transform:translate(64px)skew(-18deg)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.splash *,.splash :before,.splash :after{animation-delay:0s!important}.splash{animation:.62s linear .7s both splash-out-still!important}}@keyframes splash-out-still{0%{opacity:1}to{opacity:0;visibility:hidden}}
