:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:72px;--space-4xl:112px;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.625rem;--text-3xl:2rem;--text-display-s:1.5rem;--text-display:1.75rem;--text-section:1.25rem;--text-title:1rem;--text-lead:1rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.2s;--dur-long:.38s;--container:1200px;--gutter:24px;--gap-columns:24px;--section-gap-s:64px;--section-gap:96px;--section-gap-l:128px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:#faf7f1;--color-paper-2:#fff;--color-paper-3:#f2ede3;--color-ink:#16271d;--color-ink-2:#3d4b42;--color-muted:#6b776e;--color-rule:#e7e0d3;--color-accent:#1f7a4d;--color-accent-2:#186a42;--color-accent-deep:#11512f;--color-accent-ink:#fff;--color-leaf-soft:#e6f2ea;--color-spice:#f2a531;--color-spice-soft:#fdf1dc;--color-spice-ink:#6b4205;--color-focus:#1f7a4d;--color-error:#c23b2a;--color-error-soft:#fbe9e6;--color-success:#1f7a4d;--font-display:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-body:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-outlier:ui-monospace, monospace;--radius-card:18px;--radius-control:12px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 1px 2px #16271d0d, 0 6px 20px #16271d0f;--shadow-raised:0 2px 6px #16271d14, 0 14px 32px #16271d1a;--tracking-display:-.02em;--display-weight:800}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--color-scrim:#16271d61;--color-on-error:#fff;--control:44px;--control-s:34px;--rule-strong:1.5px;--measure-app:36rem;--measure-app-wide:46rem;--tabbar-h:64px}body{color:var(--color-ink-2);background:var(--color-paper);font-size:1rem;line-height:1.55}h1,h2,h3,strong{color:var(--color-ink)}h1{font-size:var(--text-display);margin-block-end:var(--space-2xs);line-height:1.15}h2{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700;line-height:1.2}h3{font-size:var(--text-lg);font-weight:700}a{color:var(--color-accent);text-decoration-color:currentColor}a:hover{text-decoration-thickness:2px}button,input,select{color:inherit}strong{font-weight:700}small,.small{font-size:var(--text-sm)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-tooltip);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);background:var(--color-ink);color:var(--color-paper-2);position:absolute;inset-block-start:var(--space-xs);inset-inline-start:var(--space-xs);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}mark{background:var(--color-spice-soft);color:var(--color-ink);padding-inline:var(--space-3xs);border-radius:4px}.app{min-height:100dvh}.app.has-tabs{padding-block-end:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.screen{width:100%;max-width:var(--measure-app);flex-direction:column;min-height:100dvh;margin-inline:auto;display:flex}.app.has-tabs .screen{min-height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom))}.screen.wide{max-width:var(--measure-app-wide)}.topbar{z-index:var(--z-sticky-nav);align-items:center;gap:var(--space-sm);padding:calc(var(--space-xs) + env(safe-area-inset-top)) calc(var(--space-md) + env(safe-area-inset-right)) var(--space-xs) calc(var(--space-md) + env(safe-area-inset-left));background:color-mix(in srgb, var(--color-paper) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:sticky;top:0}.topbar-actions{gap:var(--space-2xs);align-items:center;margin-inline-start:auto;display:flex}.content{padding:var(--space-xs) var(--space-md) var(--space-xl);flex:1}.content>h1+.lede{margin-block-end:var(--space-lg)}.footer{z-index:var(--z-sticky);padding:var(--space-sm) var(--space-md) calc(var(--space-sm) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--color-paper) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block-start:var(--rule-hair) solid var(--color-rule);position:sticky;bottom:0}.app.has-tabs .footer{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-block-end:var(--space-sm)}.progress{border-radius:var(--radius-pill);background:var(--color-paper-3);flex:1;height:6px;overflow:hidden}.progress span{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--dur-long) var(--ease-out);display:block}.tabbar{inset-inline:0;z-index:var(--z-sticky-nav);background:var(--color-paper-2);border-block-start:var(--rule-hair) solid var(--color-rule);justify-content:center;padding-block-end:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;box-shadow:0 -4px 20px #16271d0d}.tabbar ul{padding:0 var(--space-xs);width:100%;max-width:var(--measure-app-wide);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;list-style:none;display:grid}.tab{height:var(--tabbar-h);color:var(--color-muted);font-size:var(--text-xs);transition:color var(--dur-short) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-weight:600;text-decoration:none;display:flex;position:relative}.tab-icon{border-radius:var(--radius-pill);width:56px;height:30px;transition:background-color var(--dur-short) var(--ease-out);place-items:center;display:grid}.tab:hover{color:var(--color-ink)}.tab.active{color:var(--color-accent-deep)}.tab.active .tab-icon{background:var(--color-leaf-soft)}.tab .dot{border-radius:var(--radius-pill);background:var(--color-spice);width:8px;height:8px;box-shadow:0 0 0 2px var(--color-paper-2);position:absolute;top:12px;left:calc(50% + 10px)}.row{gap:var(--space-sm);align-items:center;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.center{justify-content:center}.row.end{justify-content:flex-end}.gap-s{gap:var(--space-xs);margin-block-end:var(--space-lg)}.grow{flex:1;min-width:0}.stack{gap:var(--space-sm);flex-direction:column;display:flex}.center{text-align:center}.align-end{align-self:flex-end}.muted{color:var(--color-muted)}.lede{color:var(--color-muted);font-size:var(--text-md);max-width:46ch}.hint{color:var(--color-muted);font-size:var(--text-sm);margin-block:var(--space-sm)}.label{color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.note{color:var(--color-spice-ink);background:var(--color-spice-soft);border-radius:var(--radius-pill);padding:1px var(--space-xs);font-size:var(--text-xs);margin-inline-start:var(--space-xs);font-weight:600}.meta,.meta-line,.day-meta{column-gap:var(--space-sm);row-gap:var(--space-3xs);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;font-weight:500;display:flex}.meta>*+:before,.day-meta>*+:before,.meta-line>*+:before{content:"";vertical-align:middle;width:3px;height:3px;opacity:.6;background:currentColor;border-radius:50%;margin-inline-end:var(--space-sm);display:inline-block}.meta-line{margin-block-end:var(--space-sm)}.meta-line span:first-child{color:var(--color-ink-2)}.section-title{font-size:var(--text-lg);margin:var(--space-xl) 0 var(--space-sm);align-items:baseline;gap:var(--space-xs);font-weight:700;display:flex}.section-title .muted{font-size:var(--text-sm);font-weight:500}.card{background:var(--color-paper-2);color:var(--color-ink-2);padding:var(--space-lg) var(--space-md);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-block-end:var(--space-md)}.card>.section-title:first-child,.card>.row:first-child .section-title{margin-block-start:0}.card>.row:first-child{align-items:baseline;margin-block-end:var(--space-md)}.card>.row:first-child .section-title{margin-block-end:0}.card>.btn+.btn{margin-inline-start:var(--space-xs)}.card h3{margin-block:var(--space-lg) var(--space-xs)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--control);padding:0 var(--space-lg);border:var(--rule-strong) solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font:700 var(--text-sm)/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;text-decoration:none;display:inline-flex;position:relative}.btn:after{content:"";position:absolute;inset:-2px}.btn:hover{background:var(--color-leaf-soft)}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn[aria-busy=true]{cursor:progress}.btn.primary{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 2px 8px #1f7a4d40}.btn.primary:hover:not(:disabled){background:var(--color-accent-2);border-color:var(--color-accent-2)}.btn.primary:disabled{background:var(--color-paper-3);border-color:var(--color-paper-3);color:var(--color-muted);box-shadow:none;opacity:1}.btn.outline,.btn.ghost{background:var(--color-paper-2)}.btn.ghost{border-color:var(--color-rule);color:var(--color-ink)}.btn.ghost:hover:not(:disabled){border-color:var(--color-muted);background:var(--color-paper-3)}.btn.danger{background:var(--color-paper-2);border-color:var(--color-error);color:var(--color-error)}.btn.danger:hover:not(:disabled){background:var(--color-error-soft)}.dialog .btn.danger{background:var(--color-error);color:var(--color-on-error)}.dialog .btn.danger:hover:not(:disabled){background:color-mix(in oklab, var(--color-error) 88%, black)}.btn.link{min-height:var(--control-s);padding:0 var(--space-2xs);color:var(--color-accent);background:0 0;border-color:#0000}.btn.link:hover:not(:disabled){text-underline-offset:.2em;background:0 0;text-decoration:underline}.btn.small{min-height:var(--control-s);padding:0 var(--space-md)}.btn.block{width:100%}.icon-btn{width:var(--control);height:var(--control);border-radius:var(--radius-pill);color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);background:0 0;border:0;flex-shrink:0;place-items:center;text-decoration:none;display:inline-grid;position:relative}.icon-btn:after{content:"";position:absolute;inset:-2px}.icon-btn:hover:not(:disabled){background:var(--color-paper-3)}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn.placeholder{visibility:hidden}.icon-btn.big{background:var(--color-paper-2);width:60px;height:60px;box-shadow:var(--shadow-card);color:var(--color-accent)}.icon-btn.on{color:var(--color-error)}.icon-btn.on svg{fill:currentColor}.icon-btn.with-dot .dot{border-radius:var(--radius-pill);background:var(--color-spice);width:8px;height:8px;position:absolute;top:8px;right:8px}.icon-btn.soft{background:var(--color-leaf-soft);color:var(--color-accent-deep)}.chev svg,.summary-card>svg:last-child,.list-link svg{transform:rotate(180deg)}.grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=40rem){.grid:not(.two){grid-template-columns:repeat(3,minmax(0,1fr))}}.tile{justify-content:center;align-items:flex-start;gap:var(--space-2xs);text-align:start;min-height:64px;padding:var(--space-md);border:var(--rule-strong) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink);cursor:pointer;transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);flex-direction:column;display:flex;position:relative}.tile:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-accent) 40%, var(--color-rule))}.tile:active:not(:disabled){transform:scale(.98)}.tile.selected{border-color:var(--color-accent);background:var(--color-leaf-soft)}.tile:disabled{opacity:.5;cursor:not-allowed}.tile-label{font-size:var(--text-md);padding-inline-end:var(--space-lg);font-weight:700;line-height:1.3}.tile-hint{font-size:var(--text-sm);color:var(--color-muted)}.tile-check{top:var(--space-sm);right:var(--space-sm);border-radius:var(--radius-pill);background:var(--color-accent);width:22px;height:22px;color:var(--color-accent-ink);place-items:center;display:grid;position:absolute}.counter{font-size:var(--text-sm);color:var(--color-muted);margin-block-end:var(--space-sm);font-weight:600}.field{gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink);flex-direction:column;font-weight:600;display:flex}.field small{color:var(--color-muted);font-weight:400}.field input,.field select,.input,.search-box input,.ask-bar input{width:100%;min-height:48px;padding:var(--space-xs) var(--space-md);border:var(--rule-strong) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-md);outline-offset:0;transition:border-color var(--dur-short) var(--ease-out), outline-color var(--dur-short) var(--ease-out);outline:3px solid #0000;font-weight:400}.field input:hover,.input:hover,.ask-bar input:hover{border-color:color-mix(in oklab, var(--color-muted) 50%, var(--color-rule))}.field input:focus-visible,.field select:focus-visible,.input:focus-visible,.ask-bar input:focus-visible{border-color:var(--color-accent);outline-color:color-mix(in oklab, var(--color-accent) 22%, transparent)}.search-box:focus-within{border-color:var(--color-accent);outline:3px solid color-mix(in oklab, var(--color-accent) 22%, transparent)}.field input:disabled,.input:disabled{opacity:.5;cursor:not-allowed}.field input[aria-invalid=true]{border-color:var(--color-error)}::placeholder{color:var(--color-muted);opacity:1}.small-field{width:6rem}.search-box{align-items:center;gap:var(--space-xs);border:var(--rule-strong) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);margin-block-end:var(--space-md);padding-inline-start:var(--space-md);display:flex}.search-box input{background:0 0;border:0;outline:none;padding-inline-start:0}.segmented{border-radius:var(--radius-pill);background:var(--color-paper-3);gap:3px;padding:3px;display:inline-flex}.segmented button{min-height:var(--control-s);padding:0 var(--space-md);border-radius:var(--radius-pill);color:var(--color-ink-2);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);background:0 0;border:0;font-weight:600}.segmented button:hover{color:var(--color-ink)}.segmented button[aria-selected=true],.segmented button[aria-pressed=true]{background:var(--color-paper-2);color:var(--color-accent-deep);box-shadow:0 1px 3px #16271d1f}.chips{gap:var(--space-xs);margin-block:var(--space-sm);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2xs);min-height:var(--control-s);padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:600;display:inline-flex}button.chip:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-deep)}button.chip:active:not(:disabled){transform:scale(.97)}button.chip:disabled{opacity:.5;cursor:not-allowed}.chip.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.chip.static{cursor:default}.chip.warn{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-soft)}.toggle-row{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-block:var(--space-sm);cursor:pointer;border-block-end:var(--rule-hair) solid var(--color-rule);display:flex;position:relative}.toggle-row:last-child{border-block-end:0}.toggle-row input{opacity:0;width:1px;height:1px;position:absolute}.toggle-label{color:var(--color-ink);font-weight:600;display:block}.toggle-desc{font-size:var(--text-sm);color:var(--color-muted);display:block}.switch{border-radius:var(--radius-pill);background:var(--color-rule);width:46px;height:28px;transition:background-color var(--dur-short) var(--ease-out);flex-shrink:0;position:relative}.switch:after{content:"";border-radius:var(--radius-pill);background:var(--color-paper-2);width:22px;height:22px;transition:transform var(--dur-short) var(--ease-out);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #16271d33}.toggle-row input:checked+.switch{background:var(--color-accent)}.toggle-row input:checked+.switch:after{transform:translate(18px)}.toggle-row input:focus-visible+.switch{outline:2px solid var(--color-focus);outline-offset:2px}.toggle-row input:disabled+.switch{opacity:.5;cursor:not-allowed}.setting{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-block-end:var(--space-sm);display:flex}.alert{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);margin-block:var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-control);background:var(--color-paper-3);color:var(--color-ink);align-items:center;font-weight:500;display:flex}.alert svg{flex-shrink:0}.alert.error{background:var(--color-error-soft);color:var(--color-error)}.alert.warn{background:var(--color-spice-soft);color:var(--color-spice-ink)}.alert.success{background:var(--color-leaf-soft);color:var(--color-accent-deep)}.state{padding:var(--space-2xl) var(--space-xs);text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.state h2{font-size:var(--text-xl)}.state p{color:var(--color-muted);max-width:40ch}.state-icon{border-radius:var(--radius-pill);background:var(--color-leaf-soft);width:64px;height:64px;color:var(--color-accent);place-items:center;margin-block-end:var(--space-xs);display:grid}.state .row.center,.state .stack{justify-content:center}.spinner-wrap{place-items:center;min-height:50dvh;display:grid}.spinner{border:3px solid var(--color-leaf-soft);border-top-color:var(--color-accent);border-radius:var(--radius-pill);width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.offline-banner{gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--color-spice-soft);color:var(--color-spice-ink);font-size:var(--text-sm);justify-content:center;align-items:center;padding-block-start:calc(var(--space-xs) + env(safe-area-inset-top));font-weight:600;display:flex}.dev-note{background:var(--color-spice-soft);border-radius:var(--radius-control);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);margin-block:var(--space-sm);overflow-wrap:anywhere;color:var(--color-spice-ink)}.dev-note .btn.link{color:var(--color-ink)}.badge{align-items:center;gap:var(--space-2xs);min-height:28px;padding:0 var(--space-sm);border-radius:var(--radius-pill);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:600;display:inline-flex}.badge.accent{background:var(--color-leaf-soft);color:var(--color-accent-deep);border-color:#0000}.badge.green{color:var(--color-accent-deep)}.badge.warn{background:var(--color-error-soft);color:var(--color-error);border-color:#0000}.badge.muted{color:var(--color-muted);border-style:dashed}.badge.spice{background:var(--color-spice-soft);color:var(--color-spice-ink);border-color:#0000}.toaster{left:50%;bottom:calc(var(--space-3xl) + env(safe-area-inset-bottom));gap:var(--space-xs);z-index:var(--z-toast);flex-direction:column;width:min(92%,26rem);display:flex;position:fixed;transform:translate(-50%)}.app.has-tabs .toaster{bottom:calc(var(--tabbar-h) + var(--space-md) + env(safe-area-inset-bottom))}.toast{justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--color-ink);color:var(--color-paper-2);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);box-shadow:var(--shadow-raised);font-size:var(--text-sm);animation:rise var(--dur-short) var(--ease-out);font-weight:600;display:flex}.toast.error{background:var(--color-error);color:var(--color-on-error)}.toast-action{min-height:var(--control-s);color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.toast-action:hover{text-decoration-thickness:2px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.dialog{border-radius:var(--radius-card);padding:var(--space-lg);background:var(--color-paper-2);width:min(92%,26rem);color:var(--color-ink-2);box-shadow:var(--shadow-raised);border:0}.dialog h2{margin-block-end:var(--space-sm)}.dialog p{margin-block-end:var(--space-lg)}.dialog::backdrop{background:var(--color-scrim)}.dialog .input{margin-block-end:var(--space-md)}.auth{min-height:100dvh;padding:calc(var(--space-xl) + env(safe-area-inset-top)) var(--space-md) calc(var(--space-xl) + env(safe-area-inset-bottom));align-content:center;justify-items:stretch;max-width:30rem;margin-inline:auto;display:grid}.auth-card{background:var(--color-paper-2);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);padding:var(--space-xl) var(--space-lg)}.auth-card h1{font-size:var(--text-3xl);max-width:14ch;margin-block-end:var(--space-sm)}.auth-card .lede{margin-block-end:var(--space-lg)}.brand{align-items:center;gap:var(--space-xs);margin-block-end:var(--space-lg);display:flex}.brand:before{content:"";background:var(--color-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M12 30h40a20 20 0 0 1-40 0z' fill='%23f2a531'/%3E%3Cpath d='M22 22c2-4 6-6 10-6' stroke='%23fff' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center / 26px no-repeat;border-radius:10px;width:32px;height:32px}.wordmark{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-ink)}.more-toggle{margin-block-start:var(--space-sm)}.more-ways{border-block-start:var(--rule-hair) solid var(--color-rule);margin-block-start:var(--space-md);padding-block-start:var(--space-lg)}.divider{align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--color-rule);flex:1;height:1px}.stepper{justify-content:center;align-items:center;gap:var(--space-xl);padding-block:var(--space-2xl);display:flex}.stepper-value{letter-spacing:-.03em;min-width:3ch;color:var(--color-ink);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;font-size:4.5rem;font-weight:800;line-height:1;display:flex}.stepper-value span{font-size:var(--text-sm);letter-spacing:0;color:var(--color-muted);margin-block-start:var(--space-xs);font-weight:600}.budget{padding-block:var(--space-xl)}.budget-value{text-align:center;letter-spacing:-.03em;color:var(--color-ink);font-variant-numeric:tabular-nums;margin-block-end:var(--space-lg);font-size:3.5rem;font-weight:800;line-height:1;display:block}.budget-value span{font-size:var(--text-md);letter-spacing:0;color:var(--color-muted);font-weight:600}input[type=range]{width:100%;accent-color:var(--color-accent);height:var(--control)}.allergy-panel{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-card);background:var(--color-spice-soft);color:var(--color-ink-2);--color-rule:color-mix(in oklab, var(--color-spice) 30%, var(--color-paper-2));margin-block-start:var(--space-xl)}.allergy-panel .section-title{margin-block-start:0}.allergy-panel .hint,.allergy-panel .muted{color:var(--color-spice-ink)}.allergy-copy{font-size:var(--text-sm)}.check-list{margin:var(--space-md) 0;gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.check{align-items:center;gap:var(--space-sm);min-height:44px;padding-inline:var(--space-sm);border-radius:var(--radius-control);background:var(--color-paper-2);cursor:pointer;color:var(--color-ink);font-weight:600;display:flex}.check input{appearance:none;border:var(--rule-strong) solid var(--color-muted);background:var(--color-paper-2);cursor:pointer;width:20px;height:20px;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);border-radius:6px;flex-shrink:0;place-items:center;margin:0;display:grid}.check input:after{content:"";border:2px solid var(--color-paper-2);opacity:0;border-block-start:0;border-inline-end:0;width:10px;height:5px;transform:translateY(-1px)rotate(-45deg)}.check input:checked{background:var(--color-error);border-color:var(--color-error)}.check input:checked:after{opacity:1}.check input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.check.on{box-shadow:inset 0 0 0 1.5px var(--color-error)}.pantry-add{margin-block-end:var(--space-sm)}.mode-choice{margin-block-start:var(--space-xl)}.generating{min-height:100dvh;padding:var(--space-xl) var(--space-lg);max-width:var(--measure-app);flex-direction:column;justify-content:center;margin-inline:auto;display:flex}.generating h1{font-size:var(--text-3xl)}.stages{padding:var(--space-xs) var(--space-md);margin:var(--space-xl) 0 0;background:var(--color-paper-2);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;list-style:none;display:flex}.stages li{align-items:center;gap:var(--space-sm);min-height:52px;color:var(--color-muted);border-block-end:var(--rule-hair) solid var(--color-rule);transition:color var(--dur-short) var(--ease-out);display:flex}.stages li:last-child{border-block-end:0}.stages li.active{color:var(--color-ink);font-weight:600}.stages li.done{color:var(--color-ink-2)}.stage-dot{border-radius:var(--radius-pill);background:var(--color-paper-3);width:26px;height:26px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;font-weight:700;display:grid}.stages li.done .stage-dot{background:var(--color-leaf-soft);color:var(--color-accent-deep)}.stages li.active .stage-dot{background:var(--color-accent);color:var(--color-accent-ink)}.greeting{margin-block:var(--space-xs) var(--space-lg)}.greeting h1{font-size:var(--text-2xl)}.greeting p{color:var(--color-muted);font-size:var(--text-sm);font-weight:500}.tonight{gap:var(--space-xs) var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-lg);background:linear-gradient(140deg, #2a8a58 0%, var(--color-accent) 45%, var(--color-accent-deep) 100%);color:var(--color-accent-ink);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-block-end:var(--space-md);display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #1f7a4d47}.tonight:after{content:"";pointer-events:none;background:#ffffff12;border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.tonight-label{align-items:center;gap:var(--space-2xs);padding:3px var(--space-sm);border-radius:var(--radius-pill);background:var(--color-spice);color:var(--color-ink);font-size:var(--text-xs);grid-column:1/-1;justify-self:start;font-weight:800;display:inline-flex}.tonight h2{color:var(--color-accent-ink);font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:800;line-height:1.15}.tonight .tonight-meta{gap:var(--space-2xs) var(--space-md);color:#ffffffd9;font-size:var(--text-sm);flex-wrap:wrap;margin-block-start:var(--space-xs);font-weight:500;display:flex}.tonight-emoji{background:#ffffff29;border-radius:22px;grid-area:2/2;place-items:center;width:76px;height:76px;font-size:2.6rem;line-height:1;display:grid}.tonight-actions{gap:var(--space-xs);z-index:1;grid-column:1/-1;margin-block-start:var(--space-sm);display:flex;position:relative}.tonight .btn{background:var(--color-paper-2);border-color:var(--color-paper-2);color:var(--color-accent-deep);box-shadow:none}.tonight .btn:hover{background:var(--color-spice-soft);border-color:var(--color-spice-soft)}.tonight .btn.ghost{color:var(--color-accent-ink);background:0 0;border-color:#ffffff80}.tonight .btn.ghost:hover{background:#ffffff1f}.tonight :focus-visible{outline-color:var(--color-spice)}.budget-card{margin-block:0 var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-card);color:var(--color-ink-2)}.budget-card.over{box-shadow:var(--shadow-card), inset 0 0 0 1.5px var(--color-error)}.budget-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.budget-head .figure{font-size:var(--text-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.meter{border-radius:var(--radius-pill);background:var(--color-paper-3);height:8px;margin-block:var(--space-sm);overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), #39a36b);height:100%;display:block}.budget-card.over .meter span{background:var(--color-error)}.budget-status{align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-error);margin:0;font-weight:600;display:flex}.budget-status.ok{color:var(--color-accent-deep)}.cards-2{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-end:var(--space-xs);display:grid}.summary-card{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-card);color:var(--color-ink);transition:transform var(--dur-micro) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.summary-card:hover{box-shadow:var(--shadow-raised)}.summary-card:active{transform:scale(.98)}.summary-card>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.summary-card strong{font-size:var(--text-md)}.summary-card .muted{font-size:var(--text-sm);line-height:1.35}.summary-card>svg:last-child{display:none}.summary-icon{background:var(--color-leaf-soft);width:40px;height:40px;color:var(--color-accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.summary-card.accent .summary-icon{background:var(--color-spice-soft);color:var(--color-spice-ink)}.summary-progress{border-radius:var(--radius-pill);background:var(--color-paper-3);width:100%;height:4px;overflow:hidden}.summary-progress span{background:var(--color-accent);border-radius:inherit;height:100%;display:block}.days{margin:0 0 var(--space-lg);gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}.day-row{align-items:center;column-gap:var(--space-md);min-height:84px;padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-sm);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-card);color:var(--color-ink);transition:transform var(--dur-micro) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.day-row:hover{box-shadow:var(--shadow-raised)}.day-row:active{transform:scale(.99)}.day-row.today{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--color-spice)}.day-row.past{opacity:.62}.day-emoji{background:var(--color-paper-3);border-radius:16px;place-items:center;width:60px;height:60px;font-size:1.9rem;line-height:1;display:grid}.day-row.today .day-emoji{background:var(--color-spice-soft)}.day-meal{flex-direction:column;gap:2px;min-width:0;display:flex}.day-name{font-size:var(--text-xs);color:var(--color-muted);font-weight:700}.day-row.today .day-name{color:var(--color-spice-ink)}.day-meal strong{font-size:var(--text-md);font-weight:700;line-height:1.3}.day-meta{font-variant-numeric:tabular-nums}.chev{color:var(--color-muted)}.more-links{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.meal-hero{margin-block-end:var(--space-md)}.meal-hero h1{font-size:var(--text-3xl);max-width:16ch}.meal-hero .lede{margin-block-start:var(--space-xs)}.meal-emoji{background:var(--color-spice-soft);width:88px;height:88px;border-radius:26px;place-items:center;margin-block-end:var(--space-md);font-size:3rem;line-height:1;display:grid}.macro-grid{gap:var(--space-xs);margin:var(--space-lg) 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.macro-grid div{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--color-paper-2);box-shadow:var(--shadow-card)}.macro-grid dt{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.macro-grid dt:first-letter{text-transform:uppercase}.macro-grid dd{font-size:var(--text-lg);color:var(--color-ink);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:800;line-height:1.2}.macro-grid .small{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.list{padding:0 var(--space-md);margin:0 0 var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-card);box-shadow:var(--shadow-card);list-style:none}.list-row{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:50px;padding-block:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);display:flex}.list>li:last-child>.list-row,.list>.list-row:last-child{border-block-end:0}.list-row .muted{font-variant-numeric:tabular-nums}.list-row.muted{color:var(--color-muted)}.list-link{border-block-end:var(--rule-hair) solid var(--color-rule);min-height:54px;color:var(--color-ink);justify-content:space-between;align-items:center;font-weight:600;text-decoration:none;display:flex}.list-link:hover{color:var(--color-accent-deep)}.list-link:last-child{border-block-end:0}.list-link svg{color:var(--color-muted)}.store-bar{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);background:var(--color-leaf-soft);color:var(--color-accent-deep);font-size:var(--text-sm);margin-block-end:var(--space-md);font-weight:500;display:flex}.store-bar strong{color:var(--color-accent-deep)}.store-bar svg{flex-shrink:0}.grocery-progress{margin-block:0 var(--space-md)}.grocery-group .section-title{font-size:var(--text-md);margin-block:var(--space-lg) var(--space-xs)}.grocery-item{align-items:center;gap:var(--space-sm);min-height:54px;padding-block:var(--space-xs);cursor:pointer;color:var(--color-ink);font-weight:500;display:flex;position:relative}.list>li:has(.grocery-item){border-block-end:var(--rule-hair) solid var(--color-rule)}.list>li:has(.grocery-item):last-child{border-block-end:0}.grocery-item input{opacity:0;width:1px;height:1px;position:absolute}.grocery-item .box{border:2px solid var(--color-rule);color:#0000;width:24px;height:24px;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.grocery-item:hover .box{border-color:var(--color-accent)}.grocery-item input:focus-visible+.box{outline:2px solid var(--color-focus);outline-offset:2px}.grocery-item.checked .box{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.grocery-item.checked .item-name{color:var(--color-muted);text-decoration:line-through}.grocery-item>.muted{font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.grocery-row{align-items:center;gap:var(--space-2xs);display:flex}.grocery-row>.grocery-item{flex:1;min-width:0}.grocery-row>.icon-btn{background:var(--color-leaf-soft);width:36px;height:36px;color:var(--color-accent-deep)}.results,.picks,.history{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.result{align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-card);flex-wrap:wrap;display:flex}.result strong,.pick-head strong{font-size:var(--text-md);font-weight:700;line-height:1.3}.result .meta,.pick-head .meta{margin-block-start:var(--space-2xs)}.fav{color:var(--color-error);vertical-align:middle;display:inline-flex}.fav svg{fill:currentColor}.day-picker{position:relative}.menu{right:0;top:calc(100% + var(--space-2xs));background:var(--color-paper-2);border-radius:var(--radius-control);box-shadow:var(--shadow-raised);z-index:var(--z-dropdown);min-width:15rem;padding:var(--space-2xs);flex-direction:column;display:flex;position:absolute}.menu button{text-align:start;min-height:var(--control);padding:var(--space-xs) var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--color-ink);background:0 0;border:0;border-radius:8px;font-weight:500}.menu button:hover{background:var(--color-paper-3)}.history .card{gap:var(--space-sm);flex-direction:column;margin:0;display:flex}.history .card>.row strong{font-size:var(--text-md)}.week-meals{color:var(--color-ink-2);font-size:var(--text-sm)}details summary{cursor:pointer;color:var(--color-accent);font-size:var(--text-sm);font-weight:600}details[open] summary{margin-block-end:var(--space-xs)}.compare{border-collapse:collapse;width:100%;margin:var(--space-md) 0 var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.compare th,.compare td{padding:var(--space-sm) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);text-align:start;font-size:var(--text-sm)}.compare tr:last-child td{border-block-end:0}.compare thead th{color:var(--color-muted);background:var(--color-paper-3);font-weight:600}.compare td{color:var(--color-ink)}.compare td svg{color:var(--color-accent)}.danger-zone .section-title{color:var(--color-error)}.conversation{gap:var(--space-xl);flex-direction:column;margin-block-start:var(--space-lg);display:flex}.turn{gap:var(--space-sm);flex-direction:column;display:flex}.turn-title{font-size:var(--text-xl)}.bubble{padding:var(--space-sm) var(--space-md);border-radius:18px;max-width:90%}.bubble.user{background:var(--color-accent);color:var(--color-accent-ink);border-end-end-radius:6px;align-self:flex-end}.bubble.bot{background:var(--color-paper-2);box-shadow:var(--shadow-card);color:var(--color-ink-2);border-end-start-radius:6px;align-self:flex-start}.bubble.error{color:var(--color-error)}.typing{gap:var(--space-2xs);align-items:center;display:flex}.typing span:not(.sr-only){border-radius:var(--radius-pill);background:var(--color-muted);width:6px;height:6px;animation:1.2s infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:.25}}.pick{padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);box-shadow:var(--shadow-card)}.pick-head{align-items:flex-start;gap:var(--space-sm);display:flex}.pick-reason{margin-block:var(--space-sm) var(--space-xs);color:var(--color-ink-2)}.pick-tip{font-size:var(--text-sm);color:var(--color-spice-ink);background:var(--color-spice-soft);border-radius:var(--radius-control);padding:var(--space-xs) var(--space-sm)}.why ul{margin:var(--space-xs) 0;color:var(--color-ink-2);padding-inline-start:var(--space-md)}.ask-bar{gap:var(--space-xs);margin-block-end:var(--space-sm);display:flex}.ask-bar input{border-radius:var(--radius-pill)}.ask-bar .btn{min-width:48px;min-height:48px;padding:0 var(--space-sm)}.engine-note{gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);align-items:flex-start;margin-block-start:var(--space-xl);display:flex}@media (width>=48rem){.content{padding-inline:var(--space-lg)}}
