:root{--ink:#17141d;--paper:#faf7f0;--card:#fff;--violet:#5632c7;--lime:#c9ff63;--coral:#ff6d62;--muted:#625d69;--line:#ded8ce;--radius:22px;--app-max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.55}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.site-header{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(247,243,236,.95);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{font-weight:900;letter-spacing:-.04em;font-size:1.2rem}.brand span{color:var(--violet)}nav{display:flex;gap:24px;align-items:center}nav a,.link-button{font-weight:700;font-size:.9rem}.link-button,.text-button{background:none;border:0;padding:0;cursor:pointer;color:inherit}.link-button span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:var(--violet);color:#fff;border-radius:99px;font-size:.72rem}.hero{min-height:620px;padding:clamp(70px,10vw,140px) clamp(20px,8vw,120px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;background:radial-gradient(circle at 85% 15%,#d8ff91 0,transparent 25%),linear-gradient(135deg,#fff 0,#f7f3ec 60%)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:900;color:var(--violet)}h1,h2,h3{line-height:1.02;letter-spacing:-.055em;margin:.15em 0 .45em}h1{font-size:clamp(3.5rem,8vw,7.4rem);max-width:800px}h2{font-size:clamp(2.4rem,5vw,4.4rem)}h3{font-size:1.55rem}.hero-copy{max-width:650px;font-size:1.2rem;color:var(--muted)}.hero-actions,.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;border:2px solid var(--ink);border-radius:999px;padding:13px 22px;font-weight:850;cursor:pointer;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--ink)}.primary{background:var(--ink);color:#fff}.secondary{background:transparent;color:var(--ink)}.hero-orb{width:min(440px,38vw);aspect-ratio:1;border-radius:50%;background:var(--violet);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(7deg);box-shadow:30px 30px 0 var(--coral)}.hero-orb span,.hero-orb strong,.hero-orb em{font-size:clamp(1.5rem,4vw,3.7rem);line-height:.95;font-style:normal}.hero-orb strong{font-weight:950}.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:-45px auto 0;position:relative;background:var(--ink);color:#fff;border-radius:var(--radius);overflow:hidden}.stats article{padding:30px;text-align:center;border-right:1px solid #3b3541}.stats article:last-child{border:0}.stats strong{display:block;color:var(--lime);font-size:2.8rem;line-height:1}.stats span{font-weight:750}.section{padding:clamp(70px,9vw,120px) clamp(20px,8vw,120px)}.section-heading{max-width:760px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.journey-card{border:0;border-radius:var(--radius);padding:34px;text-align:left;cursor:pointer;min-height:260px;display:block;color:var(--ink)}.journey-card span{font-weight:950}.journey-card p{max-width:300px}.coral{background:var(--coral)}.lime{background:var(--lime)}.violet{background:var(--violet);color:#fff}.featured{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#fff;align-items:center}.featured-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.featured-copy p{max-width:620px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.chips span,.recipe-chip{padding:6px 11px;border-radius:99px;background:#eee8ff;color:#4d2eb9;font-size:.78rem;font-weight:800}.finder{background:#211d27;color:#fff;min-height:650px}.finder-top{display:flex;justify-content:space-between;align-items:end;gap:20px}.finder .text-button{color:var(--lime);text-decoration:underline;font-weight:800}.progress-wrap{margin:28px 0}.progress-label{display:flex;justify-content:space-between;font-weight:750;font-size:.85rem}.progress{height:8px;background:#413a48;border-radius:99px;margin-top:9px;overflow:hidden}.progress span{display:block;height:100%;background:var(--lime);width:0;transition:width .25s}.step{display:none}.step.active{display:block}.step-heading{max-width:700px;margin-bottom:28px}.step-heading h2{font-size:2rem}.ingredient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ingredient-option input{position:absolute;opacity:0;pointer-events:none}.ingredient-option span{display:flex;flex-direction:column;min-height:76px;border:1px solid #51495a;border-radius:14px;padding:14px;cursor:pointer;background:#2b2631}.ingredient-option input:checked+span{background:var(--lime);color:var(--ink);border-color:var(--lime)}.ingredient-option small{color:#aaa2b1}.ingredient-option input:checked+span small{color:#504b3f}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.filter-grid label{font-weight:800}.filter-grid select,.filter-grid input,.search-input{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:var(--ink)}.form-actions{display:flex;justify-content:space-between;margin-top:30px}.form-actions .button[hidden]{display:none}.result-heading{margin:40px 0 20px}.result-heading h3{font-size:2rem}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recipe-card{background:#fff;color:var(--ink);border-radius:18px;overflow:hidden}.recipe-card img{width:100%;height:190px;object-fit:cover}.recipe-card-body{padding:18px}.recipe-card h4{font-size:1.35rem;margin:0 0 6px}.recipe-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.recipe-card-actions{display:flex;gap:10px;margin-top:18px}.recipe-card-actions .button{padding:8px 14px;font-size:.8rem}.unlock-panel{background:var(--lime);color:var(--ink);padding:24px;border-radius:18px;margin:25px 0}.unlock-panel ol{margin:0;padding-left:22px}.empty-results{border:1px dashed #665d6e;padding:30px;border-radius:18px}dialog{border:0;border-radius:var(--radius);width:min(760px,94vw);max-height:88vh;padding:0;box-shadow:0 24px 90px #0008}dialog::backdrop{background:#17141dc9}.dialog-shell{padding:32px;position:relative}.dialog-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:2rem;cursor:pointer}.inventory-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:46vh;overflow:auto;margin-top:18px}.inventory-options label{padding:10px;border-radius:10px;background:#f1ede7;font-size:.85rem}.favourite-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.favourite-row img{width:70px;height:70px;object-fit:cover;border-radius:10px}.favourite-row a{font-weight:850}.favourite-row button{margin-left:auto}.notice{padding:14px;background:#fff1c7;color:#493a00;border-radius:12px}
@media(max-width:900px){nav a{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-orb{display:none}.stats{margin:0;border-radius:0}.journey-grid,.result-grid{grid-template-columns:1fr}.featured{grid-template-columns:1fr}.ingredient-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.site-header{padding:16px}.brand span{display:block}.stats article{padding:20px 8px}.stats strong{font-size:2rem}.stats span{font-size:.72rem}.ingredient-grid,.filter-grid,.inventory-options{grid-template-columns:1fr}.section{padding-left:16px;padding-right:16px}.form-actions .button{padding:11px 16px}}
.breadcrumbs{display:flex;gap:9px;color:var(--muted);font-size:.85rem;margin:12px 0 45px}.recipe-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.recipe-hero img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}.recipe-title h1{font-size:clamp(3rem,7vw,6.8rem)}.new-badge{background:var(--coral);border-radius:99px;padding:5px 10px;font-weight:900}.serving-control{display:block;margin-top:22px;font-weight:850}.serving-control input{width:85px;margin-left:10px;padding:8px;border:1px solid var(--line);border-radius:10px}.recipe-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;margin-top:90px}.recipe-layout h2{font-size:2.5rem}.recipe-ingredients{padding:0;list-style:none;border-top:1px solid var(--line)}.recipe-ingredients li{display:flex;gap:14px;padding:15px 5px;border-bottom:1px solid var(--line);cursor:pointer}.recipe-ingredients li.owned{background:#eaffe0}.inventory-mark{font-size:1.4rem;color:var(--violet);font-weight:950}.recipe-ingredients small{display:block;color:var(--muted)}.method ol{padding-left:22px}.method li{padding:8px 0}.pro-tip{background:var(--lime);padding:24px;border-radius:16px;margin:30px 0}.library-hero h1{font-size:clamp(3rem,7vw,6rem)}.library-hero .search-input{max-width:620px;padding:17px}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.library-card{background:#fff;border-radius:18px;overflow:hidden}.library-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.library-card>a>div{padding:20px}.library-card h2{font-size:1.8rem}.library-card p{color:var(--muted)}@media(max-width:850px){.recipe-hero,.recipe-layout{grid-template-columns:1fr;gap:35px}.library-grid{grid-template-columns:1fr}.recipe-layout{margin-top:55px}}
.finder .button.secondary{color:#fff;border-color:#fff}.finder .button.secondary:hover{background:#fff;color:var(--ink);box-shadow:0 6px 0 var(--lime)}.finder .button.primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}.finder .button.primary:hover{box-shadow:0 6px 0 #fff}.inventory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 6px}.inventory-toolbar>div{display:flex;gap:16px}.inventory-toolbar .text-button{color:var(--violet);font-weight:850;text-decoration:underline}.inventory-options{display:block;max-height:48vh;overflow:auto;padding-right:8px;margin-top:8px}.inventory-group{padding:12px 0 18px;border-bottom:1px solid var(--line)}.inventory-group h3{display:flex;justify-content:space-between;font-size:1rem;letter-spacing:0;margin:0 0 10px}.inventory-group h3 span{color:var(--muted);font-size:.78rem}.inventory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.inventory-option{display:block}.inventory-option>input{position:absolute;opacity:0;pointer-events:none}.inventory-option>span{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f7f3ec;cursor:pointer;transition:.15s}.inventory-option>span>i{width:22px;height:22px;flex:0 0 22px;border:2px solid var(--violet);border-radius:6px;background:#fff;position:relative}.inventory-option>span>span{display:flex;flex-direction:column}.inventory-option small{color:var(--muted);text-transform:capitalize}.inventory-option input:checked+span{background:#eee8ff;border-color:var(--violet);box-shadow:inset 4px 0 0 var(--violet)}.inventory-option input:checked+span>i{background:var(--violet)}.inventory-option input:checked+span>i:after{content:"\2713";position:absolute;color:#fff;font-weight:950;left:3px;top:-3px}.inventory-option input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}.substitution-note{padding:10px;background:#fff3d1;border-radius:10px;font-size:.88rem}@media(max-width:560px){.inventory-grid{grid-template-columns:1fr}.inventory-toolbar{align-items:flex-start;flex-direction:column}.inventory-toolbar>div{width:100%;justify-content:space-between}}
.inventory-options .inventory-option{display:block;padding:0;background:transparent}.finder .recipe-card .button.secondary{color:var(--ink);border-color:var(--ink)}.finder .recipe-card .button.secondary:hover{background:var(--ink);color:#fff;box-shadow:none}
.editorial{background:#fff}.editorial-intro{max-width:900px}.editorial-intro>p:not(.eyebrow){font-size:1.08rem;color:var(--muted)}.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:48px;padding-top:42px;border-top:1px solid var(--line)}.editorial-columns h3{font-size:2rem}.editorial-columns a{color:var(--violet);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.faq-section{background:var(--paper)}.faq-list{max-width:1000px;margin-top:45px;border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--ink)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 4px;cursor:pointer;list-style:none;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:900}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary i{width:28px;height:28px;flex:0 0 28px;border:2px solid var(--ink);border-radius:50%;position:relative}.faq-item summary i:before,.faq-item summary i:after{content:"";position:absolute;left:6px;right:6px;top:11px;height:2px;background:var(--ink)}.faq-item summary i:after{transform:rotate(90deg);transition:transform .2s}.faq-item[open] summary i{background:var(--lime)}.faq-item[open] summary i:after{transform:rotate(0)}.faq-item>div{max-width:820px;padding:0 55px 25px 4px;color:var(--muted)}.faq-item>div p{margin-top:0}@media(max-width:700px){.editorial-columns{grid-template-columns:1fr;gap:20px}.faq-item summary{padding:20px 0}.faq-item>div{padding-left:0}}
.hero .hero-seo-title{font-size:.78rem;line-height:1.4;letter-spacing:.16em;margin:0 0 18px;max-width:none;color:var(--violet)}.hero .hero-display{font-size:clamp(3.5rem,8vw,7.4rem);max-width:800px;margin:.15em 0 .45em}
.account-page{min-height:calc(100vh - 80px);display:grid;place-items:start center;padding:clamp(60px,9vw,120px) 18px;background:radial-gradient(circle at 80% 10%,#d8ff91 0,transparent 28%),var(--paper)}.account-card{width:min(680px,100%);padding:clamp(26px,5vw,55px);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:14px 14px 0 var(--violet)}.account-card h1{font-size:clamp(2.7rem,7vw,5rem)}.account-form{display:grid;gap:18px;margin-top:30px}.account-form label{font-weight:850}.account-form input{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid var(--line);border-radius:11px}.account-form small{display:block;margin-top:6px;color:var(--muted);font-weight:500}.account-form .button{justify-self:start}.form-error{background:#ffe2df;color:#7d150e;padding:12px;border-radius:10px;font-weight:750}.account-switch{margin-top:24px}.account-switch a{color:var(--violet);font-weight:850;text-decoration:underline}.account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0}.account-stats article{padding:18px 10px;border-radius:14px;background:var(--paper);text-align:center}.account-stats strong{display:block;font-size:2rem;color:var(--violet)}.account-stats span{font-size:.78rem;font-weight:750}.account-dashboard .hero-actions form{margin:0}.account-card code{background:var(--paper);padding:2px 5px}@media(max-width:520px){.account-stats{grid-template-columns:1fr}}
#inventory-dialog{background:#211d27;color:#fff;width:min(900px,95vw)}#inventory-dialog .dialog-shell{background:#211d27}#inventory-dialog .dialog-close{color:#fff}#inventory-dialog .eyebrow{color:var(--lime)}#inventory-dialog>form>p:not(.eyebrow){color:#c9c2cf}#inventory-dialog .search-input{background:#302a37;color:#fff;border-color:#5b5262}#inventory-dialog .search-input::placeholder{color:#aaa2b1}#inventory-dialog .inventory-toolbar{padding-bottom:14px;border-bottom:1px solid #51495a}#inventory-dialog .inventory-toolbar .text-button{color:var(--lime)}#inventory-dialog .inventory-group{padding:22px 0 26px;border-bottom:2px solid #51495a}#inventory-dialog .inventory-group:last-child{border-bottom:0}#inventory-dialog .inventory-group h3{font-size:1.1rem;color:#fff;margin-bottom:13px}#inventory-dialog .inventory-group h3 span{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:99px;background:#3b3442;color:#d7d0dc}#inventory-dialog .inventory-option>span{min-height:72px;background:#2b2631;border-color:#51495a;color:#fff}#inventory-dialog .inventory-option>span>i{border-color:#8b70e6;background:#211d27}#inventory-dialog .inventory-option small{color:#aaa2b1}#inventory-dialog .inventory-option:hover>span{border-color:#9479ea;background:#332d3a}#inventory-dialog .inventory-option input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--ink);box-shadow:inset 5px 0 0 var(--violet)}#inventory-dialog .inventory-option input:checked+span small{color:#4b493e}#inventory-dialog .inventory-option input:checked+span>i{background:var(--violet);border-color:var(--violet)}#inventory-dialog .inventory-option input:checked+span>i:after{content:"\2713";left:3px;top:-4px;font-size:1.05rem}#inventory-dialog .inventory-option input:focus-visible+span{outline:3px solid var(--lime);outline-offset:3px}#inventory-dialog .dialog-actions{position:sticky;bottom:-32px;margin:25px -32px -32px;padding:18px 32px;background:#211d27;border-top:1px solid #51495a}#inventory-dialog .dialog-actions .secondary{border-color:#fff;color:#fff}#inventory-dialog .dialog-actions .primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}.faq-item a{color:var(--violet);font-weight:850;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.faq-item a:focus-visible,.editorial a:focus-visible,.site-header a:focus-visible,.link-button:focus-visible,.button:focus-visible,.text-button:focus-visible{outline:3px solid var(--coral);outline-offset:4px;border-radius:4px}
.form-success{background:#e7ffd0;color:#244500;padding:12px;border-radius:10px;font-weight:750}.verification-panel{margin:25px 0;padding:20px;border-radius:14px;background:#fff3cf;border-left:5px solid #e0a900}.verification-panel p{margin:6px 0 12px}.verification-panel .text-button,.local-mail-link a{color:var(--violet);font-weight:850;text-decoration:underline}.local-mail-link{padding:10px;background:#eee8ff;border-radius:9px;font-size:.85rem;overflow-wrap:anywhere}
.reviews-section{margin-top:90px;padding-top:60px;border-top:2px solid var(--ink)}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.reviews-heading h2{font-size:clamp(2.3rem,5vw,4rem)}.rating-summary{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px;text-align:right}.rating-summary strong{font-size:2.5rem;line-height:1}.rating-summary span,.review-stars{color:#8b5800;letter-spacing:.08em}.rating-summary small{grid-column:1/-1;color:var(--muted)}.reviews-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:start}.review-list{display:grid;gap:16px}.review-card,.review-form-card,.moderation-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.review-card p{white-space:pre-line}.review-card img{width:100%;max-height:460px;object-fit:cover;border-radius:13px;margin-top:12px}.review-form-card{position:sticky;top:105px}.review-form{display:grid;gap:17px}.review-form fieldset{border:0;padding:0;margin:0}.review-form label:not(.star-choice){display:grid;gap:7px;font-weight:850}.review-form textarea,.review-form input[type=file]{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--paper)}.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end}.star-input input{position:absolute;opacity:0}.star-choice{font-size:2rem;color:#a39ba8;cursor:pointer;line-height:1}.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:#8b5800}.star-input input:focus-visible+label{outline:3px solid var(--coral);outline-offset:3px}.empty-review{padding:25px;border:1px dashed var(--line);border-radius:15px;color:var(--muted)}.moderation-page{max-width:1100px;margin:auto;padding:55px 20px 100px}.moderation-page h1{font-size:clamp(3rem,7vw,6rem)}.moderation-list{display:grid;gap:20px}.moderation-card h2{font-size:2rem}.moderation-card form{display:flex;gap:10px;margin-top:20px}.pending-image{width:min(100%,500px);max-height:500px;object-fit:cover;border-radius:14px}@media(max-width:760px){.reviews-heading{align-items:start;flex-direction:column}.rating-summary{text-align:left}.reviews-layout{grid-template-columns:1fr}.review-form-card{position:static}}
.admin-recipe-page{max-width:1450px;margin:auto;padding:55px clamp(18px,5vw,75px) 100px}.admin-recipe-page>h1{font-size:clamp(3rem,7vw,6rem)}.admin-recipe-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:35px;align-items:start}.admin-recipe-form,.managed-recipes{display:grid;gap:18px;padding:clamp(20px,4vw,38px);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.admin-recipe-form>label,.admin-recipe-form .form-pair label{display:grid;gap:7px;font-weight:850}.admin-recipe-form input,.admin-recipe-form textarea,.admin-recipe-form select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--paper);color:var(--ink)}.admin-recipe-form textarea{min-height:105px;resize:vertical}.admin-recipe-form .code-field{min-height:210px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem}.admin-recipe-form small{color:var(--muted);font-weight:500}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-recipe-form fieldset{border:1px solid var(--line);border-radius:12px;padding:15px}.admin-recipe-form legend{font-weight:850}.checkbox-row{display:flex;flex-wrap:wrap;gap:12px 18px}.feature-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.feature-check input{width:auto}.admin-recipe-form .button{justify-self:start}.managed-recipes{position:sticky;top:105px}.managed-recipes h2{font-size:2rem}.managed-recipes article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.managed-recipes article small{display:block;text-transform:capitalize;color:var(--muted)}.managed-recipes .button{padding:8px 14px;font-size:.8rem}@media(max-width:850px){.admin-recipe-layout{grid-template-columns:1fr}.managed-recipes{position:static}}@media(max-width:520px){.form-pair{grid-template-columns:1fr}}
.site-header .nav-icon{width:38px;height:38px;padding:8px;display:inline-grid;place-items:center;border:0;background:transparent;position:relative;cursor:pointer}.site-header .nav-icon svg{width:23px;height:23px;fill:currentColor}.site-header .nav-icon span{position:absolute;right:0;top:0;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--violet);color:#fff;font-size:.65rem}.app-tool{min-height:calc(100vh - 79px);background:var(--paper);color:var(--ink);padding-top:clamp(38px,6vw,78px)}.tool-intro{max-width:820px;margin-bottom:45px}.tool-intro h1{font-size:clamp(3.2rem,8vw,6.5rem);margin-bottom:.12em}.tool-intro>p:last-child{font-size:1.1rem;color:var(--muted)}.finder.app-tool .eyebrow{color:var(--violet)}.finder.app-tool .text-button{color:var(--violet)}.finder.app-tool .progress{background:#ddd4c9}.finder.app-tool .progress span{background:var(--violet)}.finder.app-tool .ingredient-option span{background:#fff;color:var(--ink);border-color:var(--line)}.finder.app-tool .ingredient-option small{color:var(--muted)}.finder.app-tool .ingredient-option input:checked+span{background:var(--lime);color:var(--ink);border-color:var(--ink)}.finder.app-tool .ingredient-option input:checked+span small{color:#4b493e}.finder.app-tool .button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.finder.app-tool .button.secondary{color:var(--ink);border-color:var(--ink)}.finder.app-tool .recipe-card .button.primary{background:var(--ink);color:#fff}.button.compact{padding:10px 17px}.inline-feedback{height:0;margin:0;color:#315600;font-weight:800;opacity:0;transition:.2s}.inline-feedback.visible{height:auto;margin:12px 0;opacity:1}.daily-feature{border-top:1px solid var(--line)}#inventory-dialog{background:var(--paper);color:var(--ink)}#inventory-dialog .dialog-shell{background:var(--paper)}#inventory-dialog .dialog-close{color:var(--ink)}#inventory-dialog .eyebrow{color:var(--violet)}#inventory-dialog>form>p:not(.eyebrow){color:var(--muted)}#inventory-dialog .search-input{background:#fff;color:var(--ink);border-color:var(--line)}#inventory-dialog .inventory-toolbar{border-color:var(--line)}#inventory-dialog .inventory-toolbar .text-button{color:var(--violet)}#inventory-dialog .inventory-group{border-color:var(--line)}#inventory-dialog .inventory-group h3{color:var(--ink)}#inventory-dialog .inventory-group h3 span{background:#e9e1d7;color:var(--muted)}#inventory-dialog .inventory-option>span{background:#fff;border-color:var(--line);color:var(--ink)}#inventory-dialog .inventory-option>span>i{background:#fff;border-color:var(--violet)}#inventory-dialog .inventory-option small{color:var(--muted)}#inventory-dialog .inventory-option:hover>span{background:#fff;border-color:var(--violet)}#inventory-dialog .inventory-option input:checked+span{background:var(--lime);border-color:var(--ink);color:var(--ink);box-shadow:none}#inventory-dialog .inventory-option input:checked+span>i{background:var(--ink);border-color:var(--ink)}#inventory-dialog .dialog-actions{background:var(--paper);border-color:var(--line)}#inventory-dialog .dialog-actions .secondary{border-color:var(--ink);color:var(--ink)}#inventory-dialog .dialog-actions .primary{background:var(--ink);border-color:var(--ink);color:#fff}.confirm-dialog{max-width:560px}.confirm-dialog h2{font-size:2.5rem}#party-mode{gap:.35em}
@media(max-width:900px){.site-header nav{gap:8px}.site-header nav>a:not(.nav-icon){font-size:.78rem}.app-tool{min-height:auto}.finder-top{align-items:flex-start;flex-direction:column}.finder-top .button{width:100%}}
@media(max-width:640px){body{padding-bottom:70px}.site-header{position:static}.site-header .brand{font-size:1rem}.site-header nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px #17141d14}.site-header nav>a:not(.nav-icon){display:grid;place-items:center;text-align:center;font-size:.65rem;line-height:1.1;padding:5px 2px}.site-header .nav-icon{width:auto;height:38px;margin:auto}.section{padding-top:38px}.tool-intro{margin-bottom:32px}.tool-intro h1{font-size:3.5rem}.finder-top h2{font-size:2rem}.ingredient-grid{grid-template-columns:1fr 1fr}.ingredient-option span{min-height:68px;padding:11px}.daily-feature{grid-template-columns:1fr}.daily-feature .featured-image{order:0}.daily-feature .featured-copy{order:1}dialog{max-height:94vh}.dialog-shell{padding:22px}#inventory-dialog .dialog-actions{bottom:-22px;margin:20px -22px -22px;padding:14px 22px}}
.bar-hero{max-width:850px;margin-bottom:42px}.bar-hero h1{font-size:clamp(3.5rem,9vw,7rem)}.bar-hero>p:last-of-type{font-size:1.1rem;color:var(--muted)}.bar-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px}.bar-actions>strong{font-size:1.2rem}.bar-panel{padding:clamp(18px,4vw,38px);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.bar-panel .inventory-toolbar>.search-input{max-width:480px;margin:0}.bar-panel .inventory-group{padding:24px 0;border-bottom:1px solid var(--line)}.bar-panel .inventory-option input:checked+span{background:var(--lime);border-color:var(--ink);box-shadow:none}.bar-panel .inventory-option input:checked+span>i{background:var(--ink);border-color:var(--ink)}@media(max-width:640px){.bar-actions,.bar-panel .inventory-toolbar{align-items:stretch;flex-direction:column}.bar-actions .button{width:100%}.bar-panel .inventory-toolbar>div{display:flex;justify-content:space-between}}
.recipe-select-button{width:calc(100% - 40px);margin:0 20px 20px;padding:10px;border:1px solid var(--ink);border-radius:10px;background:#fff;font-weight:850;cursor:pointer}.recipe-select-button.selected{background:var(--lime)}.shopping-page>header{max-width:850px;margin-bottom:42px}.shopping-page>header h1{font-size:clamp(3.5rem,9vw,7rem)}.shopping-page>header>p:last-child{font-size:1.1rem;color:var(--muted)}.shopping-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:start}.shopping-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.shopping-toolbar .search-input{max-width:480px;margin:0}.shopping-recipes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shopping-recipe{display:flex;align-items:center;gap:12px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:13px;cursor:pointer}.shopping-recipe:has(input:checked){background:var(--lime);border-color:var(--ink)}.shopping-recipe input{accent-color:var(--ink)}.shopping-recipe img{width:58px;height:58px;object-fit:cover;border-radius:9px}.shopping-recipe span{display:grid}.shopping-recipe small{color:var(--muted)}.shopping-summary{position:sticky;top:100px;background:#211d27;color:#fff;border-radius:var(--radius);padding:clamp(22px,4vw,38px)}.shopping-summary .eyebrow{color:var(--lime)}.shopping-summary h2{font-size:2.4rem}.shopping-item{display:flex;gap:11px;padding:14px 0;border-bottom:1px solid #4d4653}.shopping-item input{width:20px;height:20px;accent-color:var(--lime)}.shopping-item span{display:grid}.shopping-item small{color:#c8c0cb}.shopping-item.owned{opacity:.65}.shopping-summary .empty-review{border-color:#615969;color:#ddd}@media(max-width:850px){.shopping-layout{grid-template-columns:1fr}.shopping-summary{position:static}}@media(max-width:560px){.shopping-recipes{grid-template-columns:1fr}.shopping-toolbar{align-items:stretch;flex-direction:column}}.site-header nav a{display:inline-flex}
