@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Dwzd0TKx.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal--EtKVqC7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BKTgBNmI.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-DDbeQdWO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-DkTWoOHj.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-DXKoNrs9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-BriLmxM2.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-CVvOgo6s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--ink-950: #120d18;--ink-900: #1b1424;--ink-850: #241a2f;--glass: rgba(255, 255, 255, .075);--line: #6f657b;--paper: #fff9ee;--muted: #d0c6d8;--lime: #cff58a;--lime-ink: #172006;--apricot: #ffb38a;--rose: #ff9eb5;--mint: #8ef0cc;--display: "Fraunces Variable", Georgia, serif;--body: "Atkinson Hyperlegible", system-ui, sans-serif;font-family:var(--body);background:var(--ink-950);color:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink-950)}body{margin:0;min-width:320px;background:radial-gradient(circle at 75% 12%,#36233c 0,var(--ink-950) 35rem);color:var(--paper);font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:var(--lime);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button{color:inherit}:focus-visible{outline:3px solid var(--apricot);outline-offset:4px}::selection{color:var(--lime-ink);background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:560;letter-spacing:-.035em;line-height:.98}h1{font-size:clamp(2.75rem,7.5vw,5.5rem);max-width:11ch;margin-bottom:24px}h2{font-size:clamp(2.2rem,5vw,4rem);max-width:13ch}h3{font-size:1.25rem;line-height:1.2}img{display:block;max-width:100%}label{display:grid;gap:6px;font-weight:700}input,textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#0c0811b8;color:var(--paper);padding:10px 12px}textarea{resize:vertical;line-height:1.5}input:hover,textarea:hover{border-color:var(--muted)}input:focus,textarea:focus{border-color:var(--apricot)}button:disabled{opacity:.4;cursor:not-allowed}code{color:var(--apricot)}.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:fixed;left:16px;top:-80px;z-index:100;background:var(--lime);color:var(--lime-ink);padding:12px 18px;font-weight:700;border-radius:8px}.skip-link:focus{top:16px}.site-header{min-height:80px;max-width:1440px;margin:auto;padding:16px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:10px;color:var(--paper);font-weight:700;text-decoration:none}.wordmark svg{width:38px;height:38px;overflow:visible}.wordmark svg path:first-child{fill:var(--lime);stroke:none}.wordmark svg path:last-child{fill:none;stroke:var(--paper);stroke-width:3;stroke-linecap:round}.site-header nav,footer nav{display:flex;align-items:center;gap:clamp(12px,3vw,32px)}.site-header nav a{color:var(--muted);font-weight:700;min-height:44px;display:inline-flex;align-items:center}main{overflow:hidden}.eyebrow{color:var(--lime);font-size:.875rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}.hero{max-width:1440px;margin:0 auto;padding:clamp(48px,8vw,112px) clamp(20px,5vw,72px) 96px;min-height:calc(100vh - 80px);display:grid;grid-template-columns:minmax(0,5fr) minmax(340px,7fr);align-items:center;gap:clamp(32px,6vw,88px)}.hero-copy{position:relative;z-index:2}.lede{max-width:43ch;font-size:1.25rem;color:var(--muted);line-height:1.5;margin-bottom:28px}.hero-actions,.cart-actions{display:flex;flex-wrap:wrap;gap:12px}.button{border:1px solid var(--line);min-height:48px;border-radius:999px;padding:11px 20px;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}.button.secondary{background:var(--glass);color:var(--paper);backdrop-filter:blur(16px)}.button.small{min-height:44px;padding:8px 16px}.after-action{color:var(--muted);font-size:.9rem;margin:10px 0 24px}.plain-facts{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--muted)}.plain-facts li{display:flex;align-items:center;gap:9px}.plain-facts li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint)}.hero-art{margin:0;position:relative;min-width:0}.hero-art:before{content:"";position:absolute;inset:-1px;border:1px solid rgba(207,245,138,.32);clip-path:polygon(0 0,93% 0,100% 10%,100% 100%,7% 100%,0 90%);z-index:1;pointer-events:none}.hero-art img{width:100%;aspect-ratio:3 / 2;object-fit:cover;clip-path:polygon(0 0,93% 0,100% 10%,100% 100%,7% 100%,0 90%);box-shadow:0 40px 90px #050308}.hero-art figcaption{position:absolute;right:24px;bottom:18px;z-index:2;color:var(--paper);background:#120d18c7;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.82rem;backdrop-filter:blur(10px)}.workspace{max-width:1440px;margin:0 auto;padding:112px clamp(20px,5vw,72px);scroll-margin-top:16px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);max-width:34ch}.workspace-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:24px;align-items:start}.recipes-column{min-width:0}.panel-heading,.cart-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.panel-heading h3,.cart-topline h3{margin:0;font-size:1.5rem}.panel-heading h3 span,.cart-topline h3 span{color:var(--lime);font-family:var(--display);font-variant-numeric:tabular-nums}.recipe-stack{display:grid;gap:16px}.recipe-pane{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;padding:clamp(20px,4vw,32px);background:linear-gradient(120deg,#ffffff17,#ffffff09);border:1px solid rgba(255,255,255,.2);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);box-shadow:inset 0 1px #ffffff1a,0 18px 55px #0000002e;backdrop-filter:blur(18px)}.recipe-pane>label:first-of-type{grid-column:1}.recipe-pane>label:first-of-type input{font-size:1.2rem;font-weight:700}.recipe-index{font-family:var(--display);font-size:2rem;color:var(--apricot);opacity:.75;font-variant-numeric:tabular-nums}.recipe-pane>label:last-of-type{grid-column:1 / -1}.recipe-pane>.danger{grid-column:1 / -1;justify-self:start}.servings-grid{grid-column:1 / -1;display:grid;grid-template-columns:1fr 24px 1fr;align-items:end;gap:12px;max-width:430px}.servings-grid>span{padding-bottom:10px;text-align:center;color:var(--lime)}.hint{color:var(--muted);font-size:.82rem;font-weight:400}.text-button{min-height:44px;padding:8px 4px;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-weight:700;cursor:pointer;color:var(--lime)}.text-button.danger{color:var(--rose)}.empty-state{padding:64px 28px;text-align:center;border:1px dashed var(--line);background:#ffffff06}.empty-state p{color:var(--muted)}.empty-rings{width:80px;height:80px;margin:0 auto 24px;border:1px solid var(--lime);border-radius:50%;box-shadow:inset 0 0 0 14px var(--ink-950),inset 0 0 0 15px var(--apricot);opacity:.7}.cart-plane{position:sticky;top:16px;padding:clamp(22px,4vw,36px);color:#241a2f;background:#fff9ee;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%);box-shadow:0 35px 90px #00000059,0 0 55px #cff58a14}.cart-plane .eyebrow{color:#5a6e1d}.cart-plane .cart-topline h3 span{color:#49620f}.signal{width:10px;height:10px;border-radius:50%;background:#5d810f;box-shadow:0 0 16px #83a939}.cart-help{color:#5b5164}.cart-list{list-style:none;padding:0;margin:0;border-top:1px solid #c4b9c9}.cart-row{display:grid;grid-template-columns:36px 72px 58px minmax(90px,1fr);align-items:center;gap:6px;border-bottom:1px solid #d5cbd8;padding:10px 0}.cart-row input{min-height:40px;padding:6px;background:transparent;color:#241a2f;border-color:transparent}.cart-row input:hover,.cart-row input:focus{border-color:#695e70;background:#fff}.cart-row details{grid-column:2 / -1;color:#5b5164;font-size:.82rem}.cart-row details ul{padding-left:20px;margin-bottom:4px}.cart-row details summary{min-height:32px;cursor:pointer;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.cart-row .uncertain summary{color:#8a3c1f;font-weight:700}.pantry-check{display:block}.pantry-check input{position:absolute;opacity:0;width:1px;height:1px}.pantry-check span:not(.sr-only){width:26px;height:26px;border:2px solid #655b6d;border-radius:50%;display:block;cursor:pointer}.pantry-check input:checked+span{background:#49710c;border-color:#49710c;box-shadow:inset 0 0 0 5px #fff9ee}.pantry-check input:focus-visible+span{outline:3px solid #9b431e;outline-offset:3px}.cart-row.is-pantry{opacity:.68}.cart-row.is-pantry .name-edit input{text-decoration:line-through}.quantity-edit input{font-family:var(--display);font-size:1.15rem;font-variant-numeric:tabular-nums;text-align:right}.unit-edit input{color:#5b5164}.name-edit input{font-weight:700}.pantry-group{margin:20px 0}.pantry-group>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}.cart-empty{min-height:280px;display:grid;place-content:center;text-align:center;border-block:1px solid #d5cbd8;color:#5b5164}.cart-empty p{font-family:var(--display);font-size:1.5rem;color:#241a2f;margin-bottom:4px}.error-box{border-left:5px solid #b14e2a;background:#ffe0cf;padding:14px;margin-bottom:20px}.error-box ul{padding-left:20px;margin-bottom:0}.cart-actions{margin-top:28px}.cart-plane .button.primary{background:#31430d;color:#fff;border-color:#31430d}.cart-plane .button.secondary{background:transparent;color:#241a2f;border-color:#695e70}.data-actions{display:flex;gap:18px;margin-top:10px}.cart-plane .text-button{color:#40590d}.file-label{display:inline-flex;align-items:center;cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.snapshot-strip{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:28px;margin-top:24px;border:1px solid var(--line);background:var(--glass)}.snapshot-strip h3{margin-bottom:8px}.snapshot-strip p:last-child{color:var(--muted);margin:0}.snapshot-controls{display:flex;align-items:end;gap:12px}.snapshots{list-style:none;padding:0;margin:0;border-inline:1px solid var(--line)}.snapshots li{display:flex;align-items:center;gap:20px;padding:12px 20px;border-bottom:1px solid var(--line)}.snapshots li span{display:grid;flex:1}.snapshots small{color:var(--muted)}.how,.boundaries,.plus{max-width:1296px;margin:0 auto;padding:112px clamp(20px,5vw,72px)}.how>h2{margin-bottom:56px}.how ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}.how li{min-height:260px;padding:32px;background:var(--ink-950);display:flex;flex-direction:column;justify-content:space-between}.how li>span{font-family:var(--display);color:var(--apricot);font-size:3rem}.how li p{color:var(--muted);margin-bottom:0}.boundaries{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-block:1px solid var(--line)}.boundaries p{color:var(--muted);font-size:1.1rem}.plus{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.plus>div:first-child>p:last-child{color:var(--muted);max-width:52ch}.price{display:flex;align-items:baseline;gap:10px}.price span{font:600 3.5rem var(--display);color:var(--lime)}.purchase-box{padding:32px;border:1px solid rgba(207,245,138,.35);background:linear-gradient(130deg,#cff58a1a,#ffffff08);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}.purchase-box>p{color:var(--muted)}.purchase-box details{margin:20px 0}.purchase-box summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline}.purchase-box form{display:grid;gap:12px;padding-top:12px}.demo-banner{position:relative;z-index:20;min-height:48px;padding:4px clamp(20px,5vw,72px);display:flex;justify-content:center;align-items:center;gap:28px;background:var(--lime);color:var(--lime-ink)}.demo-banner span{display:flex;gap:16px}.demo-banner .text-button{color:var(--lime-ink)}.demo-intro{max-width:1296px;padding:72px clamp(20px,5vw,72px) 0;margin:auto}.demo-intro h1{max-width:13ch}.demo-intro>p:last-child{color:var(--muted);font-size:1.2rem}.demo-intro+.workspace{padding-top:64px}.demo-note{max-width:1152px;margin:0 auto 112px;padding:32px;border-left:4px solid var(--mint);background:var(--glass)}.legal,.not-found{max-width:800px;min-height:calc(100vh - 200px);margin:0 auto;padding:96px 24px 120px}.legal h1,.not-found h1{max-width:13ch}.legal>p,.legal li{color:var(--muted);font-size:1.1rem}.legal h2{font-size:2rem;margin-top:48px}.not-found{position:relative}.lost-pane{position:absolute;right:-100px;top:70px;font:600 16rem/1 var(--display);color:transparent;-webkit-text-stroke:1px rgba(207,245,138,.25);transform:rotate(8deg)}footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);padding:40px clamp(20px,5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;color:var(--muted);font-size:.9rem}footer p{margin:0}footer>p:last-child{text-align:right}.live-region{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;max-width:calc(100vw - 32px);background:var(--paper);color:var(--ink-950);border-radius:999px;box-shadow:0 12px 50px #000;padding:12px 20px;font-weight:700}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:48px}.hero-art{order:-1;max-height:280px;overflow:hidden}.hero-art img{max-height:280px}.workspace-grid{grid-template-columns:1fr}.cart-plane{position:static;order:-1}.section-heading,.boundaries,.plus{grid-template-columns:1fr;display:grid;gap:24px}.how ol{grid-template-columns:1fr}.how li{min-height:180px}.snapshot-strip{align-items:stretch;flex-direction:column}footer{grid-template-columns:1fr}footer>p:last-child{text-align:left}}@media(max-width:560px){body{font-size:17px}.site-header{padding:12px 18px}.site-header nav a:nth-child(2){display:none}.site-header nav{gap:14px}.wordmark span{font-size:.95rem}.hero{padding:24px 20px 72px;min-height:auto;gap:36px}.hero-art{margin-inline:-20px;max-height:220px}.hero-art img{max-height:220px;clip-path:none}.hero-art:before{display:none}.hero-art figcaption{right:12px;bottom:10px}h1{font-size:clamp(2.8rem,15vw,4.3rem)}.hero-actions .button{width:100%}.workspace,.how,.boundaries,.plus{padding:80px 18px}.section-heading{align-items:start}.section-heading>p{margin-bottom:0}.cart-plane{margin-inline:-2px;padding:26px 16px}.cart-row{grid-template-columns:32px 64px 52px minmax(80px,1fr);gap:2px}.recipe-pane{grid-template-columns:1fr auto;padding:20px 16px}.demo-banner{padding:8px 16px;align-items:flex-start;flex-direction:column;gap:0}.snapshot-controls{align-items:stretch;flex-direction:column}.snapshots li{align-items:flex-start;flex-wrap:wrap}footer nav{align-items:flex-start;flex-direction:column;gap:8px}}@media print{@page{margin:1.5cm}body{background:#fff;color:#000}.site-header,.hero,.recipes-column,.section-heading,.cart-actions,.data-actions,.snapshot-strip,.snapshots,.how,.boundaries,.plus,footer,.demo-banner,.demo-intro,.demo-note,.cart-help,.error-box{display:none!important}.workspace{padding:0}.workspace-grid{display:block}.cart-plane{position:static;clip-path:none;box-shadow:none;padding:0;color:#000}.cart-plane:before{content:"BATCH CART";display:block;font:700 14px var(--body);letter-spacing:.15em;margin-bottom:12px}.cart-row{break-inside:avoid;grid-template-columns:30px 70px 60px 1fr}.cart-row input{color:#000}.cart-row details{display:none}.pantry-group{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.button:hover{transform:none}}
