:root{--cream:#f7f1e7;--paper:#fffdfc;--terracotta:#a84f34;--terracotta-dark:#853b28;--sage:#6f8062;--sage-pale:#dfe7d8;--ink:#332d28;--muted:#716961;--line:#e4d9cb;--danger:#a23d36;--shadow:0 18px 50px rgba(74,55,38,.10);--radius:24px;--font:ui-rounded,"SF Pro Rounded","Avenir Next",system-ui,-apple-system,sans-serif;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--tblr-primary:#a84f34;--tblr-primary-rgb:168,79,52;--tblr-body-bg:#f7f1e7;--tblr-body-color:#332d28}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.025em}h1{font-size:clamp(2.35rem,5.4vw,5.35rem);line-height:.98}h2{font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.06}h3{font-size:1.15rem}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 16px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.45rem;font-weight:700}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:50% 48% 54% 45%;background:var(--terracotta);color:#fff;font-style:italic;box-shadow:inset 0 -3px 8px rgba(0,0,0,.12)}.brand-mark-large{width:54px;height:54px;margin:0 auto 20px;font-size:1.5rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:999px;padding:11px 22px;background:transparent;font-weight:750;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--terracotta) 55%,transparent);outline-offset:3px}.button-primary{background:var(--terracotta);color:#fff;box-shadow:0 8px 20px rgba(168,79,52,.2)}.button-primary:hover{background:var(--terracotta-dark)}.button-secondary{border-color:var(--line);background:var(--paper)}.button-ghost{padding-inline:12px}.button-paper{background:var(--paper);color:var(--terracotta)}.button-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.button-small{min-height:40px;padding:8px 16px}.button-block{width:100%}.button-row{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{margin-bottom:16px;color:var(--terracotta);font-size:.76rem;font-weight:850;letter-spacing:.15em}.eyebrow span{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--terracotta)}.muted{color:var(--muted)}.microcopy{margin-top:18px;color:var(--muted);font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header,.app-header{height:84px;display:flex;align-items:center;justify-content:space-between}.site-header nav{display:flex;gap:30px;color:var(--muted);font-size:.92rem}.hero{min-height:700px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;padding-block:75px 105px}.hero-copy h1{max-width:680px;margin-bottom:28px}.hero-lead{max-width:650px;color:var(--muted);font-size:1.15rem;line-height:1.7}.hero .button-row{margin-top:32px}.recipe-scene{position:relative;min-height:520px}.category-pills{display:flex;gap:8px;position:absolute;z-index:2;top:8px;left:4px;transform:rotate(-3deg)}.category-pills span,.card-categories span{padding:7px 12px;border-radius:999px;background:var(--sage-pale);color:#53634a;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.recipe-preview{position:absolute;border:1px solid rgba(130,101,75,.11);border-radius:30px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.recipe-preview-main{width:76%;top:55px;right:6%;transform:rotate(2deg)}.recipe-preview-main>div:last-child{padding:26px 28px}.recipe-preview h2{margin-bottom:10px;font-size:2rem}.recipe-preview p{color:var(--muted)}.preview-art{display:grid;place-items:center;height:230px;background:#d8a16d}.preview-art span{font-size:6rem;filter:drop-shadow(0 12px 15px rgba(0,0,0,.15))}.art-stew{background:radial-gradient(circle at 70% 20%,#f4d29c,transparent 20%),linear-gradient(145deg,#b96945,#e3b27a)}.recipe-preview-small{width:45%;left:-2%;bottom:5px;transform:rotate(-5deg)}.recipe-preview-small .preview-art{height:135px;background:linear-gradient(145deg,#e5d1a3,#b9895e)}.recipe-preview-small .preview-art span{font-size:4rem}.recipe-preview-small>div:last-child{padding:15px 18px}.recipe-preview-small h3{margin:0;font-family:var(--serif);font-size:1.2rem}.recipe-kicker{margin:0 0 5px!important;font-size:.65rem;font-weight:850;letter-spacing:.12em}.saved-note{position:absolute;right:-3%;bottom:36px;padding:13px 17px;border-radius:14px;background:#fff;color:var(--sage);box-shadow:var(--shadow);font-size:.82rem;font-weight:750;transform:rotate(3deg)}.saved-note span{display:inline-grid;width:22px;height:22px;margin-right:6px;place-items:center;border-radius:50%;background:var(--sage);color:#fff}.trust-strip{border-block:1px solid var(--line);background:rgba(255,253,248,.55)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-block:27px}.trust-grid p{display:flex;align-items:center;gap:9px;margin:0;color:var(--muted);font-size:.88rem}.trust-grid strong{color:var(--ink)}.trust-grid>p>span{font-size:1.3rem;color:var(--terracotta)}.section{padding-block:120px}.section-heading{text-align:center;max-width:710px;margin:0 auto 55px}.section-heading>p:last-child{color:var(--muted);font-size:1.08rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{position:relative;min-height:280px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.step-number{position:absolute;top:20px;right:25px;color:#d3c9bd;font-family:var(--serif);font-size:1.8rem;font-style:italic}.step-icon{display:grid;width:52px;height:52px;margin-bottom:45px;place-items:center;border-radius:16px;background:var(--sage-pale);color:var(--sage);font-size:1.5rem}.step-card:nth-child(2) .step-icon{background:#f0dcd1;color:var(--terracotta)}.step-card p{color:var(--muted)}.feature-band{background:#e9e3d8;overflow:hidden}.feature-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.phone-mock{width:290px;height:585px;margin:auto;padding:18px 16px;border:8px solid #312c28;border-radius:47px;background:#fbf7ef;box-shadow:0 35px 60px rgba(51,45,40,.24);transform:rotate(-3deg)}.phone-notch{width:90px;height:23px;margin:-9px auto 22px;border-radius:20px;background:#312c28}.phone-content{padding:10px}.phone-content>p{margin:0;color:var(--muted);font-size:.75rem}.phone-content h3{font-family:var(--serif);font-size:1.6rem}.fake-search{padding:11px;border-radius:12px;background:#ece7dc;color:var(--muted);font-size:.75rem}.fake-tabs{display:flex;gap:14px;margin:18px 0;font-size:.7rem}.fake-tabs b{color:var(--terracotta)}.fake-recipe{display:grid;grid-template-columns:60px 1fr;grid-template-rows:1fr 1fr;column-gap:10px;margin-bottom:12px;padding:8px;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.06)}.fake-recipe>span{grid-row:1/3;display:grid;place-items:center;border-radius:10px;background:#ead9c8;font-size:1.8rem}.fake-recipe strong{align-self:end;font-size:.74rem}.fake-recipe small{color:var(--muted)}.feature-copy p:not(.eyebrow){color:var(--muted);font-size:1.08rem}.check-list{display:grid;gap:14px;padding:0;list-style:none}.check-list span{display:inline-grid;width:25px;height:25px;margin-right:10px;place-items:center;border-radius:50%;background:var(--sage);color:#fff}.privacy{display:grid;grid-template-columns:auto 1.15fr .85fr;align-items:center;gap:45px}.privacy-mark{display:grid;width:100px;height:100px;place-items:center;border-radius:45% 55% 48% 52%;background:var(--sage-pale);color:var(--sage);font-size:2.8rem}.privacy h2{margin-bottom:0}.privacy>p{color:var(--muted)}.final-cta{display:flex;align-items:center;justify-content:space-between;margin-bottom:90px;padding:55px 65px;border-radius:32px;background:var(--terracotta);color:#fff}.final-cta h2{max-width:650px;margin:0}.final-cta .eyebrow{color:#f3d8ce}.site-footer{display:flex;align-items:center;justify-content:space-between;padding-block:30px 45px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.site-footer p{margin:0}
.app-header{position:sticky;z-index:10;top:0;height:72px;padding:0 max(20px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--cream) 92%,transparent);backdrop-filter:blur(12px)}.app-nav{display:flex;gap:28px;color:var(--muted);font-size:.9rem}.app-nav a:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:6px}.app-main{min-height:calc(100vh - 72px)}.app-page,.narrow-page{padding-block:55px 90px}.narrow-page{max-width:800px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:35px}.page-heading h1{margin:0;font-size:clamp(2.4rem,5vw,4rem)}.back-link{display:inline-block;margin-bottom:24px;color:var(--muted);font-size:.9rem}.search-bar{display:flex;align-items:center;gap:12px;padding:4px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 6px 20px rgba(65,48,33,.04)}.search-bar input{width:100%;height:50px;border:0;background:transparent;outline:0}.filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:20px 2px 30px}.filter-tabs a{white-space:nowrap;padding:8px 15px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.83rem}.filter-tabs a[aria-current=page]{border-color:var(--terracotta);background:var(--terracotta);color:#fff}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.recipe-card{overflow:hidden;border:1px solid var(--line);border-radius:21px;background:var(--paper);transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.recipe-photo{display:grid;aspect-ratio:4/3;place-items:center;background:linear-gradient(145deg,#e7d5bd,#cf9a6d);font-size:4.5rem;overflow:hidden}.recipe-photo img{width:100%;height:100%;object-fit:cover}.recipe-card-body{padding:20px}.card-categories{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.card-categories span{padding:4px 8px;font-size:.58rem}.recipe-card h2{margin:0 0 7px;font-size:1.45rem}.recipe-card p{margin:0;color:var(--muted);font-size:.86rem}.empty-state{grid-column:1/-1;padding:70px 30px;border:1px dashed #cbbdad;border-radius:var(--radius);text-align:center}.empty-state>span{font-size:2.8rem;color:var(--terracotta)}.empty-state h2{margin:10px 0}.empty-state p{color:var(--muted)}.toast-stack{position:fixed;z-index:50;top:88px;right:22px}.toast{max-width:380px;padding:13px 18px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}
.auth-layout{display:grid;min-height:calc(100vh - 72px);place-items:center;padding:45px 20px}.auth-card{width:min(460px,100%);padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);text-align:center}.auth-card h1{margin-bottom:14px;font-size:2.6rem}.auth-note{margin:25px 0 0;color:var(--muted);font-size:.8rem}.stack-form{display:grid;gap:22px;margin-top:28px;text-align:left}.field{display:grid;gap:7px}.field label{font-size:.83rem;font-weight:800}.field small{color:var(--muted);font-size:.76rem}.form-control{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--paper);outline:0}.form-control:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(168,79,52,.1)}textarea.form-control{resize:vertical}.errorlist{margin:0;padding:0;color:var(--danger);font-size:.8rem;list-style:none}.choice-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0}.choice-grid>div label{display:flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-weight:600}.editor-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 10px 35px rgba(65,48,33,.05)}.inline-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px}.category-list{display:grid;gap:10px;margin-top:22px;padding:0;list-style:none}.category-list li{display:flex;min-height:68px;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.category-list li>div{display:grid;flex:1}.category-list small{color:var(--muted)}.drag-handle{color:#b3a89c}.icon-button{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.4rem;cursor:pointer}.icon-button:hover{background:#f5e6e1;color:var(--danger)}.notice{display:flex;gap:12px;padding:14px;border-radius:14px;background:var(--sage-pale);font-size:.82rem}.notice span{display:grid;flex:0 0 24px;height:24px;place-items:center;border-radius:50%;background:var(--sage);color:#fff}.notice p{margin:0}.import-list{display:grid;gap:10px}.import-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.import-row>div{display:grid}.import-row small{color:var(--muted)}.status-dot{width:11px;height:11px;border-radius:50%;background:#d1a22d}.status-needs_review,.status-accepted{background:var(--sage)}.status-failed,.status-cancelled{background:var(--danger)}.status-label{color:var(--muted);font-size:.8rem}.import-status{text-align:center;margin-top:30px;padding:55px}.status-symbol{display:grid;width:64px;height:64px;margin:0 auto 22px;place-items:center;border-radius:50%;background:#e6dfd4;font-size:1.8rem}.status-symbol.success{background:var(--sage-pale);color:var(--sage)}.status-symbol.error{background:#f5dfd9;color:var(--danger)}.spinner{width:52px;height:52px;margin:0 auto 25px;border:4px solid var(--line);border-top-color:var(--terracotta);border-radius:50%;animation:spin .9s linear infinite}.draft-summary{display:flex;justify-content:center;gap:12px;margin:25px 0}.draft-summary div{min-width:100px;padding:12px;border-radius:12px;background:var(--cream)}.draft-summary dt{color:var(--muted);font-size:.72rem}.draft-summary dd{margin:0;font-family:var(--serif);font-size:1.8rem}.source-link{margin:35px 0 0;font-size:.78rem;color:var(--muted)}
.recipe-detail{padding-block:55px 100px}.detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.detail-hero h1{margin:15px 0 20px}.detail-actions{display:flex;gap:8px}.detail-meta{display:flex;gap:18px;color:var(--muted)}.photo-strip{display:grid;grid-auto-columns:minmax(280px,1fr);grid-auto-flow:column;gap:12px;overflow-x:auto;margin-block:45px}.photo-strip img{width:100%;height:360px;object-fit:cover;border-radius:22px}.recipe-columns{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;margin-top:55px}.paper-panel{padding:30px;border-radius:var(--radius);background:var(--paper)}.ingredient-list{display:grid;gap:0;padding:0;list-style:none}.ingredient-list li{display:grid;grid-template-columns:minmax(60px,auto) 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.ingredient-list span{color:var(--terracotta);font-weight:750}.ingredient-list small{grid-column:2;color:var(--muted)}.method-list{display:grid;gap:25px;padding:0;list-style:none;counter-reset:steps}.method-list li{display:grid;grid-template-columns:42px 1fr;gap:14px}.method-list li>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--sage-pale);color:var(--sage);font-family:var(--serif);font-weight:700}.related-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}.related-links .eyebrow{flex-basis:100%}.related-links a{color:var(--terracotta);font-weight:750}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal{animation:reveal .65s both}.reveal-delay{animation-delay:.15s}
@media(max-width:850px){.site-header nav,.app-nav{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.recipe-scene{min-height:480px}.trust-grid,.steps{grid-template-columns:1fr}.trust-grid{gap:15px}.feature-layout{grid-template-columns:1fr;gap:75px}.privacy{grid-template-columns:auto 1fr}.privacy>p{grid-column:1/-1}.recipe-grid{grid-template-columns:repeat(2,1fr)}.recipe-columns{grid-template-columns:1fr}.detail-hero{align-items:flex-start;flex-direction:column}.detail-actions{width:100%}.final-cta{align-items:flex-start;flex-direction:column;gap:30px}}
@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.site-header{height:70px}.site-header .button{padding-inline:13px}.hero{min-height:0;gap:35px;padding:45px 0 70px}.hero h1{font-size:3.25rem}.recipe-scene{min-height:410px}.recipe-preview-main{width:90%;right:0}.preview-art{height:180px}.recipe-preview-small{width:46%}.saved-note{right:0;bottom:10px}.trust-grid{padding-block:22px}.section{padding-block:80px}.steps{gap:14px}.step-card{min-height:240px}.feature-layout{gap:60px}.phone-mock{width:260px;height:530px}.privacy{grid-template-columns:1fr}.privacy-mark{width:75px;height:75px}.final-cta{margin-bottom:50px;padding:38px 28px}.site-footer{align-items:flex-start;flex-direction:column;gap:10px}.header-actions .button-primary{display:none}.app-page,.narrow-page,.recipe-detail{padding-block:35px 70px}.page-heading{align-items:flex-start;flex-direction:column}.recipe-grid{grid-template-columns:1fr}.recipe-card{display:grid;grid-template-columns:115px 1fr}.recipe-photo{aspect-ratio:auto;min-height:140px}.recipe-photo{font-size:2.5rem}.inline-form{grid-template-columns:1fr}.import-row{grid-template-columns:auto 1fr auto}.import-row .status-label{display:none}.import-status{padding:35px 20px}.auth-card{padding:30px 22px}.detail-actions{flex-wrap:wrap}.photo-strip img{height:280px}}
@media(prefers-color-scheme:dark){:root{--cream:#211e1b;--paper:#2b2723;--ink:#f5ede3;--muted:#bdb3a8;--line:#474038;--sage-pale:#354034;--shadow:0 18px 50px rgba(0,0,0,.25)}.feature-band{background:#292724}.phone-mock{background:#302d28;border-color:#161514}.phone-notch{background:#161514}.fake-search{background:#24221f}.fake-recipe{background:#3a352f}.recipe-preview-small .preview-art,.recipe-photo{filter:brightness(.8)}.button-paper{color:#702f20}.auth-page .app-header,.app-header{background:rgba(33,30,27,.92)}}
.photo-strip figure{position:relative;margin:0}.photo-strip figure form{position:absolute;right:12px;bottom:12px}.photo-uploader{margin-top:35px}.photo-uploader summary{cursor:pointer;font-weight:800}.icon-link{display:grid;place-items:center}.import-preview{display:block;width:min(100%,560px);max-height:360px;margin:24px auto 0;border-radius:18px;object-fit:cover}
.sharing-badge{color:var(--sage);font-weight:800}.share-settings{margin-top:55px}.share-settings summary{cursor:pointer;font-size:1.05rem;font-weight:850}.toggle-row{display:flex;align-items:flex-start;gap:12px}.toggle-row input,.check-row input,.share-photo-grid input{width:20px;height:20px;accent-color:var(--terracotta)}.toggle-row span{display:grid}.toggle-row small{color:var(--muted);font-weight:400}.share-options{display:grid;gap:12px;margin:0;padding:20px;border:1px solid var(--line);border-radius:16px}.share-options legend{padding-inline:8px;font-weight:800}.check-row{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}.share-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.share-photo-grid label{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--cream);cursor:pointer}.share-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.share-photo-grid span{display:flex;align-items:center;gap:8px;padding:10px;font-size:.8rem}.share-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:45px;margin-top:55px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 10px 35px rgba(65,48,33,.05)}.share-card h2{margin-bottom:10px}.share-card .button-row{margin-top:22px}.qr-link{display:grid;gap:8px;text-align:center;color:var(--terracotta);font-size:.8rem;font-weight:800}.qr-link img{width:190px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.button[data-copy-state="done"]{border-color:var(--sage);color:var(--sage)}
@media(max-width:700px){.share-card{grid-template-columns:1fr}.qr-link{justify-self:center}.share-photo-grid{grid-template-columns:repeat(2,1fr)}}
@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,.recipe-card:hover{transform:none}}
