:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--c-paper:#f5f0e6;--c-limestone:#eae3d6;--c-bone:#fbf8f2;--c-ink:#23262b;--c-ink-2:#5a5e66;--c-line:#d6cfc1;--c-navy:#2f4a66;--c-terracotta:#a45f43;--c-butterfly:#6e93b4;--c-sage:#66775a;--c-clay:#a94f30;--c-rust:#8e3f2e;--c-brass:#806724;--c-pine:#2e4d3f;--c-violet:#5a4e7a;--c-electric:#2f63c9;--on-navy:#fff;--on-terracotta:#fff;--on-clay:#fff;--on-pine:#fff;--on-sage:#fff;--on-violet:#fff;--on-electric:#fff;--on-butterfly:var(--c-ink);--on-brass:#fff;--bg:var(--c-paper);--surface:var(--c-limestone);--surface-2:var(--c-bone);--fg:var(--c-ink);--fg-muted:var(--c-ink-2);--border:var(--c-line);--accent:var(--c-navy);--focus:var(--c-electric);--ok:var(--c-sage);--warn:var(--c-clay);--danger:var(--c-rust);--member-color:var(--c-ink);--font-sans:"Inter", "SF Pro Text", system-ui, sans-serif;--font-serif:"Source Serif 4", "Iowan Old Style", Georgia, serif;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:clamp(1.75rem, 2.5vw + 1rem, 2.25rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--shadow:0 1px 2px #0000000f;--t-fast:.12s;--t-base:.2s;--t-slow:.32s;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--c-paper:#17181c;--c-limestone:#22242a;--c-bone:#2a2c33;--c-ink:#ede8de;--c-ink-2:#b4afa4;--c-line:#3a3d45;--c-navy:#8fb0d1;--c-terracotta:#d9987a;--c-butterfly:#9dbad6;--c-sage:#a3b394;--c-clay:#d98a6a;--c-rust:#d0705c;--c-brass:#cdb16b;--c-pine:#7faf98;--c-violet:#a497d1;--c-electric:#7fa6f5;--on-navy:#17181c;--on-terracotta:#17181c;--on-clay:#17181c;--on-pine:#17181c;--on-sage:#17181c;--on-violet:#17181c;--on-electric:#17181c;--on-butterfly:#17181c;--on-brass:#17181c}}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:17px;line-height:1.45}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{scroll-margin:80px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:var(--accent)}h1,h2{font-family:var(--font-serif);line-height:1.2}h1{font-size:var(--fs-2xl);margin:0}h2{font-size:var(--fs-lg);margin:0 0 var(--s-3)}.app{min-height:100dvh}.content{padding:calc(var(--s-5) + env(safe-area-inset-top)) max(var(--s-4), env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(var(--s-4), env(safe-area-inset-left));max-width:880px;margin:auto}.page-header{border-bottom:1px solid var(--border);margin-bottom:var(--s-5);padding-bottom:var(--s-3)}.eyebrow,.muted{color:var(--fg-muted);font-size:var(--fs-sm)}.nav{z-index:10;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface-2);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{min-width:44px;min-height:44px;color:var(--fg-muted);font-size:var(--fs-xs);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--accent);font-weight:700}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-4)}.section{margin-block:var(--s-6)}.chips{gap:var(--s-2);padding:var(--s-1) 0;display:flex;overflow:auto}.chip-scroller{padding-right:var(--s-6);scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,currentColor calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,currentColor calc(100% - 32px),#0000)}.chip-scroller>*{flex:none}.chip,.button{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-pill);min-height:44px;padding:var(--s-2) var(--s-4)}.chip{align-items:center;gap:var(--s-1);display:inline-flex}.chip[aria-pressed=true],.button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.chip[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent);border:2px solid var(--accent)}.action-row{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.button{justify-content:center;align-items:center;gap:var(--s-2);cursor:pointer;text-decoration:none;display:inline-flex}.button.danger{color:var(--danger)}.stack{gap:var(--s-4);display:grid}.row{align-items:center;gap:var(--s-3);display:flex}.row.between{justify-content:space-between}.badge{gap:var(--s-1);border:1px solid var(--border);border-radius:var(--r-pill);padding:var(--s-1) var(--s-2);font-size:var(--fs-xs);align-items:center;display:inline-flex}.avatar{border-radius:var(--r-pill);background:var(--avatar-color);width:2rem;height:2rem;color:var(--avatar-fg);flex:0 0 2rem;place-items:center;font-weight:700;display:inline-grid}.card-actions{padding-top:var(--s-3);margin-top:var(--s-3);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.banner{padding:var(--s-3);border:1px solid var(--warn);border-radius:var(--r-md);margin-bottom:var(--s-4)}.field{gap:var(--s-1);display:grid}fieldset{min-width:0;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);margin:0}legend{padding:0 var(--s-1)}input,select,textarea{width:100%;min-height:44px;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}input[type=checkbox]{width:44px;min-height:44px}.checklist{gap:var(--s-2);padding:0;list-style:none;display:grid}.weekly-focus{padding:var(--s-3);border-inline-start:2px solid var(--c-brass)}.house-rules-card{border-block-start:2px solid var(--c-brass);padding-block:var(--s-2);font-size:var(--fs-xs)}.house-rules-card .row{flex-wrap:nowrap}.house-rules-card .button{padding-inline:var(--s-2)}.quick-add{z-index:9;right:max(var(--s-4), env(safe-area-inset-right));bottom:calc(56px + env(safe-area-inset-bottom) + var(--s-2));left:max(var(--s-4), env(safe-area-inset-left));background:var(--surface-2);padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);justify-content:space-around;display:flex;position:fixed}.content:has(.quick-add){padding-bottom:calc(144px + env(safe-area-inset-bottom))}.check{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);min-width:44px;min-height:44px;transition:background var(--t-base) cubic-bezier(.2, .7, .2, 1), opacity var(--t-base) cubic-bezier(.2, .7, .2, 1)}.check:hover{border-color:var(--accent)}.task-row-completing{opacity:.58;transition:opacity var(--t-base) cubic-bezier(.2, .7, .2, 1)}.toast{z-index:20;right:var(--s-4);bottom:calc(64px + env(safe-area-inset-bottom));align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--shadow);display:flex;position:fixed}.mutation-error-alert{z-index:21;right:var(--s-4);bottom:calc(64px + env(safe-area-inset-bottom));left:var(--s-4);justify-content:space-between;align-items:center;gap:var(--s-3);max-width:40rem;padding:var(--s-3) var(--s-4);border:1px solid var(--danger);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--shadow);margin-inline:auto;display:flex;position:fixed}.error-detail{color:var(--danger);overflow-wrap:anywhere;display:block}.day-group{margin-block:var(--s-4)}.day-heading{font-size:var(--fs-md)}.coming-soon{color:var(--fg-muted);background:var(--surface-2);border-style:dashed}.coming-soon .badge{color:var(--fg-muted);background:var(--surface)}.skeleton{background:var(--surface);border-radius:var(--r-md);opacity:.7;height:44px}.selectable-link{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-family:ui-monospace,monospace}.task-meta,.task-assignees{gap:var(--s-2);margin-top:var(--s-2);color:var(--fg-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.task-meta span{align-items:center;gap:var(--s-1);display:inline-flex}.dialog::backdrop{background:color-mix(in srgb, var(--c-ink) 35%, transparent)}.dialog{width:min(100%,32rem);max-width:calc(100% - 2 * var(--s-4));margin:auto auto var(--s-4);padding:var(--s-4);border:1px solid var(--border);background:var(--surface-2);color:var(--fg)}.auth-layout{min-height:100dvh}.auth-brand{align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);font-family:var(--font-serif);font-size:var(--fs-xl);display:flex}.auth-mark{fill:none;width:3rem;height:3rem;stroke:var(--fg);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.auth-mark .auth-star{fill:var(--c-brass);stroke:var(--c-brass)}.child-greeting{align-items:center;gap:var(--s-3);border-top:2px solid var(--member-color);grid-template-columns:minmax(0,1fr) auto;display:grid}.child-greeting .page-header{margin:0}.constellation-tracks{width:4.5rem;color:var(--member-color);fill:currentColor}.constellation-tracks path{fill:none;stroke:currentColor;stroke-width:1.5px}@media (width>=768px){.dialog{margin:auto}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=768px){.app{padding:0 0 0 240px}:is(.content,.content:has(.quick-add)){padding-bottom:var(--s-7)}.nav{width:240px;height:auto;padding:var(--s-6) var(--s-4);gap:var(--s-2);border-top:0;border-right:1px solid var(--border);flex-direction:column;display:flex;top:0;bottom:0;right:auto}.nav a{padding:var(--s-3);font-size:var(--fs-md);border-radius:var(--r-md);flex-direction:row;flex:0;justify-content:flex-start}.quick-add{width:fit-content;margin-top:calc(-1 * var(--s-3));margin-bottom:var(--s-5);position:static}}@media (width>=1024px){.app{padding-left:280px}.nav{width:280px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.1s!important;animation:none!important}}.calendar-event,.appointment-card{align-items:center;gap:var(--s-3);text-align:left;width:100%;display:flex}.calendar-toolbar{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.calendar-toolbar>.chips{flex-wrap:nowrap}.calendar-toolbar>.button{flex:none;margin-left:auto}.chip-scroller{max-width:100%;padding-block:var(--s-1);flex-wrap:nowrap;overflow-x:auto}.chip-scroller>.chip{flex:none}.calendar-event span,.appointment-card span,.list-item label{gap:var(--s-1);flex-direction:column;display:flex}.calendar-grid{gap:var(--s-2);grid-template-columns:repeat(7,minmax(7rem,1fr));display:grid;overflow-x:auto}.calendar-chip{width:100%;margin-block:var(--s-1);padding:var(--s-2);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);display:block}.month-grid{gap:var(--s-2);grid-template-columns:repeat(7,1fr);display:grid}.month-grid button{background:var(--surface);min-height:4rem;color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm)}.calendar-dots{justify-content:center;gap:var(--s-1);display:flex}.calendar-dots i{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.detail-panel{margin-top:var(--s-4)}@media (width>=1024px){.calendar-two-pane{gap:var(--s-5);grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);align-items:start;display:grid}.calendar-detail-pane{top:var(--s-4);position:sticky}}.detail-panel svg{vertical-align:middle;width:1.1rem}.sticky-entry{z-index:2;position:sticky;top:0}.list-item{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.list-item label{flex-direction:row;align-items:center}.list-item input[type=checkbox]{width:2.75rem;height:2.75rem}
