@font-face{font-family:Spectral;src:url(/fonts/Spectral-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Spectral;src:url(/fonts/Spectral-Italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Spectral;src:url(/fonts/Spectral-SemiBold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Spectral;src:url(/fonts/Spectral-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk.ttf)format("truetype");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-Italic.ttf)format("truetype");font-style:italic;font-weight:400 700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono.ttf)format("truetype");font-style:normal;font-weight:400 700;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f5ede1;--canvas:#e9e6df;--oat:#eadfca;--oat-light:#efe6d2;--tab:#f0e7d7;--scan:#fbf7ec;--ink:#221d17;--ink-secondary:#3a2f24;--muted:#8a7f6a;--muted-dark:#6b6355;--faint:#a99e88;--border:#ded3bc;--border-strong:#c9bfa8;--border-white:#e4d9c2;--accent:#c7452f;--accent-hover:#9c3322;--accent-tint:#f6e2dc;--accent-border:#eac6bd;--olive:#7d8a5c;--olive-text:#5f6b3f;--olive-tint:#eef0e2;--green:#5f8a4f;--amber:#a8791a;--amber-bg:#fdf3d8;--white:#fff;--radius:14px;--button-radius:11px;--shadow:0 24px 50px -28px #281e146b;font-family:Hanken Grotesk,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}body,button,input,textarea,select{font-family:Hanken Grotesk,system-ui,sans-serif}button,input,textarea,select{font-size:1rem}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Spectral,Georgia,serif}img{max-width:100%;display:block}input,textarea,select{color:var(--ink)}:focus-visible{outline-offset:3px;outline:3px solid #c7452f59}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font:500 11px/1.4 JetBrains Mono,monospace}.muted-copy{color:var(--muted);font-size:14px;line-height:1.55}.success-copy{font-weight:700;color:var(--green)!important}.missing-copy{color:var(--accent)}.button{border-radius:var(--button-radius);background:var(--accent);min-height:46px;color:var(--scan);border:0;justify-content:center;align-items:center;padding:11px 18px;font-weight:700;line-height:1;transition:background .16s,transform .16s;display:inline-flex}.button:hover{background:var(--accent-hover);color:var(--scan)}.button:active{transform:translateY(1px)}.button--small{min-height:38px;padding:9px 15px;font-size:14px}.button--wide{width:100%}.button--secondary{border:1px solid var(--border-strong);color:var(--ink);background:0 0}.button--secondary:hover{background:var(--oat);color:var(--ink)}.button--light{background:var(--scan);color:var(--accent)}.button--light:hover{background:var(--white);color:var(--accent-hover)}.text-button{color:var(--accent);background:0 0;border:0;padding:3px;font-size:13px;font-weight:700}.text-link{font-weight:700}.wordmark-link,.wordmark-link:hover{color:inherit}.wordmark{--wordmark-size:24px;align-items:center;gap:calc(var(--wordmark-size) * .18);color:var(--ink);font:600 var(--wordmark-size)/1 "Spectral", Georgia, serif;letter-spacing:-.01em;white-space:nowrap;display:inline-flex}.wordmark--light{color:var(--paper)}.card-glyph{--glyph-height:20px;width:calc(var(--glyph-height) * .83);height:var(--glyph-height);flex:none;display:inline-block;position:relative}.card-glyph__paper{border:max(1px, calc(var(--glyph-height) * .075)) solid var(--ink);border-radius:calc(var(--glyph-height) * .14);background:var(--scan);clip-path:polygon(0 0,100% 0,100% 65%,65% 100%,0 100%);position:absolute;inset:0}.card-glyph__fold{background:var(--accent);clip-path:polygon(100% 0,0 100%,100% 100%);width:37%;height:37%;position:absolute;bottom:0;right:0}.card-glyph__line{width:42%;height:max(2px, calc(var(--glyph-height) * .1));background:var(--accent);border-radius:999px;position:absolute;top:50%;left:24%;transform:translateY(-50%)}.public-header{z-index:5;border-bottom:1px solid var(--border-white);background:#f5ede1f5;justify-content:space-between;align-items:center;min-height:78px;padding:18px clamp(22px,4vw,64px);display:flex;position:relative}.public-nav{align-items:center;gap:clamp(16px,2.2vw,30px);display:flex}.public-nav>a:not(.button){color:var(--muted-dark);font-size:14px}.public-nav>a:not(.button):hover{color:var(--accent)}.public-footer{border-top:1px solid var(--border);background:var(--tab);color:var(--muted-dark);grid-template-columns:auto 1fr auto auto;align-items:center;gap:30px;padding:28px clamp(22px,4vw,64px);display:grid}.public-footer p{margin:0;font:italic 14px Spectral,serif}.public-footer nav{gap:20px;display:flex}.public-footer nav a{color:var(--muted-dark);font-size:13px}.public-footer small{font-size:12px}.landing-page main{overflow:hidden}.landing-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:clamp(40px,7vw,100px);min-height:610px;padding:64px clamp(22px,6vw,90px) 48px;display:grid}.landing-hero__copy{max-width:650px}.landing-hero h1{letter-spacing:-.035em;max-width:620px;margin:0 0 22px;font-size:clamp(44px,5.2vw,72px);font-weight:600;line-height:1.03}.landing-hero__lede{color:#55503f;max-width:640px;margin-bottom:30px;font-size:clamp(16px,1.55vw,19px);line-height:1.62}.beta-form{gap:10px;max-width:525px;display:flex}.beta-form input{border:1px solid var(--border-white);border-radius:var(--button-radius);background:var(--white);flex:1;min-width:0;padding:13px 15px}.beta-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.beta-reassurance{color:var(--muted);margin:12px 0 0;font-size:12.5px}.form-message{color:var(--olive-text);margin:12px 0 0;font-size:13px;font-weight:600}.form-message--error{color:var(--accent)}.hero-recipe{border:1px solid var(--border-white);background:var(--white);border-radius:19px;justify-self:center;width:min(100%,430px);padding:23px;transform:rotate(1.3deg);box-shadow:0 28px 55px -30px #281e1475}.hero-recipe h2{margin:18px 0 3px;font-size:20px;font-weight:500}.hero-recipe>p{color:var(--muted);margin:0;font-size:12px}.card-scan{background-color:var(--oat-light);color:#3a4a639e;background-image:repeating-linear-gradient(#0000 0 25px,#3c507829 25px 26px);border-left:3px solid #d98a7e;border-radius:11px;flex-direction:column;min-height:170px;padding:24px 20px 24px 48px;font:italic 14px/1.9 Spectral,serif;display:flex;position:relative;overflow:hidden}.card-scan strong{margin-bottom:7px;font-size:19px}.card-scan small{color:var(--muted);font:9px JetBrains Mono,monospace;position:absolute;bottom:10px;right:12px}.tag-row{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.tag{background:var(--oat);color:var(--ink-secondary);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.tag--favorite{border:1px solid var(--accent-border);background:var(--accent-tint);color:var(--accent)}.tag--olive{background:var(--olive-tint);color:var(--olive-text)}.feature-strip{grid-template-columns:repeat(3,1fr);gap:22px;padding:26px clamp(22px,6vw,90px) 70px;display:grid}.feature-strip article{border:1px solid var(--border-white);border-radius:var(--radius);background:var(--white);padding:22px 24px}.feature-strip h2{margin-bottom:8px;font-size:20px;font-weight:500}.feature-strip p{color:var(--muted-dark);margin:0;font-size:14px;line-height:1.55}.people-section{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1.1fr auto;align-items:end;gap:50px;padding:78px clamp(22px,6vw,90px);display:grid}.people-section h2{max-width:520px;margin:0;font-size:clamp(32px,3.4vw,48px);line-height:1.08}.people-section>p{color:#d2c7b2;margin:0;line-height:1.65}.people-section .text-link{white-space:nowrap}.policy-page{width:min(100% - 44px,780px);margin:0 auto;padding:72px 0 96px}.policy-page h1{margin-bottom:7px;font-size:clamp(46px,7vw,72px);line-height:1}.policy-date{color:var(--muted);font-size:13px}.policy-lede{border-bottom:1px solid var(--border);color:var(--ink-secondary);margin:30px 0 44px;padding-bottom:30px;font:20px/1.55 Spectral,serif}.policy-page h2{margin:40px 0 10px;font-size:25px}.policy-page p,.policy-page li{color:#51483d;font-size:16px;line-height:1.72}.policy-page li+li{margin-top:6px}.login-page{background:var(--paper);grid-template-columns:1fr minmax(430px,500px);min-height:100vh;display:grid}.login-story{background:var(--ink);align-items:center;min-height:720px;padding:70px clamp(44px,7vw,100px);display:flex;position:relative;overflow:hidden}.login-story__stripe{opacity:.1;background:repeating-linear-gradient(135deg, var(--oat-light), var(--oat-light) 9px, #e1d5bd 9px, #e1d5bd 18px);position:absolute;inset:0}.login-story__content{max-width:460px;position:relative}.login-story h1{color:var(--paper);margin:32px 0 15px;font-size:clamp(40px,4vw,56px);line-height:1.08}.login-story p{color:#c9bda6;font-size:16px;line-height:1.65}.login-panel{align-items:center;padding:60px 54px;display:flex;position:relative}.login-panel__home{color:var(--muted);font-size:13px;position:absolute;top:28px;left:32px}.login-panel__inner{width:100%}.login-panel h2{margin-bottom:7px;font-size:34px}.login-intro{color:var(--muted-dark);margin-bottom:25px;font-size:14px}.social-buttons{gap:10px;display:grid}.social-button{border:1px solid var(--border-strong);border-radius:var(--button-radius);background:var(--white);min-height:49px;color:var(--ink);justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.social-button--apple{border-color:var(--ink);background:var(--ink);color:var(--white)}.google-g{color:#4285f4;font-weight:800}.form-divider{color:var(--muted);align-items:center;gap:12px;margin:21px 0;font-size:12px;display:flex}.form-divider:before,.form-divider:after{content:"";background:var(--border);flex:1;height:1px}.stack-form{gap:15px;display:grid}.stack-form label{color:var(--muted-dark);gap:6px;font-size:12.5px;font-weight:700;display:grid}.stack-form input,.stack-form textarea,.stack-form select,.kitchen-add input,.kitchen-add select{border:1px solid var(--border-white);background:var(--white);border-radius:10px;width:100%;padding:12px 14px;line-height:1.45}.stack-form textarea{resize:vertical}.new-here{text-align:center;color:var(--muted-dark);margin:24px 0 0;font-size:13px}.login-policy{max-width:360px;color:var(--muted);text-align:center;margin:22px auto 0;font-size:11px;line-height:1.5}.callback-page,.not-found,.route-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.callback-page h1,.not-found h1,.route-error h1{margin:30px 0 15px;font-size:38px}.loading-line{background:var(--border);border-radius:999px;width:200px;height:3px;overflow:hidden}.loading-line:after{content:"";background:var(--accent);width:40%;height:100%;animation:1.2s ease-in-out infinite loading;display:block}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(350%)}}.route-loading{min-height:100vh;color:var(--muted);background:var(--paper);place-items:center;font:17px Spectral,serif;display:grid}.inline-error{border:1px solid var(--accent-border);background:var(--accent-tint);color:var(--accent);border-radius:9px;margin:-6px -6px 20px;padding:10px 14px;font-size:13px}.app-shell{background:var(--paper);min-height:100vh}.app-sidebar{z-index:20;border-right:1px solid var(--border);background:var(--tab);flex-direction:column;width:250px;padding:22px 16px;display:flex;position:fixed;inset:0 auto 0 0}.app-sidebar__brand{padding:4px 8px 20px}.cookbook-switcher{border:1px solid var(--border-white);background:var(--white);border-radius:11px;align-items:center;gap:10px;margin-bottom:18px;padding:9px 11px;display:flex}.cookbook-switcher__avatar{background:var(--ink);width:31px;height:31px;color:var(--paper);border-radius:8px;flex:none;place-items:center;font:14px Spectral,serif;display:grid}.cookbook-switcher>span:last-child{min-width:0}.cookbook-switcher__name{text-overflow:ellipsis;max-width:155px;color:var(--ink);white-space:nowrap;font:14px Spectral,serif;display:block;overflow:hidden}.cookbook-switcher select{width:155px;color:var(--muted);background:0 0;border:0;margin-left:-3px;font-size:10.5px}.app-nav{gap:3px;display:grid}.app-nav a{min-height:41px;color:var(--ink-secondary);border-radius:10px;grid-template-columns:8px 1fr auto;align-items:center;gap:11px;padding:9px 12px;font-size:14px;display:grid}.app-nav a:hover{color:var(--ink);background:#eadfca8c}.app-nav a.active{background:var(--oat);color:var(--ink);font-weight:700}.app-nav__dot{background:0 0;border-radius:999px;width:7px;height:7px}.app-nav a.active .app-nav__dot{background:var(--accent)}.app-nav a b{background:var(--accent);min-width:20px;height:20px;color:var(--white);border-radius:999px;place-items:center;font-size:10px;display:grid}.app-sidebar__bottom{gap:13px;margin-top:auto;display:grid}.current-cook{align-items:center;gap:10px;padding:0 5px;display:flex}.current-cook span{flex-direction:column;min-width:0;display:flex}.current-cook strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.current-cook small{color:var(--muted);font-size:11px}.avatar{color:var(--white);border-radius:999px;flex:none;place-items:center;font-weight:800;display:inline-grid}.avatar-stack{padding-left:8px;display:flex}.avatar-stack .avatar{border:2px solid var(--paper);margin-left:-8px}.sidebar-utilities{justify-content:space-between;display:flex}.sidebar-utilities button{color:var(--muted);background:0 0;border:0;font-size:11px}.app-content{min-height:100vh;margin-left:250px;padding:clamp(26px,3.5vw,52px) clamp(24px,4vw,66px) 72px}.mobile-app-header,.mobile-app-nav{display:none}.app-page{width:min(100%,1400px);margin:0 auto}.app-page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.app-page-header h1{margin:0 0 5px;font-size:clamp(34px,3.4vw,48px);line-height:1.04}.app-page-header>div>p:not(.eyebrow){color:var(--muted);margin:0;font-size:13px}.cookbook-toolbar{gap:12px;margin-bottom:17px;display:flex}.app-search-box{border:1px solid var(--border-white);background:var(--white);border-radius:10px;flex:1;max-width:560px;display:flex}.app-search-box input{border-radius:inherit;background:0 0;border:0;flex:1;min-width:0;padding:12px 14px}.app-search-box button{color:var(--accent);background:0 0;border:0;padding:0 14px;font-size:13px;font-weight:700}.filter-row{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--border-strong);color:var(--ink-secondary);background:0 0;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:650}.chip:hover{background:var(--oat)}.chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--scan)}.chip--olive{color:var(--olive-text);border-color:#b8c19a}.request-banner{border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-tint);grid-template-columns:1fr auto;align-items:center;gap:5px 24px;margin:26px 0 32px;padding:17px 20px;display:grid}.request-banner .eyebrow,.request-banner strong,.request-banner span{grid-column:1}.request-banner .eyebrow{color:var(--accent)}.request-banner strong{font:600 18px Spectral,serif}.request-banner>span:not(.eyebrow){color:var(--muted-dark);font-size:12px}.request-banner .button{grid-area:1/2/4}.recipe-section{margin-top:36px}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:15px;display:flex}.section-heading h2{margin:0;font-size:24px}.section-heading>span{color:var(--muted);font-size:12px}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.recipe-card{min-width:0;color:var(--ink)}.recipe-card:hover{color:var(--ink)}.recipe-card__media{border:1px solid var(--border-white);border-radius:var(--radius);background:var(--oat);justify-content:center;align-items:center;min-height:166px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.recipe-card:hover .recipe-card__media{box-shadow:var(--shadow);transform:translateY(-2px)}.recipe-card__media--photo{background:var(--oat-light)}.recipe-card__media img{object-fit:cover;width:100%;height:100%;min-height:166px}.recipe-card__type-title{text-align:center;max-width:86%;font:600 clamp(19px,1.7vw,26px)/1.1 Spectral,serif}.recipe-card--holiday .recipe-card__media{background:var(--olive-tint)}.recipe-card__course,.recipe-card__holiday{color:var(--muted-dark);background:#fbf7ece6;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:700;position:absolute;top:10px}.recipe-card__course{left:10px}.recipe-card__holiday{color:var(--olive-text);right:10px}.recipe-card__copy{gap:3px;padding:10px 2px 0;display:grid}.recipe-card__copy strong{text-overflow:ellipsis;white-space:nowrap;font:600 16px/1.25 Spectral,serif;overflow:hidden}.recipe-card__copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.recipe-card__copy b{color:var(--accent)}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;padding:60px 24px}.empty-state--small{padding:30px 18px}.empty-state h3{margin-bottom:7px;font-size:24px}.empty-state p{color:var(--muted);margin-bottom:0}.back-link{color:var(--muted);margin-bottom:24px;font-size:13px;display:inline-block}.recipe-detail-layout{grid-template-columns:minmax(0,1fr) 360px;gap:clamp(34px,5vw,76px);display:grid}.recipe-reading{max-width:800px}.recipe-controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.segmented{border:1px solid var(--border);background:var(--oat-light);border-radius:999px;padding:3px;display:inline-flex}.segmented button{color:var(--muted-dark);background:0 0;border:0;border-radius:999px;padding:7px 12px;font-size:12px}.segmented button.is-active{background:var(--white);color:var(--ink);font-weight:700;box-shadow:0 2px 8px #281e1414}.recipe-reading>h1{margin:27px 0 17px;font-size:clamp(40px,4.3vw,61px);line-height:1}.provenance-card{background:var(--oat);border-radius:12px;gap:4px;padding:15px 17px;display:grid}.provenance-card p{color:var(--ink-secondary);margin:0;font:italic 16px/1.4 Spectral,serif}.provenance-card span,.provenance-card a{color:var(--muted);font-size:11px}.provenance-card a{color:var(--accent);margin-top:3px}.translation-note{border:1px solid var(--accent-border);background:var(--accent-tint);color:var(--accent-hover);border-radius:9px;margin-top:12px;padding:10px 12px;font-size:12px}.quick-facts{border-block:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin:24px 0 19px;padding:16px 0;display:grid}.quick-facts>div{border-right:1px solid var(--border);padding:0 14px}.quick-facts>div:first-child{padding-left:0}.quick-facts>div:last-child{border:0}.quick-facts dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font:9px JetBrains Mono,monospace}.quick-facts dd{margin:0;font:500 14px Spectral,serif}.serving-stepper{align-items:center;gap:8px;display:flex}.serving-stepper button{border:1px solid var(--border-strong);width:22px;height:22px;color:var(--ink);background:0 0;border-radius:999px;place-items:center;font-size:12px;display:grid}.recipe-body-section{margin-top:38px}.recipe-body-section>h2,.recipe-body-section .section-heading h2{font-size:27px}.ingredient-list{gap:0;padding:0;list-style:none;display:grid}.ingredient-list li{border-bottom:1px solid #ded3bcb3;grid-template-columns:25px 1fr;align-items:start;gap:11px;padding:11px 0;font:16px/1.45 Spectral,serif;display:grid}.ingredient-list li button{border:1.5px solid var(--ink);width:22px;height:22px;color:var(--scan);background:0 0;border-radius:6px;place-items:center;font-size:12px;display:grid}.ingredient-list li.is-checked{color:var(--muted);text-decoration:line-through}.ingredient-list li.is-checked button{background:var(--ink)}.method-list{gap:18px;padding-left:31px;display:grid}.method-list li{color:var(--ink-secondary);padding-left:8px;font:16px/1.65 Spectral,serif}.method-list li::marker{color:var(--accent);font:600 12px JetBrains Mono,monospace}.recipe-memory{align-content:start;gap:28px;display:grid}.artifact-card{border:1px solid var(--border-white);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);padding:16px;transform:rotate(.5deg)}.artifact-card img{object-fit:contain;border-radius:8px;width:100%;max-height:420px}.artifact-card .card-scan{min-height:270px}.recipe-memory>section{border-top:1px solid var(--border);padding-top:18px}.memory-entry,.rating-entry{grid-template-columns:30px 1fr;gap:10px;padding:10px 0;display:grid}.memory-entry div,.rating-entry div{min-width:0}.memory-entry strong,.rating-entry strong{font-size:12px}.memory-entry small,.rating-entry small{color:var(--muted);font-size:10px;display:block}.memory-entry p,.rating-entry p{color:var(--ink-secondary);margin:3px 0;font:13px/1.45 Spectral,serif}.memory-entry b{color:var(--accent);font-size:10px}.rating-entry strong{color:var(--accent);letter-spacing:1px}.memory-note{background:var(--oat);color:var(--ink-secondary);border-radius:9px;padding:10px 12px;font:italic 13px/1.5 Spectral,serif}.cook-mode{z-index:100;background:var(--ink);color:var(--scan);flex-direction:column;padding:30px clamp(24px,6vw,90px);display:flex;position:fixed;inset:0}.cook-mode header,.cook-mode footer{justify-content:space-between;align-items:center;display:flex}.cook-mode header{letter-spacing:.1em;font:11px JetBrains Mono,monospace}.cook-mode header button,.cook-mode footer>button:not(.button){color:var(--scan);background:0 0;border:0}.cook-mode header button{font-size:30px}.cook-mode__progress{background:#554c41;height:3px;margin-top:18px}.cook-mode__progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.cook-mode>p{text-align:center;flex:1;place-items:center;max-width:960px;margin:0 auto;font:400 clamp(34px,5vw,64px)/1.35 Spectral,serif;display:grid}.cook-mode footer{padding-top:20px}.cook-mode footer>button{min-width:150px}.shelf-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.shelf-tile{border:1px dashed var(--border-strong);border-radius:var(--radius);background:#ffffff4d;grid-template-rows:1fr auto auto;min-height:170px;padding:12px;display:grid}.shelf-tile--filled{background:var(--white);border-style:solid}.shelf-tile__art{background:repeating-linear-gradient(135deg, var(--oat-light), var(--oat-light) 8px, #e1d6c0 8px, #e1d6c0 16px);border-radius:9px}.shelf-tile strong{margin-top:9px;font:600 15px Spectral,serif}.shelf-tile small{color:var(--muted);font-size:10px}.kitchen-add{border:1px solid var(--border-white);background:var(--white);border-radius:12px;grid-template-columns:minmax(180px,1fr) 130px auto auto;align-items:center;gap:9px;margin:22px 0 34px;padding:13px;display:grid}.check-label{color:var(--muted-dark);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.kitchen-group{margin-top:30px}.inventory-chips{flex-wrap:wrap;gap:8px;display:flex}.inventory-chip{border:1px solid var(--border-white);background:var(--white);border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 13px;font-size:13px;display:inline-flex}.inventory-chip button{color:var(--faint);background:0 0;border:0;padding:0}.inventory-chip--uncertain{background:var(--amber-bg);color:var(--amber);border-color:#e6c96a}.inventory-chips--staples .inventory-chip{background:var(--oat-light);border-color:#0000}.kitchen-cta{margin-top:35px}.week-layout{grid-template-columns:minmax(0,1fr) 370px;gap:34px;display:grid}.week-planner{grid-template-columns:repeat(7,minmax(110px,1fr));gap:9px;padding-bottom:10px;display:grid;overflow-x:auto}.day-card{border:1px solid var(--border);background:#ffffff54;border-radius:12px;min-height:340px;padding:13px 10px}.day-card__entries{gap:8px;display:grid}.planned-recipe{border:1px solid var(--border-white);background:var(--white);border-radius:9px;padding:10px;font:500 13px/1.35 Spectral,serif}.dashed-button{border:1px dashed var(--border-strong);width:100%;min-height:45px;color:var(--muted);background:0 0;border-radius:9px;font-size:11px}.shopping-rail{border:1px solid var(--border-white);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);align-self:start;padding:20px}.shopping-rail>header{border-bottom:1px solid var(--border);justify-content:space-between;gap:15px;padding-bottom:15px;display:flex}.shopping-rail h2{margin:0;font-size:25px}.shopping-group{padding-top:18px}.shopping-group h3{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font:500 10px JetBrains Mono,monospace}.shopping-group label{grid-template-columns:18px 1fr;gap:9px;padding:8px 0;display:grid}.shopping-group label.is-checked{color:var(--muted);text-decoration:line-through}.shopping-group label span{display:grid}.shopping-group label strong{font-size:13px}.shopping-group label small{color:var(--muted);font-size:10px}.search-hero{margin-bottom:18px;display:block}.search-hero input{border:1px solid var(--border-white);background:var(--white);border-radius:13px;width:100%;padding:18px 20px;font:20px Spectral,serif;box-shadow:0 10px 24px -24px #281e1499}.search-page .section-heading{margin-top:33px}.match-list{gap:12px;display:grid}.match-row{border:1px solid var(--border-white);border-radius:var(--radius);background:var(--white);grid-template-columns:minmax(230px,360px) 1fr;align-items:center;gap:26px;padding:13px;display:grid}.match-row .recipe-card{grid-template-columns:105px 1fr;gap:12px;display:grid}.match-row .recipe-card__media,.match-row .recipe-card__media img{height:86px;min-height:86px}.match-row .recipe-card__type-title{font-size:14px}.match-row>div p{margin:4px 0;font-size:12px}.kitchen-cards{grid-template-columns:repeat(3,minmax(210px,1fr));gap:15px;display:grid}.kitchen-card{border:1px solid var(--border-white);border-radius:var(--radius);background:var(--white);padding:18px}.kitchen-card header{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.kitchen-card h2{margin:0;font-size:21px}.cook-row{align-items:center;gap:11px;padding:7px 0;display:flex}.cook-row span{display:grid}.cook-row strong{font-size:13px}.cook-row small{color:var(--muted);font-size:10px}.kitchen-card--add{background:0 0;border-style:dashed;align-content:start;gap:10px;display:grid}.kitchen-card--add p{color:var(--muted);font-size:12px}.kitchen-card--add input{border:1px solid var(--border-white);background:var(--white);border-radius:9px;padding:10px 12px}.invite-card{border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-tint);align-items:center;gap:20px;margin-bottom:24px;padding:16px 18px;display:flex}.invite-card .eyebrow{margin:0}.invite-card>strong{letter-spacing:.07em;font:600 20px JetBrains Mono,monospace}.invite-card>div{align-items:center;gap:12px;margin-left:auto;display:flex}.us-columns{grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:34px;margin-top:42px;display:grid}.request-card{background:var(--oat);border-radius:10px;gap:4px;margin-bottom:9px;padding:13px 14px;display:grid}.request-card--aimed{background:var(--accent);color:var(--white)}.request-card strong{font:600 15px Spectral,serif}.request-card span{opacity:.75;font-size:10px}.request-form{border:1px dashed var(--border-strong);border-radius:var(--radius);margin-top:18px;padding:16px}.request-form h3{margin:0;font-size:18px}.activity-list{display:grid}.activity-entry{border-bottom:1px solid var(--border);grid-template-columns:32px 1fr;gap:11px;padding:12px 0;display:grid}.activity-entry--celebration{border:1px solid var(--accent-border);background:var(--accent-tint);border-radius:10px;margin:5px 0;padding:13px}.activity-entry div{gap:3px;display:grid}.activity-entry strong{font:500 14px Spectral,serif}.activity-entry p,.activity-entry small{color:var(--muted);margin:0;font-size:10px}.activity-dot{background:var(--border-strong);border-radius:999px;width:8px;height:8px;margin:10px}.membership-start{background:var(--paper);place-items:center;min-height:100vh;padding:28px;display:grid}.membership-start__card{border:1px solid var(--border-white);background:var(--white);width:min(100%,500px);box-shadow:var(--shadow);border-radius:18px;padding:36px}.membership-start h1{margin:28px 0 8px;font-size:36px}.membership-start p{color:var(--muted);line-height:1.55}.membership-start .segmented{margin-bottom:22px}.form-grid{grid-template-columns:1.4fr .6fr;gap:12px;display:grid}.review-notice{background:var(--amber-bg);color:var(--amber);border:1px solid #e6c96a;border-radius:9px;padding:11px 13px;font-size:12px;line-height:1.5}.modal-backdrop{z-index:90;background:#221d1794;place-items:end center;padding:30px;display:grid;position:fixed;inset:0}.modal-sheet{background:var(--paper);border-radius:26px 26px 16px 16px;width:min(100%,820px);max-height:calc(100vh - 40px);padding:30px 34px 34px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #00000052}.modal-sheet--small{border-radius:20px;align-self:center;width:min(100%,470px)}.modal-sheet__grabber{background:var(--border-strong);border-radius:999px;width:40px;height:4px;margin:-16px auto 18px}.modal-sheet__close{color:var(--muted);background:0 0;border:0;font-size:26px;position:absolute;top:20px;right:22px}.modal-sheet h2{margin:0 0 5px;font-size:29px}.modal-sheet header>p{color:var(--muted);font-size:13px}.modal-actions{justify-content:flex-end;gap:10px;padding-top:7px;display:flex}@media (width<=1180px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-layout{grid-template-columns:1fr}.shopping-rail{width:min(100%,600px)}.people-section{grid-template-columns:1fr 1fr}.people-section .text-link{grid-column:2}}@media (width<=900px){.public-nav>a:not(.button){display:none}.public-footer{grid-template-columns:1fr auto}.public-footer p{display:none}.public-footer nav{grid-row:2}.landing-hero{grid-template-columns:1fr;padding-top:48px}.hero-recipe{width:min(100%,520px)}.feature-strip{grid-template-columns:1fr}.people-section{grid-template-columns:1fr;align-items:start}.people-section .text-link{grid-column:1}.login-page{grid-template-columns:1fr}.login-story{min-height:330px;padding-block:75px 50px}.login-story h1{max-width:520px}.login-panel{min-height:620px}.app-sidebar{display:none}.app-content{margin-left:0;padding:90px 22px 100px}.mobile-app-header{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5ede1f5;justify-content:space-between;align-items:center;height:68px;padding:12px 20px;display:flex;position:fixed;inset:0 0 auto}.mobile-app-nav{z-index:30;padding:8px 8px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f0e7d7f7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-app-nav a{color:var(--muted);justify-items:center;gap:4px;font-size:9px;display:grid}.mobile-app-nav a.active{color:var(--ink);font-weight:700}.mobile-app-nav a.active .app-nav__dot{background:var(--accent)}.recipe-detail-layout{grid-template-columns:1fr}.recipe-memory{grid-row:1}.artifact-card{max-width:540px}.kitchen-cards{grid-template-columns:repeat(2,minmax(220px,1fr))}.us-columns{grid-template-columns:1fr}}@media (width<=680px){.public-header{min-height:66px;padding-inline:17px}.public-header .button{padding-inline:12px}.public-footer{flex-wrap:wrap;gap:18px;display:flex}.public-footer nav{width:100%}.landing-hero{gap:45px;min-height:0;padding:48px 19px 32px}.landing-hero h1{font-size:44px}.landing-hero__lede{font-size:16px}.beta-form{flex-direction:column}.hero-recipe{padding:15px}.feature-strip{padding:18px 19px 48px}.people-section{gap:25px;padding:55px 20px}.login-story{min-height:280px;padding:60px 24px 36px}.login-story h1{font-size:38px}.login-panel{min-height:650px;padding:70px 23px 40px}.login-panel__home{left:22px}.app-content{padding-inline:16px}.app-page-header{flex-direction:column;align-items:flex-start}.app-page-header h1{font-size:36px}.cookbook-toolbar{flex-direction:column;align-items:stretch}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 11px}.recipe-card__media,.recipe-card__media img{min-height:132px}.recipe-card__type-title{font-size:18px}.recipe-card__copy strong{font-size:14px}.request-banner{grid-template-columns:1fr}.request-banner .button{grid-area:auto/1;margin-top:7px}.recipe-controls{flex-direction:column;align-items:flex-start}.recipe-reading>h1{font-size:42px}.quick-facts{grid-template-columns:repeat(2,1fr);row-gap:16px}.quick-facts>div:nth-child(2){border:0}.quick-facts>div:nth-child(3){padding-left:0}.artifact-card .card-scan{min-height:220px}.cook-mode{padding:22px}.cook-mode footer>button{min-width:110px}.shelf-grid{grid-template-columns:repeat(2,1fr)}.kitchen-add{grid-template-columns:1fr 1fr}.kitchen-add label:first-child{grid-column:1/-1}.week-planner{grid-template-columns:repeat(7,135px)}.match-row{grid-template-columns:1fr}.match-row .recipe-card{grid-template-columns:90px 1fr}.kitchen-cards{grid-template-columns:1fr}.invite-card{flex-direction:column;align-items:flex-start}.invite-card>div{margin-left:0}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:0}.modal-sheet{border-radius:26px 26px 0 0;max-height:94vh;padding:28px 20px 26px}.modal-actions{flex-direction:column-reverse;align-items:stretch}.policy-page{width:min(100% - 38px,780px);padding-top:52px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
