:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe6;--surface:#fffdf8;--surface-strong:#fff;--surface-muted:#ebe4d8;--ink:#20251f;--muted:#6b7068;--line:#d9d2c6;--sage:#56705b;--sage-strong:#395441;--sage-soft:#dfe8dd;--on-sage:#fff;--tomato:#d85c41;--tomato-soft:#f7ded6;--on-tomato:#fff;--gold:#d6a84f;--danger:#a63f34;--shadow:0 18px 50px #302b221a;--shadow-sm:0 8px 24px #302b2214;--shadow-hover:0 16px 38px #302b2224;--focus-ring:0 0 0 4px color-mix(in srgb, var(--sage) 24%, transparent);--radius-sm:.75rem;--radius:1.25rem;--radius-lg:2rem;--font-body:"DM Sans", system-ui, sans-serif;--font-display:"DM Serif Display", Georgia, serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171a17;--surface:#20241f;--surface-strong:#282d27;--surface-muted:#30352f;--ink:#f5f0e7;--muted:#adb4aa;--line:#424940;--sage:#95b79a;--sage-strong:#bdd2bf;--sage-soft:#2d3b30;--on-sage:#172019;--tomato:#f08068;--tomato-soft:#482c27;--on-tomato:#24130f;--gold:#e0b866;--danger:#ff9588;--shadow:0 18px 50px #00000040;--shadow-sm:0 8px 24px #0003;--shadow-hover:0 18px 42px #00000052}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171a17;--surface:#20241f;--surface-strong:#282d27;--surface-muted:#30352f;--ink:#f5f0e7;--muted:#adb4aa;--line:#424940;--sage:#95b79a;--sage-strong:#bdd2bf;--sage-soft:#2d3b30;--on-sage:#172019;--tomato:#f08068;--tomato-soft:#482c27;--on-tomato:#24130f;--gold:#e0b866}}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);min-width:0;max-width:100%;color:var(--ink);font-family:var(--font-body);margin:0;line-height:1.5;overflow-x:clip}::selection{background:var(--sage-soft);color:var(--ink)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}img{max-width:100%;display:block}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,.display{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;font-weight:400;line-height:1.05}h1{font-size:clamp(2.1rem,5vw,4.6rem)}h2{font-size:clamp(1.35rem,2vw,2rem)}:focus-visible{outline:3px solid color-mix(in srgb, var(--tomato) 72%, white);outline-offset:3px}.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}.page{width:min(1180px,100%);margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) 7rem}.page--narrow{width:min(960px,100%)}.page-stack{gap:2rem;display:grid}.page>*,.page-header>*,.grid>*,.cluster>*,.split>*{min-width:0}.page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.page-header h1{margin:0;font-size:clamp(2.25rem,5vw,4rem)}.page-header__copy{gap:.4rem;display:grid}.page-header__copy .eyebrow,.page-header__copy p{margin:0}.page-header__description{max-width:62ch;font-size:1.02rem}.page-header__actions{justify-content:flex-end}.section-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.section-header h2,.section-header p{margin:0}.eyebrow{color:var(--tomato);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}.muted{color:var(--muted)}.flush{margin:0}.stack{gap:1rem;min-width:0;display:grid}.cluster{flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;display:flex}.split{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;min-width:0;padding:1.25rem}.card-flat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere;min-width:0;padding:1.25rem}.card--interactive{transition:transform .2s,border-color .2s,box-shadow .2s}.card--interactive:hover{border-color:color-mix(in srgb, var(--sage) 48%, var(--line));box-shadow:var(--shadow-hover);transform:translateY(-3px)}.card--danger{border-color:color-mix(in srgb, var(--danger) 72%, var(--line));background:color-mix(in srgb, var(--surface) 94%, var(--tomato-soft))}.card__heading{align-items:center;gap:.7rem;margin-bottom:1rem;display:flex}.card__heading h2,.card__heading h3{margin:0}.inset{background:var(--surface-muted);border-radius:var(--radius-sm);overflow-wrap:anywhere;min-width:0;padding:1rem}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);min-height:220px;color:var(--muted);place-items:center;padding:2rem;display:grid}.empty--compact{min-height:120px}.full-page-state{text-align:center;min-height:100dvh;color:var(--muted);place-items:center;padding:2rem;display:grid}.error-message{color:var(--danger);font-weight:600}.scan-dropzone{cursor:pointer;min-height:160px;transition:border-color .18s,background .18s,transform .18s}.scan-dropzone:hover{border-color:var(--sage);background:var(--sage-soft);transform:translateY(-1px)}.badge{background:var(--sage-soft);color:var(--sage-strong);white-space:normal;overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.35rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge--warm{background:var(--tomato-soft);color:var(--tomato)}.button{cursor:pointer;background:var(--sage-strong);min-height:44px;color:var(--on-sage);text-align:center;white-space:normal;overflow-wrap:anywhere;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-width:0;max-width:100%;padding:.7rem 1.1rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.button:not(:disabled):hover{background:color-mix(in srgb, var(--sage-strong) 86%, black);box-shadow:0 6px 16px color-mix(in srgb, var(--sage-strong) 18%, transparent);transform:translateY(-1px)}.button:not(:disabled):active{box-shadow:none;transform:translateY(0)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button--secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button--secondary:not(:disabled):hover{border-color:color-mix(in srgb, var(--sage) 60%, var(--line));background:var(--sage-soft);color:var(--sage-strong)}.button--ghost{color:var(--ink);background:0 0}.button--ghost:not(:disabled):hover{background:var(--surface-muted);color:var(--ink);box-shadow:none}.button--warm{background:var(--tomato);color:var(--on-tomato)}.button--warm:not(:disabled):hover{background:color-mix(in srgb, var(--tomato) 86%, black);box-shadow:0 6px 16px color-mix(in srgb, var(--tomato) 20%, transparent)}.button--danger{border-color:var(--danger);color:var(--danger);background:0 0}.button--danger:not(:disabled):hover{background:color-mix(in srgb, var(--tomato-soft) 76%, transparent);border-color:var(--danger);color:var(--danger);box-shadow:none}.icon-button{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;flex:0 0 44px;place-items:center;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-grid}.icon-button:not(:disabled):hover{border-color:var(--sage);background:var(--sage-soft);color:var(--sage-strong);transform:translateY(-1px)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button--danger:not(:disabled):hover{border-color:var(--danger);background:var(--tomato-soft);color:var(--danger)}.field{gap:.4rem;min-width:0;display:grid}.field--grow,.input--grow{flex:1}.field label,.label{font-size:.86rem;font-weight:700}.input,.select,.textarea{border:1px solid var(--line);background:var(--surface-strong);width:100%;min-width:0;color:var(--ink);border-radius:.85rem;min-height:46px;padding:.78rem .9rem;transition:border-color .18s,background .18s,box-shadow .18s}.textarea{resize:vertical;min-height:110px}.input:focus,.select:focus,.textarea:focus{border-color:var(--sage);box-shadow:var(--focus-ring);outline:0}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb, var(--muted) 82%, transparent)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.65;cursor:not-allowed;background:var(--surface-muted)}.search-field{color:var(--muted);align-items:center;gap:.65rem;margin-bottom:1rem;padding:0 1rem;display:flex}.search-field .input{box-shadow:none;background:0 0;border:0;flex:1;padding-inline:0}.input[type=date]{inline-size:100%;min-inline-size:0;max-inline-size:100%;display:block;overflow:hidden}.input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.language-select{border:1px solid var(--line);background:var(--surface);max-width:9rem;min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;padding:.65rem 2rem .65rem .9rem;font-weight:700}.language-select:focus{border-color:var(--sage)}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.checkbox{align-items:center;gap:.55rem;min-height:44px;display:inline-flex}.checkbox input{width:1.2rem;height:1.2rem;accent-color:var(--sage-strong)}.setting-switch{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:.65rem .8rem;font-weight:700;display:flex}.setting-switch input{appearance:none;border:1px solid var(--line);background:var(--surface-strong);cursor:pointer;border-radius:999px;flex:0 0 3.25rem;width:3.25rem;height:1.8rem;transition:background .18s;position:relative}.setting-switch input:after{content:"";background:var(--muted);border-radius:50%;width:1.3rem;height:1.3rem;transition:transform .18s,background .18s;position:absolute;top:.18rem;left:.2rem}.setting-switch input:checked{background:var(--sage-strong)}.setting-switch input:checked:after{background:#fff;transform:translate(1.4rem)}.app-shell{min-height:100vh;padding-left:250px}.side-nav{background:var(--surface);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:250px;padding:1.25rem 1rem;display:flex;position:fixed;inset:0 auto 0 0}.brand{font-family:var(--font-display);align-items:center;gap:.7rem;padding:.5rem .65rem 1.5rem;font-size:1.55rem;text-decoration:none;display:flex}.nav-links{gap:.25rem;display:grid}.nav-link{min-height:46px;color:var(--muted);border-radius:.85rem;align-items:center;gap:.75rem;padding:.65rem .8rem;font-weight:600;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.nav-link:hover{color:var(--ink);background:color-mix(in srgb, var(--sage-soft) 62%, transparent);transform:translate(2px)}.nav-link.active{color:var(--ink);background:var(--sage-soft)}.side-nav .nav-link.active:before{content:"";background:var(--tomato);border-radius:999px;width:3px;position:absolute;inset:.7rem auto .7rem -.55rem}.nav-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:1rem}.nav-link--button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.nav-link--button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-app-header{display:none}.account-summary{border-bottom:1px solid var(--line);align-items:center;gap:.85rem;padding:.25rem .25rem 1rem;display:flex}.account-summary>div{gap:.15rem;min-width:0;display:grid}.account-summary strong,.account-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-summary span{color:var(--muted);font-size:.84rem}.account-avatar,.account-button{text-transform:uppercase;font-weight:800}.account-avatar{background:var(--sage-soft);width:46px;height:46px;color:var(--sage-strong);border-radius:50%;flex:0 0 46px;place-items:center;display:grid}.account-menu{gap:.35rem;padding-top:.75rem;display:grid}.account-menu__logout{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.mobile-nav{display:none}.app-main{min-width:0;min-height:100vh}.kitchen-heading{border-bottom:1px solid var(--line);gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;display:grid}.kitchen-heading h1{margin:0;font-size:clamp(2.25rem,5vw,4rem)}.kitchen-tabs{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;width:fit-content;padding:.3rem;display:grid}.kitchen-tabs a{min-width:150px;min-height:44px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-weight:700;text-decoration:none;display:flex}.kitchen-tabs a.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.kitchen-section-header{border-bottom:0;align-items:center;margin-bottom:1.25rem;padding-bottom:0}.kitchen-section-header h2{font-family:var(--font-display);margin:0;font-size:clamp(1.65rem,4vw,2.25rem);font-weight:400}.assistant-hero{background:var(--sage-strong);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1.5rem,5vw,3.5rem);position:relative;overflow:hidden}.assistant-hero__date{color:#ffd6cc;margin-bottom:.7rem}.assistant-hero__title{max-width:760px;margin-bottom:.65rem;font-size:clamp(2.4rem,6vw,5rem)}.assistant-hero__body{color:#ffffffc7;max-width:60ch;margin-bottom:1.35rem;font-size:clamp(1rem,2vw,1.12rem)}.assistant-hero:after{content:"";background:#ffffff14;border-radius:47% 53% 63% 37%;width:280px;height:280px;position:absolute;top:-110px;right:-90px}.composer{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);z-index:1;border-radius:999px;gap:.65rem;padding:.45rem;display:flex;position:relative}.composer input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0 .8rem}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.quick-action{text-align:left;color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:1rem;min-height:84px;padding:.8rem;font-weight:700;transition:transform .18s,border-color .18s,background .18s}.dashboard-card-heading{align-items:flex-start}.dashboard-card-heading h2{margin-bottom:0}.quick-action:hover{background:#ffffff26;border-color:#ffffff70;transform:translateY(-2px)}.quick-action svg{margin-bottom:.35rem}.recipe-card{gap:1rem;min-height:210px;text-decoration:none;display:grid;overflow:hidden}.recipe-card>div:last-child{align-content:start;display:grid}.recipe-card h3{font-family:var(--font-display);margin-bottom:.25rem;font-size:1.55rem}.recipe-card p{margin-bottom:0}.recipe-tags,.recipe-detail-tags{gap:.4rem}.recipe-tags{margin-top:.75rem}.recipe-detail-tags{margin:-.5rem 0 1.5rem}.tag-filters{margin:-.25rem 0 1.25rem}.tag-filter{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;border-radius:999px;padding:.45rem .8rem;font-weight:700}.tag-filter.active{border-color:var(--sage-strong);background:var(--sage-soft);color:var(--sage-strong)}.recipe-cover{aspect-ratio:16/9;background:linear-gradient(135deg, var(--sage-soft), var(--tomato-soft));color:var(--sage);border-radius:1rem;place-items:center;display:grid;overflow:hidden}.recipe-cover--hero{aspect-ratio:21/8;margin-bottom:1.5rem}.recipe-cover img{object-fit:cover;width:100%;height:100%}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;min-width:0;padding:.8rem 0;display:flex}.list-row>*{min-width:0}.list-row:last-child{border-bottom:0}.list-row--start{align-items:flex-start}.list-row__body{flex:1;min-width:0}.list-row__body h3,.list-row__body p{margin:0}.checked{color:var(--muted);text-decoration:line-through}.editor-section-header{align-items:flex-start}.ingredient-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.instruction-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.recipe-ingredient-amount{flex:0 0 90px}.recipe-meta{margin-bottom:1.5rem}.recipe-nutrition{margin-top:1rem}.shopping-row__item{flex:1}.shopping-row__item span{overflow-wrap:anywhere;align-items:baseline;gap:.45rem;min-width:0;display:flex}.shopping-row__actions{flex-wrap:nowrap}.shopping-item{border-bottom:1px solid var(--line)}.shopping-item:last-child,.shopping-item .shopping-row{border-bottom:0}.shopping-row__actions .icon-button.active{border-color:var(--sage-strong);background:var(--sage-soft)}.shopping-inline-edit{border-top:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;padding:.85rem 0 1rem 2.95rem;display:grid}.shopping-inline-edit>*{min-width:0}.shopping-inline-edit__actions{justify-content:flex-end}.shopping-groups{gap:1rem;margin-top:1rem;display:grid}.shopping-empty{margin-top:1rem}.shopping-group h2{margin-bottom:.35rem}.planner{padding-bottom:.5rem;overflow-x:auto}.planner-mobile{display:none}.planner-controls{margin-bottom:1rem}.planner-day{gap:.85rem;display:grid}.planner-day h2{margin:0}.planner-day__meals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.planner-slot{text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);min-width:0;min-height:78px;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;gap:.25rem;padding:.75rem;transition:border-color .18s,background .18s,transform .18s;display:grid}.planner-slot:hover,button.week-cell:hover{border-color:var(--sage);background:var(--sage-soft);transform:translateY(-1px)}.week-grid{grid-template-columns:110px repeat(7,minmax(110px,1fr));gap:.5rem;min-width:900px;display:grid}.week-cell{border:1px solid var(--line);background:var(--surface);border-radius:.8rem;min-height:92px;padding:.65rem}button.week-cell{cursor:pointer;color:var(--ink);transition:border-color .18s,background .18s,transform .18s}.week-cell--label{background:0 0;border:0;align-items:center;font-weight:700;display:flex}.week-day{text-align:center;padding:.5rem;font-weight:700}.modal{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(720px,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);box-shadow:var(--shadow);padding:0;overflow:auto}.modal--wide{width:min(1000px,100% - 2rem)}.modal--fullscreen{width:min(1180px,100% - 2rem);height:calc(100dvh - 2rem);max-height:calc(100dvh - 2rem)}.modal--fullscreen .modal__body{min-height:calc(100% - 77px)}.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1619169e}.modal__header{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.5rem;display:flex;position:sticky;top:0}.modal__header h2{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.15}.modal__body{padding:1.5rem}.modal-actions{justify-content:flex-end;padding-top:.5rem}.share-link-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.shopping-review-list{gap:.5rem;max-height:min(50dvh,460px);padding:.15rem;display:grid;overflow:auto}.shopping-review-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid}.shopping-review-item:has(input:checked){border-color:color-mix(in srgb, var(--sage) 56%, var(--line));background:color-mix(in srgb, var(--sage-soft) 58%, var(--surface))}.shopping-review-item>span{gap:.15rem;display:grid}.shopping-review-item svg{color:var(--sage-strong)}.cooking-layout{grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);gap:1.5rem;min-height:calc(100dvh - 8.5rem);display:grid}.cooking-sidebar{border-right:1px solid var(--line);align-content:start;padding-right:1.5rem}.cooking-ingredients{gap:.2rem;display:grid}.cooking-ingredient{align-items:flex-start;padding:.35rem 0}.cooking-ingredient span{gap:.1rem;display:grid}.cooking-timer h3{align-items:center;gap:.4rem;margin:0;display:inline-flex}.timer-display{font-variant-numeric:tabular-nums;font-size:1.5rem}.cooking-wake-status{align-items:center;gap:.4rem;display:flex}.cooking-step-panel{padding:clamp(.5rem,3vw,2.5rem)}.cooking-step-panel>.stack{width:min(720px,100%);margin:0 auto}.cooking-step-panel h3{margin:0;font-size:clamp(1.6rem,3vw,2.25rem)}.cooking-steps{gap:.75rem;display:grid}.cooking-step{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem;transition:background .18s,border-color .18s,opacity .18s;display:grid}.cooking-step__number{background:var(--sage-soft);width:2rem;height:2rem;color:var(--sage-strong);border-radius:999px;place-items:center;font-weight:800;display:grid}.cooking-step>span:nth-child(3){padding-top:.25rem;font-size:1.05rem;line-height:1.5}.cooking-step svg{color:var(--line);margin-top:.25rem}.cooking-step.checked{border-color:var(--sage);background:var(--sage-soft)}.cooking-step.checked>span:nth-child(3){opacity:.68;text-decoration:line-through}.cooking-step.checked svg{color:var(--sage-strong)}.toast-region{z-index:100;gap:.5rem;max-width:calc(100% - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{overflow-wrap:anywhere;background:var(--ink);width:100%;max-width:360px;color:var(--surface);box-shadow:var(--shadow);border-radius:1rem;padding:.85rem 1rem}.spinner{border:3px solid var(--line);border-top-color:var(--tomato);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing-nav{justify-content:space-between;align-items:center;gap:1rem;width:min(1180px,100% - 2rem);margin:0 auto;padding:1rem 0;display:flex}.landing-nav>.cluster{justify-content:flex-end}.landing-hero{background:var(--surface);border:1px solid var(--line);border-radius:2.5rem;align-items:center;width:min(1180px,100% - 2rem);min-height:520px;margin:1rem auto 0;padding:clamp(2rem,6vw,5rem);display:flex;overflow:hidden}.landing-hero h1{max-width:780px}.landing-section{width:min(1050px,100% - 2rem);margin:6rem auto}.feature-card{min-height:230px;padding:2rem}.pricing-card{padding:2rem;position:relative}.pricing-card--featured{border:2px solid var(--tomato);transform:translateY(-.5rem)}.price{font-family:var(--font-display);font-size:3rem}.plan-price{font-size:2rem}.legal{width:min(760px,100% - 2rem);margin:3rem auto 6rem}.legal__intro{color:var(--muted);font-size:1.1rem}.legal section{margin-top:2.25rem}.legal section h2{margin-bottom:.65rem;font-size:clamp(1.35rem,3vw,1.75rem)}.legal section p{margin:0}@media (width<=900px){input,select,textarea{font-size:16px}.app-shell{padding-bottom:76px;padding-left:0}.app-shell--chat{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.app-shell--chat .app-main{height:calc(100dvh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0}.side-nav{display:none}.mobile-app-header{height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1rem 0;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:25;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.mobile-app-header .brand{padding:0;font-size:1.35rem}.mobile-app-header__actions{align-items:center;gap:.45rem;display:flex}.mobile-app-header .icon-button{flex-basis:40px;width:40px;height:40px;min-height:40px;text-decoration:none}.mobile-app-header .icon-button.active{border-color:var(--tomato);color:var(--tomato)}.mobile-nav{height:calc(68px + env(safe-area-inset-bottom));padding:.35rem .5rem env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:30;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav a,.mobile-nav button{color:var(--muted);border-radius:.8rem;align-content:center;place-items:center;gap:.1rem;min-width:0;margin:.1rem;font-size:.66rem;font-weight:700;text-decoration:none;transition:background .18s,color .18s;display:grid}.mobile-nav button{cursor:pointer;background:0 0;border:0;font-family:inherit}.mobile-nav span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav a.active,.mobile-nav button.active{color:var(--tomato);background:var(--tomato-soft)}.cooking-layout{grid-template-columns:1fr}.cooking-sidebar{border-right:0;border-bottom:1px solid var(--line);padding-bottom:1rem;padding-right:0}.planner--desktop{display:none}.planner-mobile{gap:1rem;display:grid}.landing-hero{min-height:auto}.grid-3,.quick-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.page{padding:1.25rem 1rem 6rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.page-header__actions{justify-content:flex-start;width:100%}.section-header{flex-wrap:wrap;align-items:flex-start}.kitchen-tabs{width:100%}.kitchen-tabs a{min-width:0}.split{flex-wrap:wrap;align-items:flex-start}.planner-controls{text-align:center;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.planner-controls strong{overflow-wrap:anywhere}.grid-2,.grid-3,.form-row{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.quick-action{min-height:72px}.composer{border-radius:1rem}.assistant-hero{border-radius:var(--radius)}.card,.card-flat{padding:1rem}.modal{border-radius:var(--radius);width:calc(100% - .75rem);max-height:calc(100dvh - .75rem)}.modal--fullscreen{width:calc(100% - .5rem);height:calc(100dvh - .5rem);max-height:calc(100dvh - .5rem)}.modal__header,.modal__body{padding:1rem}.modal__header{padding-block:.85rem}.modal-actions .button{flex:1}.shopping-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.shopping-row__actions{grid-area:1/2}.shopping-row__item span{gap:0;display:grid}.shopping-inline-edit{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0}.share-link-row{grid-template-columns:1fr}.share-link-row .button{width:100%}.shopping-inline-edit__item,.shopping-inline-edit__actions{grid-column:1/-1}.shopping-inline-edit__actions .button{flex:1}.cooking-actions{grid-template-columns:1fr 1fr;display:grid}.cooking-actions .button{width:100%}.cooking-step{gap:.75rem;padding:.85rem}.recipe-ingredient-row{grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr);align-items:start;display:grid}.recipe-ingredient-amount{min-width:0}.composer .button span,.landing-nav .button--secondary{display:none}.landing-hero{border-radius:1.5rem;padding:2rem 1.3rem}.landing-section{margin:4rem auto}.pricing-card--featured{transform:none}.landing-footer{flex-direction:column;align-items:flex-start}}@media (width<=480px){.page-header__actions .button{flex:1}.page-header__actions .icon-button{flex:0 0 44px}.recipe-cover--hero{aspect-ratio:16/9}.landing-nav__cta{display:none}.landing-nav .brand{padding-right:0}.planner-control-label{display:none}.ingredient-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ingredient-fields .icon-button{grid-column:2;justify-self:end}.shopping-inline-edit{grid-template-columns:minmax(0,1fr)}.shopping-inline-edit>*,.shopping-inline-edit__item,.shopping-inline-edit__actions{grid-column:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
