:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--type-scale:1;--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f3;--surface-3:#e4e7ec;--border:#dce0e6;--border-strong:#c3c9d2;--hairline:#0f111514;--text:#15181f;--text-2:#434a59;--muted:#596170;--placeholder:#596170;--accent:#f97316;--accent-hover:#ea580c;--on-accent:#1a1206;--accent-ink:#ad3a0b;--focus-ring:#c2410c;--accent-bright:#fb923c;--accent-deep:#e2620a;--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--accent-softer:color-mix(in srgb, var(--accent) 7%, transparent);--accent-ring:color-mix(in srgb, var(--accent) 45%, transparent);--accent-text:#ad3a0b;--mark-bg:color-mix(in srgb, var(--accent) 28%, transparent);--danger:#b91c1c;--on-danger:#fff;--on-armed-hover:var(--danger);--inverse-bg:#1f2329;--inverse-text:#f6f7f9;--inverse-muted:#a3aab6;--inverse-accent:#f97316;--ok:#157338;--warn-bg:#f59e0b24;--warn-text:#92400e;--tone-violet:#6d28d9;--tone-violet-bg:#8b5cf624;--tone-amber:#92400e;--tone-amber-bg:#f59e0b29;--tone-sky:#03649c;--tone-sky-bg:#0ea5e924;--tone-sky-bg-strong:#0ea5e933;--tone-rose:#be123c;--tone-rose-bg:#f43f5e1f;--tone-rose-border:#e11d4873;--tone-green:#157338;--tone-green-bg:#22c55e24;--tone-grey:#4b5563;--tone-grey-bg:#94a3b833;--tone-orange:#ad3a0b;--tone-orange-bg:#fb923c29;--tone-indigo:#4338ca;--tone-indigo-bg:#6366f129;--tone-mint:#047857;--tone-blue:#1d4ed8;--prio-normal:#434a59;--prio-high:#ad3a0b;--cal-meal-out:#0369a1;--cal-meal-bought:#be123c;--cal-event-local:#6d28d9;--dot-fallback:#5b6474;--on-user-color:#0f1115;--on-deep-user-color:#fff;--dot-ring:#0f111524;--media-scrim:#0b0b0b99;--on-media:#fff;--sheen:#ffffff40;--launch-bg:#f6f7f9;--code-bg:#f3f4f6;--tile-top:var(--surface);--photo-white:#fff;--coin-shine:#fff6cf;--coin-gold:#f9cf3a;--coin-deep:#dea004;--coin-edge:#a86f00;--coin-ink:#8a5300;--radius-sm:9px;--radius:12px;--radius-lg:16px;--radius-xl:22px;--shadow-sm:0 1px 2px #0f11151a;--shadow:0 1px 2px #0f11150f, 0 3px 8px #0f11150f;--shadow-md:0 2px 4px #0f11150f, 0 8px 20px #0f11151a;--shadow-lg:0 4px 8px #0f111514, 0 18px 44px #0f111529;--glow-accent:0 2px 14px color-mix(in srgb, var(--accent) 30%, transparent);--shadow-overlay:0 20px 50px #0f11152e;--shadow-palette:0 24px 60px #0f111533;--shadow-pop:0 8px 24px #0f111524;--shadow-menu:0 10px 30px #0f11151f;--shadow-sheet:0 -10px 44px #0f111529;--scrim:#0f111552;--scrim-sheet:#0f111547;--scrim-strong:#0f111573;--tabbar-edge:#0f111514;--tabbar-h:50px;--touch:44px;--topbar-h:calc(34px + 22px * var(--type-scale));--fab-size:52px;--safe-b:env(safe-area-inset-bottom);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--keyboard-h:0px;--viz-grid:#e1e4e9;--viz-baseline:#c3c9d2;--viz-series-1:#ea580c;--viz-series-1-hot:#c2410c;--viz-empty:#c3c9d2;--viz-empty-opacity:1;--viz-bar-opacity:1;--review-day-opacity:1;--viz-mood:var(--viz-series-1-hot);--viz-mood-floor:.75;--viz-ink:#15181f;--viz-label-opacity:.6;--viz-cursor-opacity:.6;--viz-avg-opacity:.65}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e12;--surface:#15181f;--surface-2:#1e222b;--surface-3:#272c37;--border:#2a2f3a;--border-strong:#3a4150;--hairline:#ffffff0f;--text:#edeff3;--text-2:#a9b0be;--muted:#939bab;--placeholder:#a9a9a9;--accent-hover:#fb923c;--accent-ink:#f97316;--focus-ring:#f97316;--accent-soft:color-mix(in srgb, var(--accent) 15%, transparent);--accent-softer:color-mix(in srgb, var(--accent) 9%, transparent);--accent-ring:color-mix(in srgb, var(--accent) 34%, transparent);--accent-text:#fca560;--danger:#f87171;--on-danger:#0f1115;--on-armed-hover:#fff;--inverse-bg:#e7e9ee;--inverse-text:#0f1115;--inverse-muted:#596170;--inverse-accent:#ad3a0b;--ok:#4ade80;--warn-bg:#f59e0b29;--warn-text:#fcd34d;--tone-violet:#c4b5fd;--tone-violet-bg:#8b5cf633;--tone-amber:#fcd34d;--tone-amber-bg:#f59e0b2e;--tone-sky:#7dd3fc;--tone-sky-bg:#0ea5e933;--tone-sky-bg-strong:#0ea5e940;--tone-rose:#fda4af;--tone-rose-bg:#f43f5e33;--tone-rose-border:#f43f5e73;--tone-green:#86efac;--tone-green-bg:#22c55e2e;--tone-grey:#9ca3af;--tone-grey-bg:#94a3b829;--tone-orange:#fdba74;--tone-orange-bg:#fb923c33;--tone-indigo:#a5b4fc;--tone-indigo-bg:#6366f147;--tone-mint:#34d399;--tone-blue:#60a5fa;--prio-normal:#b3b8c4;--prio-high:#fb923c;--cal-meal-out:#38bdf8;--cal-meal-bought:#fda4af;--cal-event-local:#a78bfa;--dot-fallback:#94a3b8;--dot-ring:transparent;--launch-bg:#0f1115;--code-bg:#0b0d11;--tile-top:var(--surface-2);--shadow-sm:0 1px 2px #00000059;--shadow:0 1px 2px #00000057, 0 3px 8px #0000003d;--shadow-md:0 2px 4px #0000004d, 0 8px 20px #00000057;--shadow-lg:0 4px 8px #00000052, 0 18px 44px #00000075;--shadow-overlay:0 20px 50px #0009;--shadow-palette:0 24px 60px #0009;--shadow-pop:0 8px 24px #00000080;--shadow-menu:0 10px 30px #00000059;--shadow-sheet:0 -10px 44px #00000080;--scrim:#0009;--scrim-sheet:#00000080;--scrim-strong:#000000a6;--tabbar-edge:#ffffff0d;--viz-grid:#2b303b;--viz-baseline:#3d4453;--viz-series-1:#f97316;--viz-series-1-hot:#fb923c;--viz-empty:#2a2f3a;--viz-empty-opacity:.35;--viz-bar-opacity:.85;--review-day-opacity:.8;--viz-mood:var(--viz-series-1);--viz-mood-floor:.35;--viz-ink:#a9b0be;--viz-label-opacity:.8;--viz-cursor-opacity:.6;--viz-avg-opacity:.55}@supports not (color:color-mix(in srgb, red, red)){:root{--accent-soft:#f973161f;--accent-softer:#f9731612;--accent-ring:#f9731673;--mark-bg:#f9731647;--glow-accent:0 2px 14px #f973164d}:root[data-theme=dark]{--accent-soft:#f9731626;--accent-softer:#f9731617;--accent-ring:#f9731657}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{font-size:calc(1rem * var(--type-scale));-webkit-text-size-adjust:100%}@media (max-width:640px){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:calc(14px * var(--type-scale));line-height:1.45}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}::placeholder{color:var(--placeholder);opacity:1}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;padding:calc(10px + env(safe-area-inset-top)) max(20px, var(--safe-r)) 10px max(20px, var(--safe-l));background:var(--surface);border-bottom:1px solid var(--hairline);align-items:center;gap:16px;display:flex;position:sticky;top:0}@media (min-width:641px){.topbar{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(16px);backdrop-filter:saturate(1.4)blur(16px)}}.brand{align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.brand-mark{width:28px;height:28px;box-shadow:var(--glow-accent);border-radius:9px;flex:none;display:block}.tabs{gap:2px;display:flex}.tabs-compact{display:none}.tab{color:var(--text-2);background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-weight:500;transition:background .14s,color .14s;display:inline-flex}.tabs-full .tab-icon{opacity:.85;width:17px;height:17px;display:inline-flex}.tabs-full .tab-icon svg{width:100%;height:100%}@media (hover:hover){.tab:hover{background:var(--surface-2);color:var(--text)}}.tab.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.tab.active .tab-icon{opacity:1}.topbar .btn.primary{margin-left:auto}.new-post-btn{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 12px}@media (hover:hover){.btn:hover{background:var(--surface-2)}}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (hover:hover){.btn.primary:hover{background:var(--accent-hover)}}.btn.subtle{color:var(--text-2);background:0 0;border-color:#0000}@media (hover:hover){.btn.subtle:hover{background:var(--surface-2)}}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.btn.subtle.danger{border-color:#0000}.btn:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover){.btn.danger:hover{background:color-mix(in srgb, var(--danger) 8%, var(--surface))}}.icon-btn{width:36px;height:36px;color:var(--text-2);border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.icon-btn:hover{color:var(--text)}}.new-post-plus{justify-content:center;align-items:center;display:inline-flex}.chat-btn{position:relative}.chat-dot{background:var(--accent);border:1.5px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.spacer{flex:1}.content{padding:20px;padding-left:max(20px, var(--safe-l));padding-right:max(20px, var(--safe-r));flex:1;width:100%;max-width:1280px;margin:0 auto}.badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600}.tag{color:var(--text-2);background:var(--surface-2);border-radius:999px;padding:1px 7px;font-size:.6875rem}.row-open{appearance:none;max-width:100%;font:inherit;letter-spacing:inherit;color:inherit;text-align:inherit;cursor:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;display:block}.row-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}[role=dialog]:focus{outline:none}.period-bar{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.period-bar>.btn{flex:none}.period-bar>h2,.period-bar>.period-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;flex:1;min-width:0;margin:0;overflow:hidden}.period-bar>.period-end{flex:none}.pushed-screen{flex-direction:column;display:flex}.pushed-head{top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));z-index:4;background:var(--bg);border-bottom:1px solid var(--hairline);align-items:center;gap:4px;margin:0 -20px 14px;padding:4px 20px 10px;display:flex;position:sticky}@media (max-width:640px){.pushed-head{margin-inline:-12px;padding-inline:12px}}.pushed-head .view-title{margin:0}.board{grid-template-columns:repeat(4,minmax(190px,1fr));align-items:start;gap:12px;display:grid;overflow-x:auto}.board-col{background:var(--surface-2);border-radius:var(--radius);flex-direction:column;gap:8px;min-height:220px;padding:10px;display:flex}.board-count{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:500}.board-cards{flex-direction:column;gap:8px;min-height:40px;display:flex}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);cursor:grab;flex-direction:column;gap:6px;padding:11px 13px;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--accent-ring);box-shadow:var(--shadow-md)}.card-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-size:.75rem;display:flex}.card-tags{flex-wrap:wrap;gap:4px;display:flex}.cal-toolbar h2{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:1.0625rem;overflow:hidden}.cal-hint{color:var(--muted);font-size:.75rem}.cal-cell{background:var(--surface);cursor:pointer;flex-direction:column;gap:3px;min-width:0;min-height:136px;padding:6px;display:flex;overflow:hidden}.cal-cell>*{flex:none}.cal-pill{text-align:left;white-space:normal;border:none;border-radius:5px;align-items:flex-start;gap:4px;width:100%;min-width:0;padding:3px 7px;font-size:12px;font-weight:600;line-height:1.35;display:flex;overflow:hidden}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.search{min-width:220px}@media (max-width:640px){.posts-view>.toolbar>.search{flex:100%;min-width:0}.posts-view>.toolbar>select{flex:40%;min-width:0}}.notice{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.posts-table .num,.chart-table .num{text-align:right;font-variant-numeric:tabular-nums}.empty{color:var(--muted);text-align:center;overflow-wrap:anywhere;padding:32px 0}.modal-backdrop{background:var(--scrim);padding:40px max(16px, var(--safe-r)) 40px max(16px, var(--safe-l));z-index:50;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);width:680px;max-width:100%;box-shadow:var(--shadow-overlay);border-radius:12px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-head h2{margin:0;font-size:1rem}.modal-head-compose{grid-template-columns:minmax(4.75rem,auto) minmax(0,1fr) minmax(4.75rem,auto);align-items:center;gap:8px;display:grid}.modal-head-compose h2{text-align:center;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;justify-self:center;display:-webkit-box;overflow:hidden}.modal-head-compose .modal-head-cancel{justify-self:start}.modal-head-compose>.btn.primary{justify-self:end}.modal.discard-prompt{width:360px}.discard-body{flex-direction:column;gap:16px;padding:20px;display:flex}.discard-body h2{margin:0;font-size:1.05rem}.discard-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.editor-more{align-self:flex-start}.modal-body{flex-direction:column;gap:14px;max-height:65vh;padding:16px 20px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 20px;display:flex}@media (max-width:640px){.task-foot-note{display:none}}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--text-2);font-size:.75rem;font-weight:600}.field small{color:var(--muted);font-weight:400}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}textarea{resize:vertical}.platform-toggles{flex-wrap:wrap;gap:6px;display:flex}.toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;padding:5px 12px;font-size:.8125rem}.toggle.on{background:var(--inverse-bg);border-color:var(--text);color:var(--inverse-text)}.toggle.on .muted{color:var(--inverse-muted)}.segmented{flex-wrap:wrap;gap:4px;display:flex}@media (max-width:640px){.kind-chips{scrollbar-width:none;scroll-snap-type:x proximity;flex-wrap:nowrap;overflow-x:auto}.kind-chips::-webkit-scrollbar{display:none}.kind-chips>.seg{scroll-snap-align:start;flex:none}}.seg{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:8px;padding:6px 12px;font-size:.8125rem}.seg.on{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-text);font-weight:600}.seg:disabled{opacity:.35;cursor:not-allowed}.people-tab-seg .segmented,.segmented.cal-mode,.segmented.seg-track{background:var(--surface-2);border:1px solid var(--hairline);border-radius:12px;gap:2px;width:100%;max-width:520px;padding:3px;display:flex}.people-tab-seg .segmented .seg,.segmented.cal-mode .seg,.segmented.seg-track .seg{min-width:0;color:var(--text-2);text-align:center;z-index:1;background:0 0;border:none;border-radius:9px;flex:1 1 0;padding:8px 10px;font-weight:600;transition:color .18s;position:relative}.people-tab-seg .segmented .seg.on,.segmented.cal-mode .seg.on{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-sm)}.people-tab-seg .segmented .seg:hover:not(.on),.segmented.cal-mode .seg:hover:not(.on),.segmented.seg-track .seg:hover:not(.on){color:var(--text)}@media (max-width:640px){.people-tab-seg .segmented,.segmented.cal-mode,.segmented.seg-track{max-width:none}.people-tab-seg .segmented .seg,.segmented.seg-track .seg{padding-inline:6px}}.segmented.seg-track{gap:0;position:relative}.seg-thumb{width:calc((100% - 6px) / var(--seg-n,1));transform:translateX(calc(var(--seg-i,0) * 100%));background:var(--surface);box-shadow:var(--shadow-sm);border-radius:9px;transition:transform .26s cubic-bezier(.32,.72,0,1);position:absolute;top:3px;bottom:3px;left:3px}.segmented.seg-track .seg.on{color:var(--accent-text)}.segmented.seg-scroll{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;gap:2px;max-width:none;overflow-x:auto}.segmented.seg-scroll::-webkit-scrollbar{display:none}.segmented.seg-scroll .seg{white-space:nowrap;flex:none;padding-inline:14px}.segmented.seg-scroll .seg.on{background:var(--surface);box-shadow:var(--shadow-sm)}.warn{color:var(--danger);font-size:.75rem;font-weight:600}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;display:grid}.stat-tile{background:linear-gradient(180deg, var(--tile-top), var(--surface));border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:15px 17px;position:relative;overflow:hidden}.stat-jump{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;display:block}.stat-jump:hover{border-color:var(--accent-ring);box-shadow:var(--shadow-md)}.stat-jump:active{transform:scale(.99)}.stat-jump[aria-disabled=true]{cursor:default}.stat-jump[aria-disabled=true]:hover{border-color:var(--border)}.stat-jump[aria-disabled=true]:active{transform:none}.kpi-bulk{margin:0}.stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:600}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:2rem;font-weight:700;line-height:1.05}.stat-sub{color:var(--muted);margin-top:3px;font-size:.6875rem}.stat-trend{margin-top:5px;font-size:.75rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;max-width:100%;padding:14px 16px}.chart-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.chart-head h3{margin:0;font-size:.875rem}.chart-card.folded>:not(.chart-head){display:none}.chart-card.folded>.chart-head{margin-bottom:0}.card-fold{color:var(--muted);background:0 0;border:0;flex:none;align-self:center;margin-left:auto;padding:4px 6px;line-height:0}.chart-head:has(.card-fold)>div:first-child{flex:1;min-width:0}.card-fold svg{transition:transform .18s}.card-fold[aria-expanded=false] svg{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.card-fold svg{transition:none}}.chart-sub{color:var(--muted);margin:2px 0 0;font-size:.75rem}.stats-narrowed{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:6px 6px 6px 12px;font-size:.8125rem;display:flex}.stats-narrowed>span{overflow-wrap:anywhere;flex:12em;min-width:0}.stats-narrowed>.btn{color:var(--accent-text);flex:none;font-weight:600}.stats-narrowed>.btn:hover{background:var(--surface)}.chart-plot{position:relative}.chart-plot svg{width:100%;height:auto;display:block}.axis-base{stroke:var(--viz-baseline);stroke-width:1px}.tick-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.bar{fill:var(--area-ink,var(--viz-series-1))}.bar.hot{fill:var(--area-ink-hot,var(--viz-series-1-hot))}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.hbars{flex-direction:column;gap:10px;padding:6px 0;display:flex}.hbar-row{align-items:center;gap:10px;display:flex}.hbar-track{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.hbar-fill{background:var(--area-ink,var(--viz-series-1));border-radius:0 4px 4px 0;height:16px}.hbar-value{color:var(--text-2);white-space:nowrap;font-size:.75rem;font-weight:600}.chart-readout{color:var(--text-2);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:.75rem;line-height:1.4}.chart-readout-hint{color:var(--muted);display:none}@media (pointer:coarse){.chart-readout{min-height:1.05rem}.chart-readout-hint{display:inline}}.landing{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.landing-header{justify-content:space-between;align-items:center;width:100%;max-width:1080px;margin:0 auto;padding:14px 28px;display:flex}.landing-header .brand{font-size:1.0625rem}.landing-hero{text-align:center;max-width:680px;margin:0 auto;padding:72px 24px 40px}.landing-hero h1{letter-spacing:-.02em;margin:0 0 16px;font-size:2.75rem;line-height:1.12}.hero-accent{color:var(--accent-ink)}.landing-hero>p{color:var(--text-2);margin:0 0 26px;font-size:1.0625rem}.landing-cta{padding:11px 22px;font-size:.9375rem}.landing-note{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;font-size:.8125rem}.landing-note code{background:var(--surface-2);border-radius:4px;padding:1px 5px}.feature-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;width:100%;max-width:1080px;margin:24px auto 48px;padding:0 24px;display:grid}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.feature-icon{font-size:22px}.feature-card h3{margin:10px 0 6px;font-size:.9375rem}.feature-card p{color:var(--text-2);margin:0;font-size:.8125rem;line-height:1.5}.landing-footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);margin-top:auto;padding:20px;font-size:.75rem}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;width:360px;max-width:100%;padding:28px;display:flex}.login-brand{justify-content:center;font-size:1.125rem}.login-sub{text-align:center;color:var(--muted);margin:-6px 0 0;font-size:.8125rem}.login-btn{padding:10px;font-weight:600}.empty-hero{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;margin-bottom:16px;padding:28px}.empty-hero h2{margin:0 0 6px;font-size:1.0625rem}.empty-hero p{color:var(--text-2);margin:0}.toast{max-width:min(560px, calc(100vw - 32px - var(--safe-l) - var(--safe-r)));background:var(--inverse-bg);color:var(--inverse-text);box-shadow:var(--shadow-pop);z-index:100;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-undo{color:var(--inverse-accent);background:0 0;border:none;padding:0;font-weight:700}.toast-undo:hover{text-decoration:underline}.toast button:focus-visible{outline-color:var(--inverse-accent)}.toast-close{color:var(--inverse-muted);background:0 0;border:none;padding:0}.sync-dot{background:var(--viz-empty);border-radius:50%;width:9px;height:9px;display:inline-block}.sync-dot.on{background:var(--ok)}.sync-dot.warn{background:var(--warn-text)}.view-pending{min-height:60vh}.ai-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.field-hint{color:var(--muted);margin:-6px 0 0;font-size:.75rem}.media-thumb img{object-fit:cover;width:100%;height:100%}.modal.narrow{width:560px}.unsent-foot{flex-wrap:wrap;justify-content:flex-end}.settings-section{border-bottom:1px solid var(--border);padding-bottom:14px}.settings-section:last-child{border-bottom:none;padding-bottom:0}.settings-section h3{margin:0 0 6px;font-size:.8125rem}.settings-section p{margin:0 0 8px;font-size:.8125rem}.sync-ok{color:var(--ok);font-weight:600}.notice.error{border-left-color:var(--danger);color:var(--danger)}.stat-warn{color:var(--danger)}.dash-list{margin:0;padding:0;list-style:none}.dash-list li{border-bottom:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;display:flex}.dash-list li:hover{background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.dash-list li:last-child{border-bottom:none}.dash-title{font-weight:600;display:block}.dash-meta{color:var(--muted);align-items:center;gap:6px;margin-top:3px;font-size:.75rem;display:inline-flex}.dash-reason{color:var(--danger);font-size:.75rem}.board-more{color:var(--muted);text-align:center;margin:4px 0;font-size:.75rem}.sync-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;display:inline-flex}.sync-btn:hover{background:var(--surface-2)}.auth-banner{background:var(--warn-bg);color:var(--warn-text);justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:.8125rem;font-weight:600;display:flex}.auth-overlay{z-index:200;background:var(--scrim-strong);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-overlay .login-wrap{background:0 0;min-height:auto}.lock-overlay{z-index:250;background:var(--launch-bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lock-card{text-align:center;max-width:20rem}.lock-card .brand{justify-content:center;margin-bottom:12px;font-size:1.25rem}.lock-card p{color:var(--text-2);margin:0 0 16px}.show-all{margin:12px auto;display:block}.cutout-stage img,.cutout-dot{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}@keyframes cutout-spin{to{transform:rotate(360deg)}}.cutout-status{min-height:1.45em;color:var(--text-2);margin:0;font-size:.8125rem}.cutout-bar span{background:var(--accent);height:100%;display:block}@media (max-width:640px){.cutout-seg .seg{flex:1 1 0}.cutout-pane figcaption{display:none}}@media (pointer:coarse){.cutout-sheet .modal-foot .btn,.cutout-sheet .cutout-hint .toggle{min-height:44px}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:900px){.board{grid-template-columns:repeat(3,minmax(200px,1fr))}.field-row{grid-template-columns:1fr}}@media (min-width:641px) and (max-width:960px){.topbar{gap:10px}.topbar .brand>span:not(.brand-mark){display:none}.tabs-full .tab{gap:0;height:36px;padding:0 11px;position:relative}.tabs-full .tab-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar .icon-btn{flex:none}.sync-btn{min-width:0}.sync-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sync-dot{flex:none}}@media (min-width:641px) and (max-width:759px){.new-post-btn{justify-content:center;width:36px;height:36px;padding:0}.new-post-label{display:none}}@media (min-width:961px) and (max-width:1019px){.topbar{gap:10px}.topbar .brand>span:not(.brand-mark){display:none}.topbar .icon-btn{flex:none}.topbar .sync-btn{min-width:0}.topbar .sync-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar .sync-dot{flex:none}}@media (min-width:1020px) and (max-width:1101px){.topbar:has(.admin-btn){gap:10px}.topbar:has(.admin-btn) .brand>span:not(.brand-mark){display:none}.topbar:has(.admin-btn) .icon-btn{flex:none}.topbar:has(.admin-btn) .sync-btn{min-width:0}.topbar:has(.admin-btn) .sync-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar:has(.admin-btn) .sync-dot{flex:none}}@media (max-width:640px){html,body,#root,.app{max-width:100%;overflow-x:clip}.content{padding:12px;padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);min-width:0;max-width:100%;overflow-x:clip}.insights,.today,.today-grid,.kpi-row,.stat-tile,.chart-head,.dash-list,.tlist,.swipe-row,.swipe-face{min-width:0;max-width:100%}.chart-head{flex-wrap:wrap}.dash-title,.tlist .dash-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-list .event-row{flex-wrap:wrap;row-gap:6px}.event-list .event-row .event-actions{flex:0 0 100%;justify-content:flex-end}.coming-up .event-list .event-row{flex-wrap:nowrap}.coming-up .event-list .event-row .event-actions{flex:none;margin-left:auto}.coming-up .event-list .event-row .dash-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-list .event-row .dash-title{white-space:normal;overflow-wrap:anywhere}.dash-meta{flex-wrap:wrap}.tabs-full{display:none}.tabs-compact{z-index:40;background:var(--surface);background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:saturate(1.5)blur(20px);backdrop-filter:saturate(1.5)blur(20px);border-top:1px solid var(--hairline);padding:4px max(6px, var(--safe-r)) calc(2px + env(safe-area-inset-bottom)) max(6px, var(--safe-l));justify-content:stretch;gap:0;width:100%;margin:0;transition:transform .2s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.keyboard-open .tabs-compact{pointer-events:none;visibility:hidden;transition:transform .2s,visibility 0s linear .2s;transform:translateY(100%)}.tabs-compact .tab{min-width:0;font-size:calc(10px * min(1.15, var(--type-scale)));white-space:nowrap;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;padding:3px 2px 2px;line-height:1.1;display:flex;overflow:hidden}.tabs-compact .tab-icon{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;line-height:1;transition:color .15s,transform .15s;display:inline-flex}.tabs-compact .tab-icon svg{width:24px;height:24px}.tabs-compact .tab{color:var(--muted);transition:color .15s}.tabs-compact .tab-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.tabs-compact .tab.active{color:var(--accent-text);background:0 0;font-weight:700}.tabs-compact .tab.active .tab-icon{color:var(--accent-ink);transform:translateY(-1px)}.tabs-compact .tab:active .tab-icon{transform:scale(.9)}.new-post-btn{width:40px;height:40px;box-shadow:none;border-radius:12px;flex:none;justify-content:center;margin-left:0;padding:0;position:static}.new-post-label{display:none}.new-post-plus{margin-top:-1px;font-size:22px;line-height:1}.modal{height:100dvh}.modal-head{padding-top:calc(14px + env(safe-area-inset-top));flex-wrap:wrap;gap:8px}.modal-head-compose{flex-wrap:nowrap}.modal-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}:root{--topbar-h:calc(21px + max(40px, 16px + 22px * var(--type-scale)))}.topbar{padding:calc(10px + env(safe-area-inset-top)) max(12px, var(--safe-r)) 10px max(12px, var(--safe-l));gap:8px 10px}.topbar .brand>span:not(.brand-mark),.topbar .btn.admin-btn{display:none}.sync-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sync-btn{min-width:0}.sync-dot{flex:none}.tab{white-space:nowrap;padding:10px 14px}.kpi-row{grid-template-columns:repeat(2,1fr);gap:8px}.kpi-row>.stat-tile:last-child:nth-child(odd){grid-column:1/-1}.kpi-extra{display:none}.kpi-row>.kpi-wide{grid-column:1/-1}.today .kpi-row>.stat-tile,.today .kpi-row>.stat-jump{text-align:center}.kpi-bulk .btn{width:100%}.stat-tile{padding:10px 12px}.stat-value{font-size:1.3125rem}.cal-toolbar h2{min-width:0;font-size:.9375rem}.cal-hint{display:none}.cal-cell{min-height:96px;padding:3px}.modal-backdrop{align-items:stretch;padding:12px 8px}.modal-body{max-height:none}.modal{flex-direction:column;max-height:100%;display:flex}.modal-body{overflow-y:auto}.modal-head,.modal-foot{flex-shrink:0}.modal-backdrop.discard-backdrop{align-items:flex-end}.modal.discard-prompt{height:auto}.discard-actions .btn{min-height:var(--touch);flex:1 1 0}.landing-hero{padding:40px 20px 24px}.landing-hero h1{font-size:2rem}}@media (max-width:560px){.board{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;display:flex;overflow-x:auto}.board-col{scroll-snap-align:start;flex:0 0 86%;min-height:120px}}@media (pointer:coarse){.toast-undo,.toast-close{margin:-8px 0;padding:10px 8px}.cal-pill{min-height:24px}button.toggle,button.seg{justify-content:center;align-items:center;gap:4px;min-height:44px;padding-block:0;display:inline-flex}.platform-toggles .btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.platform-toggles,.platform-toggles.picker-results,.platform-toggles.attendees{gap:8px}.segmented{gap:6px}.tcheck,.swatch,.hbars button.stats-hbar-label,.hbars button.wardrobe-hbar-label,.chart-head .segmented>.seg,.period-bar>.btn,.notes-tool,.versions>summary,p>.btn.subtle,.person-journal .btn,.empty .btn,.ing-remove{position:relative}.tcheck:after,.swatch:after,.hbars button.stats-hbar-label:after,.hbars button.wardrobe-hbar-label:after,.chart-head .segmented>.seg:after,.period-bar>.btn:after,.notes-tool:after,.versions>summary:after,p>.btn.subtle:after,.person-journal .btn:after,.empty .btn:after,.ing-remove:after{content:"";position:absolute;inset:min(0px,50% - 22px)}.hbars.stats-hbars,.hbars.wardrobe-hbars{gap:16px}.chart-head .segmented>.seg{min-width:34px}.period-bar>.btn{min-width:var(--touch)}}@media (max-width:640px){.btn{min-height:var(--touch);justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.btn svg{flex:none}.icon-btn{width:var(--touch);height:var(--touch);padding:0}.nudge-x,.chat-unsend,.cal-sheet-nav,.cal-sheet-close{padding-inline:8px}p>.btn.subtle,.person-journal .btn,.empty .btn{min-height:0;padding:6px 10px}}.view-title{margin:0;font-size:1.125rem}.muted{color:var(--muted)}.pdot{width:9px;height:9px;box-shadow:inset 0 0 0 1px var(--dot-ring);border-radius:50%;flex:none;display:inline-block}.prio{font-size:.6875rem;font-weight:700}.due{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:var(--surface-2);min-width:0;max-width:100%;color:var(--text-2);border-radius:999px;flex:0 auto;padding:2px 7px;font-size:.6875rem;font-weight:600;overflow:hidden}.due-overdue{background:var(--tone-rose-bg);color:var(--tone-rose)}.due-late{background:var(--tone-orange-bg);color:var(--tone-orange)}.due-today{background:var(--tone-amber-bg);color:var(--tone-amber)}.due-soon{background:var(--tone-sky-bg);color:var(--tone-sky)}.card.prio-border-urgent{border-left:3px solid var(--danger)}.card.prio-border-high{border-left:3px solid var(--prio-high)}.badge-blocked{background:var(--tone-rose-bg);color:var(--tone-rose)}.badge-doing{background:var(--tone-sky-bg);color:var(--tone-sky)}.today-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px;min-width:0;display:grid}.today-grid>section{scroll-margin-top:calc(var(--topbar-h) + 8px + env(safe-area-inset-top))}.chart-card.warn-card{border-color:var(--tone-rose-border)}.sync-alarm{border:1px solid var(--tone-rose-border);border-radius:var(--radius);background:var(--tone-rose-bg);min-width:0;color:var(--text);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.sync-alarm p{overflow-wrap:anywhere;flex:16rem;min-width:0;margin:0}.sync-alarm strong{color:var(--tone-rose)}.tlist .trow{align-items:center;position:relative;overflow:hidden}.tlist .dash-main{flex:1;min-width:0}.tlist .dash-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tlist .trow>.due,.tlist .swipe-face>.due,.dash-list li>.due{flex:0 auto;max-width:min(42%,11rem)}.tlist .trow.swipe-row{padding:0;display:block;position:relative;overflow:hidden}.tlist .trow.swipe-row:hover{background:0 0}.swipe-face{z-index:1;background:var(--surface);touch-action:pan-y;align-items:center;gap:12px;padding:10px 4px;transition:transform .18s;display:flex;position:relative}.tlist .trow.swipe-row:hover .swipe-face{background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.warn-card .swipe-face{background:var(--surface)}.swipe-tray{z-index:0;align-items:stretch;display:flex;position:absolute;inset:0 0 0 auto}.swipe-action{min-width:84px;font:inherit;background:var(--tone-sky-bg-strong);color:var(--tone-sky);cursor:pointer;border:0;padding:0 14px;font-size:.75rem;font-weight:600}.swipe-action.next{background:var(--tone-indigo-bg);color:var(--tone-indigo)}.swipe-handle{color:var(--muted);opacity:0;background:0 0;border:0;border-radius:8px;flex:none;padding:6px 4px;font-size:.9375rem;line-height:1;position:relative}.swipe-handle:after{content:"";position:absolute;inset:-9px -4px -9px -18px}.trow.swipe-row:hover .swipe-handle,.trow.swipe-row.tray-open .swipe-handle,.swipe-handle:focus-visible{opacity:1}@media (hover:none){.swipe-handle{opacity:1}}.swipe-handle:hover{color:var(--text-2);background:var(--surface-2)}.when-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:8px;display:grid}.when-row input{appearance:none;width:100%;min-width:0;max-width:100%}.when-row input::-webkit-date-and-time-value{text-align:start;min-height:1.5em}.due-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.due-chips .btn{padding:2px 8px;font-size:.75rem}.event-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.nudge-x{min-width:var(--touch,34px);padding-inline:8px;font-size:1.05rem;line-height:1}.nudge-snooze{align-items:center;gap:4px;display:inline-flex}.nudge-snooze-opt{font-variant-numeric:tabular-nums;min-width:34px;padding-inline:6px}.review-top-row input{flex:1}.versions summary{cursor:pointer;font-weight:600}.versions-list li{align-items:center;gap:8px;display:flex}.capture-fields li{margin:4px 0}.tlist .trow.done .dash-title{color:var(--muted);text-decoration:line-through}.tcheck{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none}.share-mark{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;border-radius:999px;flex:0 auto;min-width:0;max-width:100%;padding:1px 7px;font-size:.6875rem;font-weight:600;overflow:hidden}.share-mark.is-shared{background:var(--tone-indigo-bg);color:var(--tone-indigo)}.share-mark.is-private{background:var(--tone-grey-bg);color:var(--tone-grey)}td .share-mark,.row-title+.share-mark{margin-top:2px;display:inline-block}.people-tab-seg.with-trash{align-items:center;gap:8px;display:flex}.people-tab-seg.with-trash .segmented{flex:1;min-width:0}.tasks-trash{flex:none;gap:5px;padding-inline:10px}.tasks-trash .board-count{font-variant-numeric:tabular-nums}.modal.wide{width:960px}.segmented.wrap .seg{flex:auto}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--dot-ring);border:2px solid #0000;border-radius:50%;padding:0}.swatch.on{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--dot-ring), 0 0 0 2px var(--surface)}.emoji-field{flex:0 0 72px}.emoji-field input{text-align:center;font-size:18px}.checklist,.comments{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.check-item{align-items:center;gap:8px;display:flex}.check-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none}.check-item.done .check-text{color:var(--muted);text-decoration:line-through}.check-text{background:0 0;border-color:#0000;flex:1;min-width:0;padding:4px 8px}.check-text:hover,.check-text:focus{border-color:var(--border);background:var(--surface)}.check-item input[type=date]{padding:4px 6px;font-size:.75rem}.check-add{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.check-add input{flex:1;min-width:160px}.comment{background:var(--surface-2);border-radius:8px;padding:8px 10px}.comment-meta .btn{padding:0 4px;font-size:.6875rem}.comment-form textarea{flex:1}.gh-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:6px;padding:10px 12px;font-size:.8125rem;display:flex}.gh-head{align-items:center;gap:8px;display:flex}.gh-glyph{color:var(--muted)}.gh-title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;text-decoration:none;overflow:hidden}.gh-title:hover{text-decoration:underline}.gh-refresh{padding:0 6px}.gh-sub{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:.75rem;display:flex}.gh-desc{color:var(--text-2);margin:0}.gh-labels{flex-wrap:wrap;gap:4px;display:flex}.gh-label{border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:1px 7px;font-size:.6875rem}.gh-map{flex-direction:column;gap:6px;margin-top:6px;display:flex}.gh-map-row{grid-template-columns:10ch 1fr;align-items:center;gap:8px;display:grid}.gh-map-row .badge{justify-self:start}@media (max-width:640px){.gh-map-row{grid-template-columns:1fr;gap:4px}.today-grid{grid-template-columns:1fr}}.desc-ai .btn{padding:3px 8px;font-size:.75rem}.ai-proposal{border:1px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 10%, var(--surface));cursor:default;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.ai-proposal-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;display:flex}.ai-proposal-head small{color:var(--muted)}.ai-proposal textarea{resize:vertical;width:100%}.cal-mode{margin-bottom:12px;display:inline-flex}.cal-pill.event{cursor:default;background:0 0;border:1px dashed;font-weight:500}.event-list .event-row{cursor:default}.event-list .event-row .dash-main{flex:1;min-width:0}.event-list .event-row:hover{background:0 0}.cal-sources{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.cal-source{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.cal-source>.check-add{flex:1;margin-top:0}.cal-source-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.cal-source-name small,.cal-source-status small{color:var(--muted);font-weight:400}.agent-connections .cal-source-name{white-space:normal;overflow-wrap:anywhere}.agent-connections .cal-source-name .tag{white-space:nowrap}.agent-connections .cal-source-name small{margin-top:2px;display:block}.cal-source-status{text-overflow:ellipsis;white-space:nowrap;max-width:40%;font-size:.75rem;overflow:hidden}.swatches.small .swatch{width:18px;height:18px}@media (pointer:coarse){.swatches{gap:18px}.swatches.small .swatch{width:26px;height:26px}}.settings-section h4{margin:16px 0 6px;font-size:.8125rem}.copy-row{gap:6px;display:flex}.copy-row input{flex:1;min-width:0;font-size:.75rem}.sync-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mirror-row{cursor:pointer;margin:6px 0}.btn.armed{background:var(--danger);border-color:var(--danger);color:var(--on-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 28%, transparent)}.btn.danger.armed:hover,.btn.subtle.armed:hover{color:var(--on-armed-hover)}.trash-row{cursor:default}.trash-row .dash-main{flex:1;min-width:0}.trash-list .dash-meta{flex-wrap:wrap;gap:8px}.notes{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;position:relative}.notes-link-tip{z-index:5;white-space:nowrap;box-shadow:var(--shadow-pop);position:absolute}@media (pointer:coarse){.notes-link-tip{min-height:44px}}.notes-toolbar{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.notes-ask{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.notes-ask-field{min-width:0;color:var(--text-2);flex-direction:column;flex:14rem;gap:4px;font-size:.75rem;font-weight:600;display:flex}.notes-ask-field input{width:100%;min-width:0;color:var(--text);font-weight:400}.notes-ask-actions{gap:8px;margin-left:auto;display:flex}.notes-tool{min-width:30px;padding:3px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:700}@media (pointer:coarse){.notes-tool{min-width:var(--touch)}}.notes-tool svg{vertical-align:-.2em}.notes-emoji-wrap{position:relative}.notes-emoji{z-index:5;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);border-radius:8px;grid-template-columns:repeat(8,30px);gap:2px;padding:6px;display:grid;position:absolute;top:100%;left:0}.notes-emoji button{background:0 0;border:0;border-radius:6px;padding:2px;font-size:18px}.notes-emoji button:hover{background:var(--surface-2)}.notes-foot{color:var(--muted);display:flex}.notes-open{align-self:flex-start}.md>:first-child{margin-top:0}.md h1,.md h2,.md h3,.md h4{margin:18px 0 6px;line-height:1.25}.md h1{font-size:1.375rem}.md h2{font-size:1.125rem}.md h3{font-size:.9375rem}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:2px 0}.md li input[type=checkbox]{accent-color:var(--accent);margin-right:4px}.md code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.md pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;margin:0 0 10px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;border:0;padding:0;font-size:.78125rem}.md blockquote{border-left:3px solid var(--accent);color:var(--text-2);margin:0 0 10px;padding:4px 12px}.md a{color:var(--accent-ink)}.md hr{border:0;border-top:1px solid var(--border);margin:14px 0}.md del{color:var(--muted)}.notes-page{flex-direction:column;gap:10px;min-height:calc(100vh - 170px);display:flex}.notes-index .toolbar{margin-bottom:12px}.notes-card{align-items:stretch;min-height:140px}.notes-card-preview h1,.notes-card-preview h2,.notes-card-preview h3{margin:4px 0;font-size:.875rem}.notes-editable{border:1px solid var(--border);background:var(--surface);min-height:calc(100vh - 290px);caret-color:var(--accent);border-radius:10px;outline:none;flex:1;padding:16px 20px;font-size:.90625rem;line-height:1.6;overflow:auto}.notes-editable:focus{border-color:var(--focus-ring)}.notes.dragging .notes-editable{border-style:dashed;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.notes-editable:empty:before,.notes-editable[data-empty=true]:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.notes-editable img{border:1px solid var(--border);border-radius:8px;max-width:min(100%,720px);max-height:480px;margin:8px 0;display:block}.notes-editable ul.checklist{padding-left:4px;list-style:none}.notes-editable ul.checklist input[type=checkbox]{accent-color:var(--accent);vertical-align:middle;margin-right:8px}.notes-editable h1{font-size:1.5rem}.notes-editable h2{font-size:1.1875rem}.notes-editable a{cursor:text}.trash-actions{flex:none;gap:6px;display:flex}.link-chip{border:1px solid var(--border);background:var(--surface-2);max-width:100%;color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;text-decoration:none;display:inline-flex}.activity .comments{gap:10px;padding-left:20px;position:relative}.activity .comments:before{content:"";background:var(--border);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:6px}.activity .comment{position:relative}.activity .comment:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;position:absolute;top:12px;left:-18px}@media (pointer:coarse){.link-chip{min-height:44px;padding:6px 14px}}.note-head .btn{white-space:nowrap}@media (pointer:coarse){.note-head .btn{min-height:44px}}.people{margin-bottom:20px}@media (max-width:640px){.people-toolbar>.spacer{display:none}.people-toolbar>.btn{flex:auto}}.people .toolbar{align-items:flex-start;margin-bottom:12px}.people>.chart-card{margin-bottom:12px}.people .chart-sub{margin:2px 0 0}.person-avatar{width:36px;height:36px;color:var(--on-user-color);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.person-avatar.small{width:28px;height:28px;font-size:14px}.person-journal{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.8125rem;display:flex}.person-stats{align-items:flex-end;gap:12px;display:flex}.person-bars{flex:1;align-items:flex-end;gap:3px;height:34px;display:flex}.person-bar{background:var(--viz-empty);border-radius:2px 2px 0 0;flex:1;min-height:2px}.person-bar.zero{opacity:var(--viz-empty-opacity)}.person-nums{font-variant-numeric:tabular-nums;gap:10px;display:flex}.person-nums span{flex-direction:column;align-items:center;line-height:1.1;display:flex}.person-nums small{color:var(--muted);font-size:.625rem}.person-recent{margin:0;padding:0;font-size:.75rem;list-style:none}.person-recent li{border-top:1px solid var(--border);cursor:pointer;justify-content:space-between;gap:8px;padding:3px 0;display:flex}.person-recent li:hover{color:var(--accent-ink)}.person-actions{align-items:center;gap:6px;display:flex}.person-ideas{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.person-idea{text-align:left;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));width:100%;color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.person-idea small{color:var(--text-2)}.person-idea:hover{background:color-mix(in srgb, var(--accent) 20%, var(--surface))}.people-list>.person-row{scroll-margin-top:calc(var(--topbar-h) + 8px + env(safe-area-inset-top))}@media (max-width:640px){.people-list>.person-row{scroll-margin-bottom:calc(var(--tabbar-h) + var(--safe-b) + 8px)}}.outing-with{margin-bottom:10px}.outing-with .platform-toggles{align-items:center}.review .toolbar{align-items:center;margin-bottom:0}.review .view-title{margin:0 4px}.review-summary .chart-head>div{min-width:0}.review-day{background:var(--viz-series-1);opacity:var(--review-day-opacity);border-radius:2px 2px 0 0;flex:1;min-height:2px}.search-main small{color:var(--muted)}.attachments li{align-items:center;gap:4px;display:flex}.attachment small{color:var(--muted)}.costs .field input{max-width:140px}.blockers .toggle{font-size:.75rem}.notes-to-task{font-family:inherit}@media (max-width:640px){.content{padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px)}}.plan-list{max-height:260px;margin:0;padding:0;font-size:.8125rem;list-style:none;overflow:auto}.plan-list li{border-bottom:1px solid var(--border);padding:3px 0}.plan-list li small{color:var(--muted);margin-left:6px}.plan-list .plan-ms{color:var(--accent-ink);font-weight:600}.year-report{margin-top:14px}.year-report .chart-head .segmented{flex-wrap:nowrap;flex:none}.year-table{border-collapse:collapse;width:100%;font-size:.75rem}.year-table th,.year-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:5px 6px}.year-table .num{text-align:center;font-variant-numeric:tabular-nums}.year-cell{border-radius:4px}.year-table .year-events{color:var(--muted)}.list-stats-bar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.list-stats-seg{flex-wrap:nowrap;flex:auto;min-width:0}.list-stats-action{flex:none;margin-left:auto}.people-stats{flex-direction:column;gap:14px;display:flex}.people-stats>.people-controls,.people-stats>.chart-card{margin:0}.people-tiles .stat-value{font-size:1.5rem}.people-stats .year-report .table-scroll{margin-top:10px}.stats-face{border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.face-28{width:28px;height:28px;font-size:14px}.rank-2 .podium-face,.rank-3 .podium-face{width:46px;height:46px;font-size:21px}@media (max-width:640px){.list-stats-bar{gap:6px;margin-bottom:6px}}.place-stats{flex-direction:column;gap:14px;display:flex}.place-stats .people-controls,.place-stats .people-kpis,.place-stats .year-report{margin:0}.place-mark{flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.place-mark.thumb-28{border-radius:50%;font-size:15px}.place-mark.thumb-40{border-radius:50%;font-size:20px}.place-mark.podium-photo{border-radius:12px;font-size:2.25rem}.rank-2 .place-mark.podium-photo,.rank-3 .place-mark.podium-photo{font-size:1.75rem}.place-dots{flex-wrap:wrap;place-content:flex-end center;gap:1px;display:flex;position:absolute;inset:16px 1px 1px}.place-dot{border-radius:50%;width:16px;height:16px;font-size:10px}.place-dots-more{color:var(--text-2);font-size:.625rem;font-weight:600;line-height:16px}.place-kind-emoji{text-align:center;flex:none;width:28px;font-size:1.125rem}.seen-count small{color:var(--muted);font-size:.6875rem}.dash-list li>.person-avatar+.dash-main{flex:1;min-width:0}.digest-hour select,.digest-hour input{padding:3px 6px}.ask-form{align-items:center;gap:8px;display:flex}.ask-input{flex:1;min-width:0}.ask-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ask-note{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.45}.ask-failed{color:var(--text-2)}.ask-answer{margin:0;font-size:.9375rem;line-height:1.6}.ask-arriving:after{content:"▍";color:var(--muted);margin-left:2px}.ask-also{flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0 0;display:flex}.ask-also small{color:var(--muted)}.ask-cite{border:1px solid var(--accent-ring);background:var(--accent-soft);max-width:16rem;color:var(--accent-text);vertical-align:baseline;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;align-items:center;gap:4px;margin:0 2px;padding:1px 8px;font-size:.75rem;line-height:1.5;display:inline-flex;overflow:hidden}.ask-sources-head{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:600}.ask-sources-head small{color:var(--muted);font-weight:400}.ask-sources{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.ask-source{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.ask-source:hover{background:var(--surface-2)}.ask-source.cited{border-color:var(--accent-ring)}.ask-kind{text-align:center;flex:none;width:1.5rem}.ask-source-main{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.ask-source-main small{color:var(--muted)}.ask-privacy{font-size:.75rem}.week-plan-sub{color:var(--text-2);margin:0;font-size:.8125rem;line-height:1.45}.week-plan-polish{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-plan-note{color:var(--muted);font-size:.75rem}.week-plan-group{flex-direction:column;gap:6px;display:flex}.week-plan-group h3{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.week-plan-rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.week-plan-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.week-plan-row>.tcheck{margin-top:2px}.week-plan-row.off .week-plan-title{color:var(--muted)}.week-plan-row.readonly{background:var(--surface-2)}.week-plan-glyph{text-align:center;flex:none;width:18px}.week-plan-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.week-plan-day{color:var(--text-2);font-size:.75rem;font-weight:600}.week-plan-title{overflow-wrap:anywhere;font-weight:600}.week-plan-title .week-plan-day{margin-right:4px}.week-plan-why{color:var(--muted);margin:0;font-size:.75rem}.week-plan-busy{color:var(--warn-text)}.week-plan-ai{color:var(--accent-text);font-size:.8125rem}.week-plan-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.week-plan-actions select{border:1px solid var(--border);background:var(--surface-2);max-width:100%;color:inherit;border-radius:8px;padding:6px 8px}.week-plan-main .meal-slot{margin-top:4px}@media (max-width:640px){.week-plan-foot-note{display:none}}@media (pointer:coarse){.week-plan-actions .btn,.week-plan-ai .btn,.week-plan-polish .btn,.ask-hint .btn,.ask-failed .btn{min-height:44px}.ask-cite{padding:4px 10px}.week-plan-row>.tcheck{width:22px;height:22px}}.content:has(.pushed-screen){flex-direction:column;display:flex}.pushed-screen:has(>.chat){flex:1}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-seg{margin-bottom:8px}.chat-prompts::-webkit-scrollbar{display:none}.chat-prompts .toggle{scroll-snap-align:start;flex:none}.chat-intro,.chat>.empty{margin-top:auto}.chat-line:hover .chat-unsend,.chat-unsend:focus-visible{opacity:1}.chat-composer textarea{min-height:var(--touch,40px);resize:none;flex:1;max-height:40vh;line-height:1.45}.chat-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.chat-card.applied{background:var(--tone-green-bg);border-color:#0000}.chat-card-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:2px 0;line-height:1.35;display:block}@media (pointer:coarse){.chat-card-line{min-height:var(--touch);padding-block:10px}}.chat-card-items li{align-items:center;gap:6px;display:flex}.chat-card-items input{flex:1;min-width:0}.review-period{margin-bottom:8px}@media (max-width:640px){.review-actions>.btn{flex:1 1 0;min-width:0}}.review-range .period-label{font-size:calc(1.0625rem * var(--type-scale));font-weight:700}.rhythm-sheet .modal-body{flex-direction:column;gap:10px;display:flex}.rhythm-sheet .field-hint,.rhythm-summary{margin:0}.rhythm-name strong,.rhythm-name small{overflow-wrap:anywhere}.find-address{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.find-address-panel,.missing-addresses{flex-direction:column;gap:8px;width:100%;display:flex}.address-candidates{flex-direction:column;gap:6px;width:100%;margin:0;padding:0;list-style:none;display:flex}.address-candidate{width:100%;min-height:var(--touch,40px);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.address-candidate:hover{border-color:var(--accent-ring)}.address-candidate span{color:var(--text-2);font-size:.875rem}.address-town{width:100%}.nudge-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0;font-size:.8125rem;display:flex}.list-stats-action{gap:6px;display:inline-flex}.assignee{flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}.error-hero .error-detail{color:var(--danger);background:var(--surface-2);word-break:break-word;border-radius:8px;max-width:640px;margin:0 auto 12px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.people-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.people-search{flex:200px;min-width:160px}.people-sort{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.people-kpis{margin-bottom:12px}.people-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 16px;padding:0;list-style:none;overflow:hidden}.person-row+.person-row{border-top:1px solid var(--border)}.person-row.open{background:var(--surface-2)}.person-summary{width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.person-summary:hover{background:var(--surface-2)}.person-ident{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.person-ident small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-inline-stats{flex:none;gap:14px;display:flex}.person-inline-stats span{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;line-height:1.1;display:flex}.person-inline-stats small{color:var(--muted);font-size:.625rem}.person-caret{color:var(--muted);flex:none;width:12px}.person-detail{flex-direction:column;gap:10px;padding:0 14px 14px 62px;display:flex}.person-actions{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.person-actions .btn{white-space:nowrap;flex:120px;justify-content:center;align-items:center;min-height:34px;padding:6px 12px;display:inline-flex}.person-actions a.btn{text-decoration:none}.person-actions a.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.place-where{overflow-wrap:anywhere;flex-direction:column;gap:2px;display:flex}.people-picker-search{width:100%;margin-top:6px}.picker-results{gap:6px;margin-top:6px}.attendees{gap:6px}.place-kinds{flex-wrap:wrap;gap:4px;display:flex}.place-kinds .toggle{white-space:nowrap;padding:3px 9px;font-size:.75rem}.place-new{flex-direction:column;gap:6px;margin-top:8px;display:flex}.place-new-ask{color:var(--muted)}.place-new-actions{gap:6px;display:flex}@media (max-width:640px){.place-kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.place-kinds .toggle{text-overflow:ellipsis;min-width:0;padding-inline:4px;overflow:hidden}}.person-nums .seen-window{display:none}@media (max-width:640px){.person-inline-stats{display:none}.person-nums .seen-window{display:flex}.seen-stats .person-nums{flex-wrap:wrap;row-gap:8px}.person-detail{padding-left:14px}.person-actions .btn{flex:45%}.seen-stats{flex-wrap:wrap}.seen-stats .person-bars{flex-basis:100%}}.settings-body{flex-direction:column;display:flex}.settings-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:6px;padding-bottom:10px;display:flex}.settings-nav .seg{flex:auto}.settings-body .settings-section{display:none}.settings-body.showing-you .g-you,.settings-body.showing-calendars .g-calendars,.settings-body.showing-reminders .g-reminders,.settings-body.showing-appearance .g-appearance,.settings-body.showing-household .g-household,.settings-body.showing-assistants .g-assistants,.settings-body.showing-data .g-data,.settings-body.showing-users .g-users,.settings-body.showing-backups .g-backups{display:block}.admin-optional summary{cursor:pointer;color:var(--text-2);margin:.35rem 0 .2rem;font-size:.8125rem}.backup-open p{margin:0 0 4px}.admin-stats{margin:0 0 1rem;padding:0;list-style:none}.admin-stat{border-bottom:1px dashed var(--border);align-items:baseline;gap:8px;padding:4px 0;font-size:.8125rem;display:flex}.admin-stat:last-child{border-bottom:none}.admin-stat>span{color:var(--text-2);flex:1;min-width:0}.admin-stat>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.admin-alarm .field-hint{color:var(--warn-text)}.admin-test small{color:var(--muted)}@media (max-width:640px){.toast{max-width:none;left:12px;right:12px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 12px);justify-content:space-between;transform:none}.toast>span:first-child{flex:1;min-width:0}.keyboard-open .toast{bottom:calc(var(--safe-b) + 12px)}}.landing-header{padding-top:calc(14px + env(safe-area-inset-top))}.login-wrap{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.profile-face{flex:none}.profile-face-actions .field-hint{flex:1 0 100%;margin:0}.member-face{object-fit:cover;color:var(--on-user-color);letter-spacing:.02em;border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}@media (max-width:640px){.settings-section>.btn{width:100%}.settings-section>.check-add>.btn,.settings-section>.sync-line>.btn{flex:auto}}.cal-weekday-open{min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:none;flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;padding:8px 10px;display:flex}.cal-weekday-add{flex:none;min-width:44px;min-height:44px;font-size:18px;line-height:1}.cal-item{width:100%;min-height:44px;color:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;display:flex}.cal-item-title.done{color:var(--muted);text-decoration:line-through}.cal-pill.event{cursor:pointer}.cal-pill.occasion,.cal-pill.mark{cursor:pointer;background:0 0;border:1px solid;font-weight:600}.cal-pill.meal{background:var(--surface-2)}.cal-sheet-backdrop{z-index:60;background:var(--scrim);padding:24px max(16px, var(--safe-r)) 24px max(16px, var(--safe-l));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cal-sheet-title h2{white-space:normal;overflow-wrap:anywhere;margin:0;font-size:1rem}.cal-sheet-nav,.cal-sheet-close{flex:none;min-width:44px;min-height:44px;font-size:18px;line-height:1}.cal-sheet-body{padding:6px 14px}.cal-row-tap{min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:flex-start;gap:8px;padding:6px 4px;display:flex}.cal-row-action{flex:none;align-self:center;min-height:44px}.cal-sheet-new{width:100%;min-height:44px}@media (max-width:640px){.cal-sheet-backdrop{padding:0 var(--safe-r) 0 var(--safe-l);align-items:stretch}}.people-tab-seg{margin:4px 0 14px}.notes-back{margin-right:12px}.notes-back:before{content:"‹";margin-right:4px;font-size:1.15em;line-height:1}.people-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.people-toolbar h2{flex:1;min-width:8rem;margin:0;font-size:1.15rem}.kitchen-recipes-head .chart-sub{margin:2px 0 0}.kitchen-recipe-compose .btn,.kitchen-empty-actions .btn{text-align:center;flex:1;justify-content:center;align-items:center;min-width:0;display:inline-flex}.recipe-group h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.72rem;font-weight:700}.week-strip-day{border:1px solid var(--border);background:var(--surface);min-width:0;color:inherit;font:inherit;text-align:center;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:10px 4px;display:flex}.week-strip-day.today{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.week-strip-day.set{background:var(--accent-soft)}.week-strip-day.picked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.meal-day-extras{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:640px){.meal-day-extras>.btn{flex:1 1 0;min-width:0}}.kitchen-empty p{color:var(--text-2);margin:0 0 12px}.recipe-card>.btn,.recipe-card-edit{flex:none;margin-left:auto}.recipe-list,.meal-week,.grocery-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recipe-card,.meal-day,.grocery-line{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:12px;display:flex}.recipe-card{cursor:pointer;align-items:center;min-height:56px;padding:10px 12px}.recipe-card .dash-main{flex:1;min-width:0}.recipe-card .dash-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-card .recipe-mark{border-radius:12px;width:44px;height:44px;font-size:1rem}.recipe-steps li.done .recipe-step{color:var(--muted);text-decoration:line-through}.recipe-steps li.done .recipe-step-n{background:var(--surface-3);color:var(--muted)}.insights.today,.insights.review{flex-direction:column;gap:16px;display:flex}@media (max-width:640px){.insights.today,.insights.review{gap:12px}}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.today-head h2{margin:0;font-size:1.35rem}.today-review{flex:none}.today-cards{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.today-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:72px;color:var(--text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:.8125rem;font-weight:600;display:flex}.today-card svg{color:var(--accent-text)}.today-card:hover{border-color:var(--accent-ring)}.week-review-excerpt{color:var(--text-2);white-space:pre-wrap;margin:0 4px 12px;line-height:1.5}.meal-day{flex-direction:column;align-items:stretch}.meal-day.today{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.meal-week>.meal-day{scroll-margin-top:calc(var(--topbar-h) + 8px + env(safe-area-inset-top))}.meal-day.picked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.meal-day-head{color:var(--muted);justify-content:space-between;font-size:.8125rem;display:flex}.meal-slot{flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;display:flex}.meal-slot.dinner{font-weight:600}.meal-slot-label{width:7.5rem;color:var(--text-2);flex:none;font-size:.8125rem}.meal-slot select{background:var(--surface-2);min-width:0;color:inherit;border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 10px}.recipe-paste .chart-sub,.recipe-paste .warn{margin:8px 0 0}.ing-row{grid-template-columns:4.5rem 5rem minmax(0,1fr) auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.ing-row input{width:100%;min-width:0}.ing-remove{min-width:2rem;padding:6px 0;line-height:1}.ing-undo{color:var(--text-2);align-items:center;gap:8px;margin:0 0 6px;font-size:.875rem;display:flex}.grocery-clear:disabled{display:none}.kitchen-tonight-title{margin:0 4px 12px;font-size:1.05rem;font-weight:600}.today-plate+.today-plate{border-top:1px solid var(--hairline);margin-top:8px;padding-top:8px}.muted{color:var(--muted);font-size:.8125rem}@media (max-width:640px){.meal-slot-label{width:100%}.grocery-states .seg{flex:1}.grocery-clear{width:100%;min-height:44px}.ing-row{grid-template-columns:3.5rem 4rem minmax(0,1fr) 2.25rem;align-items:stretch;margin-bottom:8px}.ing-row .btn.ing-remove{min-width:0;padding:0}}.grocery-remove{flex:none;min-width:2.25rem;padding:6px 8px;line-height:1}.grocery-removed>summary{cursor:pointer;color:var(--text-2);padding:8px 0;font-weight:600}.grocery-removed-line .dash-main{flex:1;min-width:0}@media (max-width:640px){.grocery-line .dash-main{flex:1 1 0;min-width:0}.grocery-remove{min-width:44px;min-height:44px}.grocery-removed>summary{padding:12px 0}.grocery-removed-line .btn{min-height:44px}}.meal-sides{flex-basis:100%;align-items:baseline;gap:6px;min-width:0;padding-left:calc(7.5rem + 8px);font-weight:400;display:flex}.meal-sides-with{color:var(--muted);flex:none;font-size:.8125rem}.meal-sides ul{flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.meal-side{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-items:center;max-width:100%;padding-left:10px;font-size:.8125rem;display:inline-flex}.meal-side-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.meal-side-remove{background:0 0;border:0;border-radius:999px;flex:none;padding:4px 8px;line-height:1}.meal-side-add{flex:none;font-weight:400}.meal-slot .meal-side-pick{flex:180px}@media (max-width:640px){.meal-sides{padding-left:0}.meal-slot .meal-side-pick{flex-basis:100%}}@media (pointer:coarse){.meal-side-add,.meal-side-remove,.cook-sides .btn{min-width:44px;min-height:44px}}.meal-plan-lunch{color:var(--text-2);align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.meal-plan-new{color:var(--accent-text);font-weight:400}.meal-plan-ai{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.meal-plan-ai h3{margin:0;font-size:.875rem}.meal-plan-done{margin:0;font-size:.9375rem;line-height:1.5}.recipe-suggest .chart-head{flex-wrap:wrap}.recipe-suggest-card .dash-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.recipe-suggest-more summary{color:var(--text-2);cursor:pointer;font-size:.8125rem}.recipe-suggest-more .recipe-ings,.recipe-suggest-steps{margin:6px 0 0;padding-left:1.2rem;font-size:.8125rem;line-height:1.5}@media (max-width:640px){.recipe-suggest-actions .btn{flex:1}}@media (pointer:coarse){.recipe-suggest-actions .btn,.recipe-suggest .chart-head .btn,.meal-plan-ai .btn{min-height:44px}.recipe-suggest-more summary{align-items:center;min-height:44px;display:flex}}.kitchen-stats{flex-direction:column;gap:14px;display:flex}.kitchen-tiles .stat-value{font-size:1.5rem}.kitchen-dish{background:var(--surface-2);color:var(--text-2);border-radius:8px;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.kitchen-dish.thumb-28{font-size:.8125rem}.kitchen-dish.thumb-40{font-size:1.125rem}.kitchen-dish.podium-photo{font-size:2rem}.photo-cal-cell.dinner-cooked .photo-cal-day:after,.photo-cal-cell.dinner-out .photo-cal-day:after,.photo-cal-cell.dinner-bought .photo-cal-day:after{content:"";height:3px;position:absolute;bottom:0;left:0;right:0}.photo-cal-cell.dinner-cooked .photo-cal-day:after{background:var(--viz-series-1)}.photo-cal-cell.dinner-planned .photo-cal-day{border-style:dashed}.kitchen-way-cooked{fill:var(--viz-series-1);background:var(--viz-series-1)}.kitchen-legend li{align-items:center;gap:6px;display:inline-flex}.kitchen-swatch{border-radius:3px;flex:none;width:10px;height:10px}.kitchen-by-month summary{color:var(--text-2);cursor:pointer;font-size:.8125rem}.kitchen-by-month summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:4px}@media (max-width:640px){.kitchen-seg .seg{font-size:calc(13px * min(1.15, var(--type-scale)))}}@media (pointer:coarse){.kitchen-by-month summary{align-items:center;min-height:44px;display:flex}}.kitchen-gap p{min-width:0;color:var(--text-2);flex:14rem;margin:0;font-size:.875rem;line-height:1.4}.kitchen-gap .btn{flex:none}.recipe-draft-part p{color:var(--text-2);margin:0;font-size:.875rem;line-height:1.45}.recipe-fill-failed .warn,.recipe-fill-done,.recipe-fill-busy{margin:0}@media (max-width:640px){.kitchen-gap .btn{flex:100%}.recipe-capture-row .btn{flex:calc(50% - 4px);min-width:0;padding-inline:8px}}.journal-editor{flex-direction:column;gap:8px;display:flex}.journal-editor textarea{box-sizing:border-box;resize:none;width:100%;min-height:64px;max-height:50vh;line-height:1.5;overflow-y:auto}.mood-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mood-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;opacity:.65;border-radius:999px;padding:4px 9px;font-size:17px;line-height:1;transition:opacity .12s,transform .12s}.mood-chip:hover{opacity:1}.mood-chip.on{opacity:1;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);transform:scale(1.08)}.journal-people{flex-direction:column;gap:4px;display:flex}.journal-people .platform-toggles{align-items:center}.journal-avatars{align-items:center;gap:4px;display:inline-flex}.journal-avatars .person-avatar.small{width:22px;height:22px;font-size:12px}.person-avatar.small.more{background:var(--surface-2);width:auto;min-width:22px;color:var(--text-2);border-radius:999px;padding:0 5px;font-size:11px;font-weight:600}.journal-editor-foot{align-items:center;gap:8px;min-height:20px;display:flex}.journal-editor-foot small:last-child{margin-left:auto}.journal-yesterday{color:var(--text-2);cursor:pointer;margin:10px 4px 0;line-height:1.5}.journal-week-days>li{flex:1}.journal-week-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-2);cursor:pointer;font:inherit;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;line-height:1.2;display:flex}.journal-week-day:hover:not(:disabled){border-color:var(--border-strong)}.journal-week-day:disabled{opacity:.4;cursor:default}.journal-week-day.written{background:var(--accent-softer);border-color:var(--accent-ring)}.journal-week-day.today{border-color:var(--accent)}.journal-week-mark{min-height:1.1em;font-size:.8rem}.journal-card,.journal-day{scroll-margin-top:calc(var(--topbar-h) + 8px + env(safe-area-inset-top))}.journal-day-head>.spacer{flex:24px}.journal-mood{font-size:18px;line-height:1}.weekday-bar{background:var(--viz-series-1);width:60%;min-height:2px;opacity:var(--viz-bar-opacity);border-radius:3px 3px 0 0;display:block}@media (pointer:coarse){.mood-chip{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.mood-row{gap:8px}.journal-editor{gap:12px}.journal-editor textarea{min-height:96px}.journal-stats-toggle{min-height:44px}.mood-readout{min-height:1.05rem}.kpi-bulk .btn{min-height:44px}}@media (max-width:640px){.mood-readout{min-height:2.1rem}}button.journal-yesterday{appearance:none;width:calc(100% - 8px);font:inherit;text-align:start;background:0 0;border:0;padding:0;line-height:1.5;display:block}@media (max-width:640px){.mood-row{justify-content:space-between;gap:4px}}:where(html.native) input:not([type=checkbox]):not([type=radio]),:where(html.native) select:not([hidden]):not([multiple]),:where(html.native) textarea:not([hidden]):not([disabled]),:where(html.native) [contenteditable=true]:not([hidden]){font-size:max(16px,1rem)}:where(html.native) .emoji-field input:not([type=checkbox]){font-size:max(18px,1.125rem)}@media (max-width:640px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select:not([hidden]):not([multiple]),textarea:not([hidden]):not([disabled]),[contenteditable=true]:not([hidden]){font-size:max(16px,1rem)}.emoji-field input:not([type=checkbox]){font-size:max(18px,1.125rem)}}.meal-out-chip{font-size:calc(.72rem * var(--type-scale));border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px}.meal-household{min-width:0;color:var(--text-2);flex:100%;margin:0;padding:0 0 0 calc(7.5rem + 8px);font-size:.8rem;list-style:none}@media (max-width:640px){.meal-household{padding-left:0}}.meal-household li{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;margin:0;display:flex}.meal-household-plan{flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.meal-household-plan strong{font-weight:600}.meal-audience{flex-wrap:wrap;align-items:center;gap:6px 10px;width:100%;display:flex}.meal-audience .field-hint{flex:100%;margin:0}.meal-audience-seg{flex:none}.outing-meal{cursor:default}.meal-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meal-pick-sheet .modal-body{flex-direction:column;gap:12px;display:flex}.meal-pick-audience{flex-direction:column;gap:8px;display:flex}.meal-pick-line{align-items:center;gap:10px;min-width:0;display:flex}.meal-pick-label{width:6.25rem;color:var(--text-2);flex:none;font-size:.8125rem;font-weight:600}.meal-pick-line>.segmented.seg-track{flex:1;min-width:0}.meal-pick-audience>.field-hint{margin:-2px 0 0 calc(6.25rem + 10px)}.meal-pick-line>.segmented.seg-track,.meal-pick-sheet .segmented.seg-track.meal-pick-tabs{max-width:none}.meal-pick-line>.segmented.seg-track.meal-cook-seg{flex:none;width:100%;max-width:7rem}.segmented.seg-track.meal-cook-seg .seg{min-width:2.75rem}.segmented.seg-track.meal-cook-seg.unset .seg-thumb{opacity:0}.meal-pick-search{background:var(--surface-2);border-radius:10px;width:100%;padding:10px 12px;font-size:max(16px,1rem)}.meal-pick-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meal-pick-item{border-bottom:1px solid var(--hairline);align-items:center;gap:4px;min-width:0;display:flex}.meal-pick-item:last-child{border-bottom:0}.meal-pick-row{min-width:0;min-height:48px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:10px;padding:6px;display:flex}.meal-pick-row:hover{background:var(--surface-2)}.meal-pick-row.on{color:var(--accent-text);font-weight:600}.meal-pick-mark{background:var(--surface-2);width:2.25rem;height:2.25rem;color:var(--text-2);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex}.meal-pick-row.new .meal-pick-mark{background:var(--accent-soft);color:var(--accent-text)}.meal-pick-row.new .meal-pick-name{color:var(--accent-text);font-weight:600}.meal-pick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.meal-pick-when{text-overflow:ellipsis;white-space:nowrap;max-width:48%;color:var(--muted);flex:none;font-size:.8125rem;font-weight:400;overflow:hidden}.meal-pick-row.leftovers .meal-pick-name{white-space:normal;flex-direction:column;display:flex}.meal-pick-hint{color:var(--muted);font-size:.8125rem;font-weight:400}.meal-pick-tick{color:var(--accent-text);flex:none}.meal-pick-star{min-width:40px;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.meal-pick-star:hover{background:var(--surface-2)}.meal-pick-star.on{color:var(--accent-text)}.meal-pick-group{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 0 2px;font-size:.72rem;font-weight:700}.meal-pick-found{flex-direction:column;gap:8px;display:flex}.meal-pick-empty{color:var(--muted);margin:4px 0;font-size:.875rem}.meal-pick-foot{justify-content:flex-start}@media (pointer:coarse){.meal-pick-row{min-height:52px}.meal-pick-star{min-width:44px;min-height:44px}}@media (max-width:640px){.meal-pick-label{width:auto;min-width:2.5rem}}.meal-slot-choose{border:1px solid var(--border);background:var(--surface-2);min-width:0;min-height:40px;color:var(--text);text-align:left;border-radius:8px;flex:1;align-items:center;gap:8px;padding:8px 10px;display:flex}.meal-slot-chosen{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.meal-slot-placeholder{color:var(--muted);flex:1;font-weight:400}.meal-slot-chevron{color:var(--muted);flex:none}@media (pointer:coarse){.meal-slot-choose{min-height:44px}}.cal-add-menu button{min-height:44px;color:var(--text);font-size:calc(.9rem * var(--type-scale));text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.meal-new-place{flex-wrap:wrap;align-items:center;gap:6px;width:100%;margin-top:6px;display:flex}.meal-new-place-name{flex:140px;min-width:0}.meal-new-place>.place-kinds,.meal-new-place>.meal-new-place-saved{flex:100%}@media (max-width:640px){.meal-new-place>*{min-height:44px}.meal-new-place>.meal-new-place-saved{min-height:0}}.cal-work-badge.home{border-color:var(--tone-mint);color:var(--tone-mint)}.cal-work-badge.office{border-color:var(--tone-blue);color:var(--tone-blue)}.cal-work-badge.off{border-color:var(--tone-orange);color:var(--tone-orange)}.work-day-chip{border:1px solid var(--border);min-width:42px;min-height:36px;color:var(--text);font-size:calc(.85rem * var(--type-scale));cursor:pointer;background:0 0;border-radius:8px;padding:0 8px}@media (pointer:coarse){.work-day-chip,.cal-work-edit,.cal-work-set{min-height:44px}}.bills-kpis .stat-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.bills-kpis .stat-value{font-size:calc(1.3rem * var(--type-scale));font-variant-numeric:tabular-nums;font-weight:700}.habit-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.habit-row{border-radius:10px;align-items:center;gap:12px;padding:0 6px;display:flex}.habit-row:hover{background:var(--surface-2)}.habit-row.rest .habit-name{color:var(--muted)}.habit-row.rest .habit-tick,.habit-row.rest .habit-emoji{opacity:.6}.habit-tick{border:2px solid var(--border-strong);width:26px;height:26px;color:var(--on-accent);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;line-height:1;transition:transform .12s,background .12s;display:inline-flex;position:relative}.habit-tick:active{transform:scale(.88)}.habit-tick:before{content:"";position:absolute;inset:-11px}.habit-name{min-width:0;min-height:44px;color:var(--text);text-align:left;font:inherit;white-space:nowrap;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex;overflow:hidden}.habit-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.habit-name>.habit-emoji{flex:none}.habit-name:hover,.habit-row.rest .habit-name:hover{color:var(--accent-text)}.habit-emoji{font-size:1.05rem}.habit-streak{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem;font-weight:600}.habit-row.rest .habit-streak{color:var(--muted);font-weight:500}.habit-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:10px;margin:4px 0;padding:12px;display:flex}.habit-form-top{gap:8px;display:flex}.habit-emoji-input{text-align:center;flex:none;width:48px}.habit-name-input{flex:1;min-width:0}.habit-days{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.habit-day{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-2);border-radius:50%;flex:none;font-size:.8125rem;font-weight:600}.habit-day.on{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-text)}.habit-days-hint{color:var(--muted);margin-left:4px;font-size:.75rem}.habit-form-actions{align-items:center;gap:8px;display:flex}.habit-delete{margin-left:auto}.routine-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.routine-row{border-radius:10px;padding:8px 6px}.routine-row:hover{background:var(--surface-2)}.routine-head{align-items:center;gap:8px;display:flex}.routine-name{min-width:0;color:var(--text);text-align:left;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;font-weight:600;display:flex}.routine-name>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.routine-name:hover{color:var(--accent-text)}.routine-when{color:var(--muted);border:1px solid var(--hairline);border-radius:999px;flex:none;padding:1px 6px;font-size:.75rem;font-weight:500}.routine-progress{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem;font-weight:600}.routine-row.complete .routine-progress{color:var(--accent-text)}.routine-steps{flex-direction:column;gap:4px;margin:6px 0 0 4px;padding:0;list-style:none;display:flex}.routine-step{cursor:pointer;align-items:center;gap:10px;font-size:.875rem;display:flex}.routine-step .done{color:var(--muted);text-decoration:line-through}@media (pointer:coarse){.routine-steps{gap:0}.routine-step{min-height:44px}}.routine-hidden{color:var(--muted);margin:0;padding:8px 6px;font-size:.875rem}.routine-showall{align-self:flex-start;margin-top:4px}.routine-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:10px;margin:4px 0;padding:12px;display:flex}.routine-name-input{width:100%}.routine-steps-input{resize:vertical;width:100%;min-height:88px;font:inherit}.routine-form-actions{align-items:center;gap:8px;display:flex}.routine-delete{margin-left:auto}.briefing{padding:12px 14px}.briefing-weather-pick{max-width:12.5rem;color:var(--text-2);background:var(--surface-2);border-color:var(--hairline);border-radius:999px;padding:5px 8px;font-size:.8125rem}.briefing-weather-pick:hover{color:var(--text)}.briefing .chart-head{margin-bottom:8px}.briefing-tiles{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.briefing-tile{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);align-items:center;gap:8px;min-width:0;padding:6px 10px;font-size:.8125rem;display:flex}.briefing-glyph{flex:none;font-size:1.1rem;line-height:1}.briefing-text{flex-direction:column;gap:1px;min-width:0;max-width:100%;display:flex}.briefing-main{max-width:100%;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.briefing-sub{color:var(--muted);font-size:.75rem}.briefing-note{color:var(--muted);margin:0 0 8px;font-size:.8125rem}@media (max-width:640px){.briefing-tile{text-align:center;flex-direction:column;flex:calc(50% - 4px);justify-content:center;gap:2px}.briefing-tile>.briefing-text{align-items:center}}.focus-card{border-color:var(--accent-ring);scroll-margin-top:calc(var(--topbar-h) + 8px + env(safe-area-inset-top))}.focus-card.all-done{border-color:var(--border)}.focus-card .why{color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:.75rem}.focus-badge{background:var(--accent-soft);color:var(--accent-text);padding:1px 7px;font-size:.6875rem;display:inline-block}.meal-ideas-slot+.meal-ideas-slot{margin-top:10px}.meal-ideas-label{color:var(--text-2);margin:0 0 6px;font-size:.8125rem;font-weight:600}.meal-ideas-list{grid-template-columns:repeat(auto-fill,minmax(min(12.5rem,100%),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.meal-idea{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;min-width:0;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.meal-idea:hover{border-color:var(--accent-ring)}.meal-idea-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.875rem;font-weight:600;overflow:hidden}.meal-idea-why{color:var(--muted);font-size:.75rem}.plan-section{flex-direction:column;gap:10px;min-width:0;display:flex}.shutdown-sheet .plan-section+.plan-section{border-top:1px solid var(--hairline);padding-top:14px}.plan-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-h{align-items:baseline;gap:8px;margin:0;font-size:.9375rem;display:flex}.plan-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.plan-lead{color:var(--text-2);margin:0;font-size:.875rem}.plan-empty,.plan-hint,.plan-done-line{color:var(--muted);margin:0;font-size:.8125rem}.plan-limit{color:var(--danger);margin:0;font-size:.8125rem;font-weight:600}.plan-limit:empty{display:none}.plan-list,.plan-picks,.plan-cands{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-list{gap:12px}.plan-row{flex-direction:column;gap:6px;min-width:0;display:flex}.plan-row+.plan-row{border-top:1px solid var(--hairline);padding-top:12px}.plan-row-main{align-items:center;gap:8px;min-width:0;display:flex}.plan-task-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.plan-row-main .plan-task-title,.plan-pick .plan-task-title{flex:1}.plan-row-main>.due,.plan-row-main>.badge{flex:none}.plan-picks{gap:6px}.plan-pick{border:1px solid var(--accent-ring);border-radius:var(--radius-sm);background:var(--accent-soft);align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex}.plan-new-badge{background:var(--surface);color:var(--accent-text);flex:none;padding:1px 7px;font-size:.6875rem}.plan-remove{flex:none}.plan-group{flex-direction:column;gap:4px;display:flex}.plan-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:4px 0 0;font-size:.75rem;font-weight:600}.plan-cands{gap:2px}.plan-cand{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 6px;display:flex}.plan-cand:hover{background:var(--surface-2)}.plan-cand.on{background:var(--accent-soft)}.plan-cand-plus{border:1px solid var(--border-strong);width:24px;height:24px;color:var(--text-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.875rem;line-height:1;display:inline-flex}.plan-cand.on .plan-cand-plus{border-color:var(--accent-ring);color:var(--accent-text)}.plan-cand-text{flex-direction:column;min-width:0;display:flex}.plan-cand-why{color:var(--muted);font-size:.75rem}.plan-keep{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:.8125rem;display:flex}span.routine-name:hover{color:var(--text)}@media (pointer:coarse){.meal-idea,.plan-cand,.plan-keep{min-height:44px}}@media (max-width:640px){.plan-moves .seg,.plan-durations .seg,.plan-options .seg{flex:auto}.meal-ideas-list{grid-template-columns:1fr 1fr}}.briefing-tile.briefing-theirs{opacity:.82}.briefing-tile.briefing-theirs .briefing-main{font-weight:500}@media (max-width:640px){.briefing>.chart-head{flex-wrap:nowrap;align-items:center;gap:8px}.briefing>.chart-head>div{flex:1;min-width:0}.briefing>.chart-head h3{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.briefing-weather-pick{flex:none;max-width:48%}}.garment-photo{background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.garment-photo.has-photo{background:var(--photo-white)}.garment-photo img{object-fit:contain;width:100%;height:100%;display:block}.garment-photo-type{color:var(--text-2);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.garment-photo-type svg{width:46%;max-width:72px;height:46%;max-height:72px}.garment-view{min-width:0;display:flex;position:relative}.garment-view>.garment-photo{flex:1;min-height:0}.garment-inset{z-index:1;aspect-ratio:4/5;border:2px solid var(--surface);background:var(--surface-2);width:30%;box-shadow:0 0 0 1px var(--border-strong), var(--shadow-sm);border-radius:8px;padding:0;display:flex;position:absolute;bottom:6px;right:6px}.garment-inset .garment-photo{border-radius:6px;flex:1}.garment-inset .garment-photo-type{display:none}.garment-inset.flip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.garment-inset.flip:after{content:"";position:absolute;inset:min(0px,50% - 22px)}.garment-photo.flippable img{animation:.16s ease-out garment-fade}@keyframes garment-fade{0%{opacity:.35}}@media (prefers-reduced-motion:reduce){.garment-photo.flippable img{animation:none}}.occasion-badge.work{background:var(--tone-indigo-bg);color:var(--tone-indigo)}.fav-mark{z-index:1;background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-sm);color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:10px;left:10px}.fav-mark.inline{width:auto;height:auto;box-shadow:none;vertical-align:-1px;background:0 0;margin-right:4px;position:static}.toggle.on .fav-mark{color:inherit}.wardrobe-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wardrobe-actions .btn{white-space:nowrap}.wardrobe-actions .btn:disabled{opacity:.5}.saved-load .collage{width:112px;height:140px}.collage{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:2px;display:flex;position:relative;overflow:hidden}.collage .garment-photo{border-radius:0}.collage-half,.collage-full{flex:1;min-height:0}.wardrobe-card-thumbs .garment-photo-type,.acc-thumb .garment-photo-type,.thumb-28 .garment-photo-type,.thumb-40 .garment-photo-type{display:none}.collage .collage-badge{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:28px;height:28px;position:absolute}.collage-badge.outer{top:4px;left:4px}.collage-badge.shoes{bottom:4px;right:4px}.wardrobe-chip .collage{border-radius:8px;width:56px;height:70px}.wardrobe-chip .collage-badge{width:18px;height:18px}.wardrobe-card-thumbs .garment-photo{border:1px solid var(--surface);width:32px;height:40px;margin-left:-8px}.wardrobe-card-thumbs .garment-photo:first-child{margin-left:0}.clothes-filters::-webkit-scrollbar{display:none}.clothes-grid>li{min-width:0;display:flex}.clothes-retired summary,.wardrobe-by-piece summary,.garment-more summary{color:var(--text-2);cursor:pointer;padding:6px 0;font-weight:600}@keyframes garment-spin{to{transform:rotate(360deg)}}.garment-types,.garment-names,.garment-days,.garment-seasons{flex-wrap:wrap;gap:6px;display:flex}.garment-hero-add{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.8125rem;font-weight:500;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.wardrobe-retired{background:var(--surface-2);color:var(--muted)}.wardrobe-stats{flex-direction:column;gap:14px;display:flex}.wardrobe-tiles .stat-value{font-size:1.5rem}.wardrobe-hbars .hbar-row,.stats-hbars .hbar-row{gap:8px}.hbars .wardrobe-hbar-label,.hbars .stats-hbar-label{width:42%;min-width:0;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:0;font-size:.8125rem;display:flex}.wardrobe-hbar-name,.stats-hbar-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.thumb-28{border-radius:6px;flex:none;width:28px;height:28px}.thumb-40{border-radius:8px;flex:none;width:40px;height:40px}.wardrobe-list,.wardrobe-repeats,.stats-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wardrobe-list-row,.wardrobe-repeat,.stats-list-row{align-items:center;gap:10px;display:flex}.wardrobe-list-actions{flex:none;align-items:center;gap:6px;display:flex}@media (max-width:420px){.wardrobe-list-row{flex-wrap:wrap}.wardrobe-list-actions{margin-left:auto}}.wardrobe-list-piece,.stats-list-piece{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:10px;padding:4px;display:flex}.wardrobe-list-piece>span:last-child,.stats-list-piece>span:last-child,.wardrobe-repeat-text{flex-direction:column;flex:1;min-width:0;display:flex}.wardrobe-list-name,.stats-list-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.wardrobe-repeat .collage{border-radius:8px;flex:none;width:44px;height:56px}.wardrobe-repeat .collage-badge{width:16px;height:16px}.wardrobe-month-total,.stats-month-total{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:.8125rem;display:flex}.wardrobe-by-piece{margin-top:8px}.photo-cal-head,.photo-cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.photo-cal-head{color:var(--muted);text-align:center;margin-bottom:3px;font-size:.6875rem;font-weight:600}.photo-cal{margin:0;padding:0;list-style:none}@media (pointer:coarse){.photo-cal-head,.photo-cal{gap:1px}}.photo-cal-cell,.photo-cal-pad{aspect-ratio:4/5;min-width:0}.photo-cal-day{border:1px solid var(--border);background:var(--surface-2);width:100%;height:100%;color:var(--text-2);font:inherit;border-radius:6px;padding:0;display:block;position:relative;overflow:hidden}button.photo-cal-day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.photo-cal-day .collage{border-radius:0;gap:1px;position:absolute;inset:0}.photo-cal-day .collage-badge{display:none}.photo-cal-num{background:var(--surface);min-width:14px;color:var(--text-2);text-align:center;border-radius:4px;padding:0 3px;font-size:.625rem;font-weight:600;line-height:1.4;position:absolute;top:2px;left:2px}.photo-cal-cell.today .photo-cal-day{border-color:var(--accent-ring);box-shadow:0 0 0 1px var(--accent-ring)}.photo-cal-cell.today .photo-cal-num{background:var(--accent);color:var(--on-accent)}.photo-cal-cell.later .photo-cal-day{opacity:.6;background:0 0;border-style:dashed}.podium{justify-content:center;align-items:flex-end;gap:8px;margin:0;padding:0;list-style:none;display:flex}.podium-place{flex-direction:column;flex:1 1 0;min-width:0;max-width:132px;display:flex}.podium-place.rank-1{order:2}.podium-place.rank-2{order:1}.podium-place.rank-3{order:3}.podium-piece{color:var(--text);font:inherit;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0 0 6px;display:flex}.podium-piece:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.podium-photo{aspect-ratio:4/5;width:100%}.rank-2 .podium-photo,.rank-3 .podium-photo{width:84%}.podium-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.8125rem;font-weight:600;overflow:hidden}.podium-count{color:var(--muted);font-size:.6875rem}.podium-step{background:var(--surface-2);color:var(--text-2);border-radius:8px 8px 0 0;justify-content:center;padding-top:4px;font-weight:700;display:flex}.rank-1 .podium-step{background:var(--accent-soft);height:44px;color:var(--accent-text)}.rank-2 .podium-step{height:30px}.rank-3 .podium-step{height:20px}.wardrobe-uniform{align-items:flex-start;gap:12px;display:flex}.wardrobe-uniform:not(:last-child){border-bottom:1px solid var(--hairline);margin-bottom:10px;padding-bottom:10px}.wardrobe-uniform .collage{flex:none;width:72px;height:90px}.wardrobe-uniform .collage-badge{width:22px;height:22px}.wardrobe-uniform-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.wardrobe-uniform-text .wardrobe-list-name{max-width:100%}.wardrobe-uniform-label{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);font-size:.6875rem;font-weight:600}.wardrobe-uniform-text .btn{margin-top:4px}.wardrobe-cpw{text-align:right;white-space:nowrap;flex:none;font-size:.875rem}.search-kind .collage{border-radius:6px;gap:1px;width:22px;height:28px}.search-kind .collage-badge,.search-kind .garment-photo-type{display:none}.cal-look{width:100%;min-width:0;min-height:36px;color:var(--text-2);font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:4px 10px;font-size:.75rem;display:flex}@media (pointer:coarse){.cal-look,.review-most-worn{min-height:44px}}@media (max-width:640px){.wardrobe-actions .btn{font-size:calc(14px * min(1.15, var(--type-scale)))}}@media (pointer:coarse){.wardrobe-step,.wardrobe-remove,.wardrobe-forgot,.wardrobe-card-prior,.wardrobe-card-add,.wardrobe-list-piece,.stats-list-piece,.clothes-sort select,.clothes-season,.wardrobe-card-note,.garment-with-piece,.garment-fav,.garment-back-pick,.garment-hero-add,.garment-back-first,.garment-back .btn{min-height:44px}.clothes-retired summary,.wardrobe-by-piece summary,.garment-more summary{min-height:44px;padding-block:12px}}.stats-lens{flex-direction:column;gap:14px;padding-bottom:8px;display:flex}.stats-window>.segmented>.seg{min-width:0;color:var(--text-2);text-align:center;background:0 0;border:none;border-radius:9px;flex:1 1 0;padding:7px 10px;font-weight:600}.stats-window>.segmented>.seg.on{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-sm)}.ink-people,.people-stats{--area-ink:var(--tone-violet)}.ink-places,.place-stats{--area-ink:var(--tone-sky)}.ink-kitchen,.kitchen-stats,.ink-year{--area-ink:var(--viz-series-1)}.ink-wardrobe,.wardrobe-stats{--area-ink:var(--tone-rose)}.ink-journal{--area-ink:var(--tone-amber)}.ink-tasks{--area-ink:var(--tone-blue)}.ink-money{--area-ink:var(--tone-green)}.ink-habits{--area-ink:var(--tone-mint)}:is(.ink-tasks,.ink-money,.ink-people,.people-stats,.ink-places,.place-stats,.ink-kitchen,.kitchen-stats,.ink-year,.ink-wardrobe,.wardrobe-stats,.ink-habits,.ink-journal){--area-ink-hot:color-mix(in srgb, var(--area-ink) 72%, var(--text))}@media (max-width:640px){.stats-lens .stat-tile{padding:11px 12px}.stats-lens .stat-value{font-size:1.5rem}}.area-card{text-align:left;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow);min-width:0;color:inherit;font:inherit;align-items:center;gap:12px;padding:13px 15px;display:flex}.area-open{appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .16s,box-shadow .16s,transform .16s}.area-open:hover{border-color:var(--accent-ring);box-shadow:var(--shadow-md)}.area-open:active{transform:scale(.99)}.area-head{flex-direction:column;flex:1;min-width:0;display:flex}.area-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:600}.area-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.25rem;font-weight:700;line-height:1.15}.area-sub{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:.75rem}.area-aside{flex:none;align-items:center;display:flex}.area-go{color:var(--muted);flex:none;font-size:1.125rem;line-height:1}.sparkline{width:96px;height:30px;display:block}.spark-area{opacity:.16}.split-bar{border-radius:4px;gap:2px;width:72px;height:12px;display:flex;overflow:hidden}.split-bar>span{min-width:4px}.split-cooked{background:var(--viz-series-1)}.split-out{background:var(--cal-meal-out)}.split-bought{background:var(--cal-meal-bought)}.split-figure{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.split-key{color:var(--text-2);font-variant-numeric:tabular-nums;gap:6px;font-size:.6875rem;font-weight:600;line-height:1;display:flex}.split-key-part{align-items:center;gap:3px;display:inline-flex}.split-key-part>i{border-radius:50%;width:6px;height:6px}.stat-ring{flex-direction:column;flex:none;align-items:center;display:inline-flex;position:relative}.stat-ring svg{display:block}.ring-track{stroke:var(--viz-empty);opacity:var(--viz-empty-opacity)}.ring-arc{stroke:var(--area-ink,var(--viz-series-1))}.ring-label{height:var(--ring-h,68px);font-variant-numeric:tabular-nums;letter-spacing:-.01em;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.ring-caption{color:var(--muted);text-align:center;margin-top:2px;font-size:.6875rem}.heat-wrap{min-width:0}.heat-scroll{overscroll-behavior-x:contain;padding-bottom:4px;overflow-x:auto}.heat-months,.heat-grid{gap:3px;min-width:620px;display:grid}.heat-months{margin-bottom:4px}.heat-month{color:var(--muted);white-space:nowrap;font-size:10px}.heat-grid{grid-template-rows:repeat(7,1fr);grid-auto-flow:column}.heat-cell{aspect-ratio:1;background:var(--surface-3);border-radius:2px}.heat-cell.ahead{box-shadow:inset 0 0 0 1px var(--hairline);background:0 0}.heat-cell.today{box-shadow:0 0 0 1.5px var(--accent)}@keyframes stats-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.today-head-actions{flex:none;align-items:center;gap:8px;display:flex}.today-bell{position:relative}.today-bell-count{border:1.5px solid var(--bg);background:var(--accent);min-width:17px;height:17px;color:var(--on-accent);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:9px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:14px;position:absolute;top:1px;right:0}.notices-day h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:.75rem;font-weight:700}.notice-row{border-radius:var(--radius);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.today-head.home-hero{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions""sub actions";align-items:center;gap:2px 12px;display:grid}.home-hero>h2{letter-spacing:-.02em;overflow-wrap:anywhere;grid-area:title;margin:0;font-size:1.75rem;line-height:1.15}.home-hero>.chart-sub{grid-area:sub;margin:0;font-size:.9375rem;line-height:1.35}.home-hero-date,.home-hero-sky{max-width:100%;display:inline-block}.home-hero>.today-head-actions{grid-area:actions}@media (max-width:640px){.today-head.home-hero{grid-template-areas:"title title""sub actions";row-gap:6px}}.home-goals,.today .focus-card,.home-so-far{border-radius:var(--radius-lg)}.today .btn.home-link{color:var(--accent-text);flex:none;padding-inline:10px;font-size:.875rem;font-weight:600}.home-link.closed{color:var(--muted);flex:none;align-self:center;font-size:.8125rem;font-weight:600}.home-goals{border-color:var(--accent-ring);position:relative}.home-goals.all-done{border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.goals-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px;margin-bottom:4px;display:grid}.goals-words h3{margin:0;font-size:1rem}.goals-words .chart-sub{font-size:.8125rem}.goals-cheer{color:var(--ok);font-weight:600}.goals-ring{place-items:center;width:48px;height:48px;display:inline-grid;position:relative}.goals-ring>svg,.goals-ring-count{grid-area:1/1}.goals-ring-count{font-variant-numeric:tabular-nums;font-size:min(.8125rem,15px);font-weight:700}.goals-ring-track{stroke:var(--viz-empty);opacity:var(--viz-empty-opacity)}.goals-ring-arc{stroke:var(--ok);transition:stroke-dasharray .3s}.home-goals .goals-list>li.trow{border-bottom:0;gap:8px;min-height:0;padding:0 4px}.goals-tick{cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:row;flex:1;align-items:center;gap:10px;min-width:0;min-height:36px;display:flex}.goals-words-line{overflow-wrap:anywhere;flex:1;min-width:0}.goals-tick .dash-title{white-space:normal;font-weight:500;display:inline}.goals-words-line>.badge{display:inline-block}.goals-list .tcheck{accent-color:var(--ok)}.goals-list .trow.done .dash-title{color:var(--muted);text-decoration:line-through}.btn.goals-task{color:var(--accent-text);flex:none;padding-inline:8px;font-size:.8125rem}.goals-form{flex-direction:column;gap:8px;margin-top:6px;display:flex}.goals-input{width:100%;min-width:0;font-size:max(16px,1rem)}.goals-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:6px 0 0;display:flex}.goals-plan{margin-right:auto}.goals-burst{pointer-events:none;position:absolute;inset:0}.goals-burst>i{background:var(--accent);border-radius:2px;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;animation:.4s cubic-bezier(.2,.7,.3,1) both goals-burst;position:absolute;top:50%;left:50%}.goals-burst>i:nth-child(4n+2){background:var(--ok)}.goals-burst>i:nth-child(4n+3){background:var(--tone-blue)}.goals-burst>i:nth-child(4n+4){background:var(--tone-violet)}@keyframes goals-burst{0%{transform:rotate(calc(var(--bit) * 30deg)) translateY(0) scale(.4);opacity:1}to{transform:rotate(calc(var(--bit) * 30deg)) translateY(-44px) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.goals-burst{display:none}}.home-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.home-week-day{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:58px;box-shadow:var(--shadow-sm);color:var(--text);font:inherit;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 0 8px;display:flex}button.home-week-day{cursor:pointer}.home-week-day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.home-week-dow{color:var(--muted);font-size:.6875rem;font-weight:600;line-height:1.2}.home-week-num{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;line-height:1.2}.home-week-day.past .home-week-num{color:var(--text-2)}.home-week-dots{justify-content:center;gap:3px;height:5px;display:flex}.home-week-dots>i{background:var(--area-ink,var(--muted));border-radius:50%;width:5px;height:5px}.home-week-dots>i.home-dot-event{background:var(--cal-event-local)}.home-week-day.today{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.home-week-day.today .home-week-dow,.home-week-day.today .home-week-num{color:var(--on-accent)}.home-week-day.today .home-week-dots>i{background:var(--on-accent)}.home-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.home-tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;min-height:88px;box-shadow:var(--shadow);color:var(--text);font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}button.home-tile{cursor:pointer}button.home-tile:hover{border-color:var(--accent-ring)}.home-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.home-tile-label{letter-spacing:.05em;text-transform:uppercase;max-width:100%;color:var(--muted);align-items:center;gap:6px;font-size:.6875rem;font-weight:700;display:flex}.home-tile-mark{color:var(--accent-text);font-size:.875rem;line-height:1;display:inline-flex}.home-tile-value{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;font-size:1.125rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.home-tile-sub{max-width:100%;color:var(--text-2);overflow-wrap:anywhere;font-size:.8125rem}.home-so-far{border-left:4px solid var(--area-ink,var(--viz-series-1));width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;display:flex}.home-so-far:hover{box-shadow:var(--shadow-md)}.home-so-far:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.home-so-far-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.home-so-far-head{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:700}.home-so-far-title{overflow-wrap:anywhere;font-size:1rem;font-weight:700;line-height:1.3}.home-so-far-more{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:.8125rem;display:flex}.home-so-far-more .delta-line{flex-wrap:wrap;align-items:baseline;gap:2px 4px;display:inline-flex}.home-so-far-more .delta-badge{padding:1px 7px}.home-so-far-visual{flex:none;align-items:center;display:flex}.home-so-far-visual .sparkline{width:88px}.home-so-far-visual .split-bar{width:64px}.home-so-far-visual .ring-label{font-size:.75rem}.recipes-ready{border-radius:var(--radius-lg);border-left:4px solid var(--area-ink,var(--viz-series-1))}.recipes-ready>.chart-head{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:0}.recipes-ready>.chart-head>div:first-child{flex:16rem;min-width:0}.recipes-ready>.chart-head h3{overflow-wrap:anywhere;font-size:1rem}.recipes-ready .chart-sub{font-size:.8125rem;line-height:1.4}.recipes-ready-actions{flex:none;align-items:center;gap:8px;display:flex}@media (max-width:640px){.recipes-ready-actions{flex:100%}.recipes-ready-actions>.btn.primary{flex:1}}.today .focus-card{border-color:var(--border)}.today .focus-card>.chart-head h3{font-size:1rem}.today .focus-card.empty>.chart-head{margin-bottom:0}.today .focus-card .dash-meta:empty{display:none}@media (pointer:coarse){.today .btn.home-link,.btn.goals-task,.goals-tick,.goals-input,.goals-foot>.btn,.recipes-ready-actions>.btn{min-height:44px}}.native *{-webkit-tap-highlight-color:transparent}.native body{-webkit-overflow-scrolling:touch}html.native body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.native input,html.native textarea,html.native [contenteditable]:not([contenteditable=false]),html.native .journal-body,html.native .chat-bubble,html.native .ask-answer{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.native .today-head h2,.native .view-title,.native .people-toolbar h2{letter-spacing:-.03em;font-size:34px;font-weight:700;line-height:1.1}.native .modal-backdrop{padding:0 var(--safe-r) 0 var(--safe-l);background:var(--scrim-sheet);align-items:flex-end}.native .modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;height:auto;max-height:94dvh;box-shadow:var(--shadow-sheet);animation:.32s cubic-bezier(.32,.72,0,1) sheet-rise;overflow:hidden}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.native .modal-head{border-bottom-color:var(--hairline);touch-action:none;padding-top:22px;position:relative}.native .modal-head:before{content:"";background:var(--border-strong);border-radius:3px;width:38px;height:5px;margin-left:-19px;position:absolute;top:9px;left:50%}.native .modal-foot{border-top-color:var(--hairline);padding-bottom:calc(12px + env(safe-area-inset-bottom))}.native .discard-body{padding-bottom:calc(20px + env(safe-area-inset-bottom))}@media (prefers-reduced-motion:reduce){.native .modal{animation:none}}.native .btn:active,.native .card:active,.native .stat-jump:active,.native .seg:active{background:var(--surface-2)}.native .card:active{transform:scale(.995)}.native .tabs-compact{background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:inset 0 1px 0 var(--tabbar-edge);padding:6px max(8px, var(--safe-r)) calc(4px + env(safe-area-inset-bottom)) max(8px, var(--safe-l))}.native .tabs-compact .tab-icon,.native .tabs-compact .tab-icon svg{width:26px;height:26px}.native .segmented.seg-track:not(.seg-scroll),.native .people-tab-seg .segmented,.native .wardrobe-bar .segmented,.native .grocery-filter-row .segmented,.native .stats-window .segmented,.native .segmented.cal-mode{background:var(--surface-2);border:1px solid var(--hairline);border-radius:12px;gap:2px;width:100%;padding:3px;display:flex}.native .segmented.seg-track:not(.seg-scroll) .seg,.native .people-tab-seg .segmented .seg,.native .wardrobe-bar .segmented .seg,.native .grocery-filter-row .segmented .seg,.native .stats-window .segmented .seg,.native .segmented.cal-mode .seg{min-width:0;min-height:var(--touch);color:var(--text-2);text-align:center;background:0 0;border:none;border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.native .segmented.seg-track:not(.seg-scroll) .seg.on,.native .people-tab-seg .segmented .seg.on,.native .wardrobe-bar .segmented .seg.on,.native .grocery-filter-row .segmented .seg.on,.native .stats-window .segmented .seg.on,.native .segmented.cal-mode .seg.on{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-sm);border:none}@media (max-width:640px){.native .people-tab-seg.kitchen-seg .segmented .seg,.native .people-tab-seg.keep-seg .segmented .seg,.native .people-tab-seg.insights-seg .segmented .seg{padding-inline:6px}}.native .ptr{left:50%;top:calc(var(--topbar-h) + env(safe-area-inset-top) - 44px);z-index:10;pointer-events:none;transition:transform .2s cubic-bezier(.32,.72,0,1),opacity .15s;position:fixed;transform:translate(-50%)}.native .ptr-disc{background:var(--surface);border:1px solid var(--hairline);width:36px;height:36px;box-shadow:var(--shadow-md);color:var(--text-2);border-radius:50%;place-items:center;display:grid}.native .ptr-disc svg{transition:transform .1s}.native .ptr-armed .ptr-disc{color:var(--accent-text);border-color:var(--accent-ring)}.native .ptr-refreshing .ptr-disc svg{animation:.4s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.native .ptr-live{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.native .ptr-refreshing .ptr-disc svg{animation:none}.native .ptr-refreshing .ptr-disc{color:var(--accent-text);border-color:var(--accent-ring);opacity:.7}}@media (max-width:640px){.native{--topbar-h:calc(17px + 44px)}.native .topbar{padding:calc(8px + env(safe-area-inset-top)) max(16px, var(--safe-r)) 8px max(16px, var(--safe-l));gap:8px}.native .btn{min-height:var(--touch);border-radius:12px;justify-content:center;align-items:center;padding:10px 16px;display:inline-flex}.native .btn.primary:active{background:var(--accent-hover)}.native .icon-btn{width:var(--touch);height:var(--touch);border-radius:12px;padding:0}.native .icon-btn svg{width:22px;height:22px}.native .new-post-btn{width:var(--touch);height:var(--touch);border-radius:14px;padding:0}.native .new-post-plus,.native .new-post-plus svg{width:22px;height:22px;font-size:22px}.native .sync-btn{min-height:var(--touch);padding:0 12px}.native .content{padding:16px;padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 20px)}.native .people-tab-seg{margin:8px 0 16px}.native .people-toolbar{flex-wrap:wrap;align-items:center}.native .people-toolbar>h2,.native .people-toolbar>div:first-child{flex:1 0 100%;width:100%;min-width:0}.native .swipe-face,.native .dash-list li,.native .event-list .event-row{min-height:var(--touch);padding:12px 8px}.native .week-strip-day{min-height:var(--touch);border-radius:12px;padding:10px 4px}.native .recipe-card,.native .meal-day,.native .grocery-line{min-height:var(--touch);border-radius:12px;padding:14px 16px}.native .meal-slot{min-height:var(--touch);gap:10px}.native .meal-slot select,.native .meal-slot-choose{min-height:var(--touch);border-radius:10px;padding:10px 12px}.native .meal-household-plan,.native .meal-audience{gap:8px 12px}.native input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=color]),.native select{min-height:var(--touch);border-radius:10px;padding:10px 12px}.native textarea{border-radius:10px;min-height:88px;padding:10px 12px}html.native select:not([multiple]):not([size]){appearance:none;min-height:var(--touch);background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.native .modal-head{min-height:calc(22px + var(--touch) + 14px);padding-left:16px;padding-right:16px}.native .modal-head h2{font-size:17px;font-weight:600}.native .modal-head-compose .modal-head-cancel,.native .modal-head-compose>.btn.primary,.native .editor-more{min-height:var(--touch)}.native .modal-body{padding:16px}.native .modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:10px}}.native :is(input,textarea,select,[contenteditable]){scroll-margin-block:12px}
