:root{color-scheme:light;--ink:#172e3d;--muted:#536877;--accent:#155876;--deep:#133d54;--line:#d6e1e7;--bg:#f3f7fa;--paper:#fff;--good:#146a56;--danger:#a83335;font:100%/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
.account-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.theme-control select{min-height:46px;padding:.5rem .6rem;border-color:var(--line);background:var(--paper);font-size:.925rem}
:root[data-theme=dark]{color-scheme:dark;--ink:#e3edf4;--muted:#acbdcb;--accent:#91cee9;--deep:#285b77;--line:#354957;--bg:#101a22;--paper:#192630;--good:#8ae0ba;--danger:#ffabb0}
:root[data-theme=dark] :is(input,textarea,select,.message,#message,.dinners,.check-row,dialog){background:var(--paper);border-color:var(--line)}
:root[data-theme=dark] button:hover:not(:disabled){background:#283d4c}
:root[data-theme=dark] .primary{background:#276486;color:#fff;border-color:#3d829f}
:root[data-theme=dark] .primary:hover:not(:disabled){background:#317b9f}
:root[data-theme=dark] .message.user{background:#243f51;border-color:transparent}
:root[data-theme=dark] .stage{color:#f0d39c;border-color:#6b5738;background:#332b1d}
:root[data-theme=dark] #notice{background:#3b252a;color:#ffd6d8;border-color:#805159}
:root[data-theme=dark] #notice.success{background:#1a372e;color:#b9f1d5;border-color:#487b65}
:root[data-theme=dark] nav{background:#14212bef}
:root[data-theme=dark] nav button[aria-current=page]{background:#284654;color:var(--ink)}
:root[data-theme=dark] :is(button,a,input,select,textarea,summary):focus-visible{outline-color:#86d9ff}
:root[data-theme=dark] dialog::backdrop{background:#0009}
:root[data-theme=dark] .grocery-request{background:var(--paper);border-color:var(--line)}
:root[data-theme=dark] :is(.grocery-time,.check-row>.cart-badge){color:var(--muted)}
:root[data-theme=dark] .cart-badge>summary{background:#283d4c;color:var(--ink)}
:root[data-theme=dark] .cart-badge>summary:hover{background:#344e60}
:root[data-theme=dark] .cart-badge.verified_added>summary{background:#1c3c2e;color:#b0e7c0}
:root[data-theme=dark] .cart-badge:is(.needs_attention,.not_added,.needs_selection_review,.previously_added)>summary{background:#40331f;color:#f4cf99}
#composer{scroll-margin-bottom:calc(110px + env(safe-area-inset-bottom))}
#run-progress{display:flex;align-items:flex-start;gap:.3rem;margin:.7rem 0;font-size:.925rem;color:var(--muted);min-height:46px}
#run-details{flex:1;min-width:0;margin:0}#run-details>summary{display:flex;align-items:center;gap:.55rem;min-height:46px;padding:.55rem .35rem;font-weight:500;list-style:none;border-radius:8px}#run-details>summary::-webkit-details-marker{display:none}#run-details>summary:hover{background:var(--paper)}#activity{min-width:0;overflow-wrap:anywhere}#status-symbol{flex:none;width:1rem;text-align:center;color:var(--accent)}#elapsed,.step-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.875rem}#elapsed{margin-left:auto;min-width:5.7ch;text-align:right}.status-chevron{flex:none;transition:transform .15s}#run-details[open] .status-chevron{transform:rotate(180deg)}.status-body{padding:.2rem .4rem .6rem 1.9rem;border-left:1px solid var(--line);margin-left:.8rem}#status-note{margin:.2rem 0 .6rem}#checkpoints{margin:0;padding-left:1.2rem}#checkpoints li{padding:.25rem 0;overflow-wrap:anywhere}#checkpoints .step-time{margin-left:.75rem;color:var(--muted)}#run-progress[data-state=completed] #status-symbol{color:var(--good)}#run-progress[data-state=failed] #status-symbol{color:var(--danger)}#run-progress #working{display:block;flex:none;margin:0}
.day-content{min-width:0;flex:1;overflow-wrap:anywhere}.day-content button{width:100%}.day-content p{margin:.3rem .4rem}.day-notes{white-space:pre-wrap}.calendar-event{font-size:.925rem}.calendar-status{font-size:.875rem;color:var(--muted)}.calendar-freshness{font-size:.8125rem;color:var(--muted)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:.6rem 1rem;font-weight:600}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){background:#eaf2f7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2288b6;outline-offset:3px}input,textarea,select{min-height:48px;border:1px solid #b2c4d0;border-radius:10px;background:white;color:var(--ink);padding:.65rem .8rem;max-width:100%;min-width:0}textarea{resize:vertical}input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0;accent-color:var(--accent)}label{display:block;font-weight:600}h1{font-size:1.6rem;line-height:1.25;letter-spacing:-.045em;margin:0}h2{font-size:1.14rem;line-height:1.35;letter-spacing:-.02em;margin:1.5rem 0 .8rem}p{margin:.75rem 0}a{color:var(--accent);overflow-wrap:anywhere}[hidden]{display:none!important}.topbar{display:flex;align-items:center;justify-content:space-between;max-width:850px;margin:auto;padding:1rem 1.4rem}.brand{display:flex;align-items:center;gap:.7rem}.brand strong{font-size:1.2rem;display:block;line-height:1.2}.brand div>span{font-size:.875rem;color:var(--muted)}.monogram{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--deep);color:white;font:bold 2rem/1 Georgia,serif}.quiet{border:0;background:transparent;color:var(--accent);padding:.6rem .7rem}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover:not(:disabled){background:var(--deep)}main{max-width:800px;margin:auto;padding:0 1.25rem 7rem}.signin{max-width:390px;margin:9vh auto 0}.signin p{color:var(--muted)}#login-form{display:grid;gap:.65rem;margin-top:1.7rem}#login-form button{margin-top:.5rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.section-heading h2{margin:0}.panel{padding-top:.3rem}.stage{font-size:.875rem;color:#72551b;border:1px solid #e4cd96;background:#fff9e8;padding:.45rem .8rem;border-radius:8px}.welcome{padding:2.3rem 0 1.5rem}.welcome h2{font-size:1.45rem;margin:0 0 .75rem}.welcome p{max-width:34rem;color:var(--muted)}.suggestions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.suggestions button{font-weight:500}.privacy-note{font-size:.875rem;margin-top:1.8rem!important}#conversations{width:100%;background:transparent;border-color:var(--line);font-size:.925rem}#messages{display:flex;flex-direction:column;gap:1rem;margin:1.3rem 0;min-height:1rem}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem 1.15rem;max-width:93%;border:1px solid var(--line);border-radius:17px;background:white}.message.user{align-self:flex-end;background:#e3eef5;border-color:transparent;border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;border-bottom-left-radius:4px}.message-label{display:block;font-size:.875rem;font-weight:650;margin-bottom:.35rem;color:var(--muted)}#composer{display:flex;align-items:flex-end;gap:.55rem;margin-top:1rem}#message{flex:1;max-height:240px;width:100%;background:white}.composer-note{color:var(--muted);font-size:.875rem;margin-top:.4rem}#working{display:flex;align-items:center;gap:.65rem;font-size:.925rem;color:var(--muted)}#activity{flex:1}.pulse{width:8px;height:8px;background:var(--good);border-radius:100%;animation:breathe 1.8s infinite}@keyframes breathe{50%{opacity:.35}}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;color:var(--muted)}.week-nav button{font-size:1.6rem;width:48px;line-height:1;padding:0}.dinners{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.dinner{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.dinner:last-child{border:0}.day{width:3.3rem;flex-shrink:0;color:var(--muted);font-size:.875rem}.day strong{display:block;color:var(--ink);font-size:1rem}.dinner button{text-align:left;flex:1;border:0;padding:.4rem;background:none;font-weight:500}.dinner.empty button{color:var(--muted)}.check-row{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem .75rem;background:white;border:1px solid var(--line);border-radius:12px;margin:.5rem 0;min-height:60px}.check-row label{font-weight:500;flex:1;cursor:pointer;overflow-wrap:anywhere}.check-row small{font-size:.875rem;display:block;color:var(--muted);font-weight:400}.check-row.done label{text-decoration:line-through;color:var(--muted)}.quick-add{display:flex;gap:.5rem;margin:1rem 0}.quick-add input{flex:1;width:100%}.muted,.empty-note{color:var(--muted)}.category{margin:1.3rem 0 .5rem;color:var(--muted);font-size:.925rem}details{margin-top:1.8rem}summary{cursor:pointer;min-height:48px;padding:.6rem 0;font-weight:600}#notice{position:fixed;z-index:30;bottom:calc(92px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 2rem),680px);padding:1rem;background:#fff1f1;color:#8b2628;border:1px solid #e3adaf;border-radius:12px;box-shadow:0 8px 28px #0b253320}#notice.success{background:#eef9f4;color:#14563f;border-color:#a7d6c2}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:.4rem;background:#ffffffee;border-top:1px solid var(--line);padding:.45rem 1rem calc(.45rem + env(safe-area-inset-bottom));backdrop-filter:blur(12px);z-index:20}nav button{display:flex;flex-direction:column;align-items:center;border:0;background:none;font-size:.875rem;font-weight:550;min-width:90px;flex:1;max-width:200px;min-height:61px;padding:.25rem .5rem;color:var(--muted)}nav button span{font-size:1.4rem;line-height:1.4}nav button[aria-current=page]{background:#e5f0f6;color:var(--deep)}dialog{border:1px solid var(--line);border-radius:18px;width:min(94%,470px);padding:1.4rem;color:var(--ink)}dialog::backdrop{background:#0e263765}dialog select{display:block;width:100%;margin:.7rem 0 1.3rem}dialog .primary{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:700px){.topbar{padding-top:1.7rem}main{padding-top:.6rem}.welcome{padding-top:3rem}#chat-panel{max-width:690px;margin:auto}.dinners{display:grid;grid-template-columns:1fr 1fr}.dinner{border-right:1px solid var(--line)}.dinner:last-child{grid-column:1/-1}.signin{margin-top:10vh}}@media(prefers-reduced-motion:reduce){.pulse{animation:none}*{scroll-behavior:auto!important}}
