:root{--paper:#fbfaf7;--surface:#fff;--surface-strong:#f5f1e8;--surface-dark:#1b1a17;--ink:#1e1c18;--muted:#6f6a61;--soft:#999185;--line:#e4ded2;--line-strong:#d5cab8;--tomato:#d94a32;--herb:#237557;--gold:#c77a12;--indigo:#5468c7;--danger:#b8332a;--shadow:0 20px 60px #30271c1f;--shadow-soft:0 12px 30px #30271c14;--radius-card:8px;--radius-control:8px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit;letter-spacing:0}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}img{max-width:100%;display:block}#root{min-height:100vh}.onboarding-screen{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(420px,.58fr);min-height:100vh;display:grid}.onboarding-art{background:linear-gradient(180deg, #12100d29, #12100dc7), var(--hero-image) center / cover;color:#fff;align-items:flex-end;min-height:100vh;padding:30px;display:flex;position:relative;overflow:hidden}.onboarding-art:after{content:"";background:var(--accent);height:8px;position:absolute;inset:auto 0 0}.brand.floating{width:auto;box-shadow:var(--shadow-soft);cursor:default;background:#ffffffeb;position:absolute;top:30px;left:30px}.onboarding-preview{z-index:1;width:min(620px,100%);position:relative}.onboarding-preview .mini-label{color:#f8d6a6}.onboarding-preview h1{color:#fff;letter-spacing:0;margin:12px 0 0;font-size:clamp(2.4rem,6vw,5.6rem);line-height:.98}.onboarding-preview p{color:#ffffffd6;max-width:560px;margin:18px 0 0;font-size:1.08rem;line-height:1.6}.onboarding-card{background:linear-gradient(180deg, #2375570f, transparent 280px), var(--paper);align-content:center;min-height:100vh;padding:34px;display:grid}.onboarding-progress{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:18px;display:grid}.onboarding-progress span{background:var(--line);border-radius:99px;height:8px}.onboarding-progress span.is-active{background:var(--ink)}.onboarding-step{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);gap:16px;padding:28px;display:grid}.onboarding-step>svg{color:var(--tomato)}.onboarding-step h2{letter-spacing:0;margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.06}.onboarding-step p{color:var(--muted);margin:0;line-height:1.55}.field-label{color:var(--muted);gap:7px;font-size:.84rem;font-weight:760;display:grid}.field-label input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);width:100%;min-height:48px;color:var(--ink);outline:0;padding:10px 12px}.field-label input:focus{border-color:var(--tomato);background:var(--surface)}.onboarding-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.setup-block{gap:10px;display:grid}.setup-block>strong{font-size:.92rem}.region-selector,.setup-block{min-width:0}.region-picker{gap:9px;display:grid}.region-picker+.region-picker{margin-top:14px}.region-picker>strong{color:var(--muted);text-transform:uppercase;font-size:.82rem}.cuisine-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cuisine-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);cursor:pointer;text-align:left;align-content:start;gap:5px;min-height:92px;padding:11px;display:grid}.flag-badge{background:#fff;border:1px solid #00000014;border-radius:4px;justify-content:center;align-items:center;width:34px;height:24px;display:inline-flex;overflow:hidden}.flag-badge img{object-fit:cover;width:100%;height:100%}.cuisine-card strong{font-size:.88rem;line-height:1.15}.cuisine-card small{color:var(--muted);font-size:.72rem;line-height:1.2}.cuisine-card.is-selected{border-color:color-mix(in srgb, var(--accent) 56%, white);background:color-mix(in srgb, var(--accent) 12%, white)}.care-note{border-radius:var(--radius-card);color:var(--muted);background:#fff8eb;border:1px solid #e7ca93;padding:10px 12px;font-size:.84rem}.starter-bundles{gap:10px;display:grid}.starter-bundles button{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);width:100%;min-height:56px;color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:760;display:flex}.starter-bundles button span{align-items:center;gap:10px;display:flex}.starter-bundles button.is-selected{color:var(--ink);background:#eef7f1;border-color:#a9cbb8}.app-shell{background:linear-gradient(180deg, #2375570f, transparent 360px), var(--paper);grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc2;flex-direction:column;gap:22px;height:100vh;padding:22px;display:flex;position:sticky;top:0}.brand{border-radius:var(--radius-control);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px;display:flex}.brand:hover,.nav-item:hover,.icon-button:hover,.secondary-button:hover,.text-button:hover{background:var(--surface-strong)}.brand-mark{border-radius:var(--radius-card);color:#fff;background:linear-gradient(135deg, var(--tomato), var(--gold));width:46px;height:46px;box-shadow:var(--shadow-soft);place-items:center;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:1.25rem;line-height:1}.brand small{color:var(--muted);margin-top:4px;font-size:.78rem}.side-nav{gap:6px;display:grid}.nav-item{border-radius:var(--radius-control);min-height:44px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;transition:background .16s,color .16s;display:flex}.nav-item.is-active{color:#fff;background:#1f1d19}.side-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);margin-top:auto;padding:16px}.side-panel strong,.side-panel p{margin:0;display:block}.side-panel strong{margin-top:8px}.side-panel p{color:var(--muted);margin-top:6px;font-size:.9rem;line-height:1.45}.app-main{width:min(1280px,100%);margin:0 auto;padding:26px 34px 54px}.topbar{justify-content:space-between;align-items:center;gap:18px;min-height:74px;margin-bottom:22px;display:flex}.topbar h1,.section-heading h2,.hero-panel h2,.planner-header h2,.profile-hero h2,.drawer-hero h2,.cook-card h2,.empty-state h2{color:var(--ink);letter-spacing:0;margin:0;font-weight:780;line-height:1.05}.topbar h1{margin-top:5px;font-size:2rem}.mini-label{color:var(--tomato);text-transform:uppercase;align-items:center;font-size:.75rem;font-weight:760;display:inline-flex}.topbar-actions{align-items:center;gap:10px;display:flex}.status-pill,.score-badge,.tag-row span{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:32px;color:var(--muted);align-items:center;gap:6px;padding:6px 10px;font-size:.84rem;font-weight:700;display:inline-flex}.icon-button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;place-items:center;width:40px;height:40px;display:inline-grid}.icon-button.subtle{width:34px;height:34px;color:var(--muted);background:0 0;border-color:#0000}.mobile-profile{display:none}.view-stack{gap:24px;display:grid}.hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:18px;display:grid}.hero-panel{border-radius:var(--radius-card);color:#fff;background:linear-gradient(90deg, #14120fd9 0%, #14120f8c 48%, #14120f33 100%), var(--hero-image) center / cover;min-height:430px;box-shadow:var(--shadow);align-items:flex-end;padding:28px;display:flex;position:relative;overflow:hidden}.hero-panel:after,.drawer-hero:after{content:"";background:var(--accent);height:7px;position:absolute;inset:auto 0 0}.hero-copy{z-index:1;width:min(540px,100%);position:relative}.hero-copy .mini-label,.drawer-hero .mini-label{color:#f8d6a6}.hero-panel h2{color:#fff;margin-top:10px;font-size:3rem}.hero-panel p,.drawer-hero p{color:#ffffffd1;max-width:580px;margin:14px 0 0;font-size:1.05rem;line-height:1.55}.hero-actions,.planner-actions,.drawer-toolbar,.card-actions,.cook-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-actions{margin-top:24px}.primary-button,.secondary-button,.text-button,.bundle-button,.catalog-strip button,.day-suggestions button,.choice-chip,.segmented-control button,.settings-list button{border-radius:var(--radius-control);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 14px;font-weight:760;transition:transform .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.primary-button{background:var(--ink);color:#fff}.primary-button:hover{background:#000;transform:translateY(-1px)}.primary-button.danger-soft{color:var(--danger);background:#fff0ed;border-color:#f3c4ba}.secondary-button{border-color:var(--line);background:var(--surface);color:var(--ink)}.primary-button.small,.secondary-button.small{min-height:36px;padding:8px 10px;font-size:.84rem}.full-width{width:100%}.text-button{min-height:34px;color:var(--muted);background:0 0;border:0;padding:6px 8px}.match-plate{border-radius:var(--radius-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff24;border:1px solid #ffffff59;align-content:center;place-items:center;width:126px;min-height:126px;display:grid;position:absolute;top:22px;right:22px}.match-plate strong{font-size:2.3rem;line-height:1}.match-plate span{color:#ffffffc7;margin-top:5px;font-size:.82rem;font-weight:700}.briefing-panel,.insight-rail,.pantry-brief,.story-panel,.serving-tool,.cook-card,.empty-state{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft)}.briefing-panel{align-content:start;gap:12px;padding:20px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.section-heading.compact{margin-bottom:4px;display:block}.section-heading h2{margin-top:5px;font-size:1.28rem}.briefing-item{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.briefing-item>span{border-radius:var(--radius-control);width:38px;height:38px;color:var(--herb);background:#eaf5ef;place-items:center;display:grid}.briefing-item strong,.briefing-item p{margin:0}.briefing-item p{color:var(--muted);margin-top:4px;font-size:.9rem;line-height:1.4}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-height:138px;box-shadow:var(--shadow-soft);align-content:start;gap:8px;padding:16px;display:grid}.metric-card svg{color:var(--tomato)}.metric-card span,.metric-card small{color:var(--muted);line-height:1.35}.metric-card strong{font-size:1.7rem;line-height:1}.split-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.split-section.align-start{align-items:start}.chip-cloud,.bundle-row,.catalog-strip,.tag-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.choice-chip{border-color:var(--line);background:var(--surface);color:var(--muted)}.choice-chip.is-selected{border-color:color-mix(in srgb, var(--accent,var(--tomato)) 62%, white);background:color-mix(in srgb, var(--accent,var(--tomato)) 14%, white);color:var(--ink)}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.recipe-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);overflow:hidden}.recipe-image-button{background:color-mix(in srgb, var(--accent) 14%, var(--surface-strong));cursor:pointer;border:0;width:100%;height:190px;padding:0;position:relative;overflow:hidden}.recipe-image-button img,.planned-meal img,.saved-strip img{object-fit:cover;width:100%;height:100%}.recipe-image-button img{transition:transform .3s}.recipe-card:hover .recipe-image-button img{transform:scale(1.05)}.score-badge{color:var(--ink);background:#ffffffe6;border-color:#ffffff4d;position:absolute;top:10px;left:10px}.score-badge.large{width:fit-content;position:static}.recipe-card-body{gap:11px;padding:16px;display:grid}.recipe-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.82rem;font-weight:740;display:flex}.recipe-meta span:not(:last-child):after{content:"/";color:var(--line-strong);margin-left:8px}.recipe-meta.inverse{color:#ffffffd1}.recipe-card h3{margin:0;font-size:1.24rem;line-height:1.16}.recipe-card p{color:var(--muted);margin:0;line-height:1.45}.tag-row span{background:var(--surface-strong);min-height:28px;padding:4px 8px;font-size:.76rem}.card-actions{padding-top:2px}.card-actions .primary-button{margin-left:auto}.tool-band{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:center;gap:14px;display:grid}.search-box{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);align-items:center;gap:10px;min-height:50px;padding:0 14px;display:flex}.search-box svg{color:var(--muted);flex:none}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.segmented-control{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);gap:6px;padding:5px;display:flex;overflow-x:auto}.segmented-control button{white-space:nowrap;min-height:38px;color:var(--muted);background:0 0;border-color:#0000}.segmented-control button.is-active{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:0 4px 14px #30271c12}.discover-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.insight-rail{gap:12px;padding:18px;display:grid;position:sticky;top:24px}.insight-stat{border-top:1px solid var(--line);grid-template-columns:26px minmax(0,1fr);gap:6px 10px;padding:12px 0;display:grid}.insight-stat svg{color:var(--gold)}.insight-stat span{color:var(--muted);font-size:.84rem}.insight-stat strong{overflow-wrap:anywhere;grid-column:2}.planner-header,.profile-hero{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.planner-header h2,.profile-hero h2{margin-top:5px;font-size:1.5rem}.planner-grid{grid-template-columns:repeat(7,minmax(150px,1fr));gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.day-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-rows:auto 154px 1fr;gap:10px;min-width:150px;min-height:330px;padding:12px;display:grid}.day-card-header{justify-content:space-between;align-items:center;min-height:36px;display:flex}.planned-meal,.empty-meal{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-strong);text-align:left;cursor:pointer;align-content:end;width:100%;height:154px;display:grid;overflow:hidden}.planned-meal{color:#fff;position:relative}.planned-meal:after{content:"";background:linear-gradient(#0000,#000000c2);position:absolute;inset:0}.planned-meal img{position:absolute;inset:0}.planned-meal span,.planned-meal small{z-index:1;margin:0 10px;position:relative}.planned-meal span{font-weight:760;line-height:1.2}.planned-meal small{color:#ffffffc7;margin-bottom:10px}.empty-meal{color:var(--muted);align-content:center;place-items:center;gap:8px}.day-suggestions{gap:6px;display:grid}.day-suggestions button{border-color:var(--line);background:var(--surface);min-height:34px;color:var(--muted);text-align:left;justify-content:start;padding:7px 8px;font-size:.78rem;overflow:hidden}.bundle-button,.catalog-strip button{border-color:var(--line);background:var(--surface);min-height:38px;color:var(--muted);white-space:nowrap}.bundle-button:hover,.catalog-strip button:hover,.day-suggestions button:hover{border-color:var(--line-strong);color:var(--ink)}.pantry-brief{padding:16px}.pantry-brief p{color:var(--muted);margin:8px 0 0}.gap-line{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.gap-line:first-of-type{margin-top:8px}.gap-line span{color:var(--muted)}.pantry-groups{gap:18px;display:grid}.pantry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pantry-item{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:106px;padding:14px;display:grid}.pantry-item strong,.pantry-item span{display:block}.pantry-item strong{align-items:center;gap:9px;display:flex}.ingredient-avatar{border-radius:var(--radius-control);background:var(--surface-strong);place-items:center;width:34px;height:34px;font-size:1.1rem;display:inline-grid}.pantry-item span{color:var(--muted);margin-top:4px;font-size:.84rem}.pantry-item .ingredient-avatar{color:var(--ink);margin-top:0;font-size:1.1rem;display:inline-grid}.quantity-stepper{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);grid-auto-flow:column;align-items:center;gap:6px;width:fit-content;padding:4px;display:inline-grid}.quantity-stepper button{background:var(--surface);cursor:pointer;border:0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.quantity-stepper span{text-align:center;min-width:72px;color:var(--ink);margin:0;font-size:.86rem;font-weight:760}.quantity-stepper.large button{width:38px;height:38px}.quantity-stepper.large span{min-width:48px;font-size:1.1rem}.shopping-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.shopping-group{min-width:0}.shopping-item{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:54px;margin-bottom:8px;padding:10px 12px;display:grid}.shopping-item span:nth-child(2){overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.item-icon{justify-content:center;align-items:center;min-width:22px;font-size:1rem;line-height:1;display:inline-flex}.shopping-item strong{white-space:nowrap}.shopping-item.is-checked{color:var(--soft);background:var(--surface-strong)}.shopping-item.is-checked span:nth-child(2),.shopping-item.is-checked strong{text-decoration:line-through}.check-circle{border:1px solid var(--line-strong);color:#fff;background:var(--surface);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.shopping-item.is-checked .check-circle,.ingredient-line.ready .check-circle{border-color:var(--herb);background:var(--herb)}.empty-state{text-align:center;align-content:center;place-items:center;gap:12px;min-height:360px;padding:34px;display:grid}.empty-state svg{color:var(--gold)}.empty-state p{max-width:420px;color:var(--muted);margin:0;line-height:1.5}.profile-hero{justify-content:start}.profile-hero p{max-width:720px;color:var(--muted);margin:8px 0 0;line-height:1.5}.profile-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.profile-family{margin-bottom:12px}.avatar{border-radius:var(--radius-card);background:linear-gradient(135deg, var(--herb), var(--indigo));color:#fff;place-items:center;width:74px;height:74px;font-size:1.35rem;font-weight:820;display:grid}.passport-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.passport-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left;cursor:pointer;min-height:112px;padding:12px}.passport-card span{border-radius:var(--radius-control);width:38px;height:38px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);place-items:center;font-size:.78rem;font-weight:800;display:grid}.passport-card strong{margin-top:12px;display:block}.passport-card.is-selected{border-color:color-mix(in srgb, var(--accent) 56%, white)}.settings-list{gap:8px;display:grid}.settings-list button{border-color:var(--line);background:var(--surface);color:var(--muted);justify-content:space-between}.settings-list button.is-selected{color:var(--ink);background:#eef7f1;border-color:#a9cbb8}.saved-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.saved-strip button{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left;cursor:pointer;min-height:160px;overflow:hidden}.saved-strip img{height:108px}.saved-strip span{padding:10px;font-weight:760;line-height:1.25;display:block}.drawer-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18141061;justify-content:flex-end;display:flex;position:fixed;inset:0}.recipe-drawer{background:var(--paper);width:min(720px,100%);height:100vh;position:relative;overflow-y:auto;box-shadow:-22px 0 70px #0000002e}.drawer-close{z-index:2;background:#ffffffe6;position:absolute;top:16px;right:16px}.drawer-hero{color:#fff;background:linear-gradient(180deg, #120f0d2e, #120f0dd6), var(--hero-image) center / cover;align-items:flex-end;min-height:330px;padding:28px;display:flex;position:relative}.drawer-hero>div{z-index:1;position:relative}.drawer-hero h2{color:#fff;margin-top:14px;font-size:2.35rem}.drawer-toolbar{z-index:1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf7f0;padding:14px 18px;position:sticky;top:0}.drawer-tabs{gap:6px;padding:16px 18px 0;display:flex}.drawer-tabs button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:38px;color:var(--muted);cursor:pointer;text-transform:capitalize;padding:8px 12px;font-weight:760}.drawer-tabs button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.drawer-content{gap:20px;padding:18px;display:grid}.nutrition-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.story-panel{padding:16px}.story-panel p{color:var(--muted);margin:0;line-height:1.55}.flavor-bars{gap:12px;display:grid}.flavor-row{grid-template-columns:82px minmax(0,1fr) 40px;align-items:center;gap:10px;display:grid}.flavor-row span{color:var(--muted);text-transform:capitalize;font-size:.9rem}.flavor-row div,.cook-progress div{background:var(--surface-strong);border-radius:99px;height:10px;overflow:hidden}.flavor-row i,.cook-progress i{background:linear-gradient(90deg, var(--tomato), var(--gold), var(--herb));border-radius:99px;height:100%;display:block}.clean-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.clean-list li{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);color:var(--muted);padding:12px;line-height:1.45}.substitution-list{gap:8px;display:grid}.substitution-list div{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:12px}.substitution-list strong{display:block}.substitution-list p{color:var(--muted);margin:5px 0 0;line-height:1.45}.serving-tool{justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.serving-tool h2{margin:4px 0 0}.ingredient-checklist{gap:8px;display:grid}.ingredient-line{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.ingredient-line strong,.ingredient-line small{display:block}.ingredient-line small{color:var(--muted);margin-top:3px}.ingredient-line em{color:var(--muted);white-space:nowrap;font-style:normal;font-weight:760}.ingredient-line.low{background:#fff8eb;border-color:#e7ca93}.ingredient-line.missing{background:#fff2ef;border-color:#eab7ad}.cook-mode{padding-bottom:40px}.cook-card{gap:18px;padding:18px;display:grid}.cook-progress{gap:8px;display:grid}.cook-progress span{color:var(--muted);font-size:.86rem;font-weight:760}.cook-card h2{font-size:1.8rem}.cook-card p{color:var(--muted);margin:0;font-size:1.08rem;line-height:1.6}.timer-display{border-radius:var(--radius-card);color:#fff;background:#1f1d19;justify-content:center;align-items:center;gap:12px;min-height:92px;display:flex}.timer-display strong{font-size:2.5rem;line-height:1}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.app-main{padding:18px 18px 92px}.bottom-nav{z-index:20;border:1px solid var(--line);border-radius:var(--radius-card);min-height:64px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;grid-template-columns:repeat(6,1fr);gap:4px;padding:6px;display:grid;position:fixed;bottom:12px;left:12px;right:12px}.bottom-nav button{border-radius:var(--radius-control);color:var(--muted);cursor:pointer;background:0 0;border:0;align-content:center;place-items:center;gap:3px;font-size:.68rem;font-weight:760;display:grid}.bottom-nav button.is-active{color:#fff;background:var(--ink)}}@media (width>=1121px){.bottom-nav{display:none}}@media (width<=980px){.hero-grid,.discover-layout,.split-section,.tool-band,.shopping-groups{grid-template-columns:1fr}.metric-row,.recipe-grid,.pantry-grid,.saved-strip,.cuisine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-rail{position:static}}@media (width<=640px){.topbar{min-height:58px;margin-bottom:14px}.topbar h1{font-size:1.35rem}.topbar-actions{display:none}.mobile-profile{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;place-items:center;width:38px;height:38px;padding:0;display:grid}.hero-panel{min-height:420px;padding:20px}.hero-panel h2,.drawer-hero h2{font-size:2rem}.match-plate{width:96px;min-height:96px;top:14px;right:14px}.match-plate strong{font-size:1.7rem}.metric-row,.recipe-grid,.pantry-grid,.nutrition-grid,.passport-grid,.saved-strip,.cuisine-grid{grid-template-columns:1fr}.planner-header,.profile-hero,.serving-tool{flex-direction:column;align-items:stretch}.profile-hero .secondary-button,.profile-actions{margin-left:0}.drawer-toolbar{align-items:stretch}.drawer-toolbar .primary-button,.drawer-toolbar .secondary-button,.planner-actions .primary-button,.planner-actions .secondary-button{flex:160px}.drawer-hero{min-height:300px;padding:22px}.flavor-row{grid-template-columns:74px minmax(0,1fr) 34px}.ingredient-line{grid-template-columns:28px minmax(0,1fr)}.ingredient-line em{grid-column:2}}@media (width<=860px){.onboarding-screen{grid-template-columns:1fr}.onboarding-art{min-height:42vh}.onboarding-card{min-height:58vh;padding:18px}}@media (width<=560px){.onboarding-art{padding:18px}.brand.floating{top:18px;left:18px}.onboarding-step{padding:20px}.onboarding-actions .primary-button,.onboarding-actions .secondary-button{flex:140px}}
