:root{color-scheme:dark;--bg:#0d0d0e;--surface-1:#121214;--surface-2:#161618;--surface-3:#1a1a1d;--surface-4:#202024;--text:#f3f2ef;--text-2:#a09fa4;--text-3:#7c7b80;--line:rgba(255,255,255,0.08);--line-hover:rgba(255,255,255,0.13);--line-strong:rgba(255,255,255,0.18);--accent:#b7d56a;--accent-ink:#141a06;--accent-soft:rgba(183,213,106,0.12);--accent-line:rgba(183,213,106,0.35);--heat:#d9a95b;--heat-soft:rgba(217,169,91,0.12);--bad:#e38a7c;--bad-soft:rgba(227,138,124,0.12);--font-sans:var(--font-geist),"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-geist-mono),"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--fs-xs:0.75rem;--fs-sm:0.8125rem;--fs-base:0.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:clamp(1.75rem,1.2rem + 2vw,2.5rem);--fs-2xl:clamp(2.25rem,1.4rem + 3.4vw,3.75rem);--fs-hero:clamp(3rem,1.6rem + 5.8vw,6rem);--r-sm:6px;--r-md:10px;--r-lg:14px;--container:1200px;--gutter:clamp(16px,4vw,32px);--header-h:56px;--ease:cubic-bezier(0.2,0.7,0.2,1);--t-fast:150ms;--t-med:240ms}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}img,svg{max-width:100%}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-100px;z-index:100;padding:8px 12px;background:var(--text);color:var(--bg);border-radius:var(--r-sm)}.skip-link:focus{top:12px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"ss01" 1,"tnum"}.label,.mono{font-family:var(--font-mono)}.label{font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.muted{color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding-inline:14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn:hover{background:var(--surface-3);border-color:var(--line-hover)}.btn-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn-primary:hover{background:#ffffff;border-color:#ffffff}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-accent:hover{background:#c5e07c;border-color:#c5e07c}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);border-color:transparent;color:var(--text)}.btn-lg{height:44px;padding-inline:18px;font-size:var(--fs-base)}.btn:disabled{opacity:.45;cursor:not-allowed}.arrow{transition:transform var(--t-fast) var(--ease)}a:hover .arrow,button:hover .arrow{transform:translateX(2px)}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding-inline:8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.pill-accent{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.panel{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg)}.site-header{position:-webkit-sticky;position:sticky;top:0;padding-top:env(safe-area-inset-top,0);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}.site-header .container{display:flex;align-items:center;gap:24px;height:var(--header-h)}.logo{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.9375rem;letter-spacing:-.02em;color:var(--text)}.logo svg{flex:none}.nav{display:flex;gap:2px;margin-inline:auto}.nav a{padding:6px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);transition:color var(--t-fast) var(--ease)}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.header-actions{display:flex;align-items:center;gap:6px}.header-actions .btn{height:32px}.mobile-menu{display:none;position:relative}.mobile-menu>summary{list-style:none;display:grid;place-items:center;width:36px;height:32px;border-radius:var(--r-sm);border:1px solid var(--line);cursor:pointer;color:var(--text-2)}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu[open]>summary{color:var(--text);border-color:var(--line-hover)}.mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;display:grid;padding:6px;background:var(--surface-2);border:1px solid var(--line-hover);border-radius:var(--r-md);box-shadow:0 12px 32px rgba(0,0,0,.5)}.mobile-menu nav a{padding:9px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm)}.mobile-menu nav a:hover{background:var(--surface-3);color:var(--text)}@media (max-width:860px){.nav{display:none}.header-actions{margin-left:auto}.mobile-menu{display:block}}@media (max-width:480px){.header-login{display:none}}.section{padding-block:clamp(72px,10vw,128px);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;grid-gap:24px 48px;gap:24px 48px;margin-bottom:clamp(36px,5vw,56px)}.section-head h2{font-size:var(--fs-2xl)}.section-head h2 .dim{display:block;color:var(--text-3)}.section-head p{max-width:44ch;color:var(--text-2);font-size:var(--fs-md)}.section-head .label{display:block;margin-bottom:18px}@media (max-width:820px){.section-head{grid-template-columns:1fr}}.hero{padding-top:clamp(56px,9vw,112px);padding-bottom:clamp(56px,8vw,96px);overflow:hidden}.hero-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;grid-gap:32px 56px;gap:32px 56px}.hero h1{font-size:var(--fs-hero);letter-spacing:-.05em;line-height:.95}.hero-lede{display:grid;grid-gap:24px;gap:24px;padding-bottom:8px}.hero-lede p{color:var(--text-2);font-size:var(--fs-md);max-width:42ch}.hero-lede p strong{color:var(--text);font-weight:500}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hero-note{margin-top:4px}.app-frame{position:relative;margin:clamp(48px,7vw,80px) 0 0;border:1px solid var(--line-hover);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 40px 120px -40px rgba(183,213,106,.08),0 30px 80px -20px rgba(0,0,0,.7)}.app-frame:after{content:"";position:absolute;inset:auto 0 0 0;height:56px;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}.app-bar{display:flex;align-items:center;gap:8px;height:40px;padding-inline:14px;border-bottom:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-3)}.app-bar b{font-weight:500;color:var(--text-2)}.app-bar .sep{color:var(--text-3);opacity:.6}.app-body{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:520px}.app-side{display:grid;align-content:start;grid-gap:2px;gap:2px;padding:14px 10px;border-right:1px solid var(--line);background:var(--bg);font-size:var(--fs-sm)}.app-side .label{padding:16px 10px 6px}.app-side span{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--r-sm);color:var(--text-3)}.app-side span.on{background:var(--surface-2);color:var(--text)}.app-side i{width:6px;height:6px;border-radius:2px;background:currentColor;opacity:.55}.app-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-gap:20px;gap:20px;padding:28px 28px 64px;align-content:start}.app-main-head{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.app-main-head h3{font-size:1.625rem;letter-spacing:-.03em}.app-main-head p{margin-top:6px;color:var(--text-3);font-size:var(--fs-sm)}@media (max-width:960px){.app-body{grid-template-columns:1fr}.app-side{display:none}}@media (max-width:760px){.app-main{grid-template-columns:1fr;padding:18px 18px 56px}}.readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.readout>div{display:grid;grid-gap:6px;gap:6px;padding:16px 16px 18px;min-width:0}.readout>div+div{border-left:1px solid var(--line)}.readout .v{font-size:clamp(1.5rem,1rem + 1.6vw,2.25rem);font-weight:500;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.readout .v small{font-size:.5em;font-weight:400;letter-spacing:0;color:var(--text-3);margin-left:2px}.readout .v.heat{color:var(--heat)}@media (max-width:520px){.readout{grid-template-columns:repeat(2,minmax(0,1fr))}.readout>div:nth-child(3){border-left:0}.readout>div:nth-child(n+3){border-top:1px solid var(--line)}}.taste{display:grid;grid-gap:2px;gap:2px;margin-top:18px}.taste-q{margin-bottom:10px;color:var(--text-2)}.taste-q,.taste-row{font-size:var(--fs-sm)}.taste-row{display:grid;grid-template-columns:1fr auto 6.5em;align-items:center;grid-gap:16px;gap:16px;padding:9px 0;border-top:1px solid var(--line)}.dots{display:flex;gap:5px}.dots i{width:9px;height:9px;border-radius:50%;border:1px solid var(--line-strong)}.dots i.on{background:var(--accent);border-color:var(--accent)}.taste-row .num,.taste-row .taste-word{color:var(--text-3);text-align:right;font-size:var(--fs-xs);white-space:nowrap}.rec-card{position:relative;display:grid;align-content:start;grid-gap:16px;gap:16px;padding:20px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:radial-gradient(120% 80% at 100% 0,rgba(183,213,106,.08),transparent 60%),var(--surface-2)}.rec-card h4{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;line-height:1.1}.rec-card h4 em{font-style:normal;color:var(--accent)}.rec-card p{color:var(--text-2);font-size:var(--fs-sm)}.delta-list{display:grid;border-top:1px solid var(--line)}.delta-list>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;grid-gap:12px;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-2)}.delta-list .val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.delta-list .val s{color:var(--text-3);-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3);margin-right:6px}.delta-list .val b{font-weight:500;color:var(--accent)}@media (prefers-reduced-motion:no-preference){.rec-card.rise{animation:rise .7s var(--ease) .2s both}@keyframes rise{0%{transform:translateY(10px)}to{transform:none}}}.features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.features li{display:grid;grid-template-rows:auto auto 1fr auto;grid-gap:10px;gap:10px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.features h3{font-size:var(--fs-lg);letter-spacing:-.02em;line-height:1.2}.features p{color:var(--text-2);font-size:var(--fs-sm);max-width:36ch}.feature-sample{justify-self:start;margin-top:8px;padding:4px 9px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--accent);font-family:var(--font-mono);font-size:.75rem}@media (max-width:900px){.features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.features{grid-template-columns:1fr}.features li{padding:20px 16px}}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.principle{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:28px 28px 8px 0}.principle+.principle{padding-left:28px;border-left:1px solid var(--line)}.principle svg{height:64px;width:auto;margin-block:8px 6px}.principle h3{font-size:var(--fs-lg);letter-spacing:-.02em;line-height:1.2}.principle p{color:var(--text-2);max-width:34ch}@media (max-width:820px){.principles{grid-template-columns:1fr}.principle,.principle+.principle{padding:24px 0;border-left:0}.principle+.principle{border-top:1px solid var(--line)}}.fix{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border:1px solid var(--line-hover);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.fix-form{display:grid;grid-gap:28px;gap:28px;align-content:start}.fix-form,.fix-result{padding:clamp(20px,3vw,32px);min-width:0}.fix-result{border-left:1px solid var(--line);background:var(--bg)}@media (max-width:900px){.fix{grid-template-columns:1fr}.fix-result{border-left:0;border-top:1px solid var(--line)}}.field-group{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;border:0;min-width:0}.field-group>legend,.group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;margin-bottom:12px}.step-title{display:flex;align-items:baseline;gap:10px;font-size:var(--fs-base);font-weight:500;color:var(--text)}.step-title .label{color:var(--text-3)}.select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}@media (max-width:520px){.select-row{grid-template-columns:1fr}.select-row .seg{justify-self:start}}.select{position:relative}.select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:40px;padding:0 34px 0 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-sm);cursor:pointer}.select select:hover{border-color:var(--line-hover)}.select:after{content:"";position:absolute;right:13px;top:50%;width:6px;height:6px;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);transform:translateY(-70%) rotate(45deg);pointer-events:none}.seg{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.seg button{height:32px;min-width:40px;padding-inline:10px;border:0;border-radius:4px;background:transparent;color:var(--text-3);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface-4);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.seg.sm button{height:26px;min-width:32px;font-size:var(--fs-xs)}.steppers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.stepper{display:grid;grid-gap:8px;gap:8px;padding:14px;min-width:0}.stepper:nth-child(2n){border-left:1px solid var(--line)}.stepper:nth-child(n+3){border-top:1px solid var(--line)}.stepper-top{display:flex;justify-content:space-between;align-items:center}.stepper-ctrl{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;grid-gap:6px;gap:6px}.stepper-ctrl button{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-1);color:var(--text-2);font-size:1.125rem;line-height:1;cursor:pointer;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.stepper-ctrl button:hover{border-color:var(--line-hover);color:var(--text)}.stepper-value{display:flex;align-items:baseline;justify-content:center;gap:3px;min-width:0}.stepper-value input{flex:none;max-width:100%;min-width:2ch;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;text-align:center;font-size:1.75rem;font-weight:500;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.stepper-value input:hover{border-bottom-color:var(--line-hover)}.stepper-value input:focus{outline:none;border-bottom-color:var(--accent)}.stepper-value .unit{font-size:var(--fs-sm);color:var(--text-3)}.stepper.heat input{color:var(--heat)}.stepper{container-type:inline-size}@container (max-width: 190px){.stepper-ctrl{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.stepper-ctrl button{width:32px;height:36px;font-size:1rem}.stepper-value input{font-size:1.375rem}.stepper-value .unit{font-size:var(--fs-xs)}}@container (max-width: 150px){.stepper-value .unit{display:none}}@media (max-width:420px){.steppers{grid-template-columns:1fr}.stepper:nth-child(2n){border-left:0}.stepper:nth-child(n+2){border-top:1px solid var(--line)}}.symptoms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.symptom{display:grid;grid-gap:3px;gap:3px;align-content:start;min-height:66px;padding:10px 12px;text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.symptom:hover{border-color:var(--line-hover);background:var(--surface-3)}.symptom b{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-sm);font-weight:500}.symptom span{font-size:var(--fs-xs);color:var(--text-3);line-height:1.4}.symptom .order{display:none;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:.625rem;font-weight:600}.symptom[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft)}.symptom[aria-pressed=true] .order{display:grid}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{height:32px;padding-inline:12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.chip:hover{border-color:var(--line-hover);color:var(--text)}.chip[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.form-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:4px}.form-foot .hint{font-size:var(--fs-xs);color:var(--text-3)}.result{display:grid;grid-gap:24px;gap:24px;transition:opacity var(--t-med) var(--ease)}.result.stale{opacity:.45}.result-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.result-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px 16px;gap:22px 16px}.result-values>div{display:grid;grid-gap:6px;gap:6px;min-width:0}.result-values .v{font-size:clamp(2rem,1.4rem + 2.2vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.result-values .v small{font-size:.42em;letter-spacing:0;font-weight:400;color:var(--text-3);margin-left:3px}.result-values .changed .v{color:var(--accent)}.result-values .from{font-size:var(--fs-xs);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-values .changed .from{color:var(--text-2)}@media (prefers-reduced-motion:no-preference){.result-values .changed .v{animation:glow 1.4s var(--ease) both}@keyframes glow{0%{text-shadow:0 0 0 rgba(183,213,106,0)}30%{text-shadow:0 0 22px rgba(183,213,106,.55)}to{text-shadow:0 0 0 rgba(183,213,106,0)}}.result.fresh{animation:settle .32s var(--ease) both}@keyframes settle{0%{transform:translateY(6px)}to{transform:none}}}.primary-adj{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1);font-size:var(--fs-sm)}.primary-adj b{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent)}.primary-adj .plus{color:var(--text-3)}.result-block{display:grid;grid-gap:8px;gap:8px}.result-block h3{font-size:var(--fs-sm);font-weight:500;letter-spacing:0;color:var(--text)}.result-block p{color:var(--text-2);font-size:var(--fs-sm);max-width:52ch}.result-block.testing p{color:var(--text);font-size:var(--fs-base)}.result-note{padding-left:12px;border-left:2px solid var(--line-strong);color:var(--text-2);font-size:var(--fs-xs);line-height:1.5}.result-actions{display:flex;flex-wrap:wrap;gap:8px}.save-prompt{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-2)}.save-prompt a{color:var(--text);font-weight:500}.save-prompt a:hover{color:var(--accent)}.history{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line-hover);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.history-list{display:grid;align-content:center;padding:12px;border-right:1px solid var(--line)}.history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:14px 12px;border-radius:var(--r-sm)}.history-item+.history-item{border-top:1px solid var(--line)}.history-item .idx{width:60px}.history-item .params{font-size:var(--fs-sm);color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .score{font-size:var(--fs-md);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-item .score small{color:var(--text-3);font-size:var(--fs-xs);font-weight:400}.history-item.best{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.history-item.best .idx,.history-item.best .score{color:var(--accent)}.history-chart{display:grid;align-content:space-between;grid-gap:16px;gap:16px;padding:24px;min-width:0}.history-chart svg{width:100%;height:auto;overflow:visible}.chart-grid line{stroke:var(--line);stroke-width:1}.chart-axis text{fill:var(--text-3);font-family:var(--font-mono);font-size:10px}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#chartFill)}.chart-point{fill:var(--bg);stroke:var(--accent);stroke-width:2}.chart-point.end{fill:var(--accent)}.chart-label{fill:var(--text);font-size:12px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:no-preference){.chart-line.draw{stroke-dasharray:800;stroke-dashoffset:0;animation:draw 1.6s var(--ease) both}@keyframes draw{0%{stroke-dashoffset:800}}}@media (max-width:820px){.history{grid-template-columns:1fr}.history-list{border-right:0;border-bottom:1px solid var(--line)}}.keep{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:40px 64px;gap:40px 64px;align-items:start}.keep-copy{display:grid;grid-gap:18px;gap:18px;align-content:start}.keep-copy h2{font-size:var(--fs-2xl);margin-bottom:14px}.keep-copy h2 .dim{display:block;color:var(--text-3)}.keep-copy p{color:var(--text-2);font-size:var(--fs-md);max-width:44ch}.keep-points{list-style:none;margin:14px 0 0;padding:0;display:grid;border-top:1px solid var(--line)}.keep-points li{display:grid;grid-template-columns:120px 1fr;grid-gap:16px;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.keep-points b{font-weight:500}.keep-points span{color:var(--text-2)}.recipe{display:grid;grid-gap:22px;gap:22px;padding:24px;border-color:var(--accent-line)}.recipe-head h3{margin-top:14px;font-size:1.625rem;letter-spacing:-.03em}.recipe-head p{margin-top:6px;color:var(--text-3);font-size:var(--fs-sm)}.recipe-note{display:grid;grid-gap:6px;gap:6px;padding-left:12px;border-left:2px solid var(--line-strong);font-size:var(--fs-sm);color:var(--text)}.recipe-path{display:grid;grid-gap:10px;gap:10px}.recipe-path ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.recipe-path li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.path-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.path-note{color:var(--text-3);font-size:var(--fs-xs)}.path-side{display:flex;align-items:center;gap:12px}.path-change{padding:2px 7px;border-radius:4px;background:var(--heat-soft);color:var(--heat);font-size:var(--fs-xs);white-space:nowrap}.path-side b{width:2.2em;text-align:right;font-weight:500}.recipe-path li:last-child b{color:var(--accent)}@media (max-width:900px){.keep{grid-template-columns:1fr}}@media (max-width:480px){.recipe-path li{grid-template-columns:1fr auto}.recipe-path li>.label{grid-column:1/-1}.keep-points li{grid-template-columns:1fr;gap:2px}}.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.duo>article{display:grid;align-content:start;grid-gap:28px;gap:28px}.duo h2{font-size:var(--fs-xl)}.duo h2 .dim{display:block;color:var(--text-3)}@media (max-width:900px){.duo{grid-template-columns:1fr;gap:64px}}.profile{padding:24px;display:grid;grid-gap:22px;gap:22px}.profile-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.profile-head h3{font-size:var(--fs-sm);font-family:var(--font-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.profile-head p{color:var(--text-3);font-size:var(--fs-sm)}.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.meta-grid dt{margin-bottom:4px}.meta-grid dd{margin:0;font-size:var(--fs-sm)}.bars{display:grid;grid-gap:10px;gap:10px}.bar-row{display:grid;grid-template-columns:96px minmax(0,1fr) 64px;align-items:center;grid-gap:12px;gap:12px;font-size:var(--fs-sm);color:var(--text-2)}.bar{height:4px;background:var(--surface-4);overflow:hidden}.bar,.bar>i{border-radius:2px}.bar>i{display:block;height:100%;background:var(--accent)}.bar-row .lvl{text-align:right;font-size:var(--fs-xs);color:var(--text-3)}.profile-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--line)}@media (max-width:480px){.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.palate{padding:24px;display:grid;grid-gap:18px;gap:18px;opacity:.92}.palate ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.palate li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-2)}.palate li:nth-child(odd){padding-right:16px}.palate li:nth-child(2n){padding-left:16px;border-left:1px solid var(--line)}.palate li b{font-weight:500;color:var(--text)}.palate blockquote{margin:0;font-size:var(--fs-md);line-height:1.45;letter-spacing:-.01em}@media (max-width:480px){.palate ul{grid-template-columns:1fr}.palate li:nth-child(n){padding-inline:0;border-left:0}}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:step}.steps li{position:relative;display:grid;align-content:start;grid-gap:10px;gap:10px;padding:22px 20px 0 0;border-top:1px solid var(--line-hover)}.steps li:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--bg);border:1px solid var(--text-3)}.steps li:last-child:before{background:var(--accent);border-color:var(--accent)}.steps h3{font-size:var(--fs-base);letter-spacing:-.01em;line-height:1.3}.steps p{color:var(--text-2);font-size:var(--fs-sm)}@media (max-width:900px){.steps{grid-template-columns:1fr;border-left:1px solid var(--line-hover);margin-left:3px}.steps li{padding:0 0 28px 24px;border-top:0}.steps li:before{top:4px;left:-4px}}.band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:32px;gap:32px;padding:clamp(28px,5vw,56px);border:1px solid var(--line-hover);border-radius:var(--r-lg);background:radial-gradient(60% 120% at 0 100%,rgba(183,213,106,.07),transparent 70%),var(--surface-1)}.band h2{font-size:var(--fs-2xl)}.band h2 .dim{display:block;color:var(--text-3)}.band p{margin-top:18px;color:var(--text-2);font-size:var(--fs-md)}@media (max-width:760px){.band{grid-template-columns:1fr}}.pricing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);grid-gap:16px;gap:16px;max-width:1040px}.plan{display:grid;grid-template-rows:auto auto auto 1fr auto;grid-gap:20px;gap:20px;padding:28px}.plan.featured{border-color:var(--accent-line)}.plan-head{display:flex;justify-content:space-between;align-items:center}.plan-head h3{font-size:var(--fs-lg);letter-spacing:-.02em}.price{display:flex;align-items:baseline;gap:8px}.price b{font-size:2.75rem;font-weight:500;letter-spacing:-.05em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price span{color:var(--text-3);font-size:var(--fs-sm)}.plan>p{margin-top:-8px}.plan ul,.plan>p{color:var(--text-2);font-size:var(--fs-sm)}.plan ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);grid-gap:10px;align-content:start}.plan li,.plan ul{display:grid;gap:10px}.plan li{grid-template-columns:14px 1fr;grid-gap:10px;align-items:baseline}.plan li:before{content:"";width:8px;height:1px;background:var(--text-3);transform:translateY(-4px)}.plan.featured li:before{background:var(--accent)}.plan .btn{width:100%}.pricing-note{margin-top:20px;font-size:var(--fs-sm);color:var(--text-3)}.pricing-note b{color:var(--text-2);font-weight:500}.final{padding-block:clamp(96px,14vw,180px);border-top:1px solid var(--line)}.final h2{font-size:var(--fs-hero);letter-spacing:-.05em;line-height:.95;max-width:12ch}.final .cta-row{margin-top:40px}.site-footer{padding-block:40px calc(56px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-3)}.site-footer .container{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:24px}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}.site-footer a:hover{color:var(--text)}.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.link-button:hover{color:var(--text)}.menu-install{margin-top:4px;padding:9px 10px;border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r-sm) var(--r-sm);text-align:left}.hero-install,.menu-install{background:none;color:var(--accent);font-size:var(--fs-sm);cursor:pointer}.hero-install{display:none;justify-self:start;align-items:center;gap:6px;margin-top:-6px;padding:0;border:0;font-weight:500}@media (max-width:860px){.hero-install{display:inline-flex}}.install-sheet{width:min(440px,calc(100% - 32px));max-width:none;padding:0;border:1px solid var(--line-hover);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.6)}.install-sheet::-webkit-backdrop{background:rgba(5,5,6,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.install-sheet::backdrop{background:rgba(5,5,6,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.install-inner{display:grid;grid-gap:22px;gap:22px;padding:24px}.install-head{display:flex;align-items:center;gap:14px}.install-head h2{font-size:var(--fs-lg);letter-spacing:-.02em;line-height:1.2}.install-head p{margin-top:4px;color:var(--text-3);font-size:var(--fs-sm)}.install-steps{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}.install-steps li{display:grid;grid-template-columns:28px 1fr;align-items:baseline;grid-gap:8px;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-base);color:var(--text-2)}.install-steps b{font-weight:500;color:var(--text)}.install-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}@media (max-width:560px){.install-sheet{margin:auto auto 0;width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0)}}@media (prefers-reduced-motion:no-preference){.install-sheet[open]{animation:sheet-in .24s var(--ease)}@keyframes sheet-in{0%{transform:translateY(12px)}}}.app{--side-w:232px;--tabbar-h:64px;min-height:100vh;min-height:100dvh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--side-w);display:flex;flex-direction:column;gap:18px;padding:calc(18px + env(safe-area-inset-top, 0px)) 12px 18px;border-right:1px solid var(--line);background:var(--bg);overflow-y:auto}.app-logo{padding:4px 8px}.side-nav{display:grid;grid-gap:1px;gap:1px}.side-link{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.side-link svg{color:var(--text-3)}.side-link:hover{color:var(--text);background:var(--surface-1)}.side-link[aria-current=page]{background:var(--surface-2);color:var(--text)}.side-link[aria-current=page] svg{color:var(--accent)}.side-label{padding:18px 10px 6px}.side-foot{margin-top:auto;display:grid;grid-gap:10px;gap:10px;padding:0 8px;font-size:var(--fs-xs);color:var(--text-3)}.side-foot p{display:grid;grid-gap:6px;gap:6px;justify-items:start}.side-back:hover{color:var(--text)}.app-topbar{display:none}.app-main-area{margin-left:var(--side-w);min-width:0}.tabbar{display:none}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border-radius:var(--r-sm);border:1px solid transparent;background:none;color:var(--text-2);cursor:pointer}.icon-btn:hover,.icon-btn[aria-current=page]{color:var(--text);background:var(--surface-2)}@media (max-width:900px){.app-sidebar{display:none}.app-main-area{margin-left:0;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + 12px)}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top, 0px)) 12px 8px 16px;background:var(--bg);border-bottom:1px solid var(--line)}.topbar-actions{display:flex;gap:2px}.tabbar{position:fixed;inset:auto 0 0 0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--bg);border-top:1px solid var(--line)}.tab{display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px;color:var(--text-3);font-size:.6875rem}.tab[aria-current=page]{color:var(--text)}.tab[aria-current=page] svg{color:var(--accent)}}.app-page{width:100%;max-width:1120px;margin-inline:auto;padding:32px clamp(16px,4vw,40px) 64px;display:grid;grid-gap:24px;gap:24px;align-content:start}.app-page.narrow{max-width:720px}.app-page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.app-page-head h1{margin-top:6px;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.375rem);letter-spacing:-.035em;line-height:1.05}.app-page-head p{margin-top:8px;color:var(--text-2);max-width:60ch}.app-page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:-12px;color:var(--text-3);font-size:var(--fs-sm)}.back-link:hover{color:var(--text)}.h-sm{font-size:var(--fs-md);letter-spacing:-.015em;line-height:1.3}.small{font-size:var(--fs-sm)}.block{display:block}.warn{color:var(--heat)}.bad{color:var(--bad)}.pad{padding:20px}.stack{display:grid;grid-gap:18px;gap:18px;align-content:start}.stack-sm{display:grid;grid-gap:10px;gap:10px}.section-row{align-items:baseline;gap:12px}.panel-head,.section-row{display:flex;justify-content:space-between}.panel-head{align-items:flex-start;gap:16px;margin-bottom:16px}.panel-head p{margin-top:4px}.big-num{font-size:2rem;font-weight:500;letter-spacing:-.04em;line-height:1.1}.big-num small{font-size:.45em;letter-spacing:0;color:var(--text-3);font-weight:400}.empty{display:grid;justify-items:start;grid-gap:12px;gap:12px;padding:clamp(28px,5vw,48px);border:1px dashed var(--line-strong);border-radius:var(--r-lg)}.empty h2{font-size:var(--fs-lg);letter-spacing:-.02em}.empty p{color:var(--text-2);max-width:52ch}.empty-inline{display:grid;grid-gap:8px;gap:8px;justify-items:start}.btn-danger{background:var(--bad-soft);border-color:rgba(227,138,124,.4);color:var(--bad)}.btn-danger:hover{background:rgba(227,138,124,.2);border-color:rgba(227,138,124,.6)}.confirm{display:inline-flex;gap:4px}.nerd-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;border:1px solid var(--line-strong);color:var(--text-2);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase}.form-grid{grid-gap:16px}.form-grid,.form-row{display:grid;gap:16px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px}@media (max-width:560px){.form-row{grid-template-columns:1fr}}.field{display:grid;grid-gap:6px;gap:6px;min-width:0}.field-hint{font-size:var(--fs-xs);color:var(--text-3)}.input{width:100%;min-height:40px;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-base);line-height:1.4}.input:hover{border-color:var(--line-hover)}.input:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{resize:vertical}.input[type=date]{color-scheme:dark}.form-error{margin-right:auto;color:var(--bad);font-size:var(--fs-sm)}.toolbar{flex-wrap:wrap;gap:10px}.search,.toolbar{display:flex;align-items:center}.search{gap:8px;height:36px;padding:0 12px;min-width:200px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-1);color:var(--text-3)}.search.wide{flex:1 1 280px}.search input{flex:1 1;min-width:0;border:0;background:none;font-size:var(--fs-sm);color:var(--text)}.search input:focus{outline:none}.search:focus-within{border-color:var(--accent-line)}.toolbar .chips{flex:1 1 auto}.seg.tabs{justify-self:start}.seg.tabs button{height:32px;padding-inline:14px}.sheet{width:min(520px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line-hover);border-radius:var(--r-lg);background:var(--surface-1);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.6)}.sheet.wide{width:min(640px,calc(100% - 32px))}.sheet::-webkit-backdrop{background:rgba(5,5,6,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet::backdrop{background:rgba(5,5,6,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 50px)}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 14px 22px;border-bottom:1px solid var(--line)}.sheet-head h2{font-size:var(--fs-lg);letter-spacing:-.02em}.sheet-body{padding:20px 22px;overflow-y:auto}.sheet-lede{margin-bottom:16px;font-size:var(--fs-sm)}.sheet-foot{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 22px calc(14px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line)}@media (max-width:560px){.sheet,.sheet.wide{width:100%;margin:auto auto 0;max-height:92dvh;border-radius:var(--r-lg) var(--r-lg) 0 0}}@media (prefers-reduced-motion:no-preference){.sheet[open]{animation:sheet-in .24s var(--ease)}}.recipe-readout{display:grid;grid-gap:10px;gap:10px}.recipe-readout .readout>div.hl{background:var(--accent-soft)}.recipe-readout .readout>div.hl .v{color:var(--accent)}.steeps-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:var(--fs-sm);color:var(--text-2)}.tea-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.tea-grid,.tea-list{list-style:none;margin:0;padding:0;display:grid}.tea-list{overflow:hidden}.tea-card,.tea-list{border:1px solid var(--line);border-radius:var(--r-lg)}.tea-card{display:grid;grid-gap:12px;gap:12px;height:100%;padding:16px;background:var(--surface-1);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.tea-card:hover{border-color:var(--line-hover);background:var(--surface-2)}.tea-list li+li .tea-card{border-top:1px solid var(--line)}.tea-list .tea-card{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto;align-items:center;border:0;border-radius:0}.tea-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tea-card h3{font-size:var(--fs-md);letter-spacing:-.015em;line-height:1.25}.tea-card-top p{margin-top:2px;color:var(--text-3);font-size:var(--fs-sm)}.tea-card-recipe{font-size:var(--fs-sm);color:var(--text-2)}.tea-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--fs-xs);color:var(--text-3)}@media (max-width:700px){.tea-list .tea-card{grid-template-columns:1fr}}.tea-overview{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:20px;gap:20px;align-items:start}.tea-main-col,.tea-side-col{display:grid;grid-gap:20px;gap:20px;min-width:0}.side-card{display:grid;grid-gap:8px;gap:8px}.side-link-row{color:var(--text-2);font-size:var(--fs-sm)}.side-link-row:hover{color:var(--text)}.fresh-fresh{color:var(--accent)}.fresh-soon{color:var(--heat)}.fresh-past{color:var(--bad)}.fresh-ages{color:var(--text-2)}@media (max-width:960px){.tea-overview{grid-template-columns:1fr}.tea-side-col{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.perfect-card{display:grid;grid-gap:18px;gap:18px;padding:20px;border-color:var(--accent-line)}.perfect-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.perfect-head p{margin-top:8px;color:var(--text-3);font-size:var(--fs-sm)}.variant-bar{display:grid;grid-gap:8px;gap:8px}.variant-panel{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line)}.perfect-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.score-chart{margin:0;display:grid;grid-gap:6px;gap:6px}.score-chart svg{width:100%;height:auto}.brew-list{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1)}.brew-row{display:grid;grid-gap:6px;gap:6px;padding:16px 20px;font-size:var(--fs-sm)}.brew-row+.brew-row{border-top:1px solid var(--line)}.brew-row-head{display:flex;align-items:baseline;gap:12px}.brew-score{margin-left:auto;font-weight:500}.brew-note{color:var(--text)}.brew-row-actions{display:flex;gap:4px;margin-left:-10px}.detail-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:18px 24px;gap:18px 24px;margin:0 0 24px}.detail-list dd{margin:4px 0 0;font-size:var(--fs-sm)}.brew-setup{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:20px;gap:20px;align-items:start}.brew-go{position:-webkit-sticky;position:sticky;top:24px}.brew-go .btn{width:100%}.brew-go .readout{grid-template-columns:repeat(2,minmax(0,1fr))}.brew-go .readout>div:nth-child(3){border-left:0}.brew-go .readout>div:nth-child(n+3){border-top:1px solid var(--line)}.group-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.steppers-3{grid-template-columns:repeat(3,minmax(0,1fr))}.steppers-3 .stepper:nth-child(n){border-left:0;border-top:0}.steppers-3 .stepper+.stepper{border-left:1px solid var(--line)}.steep-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.steep-list li{display:grid;grid-template-columns:64px minmax(0,260px) 36px;align-items:center;grid-gap:10px;gap:10px}.steep-list .stepper{padding:0}.steep-list .stepper-top{display:none}.steep-list .stepper-value input{font-size:1.25rem}.add-steep{justify-self:start}@media (max-width:1240px){.brew-setup{grid-template-columns:1fr}.brew-go{position:-webkit-sticky;position:sticky;top:auto;bottom:12px;z-index:5}.brew-go .recipe-readout,.brew-go>.panel>.label{display:none}.brew-go .panel{box-shadow:0 -12px 40px rgba(0,0,0,.6)}}@media (max-width:900px){.brew-go{bottom:calc(var(--tabbar-h, 0px) + env(safe-area-inset-bottom, 0px) + 8px)}}@media (max-width:560px){.steppers-3{grid-template-columns:1fr}.steppers-3 .stepper+.stepper{border-left:0;border-top:1px solid var(--line)}.steep-list li{grid-template-columns:56px minmax(0,1fr) 36px}}.focus-page{min-height:calc(100dvh - 60px);align-content:center}.timer{grid-gap:28px;gap:28px;padding-block:12px}.timer,.timer-top{display:grid;justify-items:center}.timer-top{grid-gap:6px;gap:6px;text-align:center}.timer-top .label:first-child{color:var(--text);font-size:.8125rem}.timer-ring{position:relative;width:min(360px,82vw);aspect-ratio:1;max-width:100%}.timer-ring svg{width:100%;height:100%}.ring-bg{fill:none;stroke:var(--surface-3);stroke-width:6}.ring-fg{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.timer-center{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;grid-gap:6px;gap:6px;text-align:center}.timer-num{font-size:clamp(4rem,3rem + 6vw,6rem);font-weight:500;letter-spacing:-.05em;line-height:1}.timer-num.done{color:var(--accent)}.timer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.timer-actions .btn-lg{height:52px;padding-inline:22px}.overall{display:grid;grid-gap:10px;gap:10px}.overall-row{display:flex;align-items:center;gap:18px}.overall-num{min-width:3.4em;font-size:2.25rem;font-weight:500;letter-spacing:-.04em;text-align:right}.overall-num small{font-size:.4em;color:var(--text-3);letter-spacing:0}.range{flex:1 1;height:44px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;cursor:pointer}.range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--surface-4)}.range::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-4)}.range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:50%;background:var(--accent);border:4px solid var(--bg);box-shadow:0 0 0 1px var(--accent-line)}.range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:4px solid var(--bg)}.range:focus-visible{outline-offset:4px}.dot-rating{display:grid;grid-template-columns:110px auto 6.5em;align-items:center;grid-gap:12px;gap:12px;padding:4px 0;font-size:var(--fs-sm)}.dot-btns{display:flex;gap:2px}.dot-btns button{position:relative;width:36px;height:36px;border:0;background:none;cursor:pointer}.dot-btns button:after{content:"";position:absolute;inset:11px;border-radius:50%;border:1.5px solid var(--line-strong);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.dot-btns button:hover:after{border-color:var(--text-3)}.dot-btns button[aria-pressed=true]:after{background:var(--accent);border-color:var(--accent)}.dot-val{color:var(--text-3);font-size:var(--fs-xs);text-align:right;white-space:nowrap}@media (max-width:480px){.dot-rating{grid-template-columns:minmax(0,1fr) auto;gap:8px}.dot-val{display:none}.dot-btns button{width:34px;height:40px}.dot-btns button:after{inset:11px 8px}.pad{padding:16px}}.perfect-offer{border-color:var(--accent-line);background:radial-gradient(120% 80% at 100% 0,rgba(183,213,106,.07),transparent 60%),var(--surface-1)}p.primary-adj{justify-content:flex-start}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:24px;gap:24px;align-items:start}.today-main,.today-side{min-width:0}.card-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.dial-card{display:grid;grid-gap:8px;gap:8px;justify-items:start}.dial-name{font-size:var(--fs-md);font-weight:500;letter-spacing:-.015em}.dial-name:hover{color:var(--accent)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{padding:10px 16px;text-align:left;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:12px 16px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .r{text-align:right}@media (max-width:560px){.table .hide-sm{display:none}.table td,.table th{padding-inline:12px}}.table a:hover{color:var(--accent)}.quick-fix{display:grid;grid-gap:4px;gap:4px;transition:border-color var(--t-fast) var(--ease)}.quick-fix span{color:var(--accent);font-size:var(--fs-sm)}.quick-fix:hover{border-color:var(--accent-line)}.attn,.mini-perfect{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.attn li{display:grid;grid-template-columns:8px 1fr;grid-column-gap:10px;column-gap:10px;font-size:var(--fs-sm)}.attn li .muted{grid-column:2}.attn i{width:7px;height:7px;margin-top:6px;border-radius:50%}.attn i.warn{background:var(--heat)}.attn i.bad{background:var(--bad)}.mini-perfect li{display:grid;grid-gap:4px;gap:4px;font-size:var(--fs-sm)}.mini-perfect b{font-weight:500;margin-right:6px}.onboard{display:grid;grid-gap:20px;gap:20px}.onboard-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.onboard-steps li{display:grid;grid-gap:6px;gap:6px;align-content:start;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1);font-size:var(--fs-sm)}.onboard-steps li>span:last-child{color:var(--text-2)}@media (max-width:960px){.today-grid{grid-template-columns:1fr}.onboard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.onboard-steps{grid-template-columns:1fr}}.journal-group{display:grid;grid-gap:10px;gap:10px}.journal-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1)}.journal-list li+li{border-top:1px solid var(--line)}.journal-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-gap:16px;gap:16px;padding:14px 18px;transition:background var(--t-fast) var(--ease)}.journal-item:hover{background:var(--surface-2)}.journal-date{color:var(--text-3);font-size:var(--fs-sm)}.journal-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.journal-main b{font-weight:500}.journal-note{font-size:var(--fs-sm)}.journal-score{font-size:var(--fs-md);font-weight:500}@media (max-width:520px){.journal-item{grid-template-columns:1fr auto}.journal-date{grid-column:1/-1}}.fresh-tag{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);white-space:nowrap}.fresh-tag i{width:7px;height:7px;border-radius:50%;background:currentColor}.stash-note{max-width:70ch}.stash-table td:first-child{min-width:180px}.vessel-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.vessel-card{display:grid;grid-gap:8px;gap:8px}.vessel-top{display:flex;justify-content:space-between;align-items:center;min-height:32px}.vessel-card h3{font-size:var(--fs-md);letter-spacing:-.015em}.settings-block{display:grid;grid-gap:12px;gap:12px}.settings-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.settings-block.danger{border-color:rgba(227,138,124,.25)}@media (max-width:1320px){.app .fix{grid-template-columns:1fr}.app .fix-result{border-left:0;border-top:1px solid var(--line)}}.save-to{display:inline-flex;flex-wrap:wrap;gap:6px}.save-to .select select{height:36px;min-width:200px}.shared{max-width:720px}.label-stage{display:grid;place-items:center;padding:24px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line)}.tin-label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;width:100%;max-width:420px;aspect-ratio:1.75;padding:18px 18px 18px 20px;border-radius:10px;background:#f6f5f1;color:#141414;font-family:var(--font-sans);box-shadow:0 10px 30px rgba(0,0,0,.5)}.tin-text{display:grid;grid-gap:5px;gap:5px;min-width:0}.tin-brand{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#6b6a66}.tin-text strong{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.tin-meta{font-size:11px;color:#55544f}.tin-lines{display:grid;grid-gap:2px;gap:2px;margin-top:4px;font-size:12.5px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tin-qr{width:108px;height:108px}@media (max-width:420px){.tin-label{aspect-ratio:auto}.tin-qr{width:88px;height:88px}}@media print{body *{visibility:hidden!important}.print-label,.print-label *{visibility:visible!important}.print-label{position:fixed;top:.5in;left:.5in;width:3.5in;max-width:none;box-shadow:none;border:1px solid #ccc}}.page-head{padding-top:clamp(48px,8vw,96px);padding-bottom:clamp(32px,5vw,48px)}.page-head h1{font-size:var(--fs-2xl);letter-spacing:-.045em}.page-head p{margin-top:16px;color:var(--text-2);font-size:var(--fs-md);max-width:52ch}.page-body{padding-bottom:clamp(72px,10vw,128px)}.notice{max-width:560px;padding:28px;display:grid;grid-gap:16px;gap:16px}.notice p{color:var(--text-2)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.feat-menu{position:relative}.feat-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:color var(--t-fast) var(--ease)}.feat-trigger:hover,.feat-trigger[aria-expanded=true]{color:var(--text)}.feat-trigger svg{transition:transform var(--t-fast) var(--ease)}.feat-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.feat-panel{position:absolute;top:calc(100% + 12px);left:0;width:600px;padding:6px;background:var(--surface-2);border:1px solid var(--line-hover);border-radius:var(--r-lg);box-shadow:0 16px 40px rgba(0,0,0,.55);z-index:60}.nav .feat-panel .feat-overview{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border-radius:var(--r-md)}.feat-overview b{color:var(--text);font-weight:500;font-size:var(--fs-sm)}.feat-overview span{color:var(--text-3);font-size:var(--fs-xs)}.feat-group{margin-top:6px;padding-top:8px;border-top:1px solid var(--line)}.feat-group-label{display:block;padding:2px 12px 4px;color:var(--text-3);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.feat-group-label.nerd{color:var(--accent)}.feat-panel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nav .feat-panel ul a{display:block;padding:7px 12px;border-radius:var(--r-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav .feat-panel a:hover,.nav .feat-panel a[aria-current=page]{background:var(--surface-3);color:var(--text)}.mobile-menu nav{max-height:calc(100dvh - var(--header-h) - 24px);overflow-y:auto;min-width:230px}.menu-sub summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);cursor:pointer}.menu-sub summary::-webkit-details-marker{display:none}.menu-sub summary:hover,.menu-sub[open]>summary{color:var(--text)}.menu-sub summary svg{transition:transform var(--t-fast) var(--ease)}.menu-sub[open]>summary svg{transform:rotate(180deg)}.menu-features{display:grid;margin:2px 0 6px 10px;padding-left:8px;border-left:1px solid var(--line)}.mobile-menu nav .menu-features a{padding:7px 10px}.mobile-menu nav .menu-overview{color:var(--text)}.features li{padding:0;display:block}.features-link{display:grid;grid-template-rows:auto auto 1fr auto;grid-gap:10px;gap:10px;height:100%;padding:24px;color:inherit;transition:background var(--t-fast) var(--ease)}.features-link:hover{background:var(--surface-1)}.features-all{margin-top:24px}.features-all a{color:var(--text);font-size:var(--fs-sm)}@media (max-width:560px){.features li{padding:0}.features-link{padding:20px 16px}}.feature-head{padding-top:clamp(32px,6vw,72px);padding-bottom:clamp(32px,5vw,56px)}.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,4vw,40px);color:var(--text-3);font-size:var(--fs-sm)}.crumbs a{color:var(--text-2)}.crumbs [aria-current],.crumbs a:hover{color:var(--text)}.feature-head-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:end}.feature-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.feature-head h1{font-size:var(--fs-2xl);letter-spacing:-.045em;line-height:1.05;text-wrap:balance}.feature-lede p{color:var(--text-2);font-size:var(--fs-md);max-width:52ch}.feature-lede .cta-row{margin-top:24px}.feature-visual{padding-bottom:clamp(56px,8vw,96px)}.feature-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:start}.feature-h2{font-size:var(--fs-xl);letter-spacing:-.035em;line-height:1.1}.feature-steps{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}.feature-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:16px;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.feature-steps .label{padding-top:4px;color:var(--accent)}.feature-details h3,.feature-steps h3{font-size:var(--fs-md);letter-spacing:-.015em}.feature-details p,.feature-steps p{margin-top:6px;color:var(--text-2);font-size:var(--fs-base);max-width:60ch}.feature-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-details>div{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-weight:500;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;color:var(--text-3);font-family:var(--font-mono);transition:transform var(--t-fast) var(--ease)}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding-bottom:20px;color:var(--text-2);max-width:64ch}.more-row{margin-bottom:24px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-card{display:grid;grid-template-rows:auto auto 1fr auto;grid-gap:10px;gap:10px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:inherit;transition:background var(--t-fast) var(--ease)}.feature-card:hover{background:var(--surface-1)}.feature-card h3{font-size:var(--fs-lg);letter-spacing:-.02em;line-height:1.2}.feature-card p{color:var(--text-2);font-size:var(--fs-sm);max-width:36ch}.feature-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;color:var(--text-2)}.fv-panel{display:grid;grid-gap:16px;gap:16px;align-content:start;padding:clamp(16px,3vw,28px);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0}.fv-panel h3{font-size:var(--fs-lg);letter-spacing:-.02em}.fv-caption{color:var(--text-3);font-size:var(--fs-sm)}.fv-narrow,.fv-timer{max-width:560px;margin-inline:auto}.fv-timer{justify-items:center}.fv-timer .timer-top{display:flex;justify-content:space-between;gap:12px;width:100%}.fv-ring{width:min(280px,70vw)}.fv-ring .timer-num{font-size:clamp(3rem,2.4rem + 3vw,4.5rem)}.fv-schedule{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px;width:100%}.fv-schedule li{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:8px 4px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm)}.fv-schedule li.done{color:var(--text-3);background:var(--surface-2)}.fv-schedule li.now{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.fv-table td,.fv-table th{white-space:nowrap}.fv-table .hl-row td{color:var(--accent);background:var(--accent-soft)}.fv-bars{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.fv-bars li{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 90px;align-items:center;grid-gap:16px;gap:16px;font-size:var(--fs-sm)}.fv-bars li>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-bars li>span:last-child{text-align:right}.fv-bars .bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.fv-bars .bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.fv-harvest{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:16px;gap:16px;align-items:center}.fv-harvest .pill,.fv-trio .pill{justify-self:start}.fv-arrow{color:var(--text-3);font-size:var(--fs-lg)}.fv-accent{border-color:var(--accent-line)}.fv-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.fv-label-stage{padding:clamp(24px,6vw,64px)}.fv-search{pointer-events:none}.fv-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 32px;gap:0 32px}.fv-facts>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.fv-facts dt{color:var(--text-2)}.fv-facts dd{margin:0;text-align:right}@media (max-width:900px){.feature-cols,.feature-head-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-trio{grid-template-columns:1fr}}@media (max-width:640px){.feature-details,.feature-grid,.fv-facts{grid-template-columns:1fr}.feature-card,.feature-details>div{padding:20px 16px}.fv-harvest{grid-template-columns:1fr}.fv-arrow{justify-self:center;transform:rotate(90deg)}.fv-bars li{grid-template-columns:minmax(0,1fr) 80px;gap:4px 12px}.fv-bars .bar{grid-column:1/-1;grid-row:2}.fv-schedule{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:901px){.fv-trio .readout{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-trio .readout>div:nth-child(3){border-left:0}.fv-trio .readout>div:nth-child(n+3){border-top:1px solid var(--line)}.fv-trio .readout .v{font-size:clamp(1.5rem,1rem + 1vw,2rem)}}.feature-page .section{padding-block:clamp(56px,7vw,88px)}.overview-head .cta-row{margin-top:28px}.overview-group-head{align-items:end;margin-bottom:24px;flex-wrap:wrap}.overview-group-head p{max-width:44ch;font-size:var(--fs-sm)}.feature-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.feature-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.feature-grid-4{grid-template-columns:1fr}}.menu-sub summary:focus:not(:focus-visible){outline:none}.menu-sub summary svg{flex:none;margin-left:12px}.overview-group.section{padding-block:clamp(48px,6vw,72px)}.overview-group+.overview-group{border-top:0;padding-top:0}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1)}.stat{display:grid;grid-gap:6px;gap:6px;align-content:start;padding:16px 20px 18px;min-width:0}.stat+.stat{border-left:1px solid var(--line)}.stat b{font-size:clamp(1.75rem,1.3rem + 1.4vw,2.25rem);font-weight:500;letter-spacing:-.04em;line-height:1}.stat-delta{color:var(--text-3)}.stat-delta.down,.stat-delta.up{color:var(--text-2)}.stat-delta.up:first-letter{color:var(--accent)}@media (max-width:760px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.stat{padding:14px 16px}}.picker{display:grid;grid-gap:14px;gap:14px;border-color:var(--accent-line);background:linear-gradient(180deg,var(--accent-soft),transparent 70%),var(--surface-1)}.picker>p{max-width:60ch}.picker-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.picker-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px}.picker-progress i{height:3px;border-radius:999px;background:var(--surface-4)}.picker-progress i.done{background:var(--accent-line)}.picker-progress i.now{background:var(--accent)}.picker-q{margin:0;padding:0;border:0;display:grid;grid-gap:12px;gap:12px;min-width:0}.picker-q legend{display:grid;grid-gap:4px;gap:4px;padding:0;margin-bottom:12px}.picker-q legend b{font-size:var(--fs-lg);font-weight:500;letter-spacing:-.02em}.picker-result{display:grid;grid-gap:14px;gap:14px}.picker-pick{display:grid;grid-gap:4px;gap:4px;justify-items:start}.picker-name{font-size:var(--fs-xl);font-weight:500;letter-spacing:-.035em;line-height:1.1}.picker-name:hover{color:var(--accent)}.picker-recipe{margin-top:6px;padding:4px 9px;border-radius:5px;border:1px solid var(--line);background:var(--surface-2);font-family:var(--font-mono);font-size:.75rem;color:var(--text)}.picker-reasons{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;font-size:var(--fs-sm);color:var(--text-2)}.picker-reasons li{display:flex;gap:10px;align-items:baseline}.picker-reasons li:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}.link-btn{padding:0;border:0;background:none;color:var(--text);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer}.link-btn:hover{color:var(--accent)}.insights{margin-top:16px}.insights-head{flex-wrap:wrap;align-items:center}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.insight{display:grid;grid-gap:14px;gap:14px;align-content:start;min-width:0}.insight-wide{grid-column:1/-1}.insight-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.insight-head h3{font-size:var(--fs-base);font-weight:500;letter-spacing:-.01em}.chart-readout{min-height:1.4em;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chart-readout b{font-weight:500}.chart-empty{padding:32px 0;text-align:center}.chart{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:160px auto;grid-column-gap:8px;column-gap:8px;grid-row-gap:8px;row-gap:8px}.chart-y{position:relative}.chart-y span{position:absolute;right:0;transform:translateY(50%);color:var(--text-3);font-family:var(--font-mono);font-size:.6875rem;line-height:1}.chart-plot{position:relative;border-bottom:1px solid var(--line-strong)}.chart-gridline{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--line)}.chart-bars{position:absolute;inset:0;display:flex;align-items:stretch;gap:2px}.chart-col{flex:1 1;min-width:0;position:relative;display:flex;align-items:flex-end;padding:0;border:0;border-radius:4px 4px 0 0;background:transparent;cursor:pointer}.chart-col.on,.chart-col:focus-visible,.chart-col:hover{background:var(--surface-2)}.chart-col:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chart-bar{display:block;width:100%;max-width:28px;margin-inline:auto;min-height:3px;border-radius:4px 4px 0 0;background:var(--accent);opacity:.85;transition:opacity var(--t-fast) var(--ease)}.chart-col.on .chart-bar,.chart-col:hover .chart-bar{opacity:1}.chart-bars.dense{gap:1px}.chart-bars.dense .chart-bar{border-radius:2px 2px 0 0}.chart-x{grid-column:2;display:flex;justify-content:space-between;color:var(--text-3);font-family:var(--font-mono);font-size:.6875rem}.hbars{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.hbars li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;font-size:var(--fs-sm)}.hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-label a:hover{color:var(--accent)}.hbar-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.hbar-track i{display:block;height:100%;min-width:4px;border-radius:999px;background:var(--accent)}.hbar-value{min-width:56px;text-align:right;color:var(--text-2);font-size:var(--fs-xs)}.totals{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.totals>div{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.totals dt{color:var(--text-3);font-size:var(--fs-xs)}.totals dd{margin:0;font-size:var(--fs-lg);font-weight:500;letter-spacing:-.02em}@media (max-width:1100px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.insight-grid{grid-template-columns:1fr}.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.chart{grid-template-rows:130px auto}}.text-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.accent,.text-link:hover{color:var(--accent)}.btn-sm{height:28px;padding-inline:10px;font-size:var(--fs-xs)}.side-label-link{display:block;color:var(--text-3)}.side-label-link:hover,.side-label-link[aria-current=page]{color:var(--accent)}.nerd-badge{vertical-align:middle}.nerd-lock{display:grid;grid-gap:14px;gap:14px;justify-items:start}.nerd-lock-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.nerd-lock-points{margin:0;padding-left:18px;color:var(--text-2);display:grid;grid-gap:6px;gap:6px}.nerd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px}.nerd-tile{display:grid;grid-gap:6px;gap:6px;align-content:start;justify-items:start;transition:border-color var(--t-fast) var(--ease)}.nerd-tile:hover{border-color:var(--accent-line)}.nerd-tile-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:6px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent)}.nerd-inline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 24px;gap:10px 24px}.nerd-inline li{display:grid;grid-gap:2px;gap:2px}.nerd-inline a:hover{color:var(--accent)}@media (max-width:640px){.nerd-inline{grid-template-columns:1fr}}.steep-note{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;width:min(420px,100%);margin-inline:auto;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1)}.steep-note-foot{justify-self:end}.steep-curve{display:flex;align-items:flex-end;gap:4px;height:90px}.steep-col{flex:1 1;display:grid;grid-template-rows:1fr auto;height:100%;grid-gap:4px;gap:4px;text-align:center;font-size:.6875rem;color:var(--text-3)}.steep-col i{align-self:end;display:block;min-height:3px;border-radius:3px 3px 0 0;background:var(--surface-4)}.steep-col.peak i{background:var(--accent)}.steep-col.peak{color:var(--accent)}.palate-summary p{font-size:var(--fs-md);color:var(--text-2);max-width:70ch}.palate-summary b{color:var(--text);font-weight:500}.taste-compare{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.taste-compare li{display:grid;grid-template-columns:96px minmax(0,1fr) 64px;align-items:center;grid-gap:12px;gap:12px;font-size:var(--fs-sm)}.taste-compare li>span:last-child{text-align:right}.taste-track{position:relative;height:8px;border-radius:999px;background:var(--surface-3)}.taste-track i{position:absolute;top:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 2px var(--surface-1)}.dot.loved,.taste-track i.loved{background:var(--accent)}.dot.rest,.taste-track i.rest{background:var(--text-3)}.dim{color:var(--text-3)}.legend-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.rest{margin-left:10px}.insight-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:700px){.insight-grid.two{grid-template-columns:1fr}}.tasting{display:grid;grid-gap:16px;gap:16px}.tasting-cups{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.tasting-cup{display:grid;grid-gap:10px;gap:10px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.tasting-letter{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);font-weight:600;font-size:var(--fs-md)}.tasting-key{border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:10px 14px}.tasting-key summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-sm)}.tasting-key ul{margin:10px 0 0;grid-gap:6px;gap:6px}.tasting-key ul,.tasting-results{list-style:none;padding:0;display:grid}.tasting-results{margin:0;grid-gap:8px;gap:8px}.tasting-results li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md)}.tasting-results li.winner{border-color:var(--accent-line);background:var(--accent-soft)}.tasting-results li.winner .tasting-letter{border-color:var(--accent);color:var(--accent)}.tasting-who{display:grid;grid-gap:2px;gap:2px;min-width:0}.tasting-score{font-size:var(--fs-lg);font-weight:500}.stat-text{font-size:var(--fs-lg)!important;letter-spacing:-.02em!important;line-height:1.2!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-strip.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:760px){.stat-strip.three{grid-template-columns:1fr}.stat-strip.three .stat{border-left:0}.stat-strip.three .stat+.stat{border-top:1px solid var(--line)}}.table .hl-row td{background:var(--accent-soft)}.wish-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end}@media (max-width:1100px){.wish-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wish-form>.field:first-child{grid-column:1/-1}}.wish-list{list-style:none;margin:0;padding:0;display:grid}.wish-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.wish-list li.done .wish-main b{color:var(--text-3);text-decoration:line-through}.wish-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.wish-check{display:grid;place-items:center;width:20px;height:20px;padding:0;border-radius:5px;border:1px solid var(--line-strong);background:transparent;color:var(--accent-ink);cursor:pointer}.wish-check[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.attn li .btn-sm{justify-self:start;margin-top:4px}.currency-input{width:64px;text-align:center}.cellar-list{display:grid;grid-gap:10px;gap:10px}.cellar-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center}.cellar-item.ready{border-color:var(--accent-line)}.cellar-age{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:10px 0;border-radius:var(--r-md);background:var(--surface-2)}.cellar-age b{font-size:var(--fs-xl);font-weight:500;letter-spacing:-.04em;line-height:1}.cellar-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.cellar-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;margin-top:6px;max-width:520px}.cellar-progress .hbar-track{display:block}.cellar-side{display:grid;justify-items:end;grid-gap:4px;gap:4px}@media (max-width:560px){.cellar-item{grid-template-columns:60px minmax(0,1fr)}.cellar-side{grid-column:1/-1;grid-template-columns:auto auto 1fr;justify-items:start;align-items:center;gap:12px}.cellar-side .btn{justify-self:end}.cellar-progress{grid-template-columns:1fr;gap:6px}}.year-card{display:grid;grid-gap:24px;gap:24px;padding:clamp(20px,4vw,40px);border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(120% 80% at 0 0,var(--accent-soft),transparent 60%),var(--surface-1)}.year-hero{display:grid;grid-gap:6px;gap:6px}.year-hero b{font-size:clamp(3.5rem,2rem + 8vw,7rem);font-weight:600;letter-spacing:-.06em;line-height:.9}.year-stats{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px 24px;gap:20px 24px}.year-stats dt{color:var(--text-3);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.year-stats dd{margin:4px 0 0;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.25rem);font-weight:500;letter-spacing:-.04em}.year-lines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 24px;gap:0 24px;border-top:1px solid var(--line)}.year-lines li{display:grid;grid-gap:4px;gap:4px;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}.year-lines b{font-weight:500;font-size:var(--fs-md)}@media (max-width:640px){.year-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.year-lines{grid-template-columns:1fr}}.collection{display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.collection-item{display:grid;grid-gap:8px;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);page-break-inside:avoid;break-inside:avoid}.collection-head{display:grid;grid-gap:2px;gap:2px}.collection-head b{font-size:var(--fs-md);font-weight:500}.collection-recipes{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.collection-recipes li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:var(--fs-sm)}.print-only{display:none}.plan-compare-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 24px;gap:16px 24px}.plan-compare-mini ul{margin:8px 0 0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;font-size:var(--fs-sm);color:var(--text-2)}.plan-compare-mini .nerd-list li::marker{color:var(--accent)}@media (max-width:560px){.plan-compare-mini{grid-template-columns:1fr}}.form-set{margin:0;padding:14px 16px 16px;border:1px solid var(--line);border-radius:var(--r-md);display:grid;grid-gap:12px;gap:12px;min-width:0}.form-set legend{padding:0 6px;font-size:var(--fs-sm);color:var(--text-2)}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:560px){.form-row-3{grid-template-columns:1fr}}@media print{body.print-collection .collection,body.print-collection .collection *{visibility:visible!important;color:#111!important;border-color:#ccc!important}body.print-collection .collection .pill{background:none!important}body.print-collection .app-page-head,body.print-collection .app-sidebar,body.print-collection .app-topbar,body.print-collection .no-print,body.print-collection .tabbar{display:none!important}body.print-collection .print-only{display:flex;justify-content:space-between;padding-bottom:12px}body.print-collection,body.print-collection .app-main-area{background:#fff!important;margin:0!important;padding:0!important}}.chart.chart-money{grid-template-columns:52px minmax(0,1fr)}.legend-row{gap:4px 14px}.legend-row>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dot.rest{margin-left:0}.nerd-tile b,.wish-main b{font-weight:500}.fv-today{display:grid;grid-gap:12px;gap:12px}.fv-today-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fv-panel-flat,.fv-today-row{display:grid;grid-gap:12px;gap:12px}.fv-panel-flat{align-content:start}.fv-minibars{display:flex;align-items:flex-end;gap:4px;height:120px;border-bottom:1px solid var(--line-strong)}.fv-minibars i{flex:1 1;min-height:2px;border-radius:4px 4px 0 0;background:var(--accent);opacity:.85}.fv-narrow-panel{max-width:640px;margin-inline:auto;width:100%}.fv-steep{height:120px}.fv-fake-input{display:flex;align-items:center;color:var(--text-2)}.fv-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.fv-year{max-width:720px;margin-inline:auto}.fv-stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.fv-paper{max-width:640px;margin-inline:auto;padding:clamp(20px,4vw,36px);border-radius:var(--r-md);background:#f6f5f1;color:#1b1b1c;box-shadow:0 20px 50px rgba(0,0,0,.45);display:grid;grid-gap:0;gap:0;font-size:var(--fs-sm)}.fv-paper header{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid #1b1b1c}.fv-paper-row{display:grid;grid-gap:2px;gap:2px;padding:12px 0;border-bottom:1px solid #d6d4cc}.fv-paper-row span{color:#55545a}.fv-paper-row i{font-style:normal;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;margin-right:6px;border:1px solid #b9b7ae;border-radius:999px;color:#1b1b1c}@media (max-width:760px){.fv-duo,.fv-stats-3,.fv-today-row{grid-template-columns:1fr}.fv-stats-3 .stat+.stat{border-left:0;border-top:1px solid var(--line)}}.stack-lg{display:grid;grid-gap:clamp(48px,7vw,80px);gap:clamp(48px,7vw,80px)}.plan-list-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}@media (max-width:720px){.pricing{grid-template-columns:1fr}}@media (max-width:460px){.plan-list-2{grid-template-columns:1fr}}.plan-note{flex-wrap:wrap;gap:8px 14px;margin:0 0 clamp(24px,4vw,40px);padding:12px 16px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text-2);font-size:var(--fs-sm)}.features-top,.plan-note{display:flex;align-items:center}.features-top{justify-content:space-between;gap:8px}.feature-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.feature-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.feature-grid-5{grid-template-columns:1fr}}.nerd-extras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--accent-line);border-left:1px solid var(--line)}.nerd-extras li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.nerd-extras a{display:grid;grid-gap:8px;gap:8px;height:100%;padding:22px 24px;transition:background var(--t-fast) var(--ease)}.nerd-extras a:hover{background:var(--surface-1)}.nerd-extras b{font-weight:500;font-size:var(--fs-md);letter-spacing:-.015em}.nerd-extras span{color:var(--text-2);font-size:var(--fs-sm)}@media (max-width:900px){.nerd-extras{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.nerd-extras{grid-template-columns:1fr}.nerd-extras a{padding:18px 16px}}.cmp{overflow-x:auto;scroll-margin-top:calc(var(--header-h) + 24px)}.cmp-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.cmp-table td,.cmp-table th{padding:12px 20px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.cmp-table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-1);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.cmp-table thead th:last-child{color:var(--accent)}.cmp-table td{width:140px}.cmp-table td,.cmp-table thead th:not(:first-child){text-align:center}.cmp-group th{padding-top:22px;color:var(--text);font-weight:500!important;font-size:var(--fs-base)}.cmp-link,.cmp-table tbody th[scope=row]{color:var(--text-2)}.cmp-link:hover{color:var(--accent)}.cmp-nerd td:last-child{background:var(--accent-soft)}.cmp-yes{display:inline-grid;color:var(--accent)}.cmp-no{color:var(--text-3)}.cmp-text{color:var(--text)}@media (max-width:560px){.cmp-table td,.cmp-table th{padding:10px 12px}.cmp-table td{width:88px}}.menu-sub-2 summary{padding:7px 10px}.menu-sub-2 .menu-features{margin-left:6px}.nerd-extras a{align-content:start}.section-row{flex-wrap:wrap}.section-row .seg{flex-shrink:0}.kettle-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;margin-top:14px}.kettle-line{display:flex;gap:10px;align-items:baseline;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text)}.kettle-line .label{flex:none;color:var(--heat)}.result .kettle-line{margin-top:4px}.kettle-ask{display:grid;grid-gap:10px;gap:10px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--r-md);font-size:var(--fs-sm)}.kettle-ask b{font-weight:500}.chip-link{display:inline-flex;align-items:center}.kettle-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.kettle-kind{display:grid;grid-gap:4px;gap:4px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--t-fast) var(--ease)}.kettle-kind b{font-weight:500}.kettle-kind span{color:var(--text-3);font-size:var(--fs-xs);line-height:1.4}.kettle-kind:hover{border-color:var(--line-hover)}.kettle-kind[aria-checked=true]{border-color:var(--accent-line);background:var(--accent-soft)}.kettle-kind[aria-checked=true] b{color:var(--accent)}.kettle-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.kettle-section{scroll-margin-top:80px}.timer-kettle{margin:-4px 0 0;text-align:center;max-width:420px}@media (max-width:640px){.kettle-kinds,.kettle-row{grid-template-columns:1fr}.kettle-row{gap:6px}}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-3);opacity:.65}.input[aria-invalid=true]{border-color:var(--bad)}.backup-nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 16px;border:1px solid var(--line-hover);border-radius:var(--r-md);background:var(--surface-1);font-size:var(--fs-sm)}.backup-nudge b{font-weight:500}.backup-actions{display:flex;gap:6px}.gongfu-tip{margin:4px 0 0;max-width:62ch}.import-confirm{display:grid;grid-gap:12px;gap:12px;padding:14px 16px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft)}.import-confirm b{font-weight:500}.hero h1 .dim{display:block;color:var(--text-3)}.hero-copy{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}.hero h1{font-size:clamp(2.75rem,1.2rem + 4.6vw,5.25rem)}@media (max-width:900px){.hero-copy{grid-template-columns:1fr}}.section-head p strong{color:var(--text);font-weight:500}.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.pillars>li{display:grid;grid-template-rows:auto auto auto 1fr auto;grid-gap:12px;gap:12px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.pillars h3{font-size:var(--fs-lg);letter-spacing:-.02em;line-height:1.2}.pillars>li>p{color:var(--text-2);font-size:var(--fs-sm)}.pillar-links{list-style:none;margin:4px 0 0;padding:0;display:grid;align-content:start;border-top:1px solid var(--line)}.pillar-links a{display:flex;justify-content:space-between;gap:8px;color:var(--text);transition:color var(--t-fast) var(--ease)}.pillar-fact,.pillar-links a{padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.pillar-fact{color:var(--text-2)}.pillar-links a .arrow{color:var(--text-3)}.pillar-links a:hover,.pillar-links a:hover .arrow{color:var(--accent)}@media (max-width:1000px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.pillars{grid-template-columns:1fr}.pillars>li{padding:20px 16px}}.privacy-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.privacy-points li{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1);font-size:var(--fs-sm)}.privacy-points b{font-size:var(--fs-md);font-weight:500;letter-spacing:-.015em}.privacy-points span{color:var(--text-2)}@media (max-width:1000px){.privacy-points{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.privacy-points{grid-template-columns:1fr}}.how-chart{margin-top:clamp(40px,6vw,64px)}.plan.featured{grid-template-rows:auto auto auto auto 1fr auto}.plan>p.plan-safe{padding:10px 12px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--text)}.after-tool-install{display:none;align-items:center;gap:6px;margin-top:28px;padding:0;border:0;background:none;color:var(--accent);font-size:var(--fs-sm);font-weight:500;cursor:pointer}.btn.final-install{display:none}@media (max-width:860px){.after-tool-install,.btn.final-install{display:inline-flex}}.save-warning{margin:16px var(--gutter) 0;padding:12px 14px;border:1px solid rgba(227,138,124,.4);border-radius:var(--r-md);background:var(--bad-soft);color:var(--text);font-size:var(--fs-sm)}.save-warning b{font-weight:500}.import-skip{margin-top:10px;padding:10px 12px;border:1px solid rgba(227,138,124,.4);border-radius:var(--r-sm);background:var(--bad-soft);font-size:var(--fs-sm)}.import-skip b{font-weight:500}.more-detail{border:1px solid var(--line);border-radius:var(--r-md);padding:0 14px;min-width:0}.more-detail>summary{cursor:pointer;list-style:none;padding:12px 0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-weight:500}.more-detail>summary::-webkit-details-marker{display:none}.more-detail>summary:before{content:"+";display:inline-block;width:1ch;color:var(--text-2)}.more-detail[open]>summary:before{content:"−"}.more-detail[open]>.form-grid,.more-detail[open]>.stack{padding-bottom:14px}.start-preview{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);min-width:0}.start-preview b{overflow-wrap:anywhere}.start-preview details summary,.why-recipe summary{cursor:pointer;color:var(--accent);font-size:var(--fs-sm);width:-moz-fit-content;width:fit-content}.start-preview details p,.why-recipe p{margin:6px 0 0}.rinse-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.tag-groups{display:grid;grid-gap:10px;gap:10px}.tag-groups .label{display:block;margin-bottom:6px}.chips.sm .chip{height:28px;padding-inline:10px}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px 16px;gap:10px 16px;margin:0}.kv-grid div{min-width:0}.kv-grid dt{font-size:var(--fs-sm);color:var(--text-2)}.kv-grid dd{margin:2px 0 0;overflow-wrap:anywhere}.checkpoints{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.checkpoints li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.water-test{display:grid;grid-gap:10px;gap:10px}.water-test-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;grid-gap:8px 12px;gap:8px 12px;align-items:center}.water-test-row .input{min-width:0}.arc{font-size:var(--fs-sm);color:var(--text-2)}.filter-bar{display:flex;flex-wrap:wrap;gap:8px}.filter-bar .select{min-width:0;flex:1 1 140px}.fv-quad{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:640px){.fv-quad{grid-template-columns:1fr}}.fv-window+.fv-window{margin-top:10px}.fv-window p{margin:8px 0 6px}.check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);cursor:pointer}.check input{accent-color:var(--accent);width:16px;height:16px}.steep-col.opening i{background:var(--line-strong)}.steep-col.fade i{background:var(--surface-3);opacity:.7}.solo-stepper{width:210px;max-width:100%;border:1px solid var(--line);border-radius:var(--r-md)}.solo-stepper .stepper{padding:10px 12px}.form-set input[type=date]{min-width:0;width:100%}textarea.input{font-family:inherit}