:root{--ink:#27231f;--muted:#6d665e;--paper:#fffaf5;--surface:#fff;--line:#eadfd3;--accent:#dc5735;--accent-dark:#b83c22;--sage:#dce6d4;--cream:#f8eee3;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Segoe UI,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}.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}.section-wrap{width:min(1160px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1240px,100% - 48px);min-height:92px;margin:auto;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.04rem;font-weight:700;line-height:.78;display:flex}.brand em{color:var(--accent);font-style:italic}.brand-mark{flex:none;width:36px;height:36px}.main-nav{align-items:center;gap:7px;display:flex}.main-nav a{color:var(--muted);border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:600;transition:all .2s}.main-nav a:hover,.main-nav a.active{color:var(--ink);background:var(--cream)}.menu-toggle{color:var(--ink);background:0 0;border:0;font-size:1.7rem;display:none}.site-footer{border-top:1px solid var(--line);width:min(1160px,100% - 48px);color:var(--muted);justify-content:space-between;gap:16px;margin:72px auto 0;padding:24px 0;font-size:.8rem;display:flex}.site-footer a{color:var(--accent-dark);text-underline-offset:3px;font-weight:700;text-decoration:underline}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:13px;font-family:DM Mono,monospace;font-size:.72rem;font-weight:500}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:13px 21px;font-weight:700;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#fff;box-shadow:0 11px 24px #dc573538}.button-primary:hover{background:var(--accent-dark)}.button-quiet{border-color:var(--line);background:var(--surface);color:var(--ink)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,7vw,100px);min-height:calc(100vh - 93px);padding-block:72px;display:grid}.hero h1,.page-heading h1,.recipe-hero h1,.product-content h1,.timer-intro h1{letter-spacing:-.065em;margin-bottom:22px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(3.25rem,7vw,6.5rem);font-weight:600;line-height:.9}.hero h1 i,.page-heading h1 i,.timer-intro h1 i{color:var(--accent);font-weight:600}.hero-lead{max-width:530px;color:var(--muted);font-size:1.12rem;line-height:1.7}.hero-actions,.timer-actions{flex-wrap:wrap;gap:12px;margin-top:31px;display:flex}.hero-art{background:var(--sage);isolation:isolate;border-radius:48% 52% 43% 57%/42% 48% 52% 58%;min-height:440px;position:relative;overflow:hidden}.hero-orb{opacity:.9;background:#f7d7bd;border-radius:50%;position:absolute}.orb-one{width:280px;height:280px;top:-65px;right:-28px}.orb-two{background:#f2e7a7;width:180px;height:180px;bottom:-50px;left:-45px}.hero-plate{background:#fbf0e5;border:14px solid #fffaf5;border-radius:50%;place-items:center;width:220px;height:220px;font-size:92px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(-8deg);box-shadow:0 25px 45px #3544272b}.hero-note{color:#4b5742;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:1px solid #ffffffb3;border-radius:999px;padding:9px 13px;font-family:DM Mono,monospace;font-size:.7rem;position:absolute}.note-one{top:25%;left:20px}.note-two{text-align:center;max-width:135px;bottom:17%;left:52%}.highlights{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:86px;display:grid}.highlight{border-right:1px solid var(--line);min-height:210px;padding:27px 28px 20px 0}.highlight+.highlight{padding-left:28px}.highlight:last-child{border-right:0}.highlight span{color:var(--accent);font-family:DM Mono,monospace;font-size:.75rem}.highlight h2{margin:47px 0 8px;font-size:1.02rem}.highlight p{max-width:230px;color:var(--muted);font-size:.92rem;line-height:1.5}.callout{color:#fff;background:#2e392b;border-radius:24px;justify-content:space-between;align-items:center;gap:30px;padding:clamp(30px,6vw,60px);display:flex}.callout h2{letter-spacing:-.05em;margin-bottom:8px;font-family:Playfair Display,serif;font-size:clamp(1.8rem,4vw,3.3rem)}.callout p:not(.eyebrow){color:#d5dfcd;margin-bottom:0}.callout .eyebrow{color:#c6dda7}.round-link{border:1px solid #718469;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-size:1.7rem;transition:all .2s;display:grid}.round-link:hover{color:#2e392b;background:#dce6d4}.page{padding-top:76px}.page-heading{max-width:700px;margin-bottom:48px}.page-heading h1{font-size:clamp(3rem,6.2vw,5.8rem)}.page-heading>p:last-child{max-width:530px;color:var(--muted);font-size:1.04rem;line-height:1.65}.ingredient-panel{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:clamp(24px,4vw,45px);box-shadow:0 16px 50px #3c28190d}.selection-summary{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.selection-summary strong{color:var(--accent)}.text-button{color:var(--accent-dark);background:0 0;border:0;padding:0;font-weight:700}.search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:26px;display:grid}.search-fields label{color:var(--muted);gap:7px;font-size:.78rem;font-weight:700;display:grid}.search-fields input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fffdfb;border-radius:10px;outline:none;padding:10px 13px}.search-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #dc57351f}.ingredient-group{border:0;margin:0 0 28px;padding:0}.ingredient-group legend{color:var(--muted);text-transform:uppercase;margin-bottom:12px;font-family:DM Mono,monospace;font-size:.73rem}.chip-grid{flex-wrap:wrap;gap:9px;display:flex}.ingredient-chip{border:1px solid var(--line);background:var(--paper);color:#554e47;cursor:pointer;border-radius:999px;align-items:center;min-height:39px;padding:0 14px;font-size:.9rem;transition:all .18s;display:inline-flex;position:relative}.ingredient-chip input{opacity:0;pointer-events:none;position:absolute}.ingredient-chip:has(input:focus-visible){outline-offset:2px;outline:3px solid #f3bdab}.ingredient-chip.is-selected{border-color:var(--accent);background:var(--accent);color:#fff}.filter-control{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:9px;padding-top:20px;font-size:.9rem;display:flex}.filter-control input{accent-color:var(--accent)}.results{margin-top:78px}.result-heading{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.result-heading h2{letter-spacing:-.05em;margin:0;font-family:Playfair Display,serif;font-size:2.2rem}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.recipe-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;min-height:250px;padding:23px;transition:transform .2s,box-shadow .2s;display:flex}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #422b1c1a}.recipe-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.score{background:var(--sage);color:#42503b;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:700}.recipe-index{color:#bdb2a6;font-family:DM Mono,monospace;font-size:.75rem}.recipe-card h3{margin:29px 0 18px;font-family:Playfair Display,serif;font-size:1.45rem;line-height:1.05}.recipe-card p{color:var(--muted);margin-bottom:8px;font-size:.82rem;line-height:1.5}.recipe-card b{color:var(--ink)}.missing-line{color:#9a6a4f!important}.recipe-card a{border-top:1px solid var(--line);color:var(--accent-dark);justify-content:space-between;margin-top:auto;padding-top:18px;font-size:.86rem;font-weight:700;display:flex}.empty-state,.feedback{min-height:180px;color:var(--muted);text-align:center;background:#fffdfb;border:1px dashed #d8c9bb;border-radius:18px;align-content:center;place-items:center;gap:10px;display:grid}.empty-state span{color:var(--accent);font-size:2rem}.feedback{margin:20px 0}.feedback-error{color:#a53b28}.feedback-error span{background:#f5d9d0;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.spinner{border:3px solid #e9ddd3;border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.back-link{color:var(--muted);margin-bottom:38px;font-size:.9rem;font-weight:700;display:inline-block}.back-link:hover{color:var(--accent-dark)}.recipe-hero{border-bottom:1px solid var(--line);max-width:800px;padding-bottom:48px}.recipe-hero h1,.product-content h1{font-size:clamp(2.7rem,5vw,5.1rem)}.recipe-hero>p:last-child{max-width:520px;color:var(--muted);line-height:1.65}.recipe-layout{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:clamp(40px,7vw,100px);padding-top:48px;display:grid}.recipe-layout h2,.product-content h2{letter-spacing:-.04em;font-family:Playfair Display,serif;font-size:1.8rem}.ingredient-list ul{gap:7px;padding:0;list-style:none;display:grid}.ingredient-list label{border-bottom:1px solid var(--line);color:var(--muted);cursor:pointer;gap:10px;padding:10px 0;font-size:.93rem;display:flex}.ingredient-list input{accent-color:var(--accent)}.ingredient-list input:checked+span{color:#a49b92;text-decoration:line-through}.method-step{border-top:1px solid var(--line);grid-template-columns:45px 1fr;gap:15px;padding:19px 0;display:grid}.method-step span{color:var(--accent);font-family:DM Mono,monospace;font-size:.76rem}.method-step p{color:var(--muted);margin:0;line-height:1.65}.product-categories{grid-template-columns:repeat(2,1fr);gap:17px;display:grid}.product-category{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:27px}.product-category h2{letter-spacing:-.05em;margin-bottom:28px;font-family:Playfair Display,serif;font-size:2rem}.product-links{gap:8px;display:grid}.product-links a{border-top:1px solid var(--line);min-height:66px;color:var(--muted);grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 4px;font-size:.93rem;display:grid}.product-links a:hover{color:var(--accent-dark)}.product-links img{background:var(--cream);object-fit:cover;border-radius:12px;width:54px;height:54px}.product-detail{border:1px solid var(--line);background:#fff;border-radius:24px;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);display:grid;overflow:hidden}.product-image{background:var(--sage);min-height:430px}.product-image img{object-fit:cover;width:100%;height:100%}.product-content{padding:clamp(30px,5vw,65px)}.product-content .lead,.product-content section p{color:var(--muted);line-height:1.65}.product-content section{margin-top:30px}.product-content section h2{margin-bottom:8px;font-size:1.35rem}.product-content .button{margin-top:30px}.timer-page{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(35px,8vw,120px);min-height:calc(100vh - 170px);padding-block:60px;display:grid}.timer-intro h1{font-size:clamp(3.2rem,6vw,5.7rem)}.timer-intro>p:last-child{max-width:430px;color:var(--muted);line-height:1.65}.timer-card{color:#fff;background:#2e392b;border-radius:28px;padding:clamp(25px,5vw,58px);box-shadow:0 25px 60px #2e392b38}.timer-card label{color:#cbd8c2;margin-bottom:10px;font-size:.86rem;font-weight:700;display:block}.timer-card input{color:#fff;background:0 0;border:1px solid #6c7e63;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-size:1.05rem}.timer-card input:focus{border-color:#e7f0df;box-shadow:0 0 0 3px #e7f0df26}.timer-card output{color:#f8eee3;letter-spacing:-.1em;margin:50px 0 7px;font-family:DM Mono,monospace;font-size:clamp(4rem,10vw,7rem);line-height:1;display:block}.timer-card>p{color:#cbd8c2}.timer-card .button-primary{color:#34402f;box-shadow:none;background:#e4efcc}.timer-card .button-quiet{color:#fff;background:0 0;border-color:#6c7e63}.timer-card .button:disabled{cursor:not-allowed;opacity:.45;transform:none}@media (width<=760px){.section-wrap,.site-header,.site-footer{width:min(100% - 32px,1160px)}.site-header{min-height:74px}.menu-toggle{z-index:3;display:block}.main-nav{z-index:2;border:1px solid var(--line);background:#fff;border-radius:16px;width:min(280px,100vw - 32px);padding:10px;display:none;position:absolute;top:68px;right:16px;box-shadow:0 18px 35px #37281b21}.main-nav.is-open{display:grid}.main-nav a{padding:12px}.hero{grid-template-columns:1fr;min-height:auto;padding-block:55px 40px}.hero-art{min-height:330px}.hero-plate{width:170px;height:170px;font-size:70px}.highlights{grid-template-columns:1fr;margin-bottom:56px}.highlight,.highlight+.highlight{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:22px 0}.highlight h2{margin:23px 0 7px}.callout{align-items:flex-start}.recipe-grid,.product-categories,.search-fields{grid-template-columns:1fr}.page{padding-top:48px}.page-heading{margin-bottom:35px}.recipe-layout,.product-detail,.timer-page{grid-template-columns:1fr}.product-image{min-height:250px}.timer-page{min-height:auto;padding-block:50px}.site-footer{flex-direction:column;margin-top:50px}.recipe-card{min-height:220px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--accent:#b9472c;--accent-dark:#8f2f1d;--focus:#246bce;--shadow:0 20px 60px #412a1b14}body{background:radial-gradient(circle at 8% 8%,#dce6d48c,transparent 25rem), radial-gradient(circle at 92% 30%,#f8dec973,transparent 28rem), var(--paper)}button,input{min-height:44px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}#main-content:focus{outline:none}.skip-link{z-index:20;background:var(--ink);color:#fff;border-radius:8px;padding:11px 15px;font-weight:700;transition:transform .15s;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:5;position:relative}.site-footer{align-items:center}.pwa-controls{justify-content:center;align-items:center;gap:10px;display:flex}.pwa-controls button{border:1px solid var(--line);min-height:auto;color:var(--accent-dark);background:#fff;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:700}.offline-badge{color:#604b22;background:#f2dfb8;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:700}.button,.main-nav a,.product-links a,.recipe-card a{text-underline-offset:3px}.button:active,.round-link:active{transform:translateY(0)}.search-heading{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:end;gap:clamp(30px,7vw,90px);max-width:none;display:grid}.search-heading h1{margin-bottom:0;font-size:clamp(3rem,6vw,5.5rem)}.search-heading>p{color:var(--muted);margin-bottom:9px;line-height:1.7}.search-workspace{grid-template-columns:minmax(310px,390px) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,52px);display:grid}.search-workspace>*{min-width:0}.search-workspace .ingredient-panel{min-height:580px;box-shadow:var(--shadow);padding:26px;position:sticky;top:20px}.panel-heading,.results-toolbar,.panel-heading>div,.results-toolbar>div{align-items:center;display:flex}.panel-heading,.results-toolbar{justify-content:space-between;gap:18px;margin-bottom:22px}.panel-heading>div,.results-toolbar>div{gap:11px}.panel-heading h2,.results-toolbar h2{letter-spacing:-.04em;margin:0;font-family:Playfair Display,serif;font-size:1.5rem}.step-number{color:var(--accent);font-family:DM Mono,monospace;font-size:.7rem}.search-input{align-items:center;margin-bottom:18px;display:flex;position:relative}.search-input>span[aria-hidden]{color:var(--muted);font-size:1.15rem;position:absolute;left:14px}.search-input input,.recipe-name-search input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fffdfb;border-radius:12px;outline:none;padding:11px 14px}.search-input input{padding-left:41px}.search-input input:focus,.recipe-name-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #b9472c1f}.selected-ingredients{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:7px;margin:-3px 0 19px;padding-bottom:18px;display:flex}.selected-ingredients button{color:#fff;background:#2e392b;border:0;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:6px 9px 6px 11px;font-size:.75rem;display:inline-flex}.selected-ingredients button span{font-size:1rem;line-height:1}.ingredient-scroll{scrollbar-color:#cdbdaf transparent;scrollbar-width:thin;max-height:min(58vh,620px);padding-right:5px;overflow:auto}.ingredient-group{margin-bottom:23px}.ingredient-group legend{color:#5d554e;font-weight:600}.ingredient-group-heading{background:var(--sage);isolation:isolate;border-radius:13px;align-items:flex-end;min-height:64px;margin-bottom:11px;display:flex;position:relative;overflow:hidden}.ingredient-group-heading:after{z-index:-1;content:"";background:linear-gradient(90deg,#27231fc7,#27231f0f);position:absolute;inset:0}.ingredient-group-heading img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ingredient-group-heading span{color:#fff;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 8px #00000047;padding:12px 13px;font-family:DM Mono,monospace;font-size:.7rem;font-weight:700}.ingredient-chip{background:#fffaf5;min-height:38px;padding-inline:12px}.ingredient-chip:hover{background:#fff;border-color:#bd9b89}.ingredient-chip.is-selected{border-color:var(--accent);background:var(--accent)}.no-ingredients{color:var(--muted);padding:22px 4px;font-size:.9rem}.search-workspace .results{min-width:0;margin-top:0}.results-toolbar{align-items:end}.recipe-name-search{width:min(230px,42%);color:var(--muted);gap:6px;font-size:.72rem;font-weight:700;display:grid}.recipe-name-search input{min-height:42px}.match-modes{border:0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0 0 22px;display:flex}.match-modes legend{width:100%;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-family:DM Mono,monospace;font-size:.7rem}.match-modes label{cursor:pointer;position:relative}.match-modes input{opacity:0;pointer-events:none;position:absolute}.match-modes span{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:7px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.match-modes input:checked+span{color:#fff;background:#2e392b;border-color:#2e392b}.match-modes input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.search-workspace .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card{box-shadow:0 8px 26px #422b1c0a}.score-ready{color:#33472b;background:#d7e7ca}.score-close{color:#604820;background:#f4dfb5}.score-ideas{color:#763424;background:#f2ddd5}.score-name{color:#4f4269;background:#e8e2f3}.match-meter{background:#eee4db;border-radius:99px;height:4px;margin:-7px 0 16px;overflow:hidden}.match-meter span{border-radius:inherit;background:var(--accent);height:100%;display:block}.timer-presets{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.timer-presets button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#ffffffb8;border-radius:999px;padding:7px 13px;font-size:.8rem;font-weight:700}.timer-presets button:hover{border-color:var(--accent);color:var(--accent-dark)}.recipe-meta{flex-wrap:wrap;gap:8px;margin:-5px 0 20px;display:flex}.recipe-meta span{background:var(--cream);color:#5d5147;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:700}@media (width<=980px){.search-workspace{grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:24px}.search-workspace .recipe-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}}@media (width<=760px){.section-wrap,.site-header,.site-footer{width:calc(100% - 32px)}.search-heading{grid-template-columns:1fr;gap:12px}.search-heading h1{overflow-wrap:anywhere;font-size:clamp(2.75rem,11vw,3.4rem)}.search-heading>p{margin-bottom:0}.search-workspace{grid-template-columns:1fr}.search-workspace .ingredient-panel{min-height:460px;padding:20px;position:static}.ingredient-scroll{max-height:440px}.results-toolbar{flex-direction:column;align-items:stretch}.recipe-name-search{width:100%}.search-workspace .recipe-grid{grid-template-columns:1fr}.match-modes span{white-space:normal}.site-footer{align-items:flex-start}.pwa-controls{order:3;justify-content:flex-start;width:100%}}
