@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-DzyfIafT.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BWSLJLk6.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-C9H9m1vD.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-C1uRvKPU.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-BqRLTx4X.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-italic-Bmy0yRBR.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-italic-BqzjwPnH.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-italic-CsGuNfVR.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-italic-BfAgiArQ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-italic-DnchwVcj.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-italic-B1mMy0tD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-italic-Bg-PIjcQ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-sans: "Source Sans 3 Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;--fs-3xs: 10px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 19px;--fs-2xl: 23px;--fs-3xl: 28px;--lh-tight: 1.25;--lh-body: 1.55;--lh-ui: 1.4;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--focus-w: 2px;--focus-gap: 2px;--focus-reach: calc(var(--focus-w) + var(--focus-gap));--shadow-rgb: 44 36 28;--elev-1: 0 1px 2px rgb(var(--shadow-rgb) / .06), 0 1px 3px rgb(var(--shadow-rgb) / .05);--elev-2: 0 1px 2px rgb(var(--shadow-rgb) / .06), 0 4px 12px rgb(var(--shadow-rgb) / .09);--elev-3: 0 2px 4px rgb(var(--shadow-rgb) / .06), 0 12px 28px rgb(var(--shadow-rgb) / .13);--elev-4: 0 4px 8px rgb(var(--shadow-rgb) / .08), 0 24px 56px rgb(var(--shadow-rgb) / .2);--bg: #faf8f5;--surface: #f1ede7;--hover: #ebe5dc;--border: #d5cdc0;--text: #2a2622;--text-muted: #635a50;--muted: #635a50;--on-accent: #ffffff;--border-control: #8f8172;--hairline: color-mix(in srgb, var(--border) 55%, transparent);--accent-ink: #7a4e0d;--accent-ink-h: #613d09;--accent-lit: #e0b45f;--accent-lit-h: #ecc87e;--accent: var(--accent-ink);--accent-h: var(--accent-ink-h);--swatch-amber: #7a4e0d;--swatch-green: #2b6340;--swatch-blue: #1f5f96;--swatch-purple: #6a4a9c;--swatch-rose: #98304f;--swatch-teal: #10615d;--tint-base: var(--bg);--accent-tint: color-mix(in srgb, var(--accent) 18%, var(--tint-base));--accent-rule: color-mix(in srgb, var(--accent) 45%, var(--tint-base));--danger: #a32c22;--danger-bg: #fbe6e2;--warn: #764a0c;--warn-bg: #f8eeda;--info: #1f5f96;--info-bg: #e2eefa;--success: #2b6340;--success-bg: #e2f0e6;--hdr-h: 52px;--sidebar-w: 232px;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--density-scale: 1;--motion: .15s;--motion-in: .18s;--ease: cubic-bezier(.2, 0, 0, 1);--help-r: 20px;--help-clear: 0px;--help-clear-b: 0px;--surface-sunk: var(--bg);--scrim: rgb(var(--shadow-rgb) / .55);--tap: 44px;--cat-amber: #b6740b;--cat-teal: #12726b;--cat-indigo: #3f4fa8;--cat-rose: #a83f5c;--cat-moss: #3d6b2c;--cat-slate: #55605e;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-rest: var(--muted)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dim]{color-scheme:light;--bg: #ddd6c9;--surface: #e8e2d7;--border: #b3a894;--text: #24211d;--text-muted: #4e4740;--muted: #4e4740;--hover: #d1c9b9;--border-control: #7d7263;--tint-base: #f4efe6;--danger: #9c2a20;--danger-bg: #f0dcd6;--warn: #6f460b;--warn-bg: #eee0c6;--info: #1c5789;--info-bg: #dbe6f2;--success: #275b3b;--success-bg: #dcebe0}:root[data-theme=dark]{color-scheme:dark;--bg: #1b1917;--surface: #24211e;--border: #423c37;--text: #ece7e0;--text-muted: #a79e94;--muted: #a79e94;--hover: #2f2b27;--border-control: #746a61;--on-accent: #1b1917;--accent: var(--accent-lit);--accent-h: var(--accent-lit-h);--danger: #f0857a;--danger-bg: #3a201c;--warn: #e0b45f;--warn-bg: #382b16;--info: #7fb8e6;--info-bg: #1c2b3a;--success: #7cc496;--success-bg: #1c2f22;--shadow-rgb: 0 0 0;--elev-1: 0 1px 2px rgb(0 0 0 / .3), 0 1px 3px rgb(0 0 0 / .2);--elev-2: 0 1px 2px rgb(0 0 0 / .3), 0 4px 12px rgb(0 0 0 / .34);--elev-3: 0 2px 4px rgb(0 0 0 / .3), 0 12px 28px rgb(0 0 0 / .42);--elev-4: 0 4px 8px rgb(0 0 0 / .34), 0 24px 56px rgb(0 0 0 / .55);--hairline: color-mix(in srgb, var(--border) 80%, transparent);--scrim: rgb(0 0 0 / .68);--cat-amber: #e2a943;--cat-teal: #4fbdb3;--cat-indigo: #93a0e8;--cat-rose: #e793a9;--cat-moss: #92c97a;--cat-slate: #a3b0ad;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181}:root[data-accent=amber]{--accent-ink: #7a4e0d;--accent-ink-h: #613d09;--accent-lit: #e0b45f;--accent-lit-h: #ecc87e}:root[data-accent=green]{--accent-ink: #2b6340;--accent-ink-h: #215033;--accent-lit: #7cc496;--accent-lit-h: #96d3ac}:root[data-accent=blue]{--accent-ink: #1f5f96;--accent-ink-h: #184a76;--accent-lit: #7fb8e6;--accent-lit-h: #9bcaf0}:root[data-accent=purple]{--accent-ink: #6a4a9c;--accent-ink-h: #543a7d;--accent-lit: #b79ae4;--accent-lit-h: #c9b0ee}:root[data-accent=rose]{--accent-ink: #98304f;--accent-ink-h: #7d243f;--accent-lit: #ef9bb8;--accent-lit-h: #f6b5ca}:root[data-accent=teal]{--accent-ink: #10615d;--accent-ink-h: #0c4b48;--accent-lit: #63c6bd;--accent-lit-h: #82d6ce}:root[data-magnify=large]{zoom:1.15}:root[data-magnify=larger]{zoom:1.3}:root[data-density=compact]{--density-scale: .58}:root[data-contrast=high]{--bg: #ffffff;--surface: #ffffff;--border: #201d1a;--text: #000000;--text-muted: #201d1a;--muted: #201d1a;--hover: #ebe5dc;--tint-base: var(--bg)}:root[data-contrast=high][data-theme=dark]{--bg: #000000;--surface: #131110;--border: #f2ede6;--text: #ffffff;--text-muted: #ded7cf;--muted: #ded7cf;--hover: #2b2724}:root[data-contrast=high]{--elev-1: none;--elev-2: none;--elev-3: none;--elev-4: none;--hairline: var(--border);--border-control: var(--border)}:root[data-contrast=high] :focus-visible{outline:var(--focus-w) solid var(--text);outline-offset:var(--focus-gap)}@media print{:root:root:root{color-scheme:light;--bg: #fff;--surface: #fff;--hover: #fff;--tint-base: #fff;--text: #000;--text-muted: #333;--muted: #333;--border: #999;--hairline: #bbb;--border-control: #999;--accent: var(--accent-ink);--accent-h: var(--accent-ink-h);--on-accent: #fff;--danger: #a32c22;--warn: #764a0c;--info: #1f5f96;--success: #2b6340;--elev-1: none;--elev-2: none;--elev-3: none;--elev-4: none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0}h1,.h-page{font-size:var(--fs-xl);font-weight:700;line-height:var(--lh-tight)}h2,.h-section{font-size:var(--fs-lg);font-weight:600;line-height:var(--lh-tight)}h3,h4,.h-sub{font-size:var(--fs-md);font-weight:600;line-height:var(--lh-ui)}.h-eyebrow{font-size:var(--fs-2xs);font-weight:600;line-height:var(--lh-ui);letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}p{margin:0 0 calc(10px * var(--density-scale))}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}:focus{outline:none}:focus-visible{outline:var(--focus-w) solid var(--accent-h);outline-offset:var(--focus-gap);border-radius:var(--r-sm)}:where(button,.btn,a,select,textarea,input,.row):where(:hover,:focus-visible,:focus-within){transition:background-color var(--motion) var(--ease),border-color var(--motion) var(--ease),color var(--motion) var(--ease)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-60px;z-index:100;background:var(--surface);color:var(--text);padding:10px 14px;border:1px solid var(--border-control);border-radius:var(--r-md)}.skip-link:focus{top:8px}.shell{display:flex;min-height:100%;flex-direction:column}.app-header{position:sticky;top:0;z-index:40;min-height:calc(var(--hdr-h) + var(--safe-t));display:flex;align-items:center;gap:10px;padding:max(4px,var(--safe-t)) max(14px,var(--safe-r)) 4px max(14px,var(--safe-l));background:var(--surface);border-bottom:1px solid var(--border)}.logo{display:inline-flex;align-items:center;gap:8px;flex:none;color:var(--accent);text-decoration:none}.logo-name{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.012em;color:var(--accent);white-space:nowrap}.brand{display:flex;align-items:center;gap:8px;font-weight:700}.brand svg,.arrival svg,.logo svg{color:var(--accent)}.hdr-nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-left:18px;min-width:0}.hdr-nav>a,.nav-menu-btn{display:inline-flex;align-items:center;gap:2px;color:var(--text-muted);text-decoration:none;font-size:var(--fs-sm);padding:5px 10px;border:none;border-radius:var(--r-sm);background:none;white-space:nowrap;font-weight:500}.nav-menu-btn{padding-right:8px}.hdr-nav>a:hover,.nav-menu-btn:hover{color:var(--text);background:var(--hover)}.hdr-nav>a.active,.nav-menu-btn.active{color:var(--accent);background:var(--accent-tint)}.nav-menu-btn svg{width:14px;height:14px}.nav-menu{position:relative;display:inline-flex}.nav-menu-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:45;min-width:210px;padding:4px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--elev-2);animation:panel-in var(--motion) var(--ease)}.nav-menu-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r-sm);color:var(--text);text-decoration:none;font-size:var(--fs-sm);white-space:nowrap}.nav-menu-item svg{color:var(--text-muted);flex:none}.nav-menu-item:hover{background:var(--hover)}.nav-menu-item.active{color:var(--accent);background:var(--accent-tint)}.nav-menu-item.active svg{color:var(--accent)}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.hdr-right{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px 7px;border-color:transparent;background:transparent;color:var(--text-muted);border-radius:var(--r-sm);text-decoration:none}.icon-btn:hover{background:var(--hover);color:var(--text);border-color:transparent}.icon-btn.active{color:var(--accent)}.pill-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent);border-radius:var(--r-pill);padding:4px 12px;font-size:var(--fs-xs);font-weight:500;background:transparent;color:var(--accent);white-space:nowrap}.pill-btn:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.hdr-household select{width:auto;max-width:14rem;border-radius:var(--r-pill);padding:4px 12px;font-size:var(--fs-xs);background:var(--surface);overflow:hidden;text-overflow:ellipsis}.user-chip{display:flex;flex-direction:column;line-height:1.15;min-width:0;max-width:14rem;padding:4px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);color:var(--text);text-decoration:none}.user-chip:hover .user-chip-name{text-decoration:underline}.user-chip-name,.user-chip-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-name{font-size:var(--fs-sm);font-weight:600}.user-chip-sub{font-size:var(--fs-2xs);color:var(--text-muted)}.logout-btn{background:none;border:none;color:var(--text-muted);font-size:var(--fs-sm);padding:4px 6px;white-space:nowrap}.logout-btn:hover{background:none;color:var(--text);text-decoration:underline}.hdr-collapse{position:absolute;top:100%;left:0;right:0;z-index:45;max-height:calc(100vh - var(--hdr-h) - var(--safe-t) - 64px);max-height:calc(100dvh - var(--hdr-h) - var(--safe-t) - 64px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--elev-3);padding:12px max(14px,var(--safe-r)) calc(14px + var(--safe-b)) max(14px,var(--safe-l));animation:panel-in var(--motion) var(--ease)}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;padding:0;border:none;border-radius:0;background:var(--scrim);cursor:pointer}.nav-scrim:hover{background:var(--scrim)}.hdr-menu{display:flex;flex-direction:column}.hdr-menu-nav{display:flex;flex-direction:column;gap:14px}.hdr-menu-heading{margin:0 0 4px;padding:0 10px;font-size:var(--fs-xs);font-weight:700;line-height:var(--lh-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text)}.hdr-menu-list{list-style:none;margin:0;padding:0}.hdr-menu-link{display:flex;align-items:center;gap:12px;min-height:42px;padding:8px 10px;border-radius:var(--r-sm);color:var(--text);text-decoration:none;font-size:var(--fs-md)}.hdr-menu-link svg{color:var(--text-muted);flex:none}.hdr-menu-link:hover{background:var(--hover)}.hdr-menu-link.active{color:var(--accent);background:var(--accent-tint);font-weight:600}.hdr-menu-link.active svg{color:var(--accent)}.hdr-menu-account{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.hdr-menu-me{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:var(--r-md);color:var(--text);text-decoration:none}.hdr-menu-me:hover{background:var(--hover)}.hdr-menu-me-id{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.hdr-menu-me-name,.hdr-menu-me-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hdr-menu-me-name{font-weight:600}.hdr-menu-me-sub{font-size:var(--fs-xs);color:var(--text-muted)}.hdr-menu-util{width:100%;min-height:40px}@media (max-width: 899px){.app-header{gap:8px;padding-left:max(10px,var(--safe-l));padding-right:max(10px,var(--safe-r))}.hdr-right{gap:2px}.icon-btn{min-width:36px;min-height:36px}.hdr-household{flex:0 1 auto;min-width:4.5rem}.hdr-household select{max-width:100%}}@media (max-width: 600px){.app-header:has(.hdr-household) .logo-name{display:none}}.main{flex:1;width:100%;line-height:1.45;--pad-x: calc(44px * var(--density-scale));--pad-top: calc(28px * var(--density-scale));--pad-bottom: calc(40px * var(--density-scale));padding:var(--pad-top) max(var(--pad-x),var(--safe-r)) calc(var(--pad-bottom) + var(--safe-b)) max(var(--pad-x),var(--safe-l))}@media (max-width: 899px){.main{--pad-x: calc(20px * var(--density-scale));--pad-top: calc(20px * var(--density-scale))}}@media (max-width: 600px){.main{--pad-x: calc(12px * var(--density-scale));--pad-top: calc(14px * var(--density-scale));--pad-bottom: calc(24px * var(--density-scale))}}.main.landing{margin:0 auto}.page-hdr{display:flex;align-items:center;flex-wrap:wrap;gap:calc(10px * var(--density-scale)) 12px;margin-bottom:calc(24px * var(--density-scale))}.page-hdr h1{min-width:0;overflow-wrap:anywhere}.page-hdr .spacer{flex:1 1 0}.page-hdr-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex-shrink:0}@media (max-width: 600px){.page-hdr{margin-bottom:calc(16px * var(--density-scale))}}body:has(.arrival){background-image:radial-gradient(60vw 42vh at 12% -12%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%),radial-gradient(55vw 38vh at 92% 6%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%);background-repeat:no-repeat}.arrival{text-align:center;margin-bottom:calc(20px * var(--density-scale))}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--elev-1);padding:calc(20px * var(--density-scale)) calc(22px * var(--density-scale));margin-bottom:calc(20px * var(--density-scale))}[data-contrast=high] .card{border-color:var(--border)}.card>header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:calc(12px * var(--density-scale))}.card>header .sub{color:var(--text-muted);font-size:var(--fs-sm)}.grid{display:grid;gap:calc(14px * var(--density-scale))}.grid>*{min-width:0}@media (min-width: 900px){.grid.two{grid-template-columns:1fr 1fr}}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:calc(12px * var(--density-scale));padding:calc(10px * var(--density-scale)) 0;border-bottom:1px solid var(--hairline);flex-wrap:wrap}.row:last-child{border-bottom:none}.row .grow{flex:1 1 11rem;min-width:0}.row .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .grow>.name{display:block}.row .sub{color:var(--text-muted);font-size:var(--fs-xs)}button.row-open{flex:1 1 11rem;min-width:0;justify-content:flex-start;gap:calc(12px * var(--density-scale));padding:0;border:none;border-radius:0;background:none;color:inherit;font-weight:inherit;text-align:left}button.row-open:hover{background:none}button.row-open:hover .name{text-decoration:underline}a.row-link{color:inherit;text-decoration:none}a.row-link:hover .name{text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-3xs);font-weight:650;letter-spacing:.02em;background:var(--tint-base);color:var(--text-muted);text-transform:uppercase}.badge.good{background:var(--success-bg);color:var(--success)}.badge.bad{background:var(--danger-bg);color:var(--danger)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.info{background:var(--info-bg);color:var(--info)}.chip{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:var(--r-md);background:var(--tint-base);color:var(--cat-slate)}.chip svg{width:18px;height:18px}.chip[data-colour=amber]{color:var(--cat-amber)}.chip[data-colour=teal]{color:var(--cat-teal)}.chip[data-colour=indigo]{color:var(--cat-indigo)}.chip[data-colour=rose]{color:var(--cat-rose)}.chip[data-colour=moss]{color:var(--cat-moss)}.settings{max-width:780px}.settings-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(8px * var(--density-scale)) 16px;padding:calc(12px * var(--density-scale)) 0;border-top:1px solid var(--hairline)}.card>header+.settings-row,.card>header+p+.settings-row{border-top:none}.settings-row-text{flex:1 1 16rem;min-width:0}.settings-label{display:block;margin:0 0 2px;font-size:var(--fs-sm);font-weight:600;color:var(--text)}.settings-hint{font-size:var(--fs-xs);color:var(--text-muted);overflow-wrap:anywhere}.settings-row-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:0 1 auto;max-width:100%}.settings-save-note{font-size:var(--fs-2xs);color:var(--text-muted)}.settings-save-note.saved{color:var(--success)}.settings-save-note.error{color:var(--danger)}.settings-fields{max-width:380px}.accent-swatches{display:flex;flex-wrap:wrap;gap:8px}.accent-swatch{width:34px;height:34px;padding:0;border-radius:50%;border:2px solid transparent;background:transparent}.accent-swatch:hover{background:transparent;border-color:var(--border-control)}.accent-swatch[aria-pressed=true]{border-color:var(--text)}.accent-dot{display:block;width:22px;height:22px;border-radius:50%}.accent-dot[data-swatch=amber]{background:var(--swatch-amber)}.accent-dot[data-swatch=green]{background:var(--swatch-green)}.accent-dot[data-swatch=blue]{background:var(--swatch-blue)}.accent-dot[data-swatch=purple]{background:var(--swatch-purple)}.accent-dot[data-swatch=rose]{background:var(--swatch-rose)}.accent-dot[data-swatch=teal]{background:var(--swatch-teal)}.panel-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;margin-top:calc(16px * var(--density-scale));padding-top:calc(14px * var(--density-scale));border-top:1px solid var(--hairline)}.panel-actions-msg{font-size:var(--fs-xs);color:var(--text-muted)}.panel-actions-msg.good{color:var(--success)}.panel-actions-msg.bad{color:var(--danger)}.panel-actions .aside{margin-right:auto}.inline-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0 10px;max-width:520px}.inline-form>.field{flex:1 1 14rem}.inline-form>button{margin-bottom:calc(12px * var(--density-scale))}.release{margin-bottom:calc(14px * var(--density-scale))}.release-entries{margin:6px 0 0 18px;padding:0}@media (max-width: 600px){.settings-row-control{flex:1 1 100%}}table,input[type=number],.tabular{font-variant-numeric:tabular-nums}.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-weight:600}.money.pos{color:var(--success)}.money.neg{color:var(--danger)}.money.big{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em}.money.huge{font-size:var(--fs-3xl);font-weight:750;letter-spacing:-.03em}.meter{position:relative;display:flex;height:8px;border-radius:var(--r-pill);background:var(--surface-sunk);overflow:hidden;margin-top:6px}.meter>span{display:block;flex:none;height:100%;border-radius:var(--r-pill);background:var(--accent)}.meter>span.over{background:var(--danger)}.meter>span.ok{background:var(--success)}.meter>span:not(:last-child){border-radius:0}.meter>span.held{opacity:.4;border-radius:0 var(--r-pill) var(--r-pill) 0}button,.btn{font-family:inherit;font-size:var(--fs-sm);font-weight:500;padding:calc(5px * var(--density-scale)) calc(11px * var(--density-scale));border-radius:var(--r-sm);border:1px solid var(--border-control);background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}button:hover,.btn:hover{background:var(--hover);border-color:var(--muted)}button.primary,.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}button.primary:hover,.btn.primary:hover{background:var(--accent-h);border-color:var(--accent-h);color:var(--on-accent)}button.quiet{border-color:transparent;background:transparent;color:var(--text-muted)}button.quiet:hover{background:var(--hover);color:var(--text)}button.danger{color:var(--danger);border-color:var(--danger)}button.danger:hover{background:var(--danger-bg);border-color:var(--danger)}button.small{padding:3px 9px;font-size:var(--fs-xs)}button:disabled,.btn[aria-disabled=true],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}button:disabled,.btn[aria-disabled=true]{background:var(--surface);color:var(--muted);border-color:var(--hairline)}button:disabled:hover,.btn[aria-disabled=true]:hover,button.primary:disabled,button.primary:disabled:hover{background:var(--surface);color:var(--muted);border-color:var(--hairline)}select:disabled,textarea:disabled,input:where(:not([type=checkbox]):not([type=radio])):disabled{background:var(--surface);color:var(--muted);border-color:var(--hairline)}select,input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset])),textarea{font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--bg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:calc(6px * var(--density-scale)) calc(10px * var(--density-scale));width:100%}select:focus,input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}input[type=file]{font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--bg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:5px 8px;max-width:100%}.mono{font-family:var(--font-mono)}@media (pointer: coarse){input,select,textarea,.hdr-household select{font-size:max(1rem,16px)}}input[type=checkbox],input[type=radio]{flex:none;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}label{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);margin-bottom:4px}input[aria-invalid=true]{border-color:var(--danger)}.field-problem{margin:0;color:var(--danger);font-size:var(--fs-2xs)}.field{margin-bottom:calc(12px * var(--density-scale))}.field-row{display:flex;gap:calc(10px * var(--density-scale));flex-wrap:wrap}.field-row>*{flex:1 1 160px}.pencil-line{display:grid;grid-template-columns:minmax(0,1fr) 6.5em auto;gap:calc(8px * var(--density-scale));align-items:center;margin-bottom:calc(6px * var(--density-scale))}.pencil-entry .pencil-line{margin-bottom:calc(2px * var(--density-scale))}.pencil-left{margin:0 0 calc(8px * var(--density-scale))}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-sunk);border-radius:var(--r-pill);border:1px solid var(--hairline)}.segmented button{min-height:34px;padding:4px 14px;border:none;background:transparent;border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-sm)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--elev-1)}.segmented.wrap{flex-wrap:wrap}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;box-shadow:inset 0 -1px 0 var(--border);margin-bottom:calc(16px * var(--density-scale))}.tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted);font-size:var(--fs-sm);font-weight:600;padding:calc(8px * var(--density-scale)) calc(14px * var(--density-scale));flex-shrink:0;white-space:nowrap}.tab:hover{color:var(--text);background:none}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab:focus-visible{outline-offset:-3px}.tab-note{color:var(--text-muted);font-weight:500;margin-left:6px}.tab-select{display:flex;align-items:center;gap:calc(8px * var(--density-scale));margin-bottom:calc(16px * var(--density-scale))}.tab-select label{font-size:var(--fs-sm);color:var(--text-muted);flex:none}.toolbar{display:flex;align-items:center;gap:calc(8px * var(--density-scale));flex-wrap:wrap;margin-bottom:calc(12px * var(--density-scale))}.toolbar .grow{flex:1;min-width:120px}.toolbar .toolbar-status{min-width:0}.state{padding:calc(28px * var(--density-scale)) calc(16px * var(--density-scale));text-align:center;color:var(--text-muted)}.state h3{color:var(--text);margin-bottom:6px}.state-mark{color:var(--muted);opacity:.2;margin-bottom:8px}.state.error{color:var(--danger)}.spinner{width:22px;height:22px;margin:0 auto 10px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner.inline{width:13px;height:13px;margin:0;display:inline-block;vertical-align:-2px}.stale{opacity:.4;pointer-events:none;transition:opacity .12s linear}.updating{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-muted)}.notice{padding:calc(10px * var(--density-scale)) calc(12px * var(--density-scale));border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid var(--border);margin-bottom:calc(12px * var(--density-scale))}.notice.bad{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.notice.good{background:var(--success-bg);color:var(--success);border-color:var(--success)}.notice.info{background:var(--info-bg);color:var(--info);border-color:var(--info)}.notice.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.toast-region{position:fixed;z-index:80;right:calc(16px + var(--safe-r));bottom:calc(16px + var(--safe-b));display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px - var(--safe-l) - var(--safe-r)));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:calc(10px * var(--density-scale)) calc(12px * var(--density-scale));border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--elev-3);font-size:var(--fs-sm);line-height:var(--lh-ui);animation:toast-in .18s var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.toast-success{border-color:var(--success);background:var(--success-bg);color:var(--success)}.toast-info{border-color:var(--info);background:var(--info-bg);color:var(--info)}.toast-msg{flex:1;overflow-wrap:anywhere}.toast button{color:inherit}.toast-close{font-size:var(--fs-lg);line-height:1;padding:0 6px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:end center;background:var(--scrim);padding:0}@media (min-width: 601px){.backdrop{place-items:center;padding:20px}}.dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--elev-4);width:100%;max-width:560px;display:flex;flex-direction:column;max-height:92vh;max-height:92dvh;overflow:hidden;padding:calc(18px * var(--density-scale));padding-bottom:max(calc(18px * var(--density-scale)),var(--safe-b))}@media (min-width: 601px){.dialog{border-radius:var(--r-lg)}}.dialog>header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.dialog>header h2{flex:1}.dialog>header,.dialog>footer{flex:none}.dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 4px}.dialog footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}.dialog footer button{white-space:nowrap}.dialog footer .aside{margin-right:auto}.dialog footer span.aside{display:flex;flex-wrap:wrap;gap:8px}@media (max-height: 480px){.backdrop{padding:12px max(12px,var(--safe-r)) 12px max(12px,var(--safe-l))}.dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}}.sheet-actions{display:flex;flex-direction:column;gap:8px}.sheet-actions>button{flex:none;width:100%;min-height:var(--tap);justify-content:flex-start;white-space:normal;text-align:left}.donut{display:block;margin:0 auto;max-width:260px}.donut-centre{text-anchor:middle}.legend{display:flex;flex-direction:column;gap:2px;margin-top:12px}.bars-plot{display:flex;align-items:flex-start;gap:calc(8px * var(--density-scale))}.bars-body{flex:1 1 auto;min-width:0}.bars-axis{flex:none;height:96px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:var(--fs-3xs);line-height:1;color:var(--muted)}.bars-axis span{white-space:nowrap}.bars{display:flex;align-items:flex-end;gap:3px;height:96px}.bars .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:0;height:100%;padding:0;min-height:0;min-width:0;background:none;border:none}.bars .bar i{display:block;border-radius:3px 3px 0 0;background:var(--success);min-height:2px}.bars .bar.under i{background:var(--success)}.bars .bar.over i{background:var(--danger);border-radius:0 0 3px 3px}.bars .axis{height:1px;background:var(--border);margin:0}.barscale{display:flex;justify-content:space-between;font-size:var(--fs-3xs);color:var(--muted);margin-top:4px}.bars-readout{margin:4px 0 0;color:var(--text-muted)}.linechart{width:100%;height:auto;display:block;overflow:visible}.chartwrap{position:relative}.chart-guide{stroke:var(--border-control);stroke-width:1}.chart-readout{position:absolute;top:0;z-index:1;pointer-events:none;min-width:8rem;max-width:min(15rem,60%);padding:calc(8px * var(--density-scale)) calc(10px * var(--density-scale));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--elev-3);font-size:var(--fs-xs)}.chart-readout .when{display:block;margin-bottom:4px;color:var(--text-muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em}.chart-readout .line{display:flex;align-items:center;gap:calc(6px * var(--density-scale))}.chart-readout .line i{width:8px;height:8px;border-radius:2px;flex:none}.chart-readout .line .what{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-readout .line b{font-variant-numeric:tabular-nums}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}th,td{text-align:left;padding:calc(8px * var(--density-scale)) 10px;border-bottom:1px solid var(--hairline)}th{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 600px){table.stacks,table.stacks tbody,table.stacks tfoot{display:block}table.stacks thead{display:none}table.stacks tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"first last" "second third";column-gap:calc(12px * var(--density-scale));row-gap:2px;padding:calc(8px * var(--density-scale)) 0;border-bottom:1px solid var(--hairline)}table.stacks th,table.stacks td{padding:0;border:none}table.stacks tr>:nth-child(1){grid-area:first}table.stacks tr>:nth-child(2){grid-area:second;text-align:left}table.stacks tr>:nth-child(3){grid-area:third}table.stacks tr>:nth-child(4){grid-area:last}table.stacks td[data-label]:before{content:attr(data-label) " ";color:var(--text-muted);font-size:var(--fs-2xs);font-weight:600}}.dt-cards{display:flex;flex-direction:column;gap:calc(10px * var(--density-scale))}.dt-card{border:1px solid var(--hairline);border-radius:var(--r-md);padding:calc(10px * var(--density-scale)) calc(12px * var(--density-scale))}.dt-card-head{font-weight:600;margin-bottom:4px}.dt-card-body{margin:0;display:grid;grid-template-columns:1fr auto;gap:2px 12px}.dt-pair{display:contents}.dt-card-body dt{color:var(--text-muted);font-size:var(--fs-sm)}.dt-card-body dd{margin:0;font-size:var(--fs-sm)}.plan-figures{display:flex;flex-wrap:wrap;gap:calc(12px * var(--density-scale)) calc(32px * var(--density-scale));margin-bottom:calc(12px * var(--density-scale))}.plan-figures strong{display:block;font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.plan-name{display:inline-flex;align-items:center;gap:calc(8px * var(--density-scale))}.plan-share{min-width:5rem}.cal{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}.cal td{padding:0}.cal .dow{text-align:center;font-size:var(--fs-3xs);color:var(--muted);padding:4px 0;font-weight:500}.cal .dow abbr{text-decoration:none}.cal .day{width:100%;aspect-ratio:1;border-radius:var(--r-sm);border:1px solid transparent;background:var(--surface-sunk);padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:var(--fs-2xs);cursor:pointer;min-width:0}.cal .day.outside{background:transparent;color:var(--muted)}.cal .day.today{border-color:var(--accent)}.cal .day[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent)}.cal .dots{display:flex;gap:2px}.cal .dot{width:5px;height:5px;border-radius:50%;background:var(--muted)}.cal .dot.in{background:var(--success)}.cal .dot.out{background:var(--danger)}.idle-notice{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;flex-wrap:wrap;gap:calc(10px * var(--density-scale));padding:calc(10px * var(--density-scale)) calc(14px * var(--density-scale));padding-top:max(calc(10px * var(--density-scale)),var(--safe-t));padding-left:max(calc(14px * var(--density-scale)),var(--safe-l));padding-right:max(calc(14px * var(--density-scale)),var(--safe-r));background:var(--surface);border-bottom:1px solid var(--border-control);box-shadow:var(--elev-2)}.idle-notice .grow{flex:1 1 14rem;min-width:0;margin:0}.idle-notice .small{color:var(--text-muted)}.idle-notice .idle-count{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--fs-lg);color:var(--danger)}.week{display:flex;flex-direction:column;gap:calc(4px * var(--density-scale))}.week-day{border:1px solid var(--hairline);border-radius:var(--r-md);padding:calc(8px * var(--density-scale)) calc(10px * var(--density-scale));background:var(--surface-sunk)}.week-day.today{border-color:var(--accent);background:var(--accent-tint)}.week-head{display:flex;align-items:baseline;gap:10px}.week-head .grow{flex:1;min-width:0}.week-day .rows{margin-top:calc(4px * var(--density-scale))}.week-day .row:last-child{padding-bottom:0}.stack>*+*{margin-top:calc(10px * var(--density-scale))}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--text-muted)}.small{font-size:var(--fs-xs)}.tiny{font-size:var(--fs-2xs)}.right{text-align:right}.nowrap{white-space:nowrap}.block{display:block}.hidden{display:none}.tour-shade,.tour-spot{position:fixed;z-index:55;pointer-events:none}.tour-shade{top:0;right:0;bottom:0;left:0;background:var(--scrim)}.tour-spot{border-radius:var(--r-md);box-shadow:0 0 0 3px var(--accent),0 0 0 9999px var(--scrim)}[data-contrast=high] .tour-spot{box-shadow:0 0 0 3px var(--text),0 0 0 9999px var(--scrim)}.tour-card{position:fixed;z-index:56;left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:460px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--elev-4);padding:calc(16px * var(--density-scale));max-height:60vh;overflow:auto}[data-contrast=high] .tour-card{border-color:var(--text)}.tour-card.bottom{bottom:calc(24px * var(--density-scale) + var(--safe-b))}.tour-card.top{top:calc(var(--hdr-h) + 16px + var(--safe-t))}.tour-card h2{font-size:var(--fs-lg);line-height:var(--lh-tight);margin:calc(8px * var(--density-scale)) 0 calc(6px * var(--density-scale))}.tour-card p{color:var(--text-muted);line-height:var(--lh-body);margin:0}.tour-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:calc(8px * var(--density-scale));margin-top:calc(14px * var(--density-scale))}.tour-card footer .grow{flex:1 1 0;min-width:0}.actions{display:flex;flex-wrap:wrap;gap:calc(8px * var(--density-scale))}.findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(10px * var(--density-scale))}.findings li{display:flex;align-items:flex-start;gap:calc(10px * var(--density-scale))}.findings li .badge{flex:none;margin-top:2px}.suggestions{display:flex;flex-wrap:wrap;gap:calc(8px * var(--density-scale))}.thread{display:flex;flex-direction:column;gap:calc(10px * var(--density-scale))}.bubble{max-width:min(46rem,100%);border-radius:var(--r-md);line-height:var(--lh-body);padding:calc(10px * var(--density-scale)) calc(14px * var(--density-scale));overflow-wrap:anywhere}.bubble.user{align-self:flex-end;background:var(--accent-tint);color:var(--text)}.bubble.assistant{align-self:flex-start;background:var(--surface-sunk);color:var(--text);border:1px solid var(--hairline)}.bubble .by{display:block;margin-top:6px;color:var(--text-muted);font-size:var(--fs-2xs)}.answer p{margin:0 0 8px}.answer p:last-child{margin-bottom:0}.answer ul{margin:4px 0 8px;padding-left:1.2em}.answer li{margin:3px 0}.answer code{font-size:.92em;background:var(--surface);border-radius:var(--r-sm);padding:0 4px}.ask-form{display:flex;align-items:flex-end;gap:calc(8px * var(--density-scale))}.ask-form textarea{flex:1 1 auto;min-width:0;min-height:var(--tap);resize:vertical}.thread-wrap{position:relative;margin-top:calc(12px * var(--density-scale))}.thread.log{max-height:min(60vh,40rem);max-height:min(60dvh,40rem);overflow-y:auto;overscroll-behavior:contain;padding:2px}.log-catchup{position:sticky;bottom:8px;display:block;margin:8px auto 0;box-shadow:var(--elev-2)}@media (min-width: 601px){.backdrop:has(>.palette){place-items:start center;padding-top:12vh}}.dialog.palette{max-width:620px}.palette-input{position:sticky;top:0;background:var(--surface);padding-bottom:8px}.palette-results{display:flex;flex-direction:column}.palette-group{font-size:var(--fs-2xs);font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:calc(10px * var(--density-scale)) 8px 4px}.palette-hit{display:flex;align-items:baseline;gap:10px;cursor:pointer;min-height:var(--tap);padding:8px;border-radius:var(--r-md)}.palette-hit.active{background:var(--accent-tint)}.palette-kind{flex:none;width:5.5rem;font-size:var(--fs-2xs);color:var(--text-muted)}.palette-body{flex:1;min-width:0;display:flex;flex-direction:column}.palette-label{overflow-wrap:anywhere}.palette-sub{font-size:var(--fs-xs);color:var(--text-muted);overflow-wrap:anywhere}.palette-status{margin:0;flex:1}.palette-status.bad{color:var(--danger)}.dialog.palette footer{margin-top:8px}.help-panel{position:fixed;z-index:50;right:calc(12px + var(--safe-r));left:calc(12px + var(--safe-l));bottom:calc(12px + var(--safe-b));max-height:min(70vh,34rem);max-height:min(70dvh,34rem);display:flex;flex-direction:column;gap:calc(8px * var(--density-scale));background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--elev-4);padding:calc(14px * var(--density-scale))}@media (min-width: 601px){.help-panel{left:auto;width:380px}}@media (min-width: 900px){.help-panel{top:calc(var(--hdr-h) + 12px + var(--safe-t));bottom:auto}}.help-panel>header{display:flex;align-items:center;gap:8px}.help-panel>header h2{font-size:var(--fs-lg)}.help-log{flex:1 1 auto;min-height:6rem;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:calc(8px * var(--density-scale))}.help-log .bubble{font-size:var(--fs-sm)}.help-log .bad{color:var(--danger)}.help-goto{margin-top:8px}.help-panel .ask-form input{flex:1 1 auto;min-width:0}.help-more{margin:0}.kbdref{display:grid;gap:calc(14px * var(--density-scale))}@media (min-width: 900px){.kbdref{grid-template-columns:1fr 1fr}}.kbdref-title{font-size:var(--fs-md);margin:0 0 6px}.kbdref-where{margin-left:8px;font-weight:500;font-size:var(--fs-xs);color:var(--text-muted)}.kbdref dl{margin:0}.kbdref-row{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:4px 12px;padding:4px 0;border-top:1px solid var(--hairline)}.kbdref-row dd{margin:0;color:var(--text-muted)}.kbdref-or,.kbdref-plus{color:var(--text-muted);font-size:var(--fs-xs)}kbd{display:inline-block;min-width:1.6em;text-align:center;font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.5;padding:0 5px;border:1px solid var(--border-control);border-bottom-width:2px;border-radius:var(--r-sm);background:var(--surface-sunk);color:var(--text)}.faq-section h3{font-size:var(--fs-md);margin:calc(14px * var(--density-scale)) 0 4px}.faq-entry{border-top:1px solid var(--hairline);padding:6px 0}.faq-entry summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center}.faq-entry p{margin:4px 0 8px;color:var(--text-muted);line-height:var(--lh-body)}.print-only{display:none}@media (max-width: 600px){button,.btn{min-height:34px}.cal .day,.bars .bar,button.row-open{min-height:0}input,select,textarea,.hdr-household select{font-size:max(1rem,16px)}.card{padding:calc(14px * var(--density-scale)) calc(12px * var(--density-scale));margin-bottom:calc(14px * var(--density-scale))}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:34px;display:inline-flex;align-items:center}}@media print{html,body{background:var(--bg)}.shell{display:block}.main{padding:0}.skip-link,.app-header,.nav-scrim,.toast-region,.help-panel,.idle-notice,.tour-shade,.tour-spot,.tour-card,.toolbar,.segmented,.tabs,.tab-select,.log-catchup,.no-print,.backdrop,form.ask-form,.card>header button,.page-hdr button,.page-hdr>a,.page-hdr-actions{display:none!important}.thread.log{max-height:none;overflow:visible}.print-only{display:block}.filter-note{margin:0 0 10px;font-size:var(--fs-sm);color:var(--text-muted)}.print-title{margin:0 0 12px;font-size:var(--fs-lg);font-weight:650}.card{box-shadow:none;border:1px solid var(--hairline);break-inside:avoid}thead{display:table-header-group}tr,.row{break-inside:avoid}h1,h2,h3{break-after:avoid}a{color:inherit;text-decoration:none}body:has(.print-doc) :not(:has(.print-doc)):not(.print-doc):not(.print-doc *){display:none!important}body:has(.print-doc) :has(.print-doc){display:block!important;position:static!important;overflow:visible!important;max-width:none!important;max-height:none!important}}
