@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-sans: "Inter Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-bg: #f7f8fa;--color-surface: #ffffff;--color-sunken: #eef0f3;--color-text: #2a2e33;--color-muted: #565d66;--color-faint: #666d77;--color-border: #e3e6ea;--color-border-strong: #d1d6dc;--color-accent: #46688f;--color-on-accent: #ffffff;--color-ride: #6a5390;--sage: #5e7f66;--sage-soft: #eaf0e7;--amber: #b08949;--amber-soft: #f7efdf;--danger: #a2564d;--tint-nap: #ece7f6;--tint-school: #e3ecf5;--tint-shift: #e6efe3;--tint-care: #f5ecd9;--tint-meal: #f6e8e1;--tint-rest: #efe9f7;--tint-duty: #eaeaef;--free-border: #b3c5b4;--free-text: #48684f;--accent-sky: #6f93b8;--accent-moss: #7a9d74;--accent-clay: #c48a63;--accent-plum: #9b7bb0;--accent-sand: #bfa15c;--shadow-s: 0 1px 2px rgb(74 60 34 / .05), 0 1px 1px rgb(74 60 34 / .03);--shadow-m: 0 1px 2px rgb(74 60 34 / .04), 0 10px 28px -14px rgb(74 60 34 / .22);--shadow-l: 0 2px 4px rgb(74 60 34 / .04), 0 24px 56px -24px rgb(74 60 34 / .28);--r-s: .5rem;--r-m: .75rem;--r-l: 1.1rem;font-family:var(--font-sans);color-scheme:light dark}:root[data-theme=light]{color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #131519;--color-surface: #1b1e24;--color-sunken: #171a1f;--color-text: #e8e6e1;--color-muted: #a6adb6;--color-faint: #8b929c;--color-border: #2a2e35;--color-border-strong: #383e47;--color-accent: #8fafdb;--color-on-accent: #10131a;--color-ride: #ab97d3;--sage: #97b49d;--sage-soft: #1d251e;--amber: #cfa76b;--amber-soft: #2a2317;--danger: #cf8a81;--tint-nap: #272138;--tint-school: #1f2937;--tint-shift: #202b1e;--tint-care: #322b19;--tint-meal: #33231d;--tint-rest: #292339;--tint-duty: #25252e;--accent-sky: #8fb0d6;--accent-moss: #9dc296;--accent-clay: #d9a97e;--accent-plum: #b79bcf;--accent-sand: #d9bd7e;--free-border: #44544a;--free-text: #97b49d;--shadow-s: 0 1px 2px rgb(0 0 0 / .35);--shadow-m: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px -16px rgb(0 0 0 / .6);--shadow-l: 0 2px 4px rgb(0 0 0 / .3), 0 28px 64px -28px rgb(0 0 0 / .7)}}:root[data-theme=dark]{color-scheme:dark;--color-bg: #131519;--color-surface: #1b1e24;--color-sunken: #171a1f;--color-text: #e8e6e1;--color-muted: #a6adb6;--color-faint: #8b929c;--color-border: #2a2e35;--color-border-strong: #383e47;--color-accent: #8fafdb;--color-on-accent: #10131a;--color-ride: #ab97d3;--sage: #97b49d;--sage-soft: #1d251e;--amber: #cfa76b;--amber-soft: #2a2317;--danger: #cf8a81;--tint-nap: #272138;--tint-school: #1f2937;--tint-shift: #202b1e;--tint-care: #322b19;--tint-meal: #33231d;--tint-rest: #292339;--tint-duty: #25252e;--accent-sky: #8fb0d6;--accent-moss: #9dc296;--accent-clay: #d9a97e;--accent-plum: #b79bcf;--accent-sand: #d9bd7e;--free-border: #44544a;--free-text: #97b49d;--shadow-s: 0 1px 2px rgb(0 0 0 / .35);--shadow-m: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px -16px rgb(0 0 0 / .6);--shadow-l: 0 2px 4px rgb(0 0 0 / .3), 0 28px 64px -28px rgb(0 0 0 / .7)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:.75rem;top:.75rem;z-index:100;transform:translateY(-300%);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--r-s);padding:.5rem .9rem;font-size:.85rem;text-decoration:none;box-shadow:var(--shadow-m)}.skip-link:focus-visible{transform:none}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.marketing section[id]{scroll-margin-top:4.5rem}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:.9375rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{text-wrap:balance}::selection{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}a,button,input,select,summary{transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .2s ease,opacity .15s ease}@media(prefers-reduced-motion:reduce){a,button,input,select,summary{transition:none}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.calendar h2,.event-detail h2,.today-now h2,.today-next h2,.breathers h2{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-faint);font-weight:650;margin:0 0 .7rem}.app-bar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-bg) 84%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid var(--color-border)}.app-bar-inner{max-width:78rem;margin:0 auto;padding:.7rem 1.75rem;display:flex;align-items:center;gap:1.6rem}.wordmark{font-family:var(--font-display);font-size:1.06rem;font-weight:620;letter-spacing:-.012em;color:var(--color-text);text-decoration:none;white-space:nowrap}.wordmark:before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:linear-gradient(135deg,var(--sage) 0 50%,var(--accent-sky) 50%);margin-right:.5em;vertical-align:6%}.primary-nav{display:flex;gap:.15rem;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.primary-nav a{white-space:nowrap;flex-shrink:0}.primary-nav a{font-size:.84rem;font-weight:500;color:var(--color-muted);text-decoration:none;padding:.32rem .8rem;border-radius:999px}.primary-nav a:hover{color:var(--color-text)}.primary-nav a[aria-current=true]{color:var(--color-text);background:var(--color-sunken);font-weight:600}.utility-cluster{margin-left:auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.auth-bar{display:flex;align-items:center;gap:.8rem;font-size:.76rem;color:var(--color-muted)}.auth-email{color:var(--color-faint)}.auth-bar a,.auth-bar button{font:inherit;color:var(--color-muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.auth-bar a:hover,.auth-bar button:hover{color:var(--color-text)}.auth-bar .auth-register{color:var(--color-accent);font-weight:550}.theme-toggle{display:flex;gap:.1rem;border:1px solid var(--color-border);border-radius:999px;padding:.14rem;background:var(--color-sunken)}.theme-toggle button{font:inherit;font-size:.68rem;color:var(--color-muted);background:transparent;border:none;border-radius:999px;padding:.18rem .6rem;cursor:pointer}.theme-toggle button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-s)}.household-switch{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.household-switch a{font-size:.7rem;color:var(--color-muted);text-decoration:none;padding:.14rem .55rem;border-radius:999px;border:1px solid transparent}.household-switch a:hover{color:var(--color-text)}.household-switch a[aria-current=true]{color:var(--color-text);background:var(--color-sunken);border-color:var(--color-border)}@media(max-width:64rem){.app-bar-inner{flex-wrap:wrap;gap:.6rem 1.2rem}}@media(max-width:40rem){.auth-email{display:none}}.calendar,.error-page{max-width:78rem;margin:0 auto;padding:1.5rem 1.75rem 5rem}.calendar-header h1{margin:0 0 .25rem;font-family:var(--font-display);font-size:1.95rem;font-weight:580;letter-spacing:-.018em;line-height:1.15}.household-name{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:580;letter-spacing:-.015em;line-height:1.15;color:var(--color-text)}.week-head-top{display:flex;align-items:baseline;gap:1.4rem;flex-wrap:wrap;margin-bottom:.9rem}.week-head-top .week-nav{margin:0}.week-head-top .reassurance{margin:0 0 0 auto}.standing-strip{margin:0 0 .9rem;padding:.6rem 1rem;border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:var(--r-s);font-size:.84rem;display:grid;gap:.25rem}.standing-strip p{margin:0}.override-button{color:var(--color-text)!important;background:var(--amber-soft)!important;border:1px solid var(--amber)!important}.trigger-prompt{margin:0 0 .9rem;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--free-border) 60%,transparent);border-left:3px solid var(--sage);background:var(--sage-soft);border-radius:var(--r-s);font-size:.88rem}.trigger-prompt p{margin:0}.trigger-prompt a{color:var(--color-accent);font-weight:550;text-decoration:none}.trigger-prompt a:hover{text-decoration:underline}.skipped-strip{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}.skipped-strip .edit-form{margin:0}.week-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 0;margin:0 0 .55rem}.week-controls>nav{margin:0}.week-controls>nav+nav{border-left:1px solid var(--color-border);margin-left:.6rem;padding-left:.6rem}.week-manage{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem 1rem;margin:0 0 1.1rem;font-size:.76rem}.week-manage .invite-link,.week-manage .week-banner-form,.week-manage .person-photo-form{margin:0}.week-manage details[open]{flex-basis:100%}.week-nav{display:flex;align-items:baseline;gap:1.25rem;margin-bottom:1.1rem;flex-wrap:wrap}.week-nav a{color:var(--color-accent);text-decoration:none;font-size:.86rem;font-weight:500}.week-nav a:hover{text-decoration:underline;text-underline-offset:3px}.week-label{font-weight:620;font-size:.95rem;font-variant-numeric:tabular-nums}.person-filter,.category-filter,.lens-filter{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 .55rem}.lens-filter{margin-bottom:1.15rem}.person-filter a,.category-filter a,.lens-filter a{font-size:.76rem;font-weight:500;color:var(--color-muted);text-decoration:none;padding:.2rem .7rem;border-radius:999px;border:1px solid transparent}.category-filter a,.lens-filter a{background:var(--color-sunken)}.person-filter a:hover,.category-filter a:hover,.lens-filter a:hover{color:var(--color-text)}.person-filter a[aria-current=true]{color:var(--color-text);background:var(--color-sunken);border-color:var(--color-border);font-weight:600}.category-filter a[data-pressed=true]{color:var(--color-faint);background:transparent;text-decoration:line-through}.lens-filter a[data-pressed=true]{color:var(--free-text);background:var(--sage-soft);border-color:var(--free-border);font-weight:600}.reassurance{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;gap:.7rem;flex-wrap:wrap}.reassurance li{font-size:.76rem;font-weight:500;color:var(--free-text);background:var(--sage-soft);border:1px solid color-mix(in srgb,var(--free-border) 55%,transparent);border-radius:999px;padding:.22rem .8rem;font-variant-numeric:tabular-nums}.reassurance li:before{content:"✓";margin-right:.45em;font-weight:700}.week-banner{margin:0 0 1.1rem;display:grid;gap:.5rem}.week-banner-image{max-width:100%;max-height:15rem;width:auto;border-radius:var(--r-m);display:block;box-shadow:var(--shadow-m)}.week-banner-note{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:520;color:var(--color-text)}.week-banner-form,.person-photo-form{margin:-.3rem 0 1.1rem}.week-banner-form summary,.person-photo-form summary{font-size:.76rem;color:var(--color-faint);cursor:pointer;width:fit-content}.week-banner-form summary:hover,.person-photo-form summary:hover{color:var(--color-text)}.week-banner-form .edit-form{margin-top:.6rem}.week-banner-error{margin:.5rem 0 0;font-size:.8rem;color:var(--color-text)}.person-photo-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.person-photo-row .edit-form{margin-top:0}.week-scroll{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-l);box-shadow:var(--shadow-m);padding:.35rem}.week-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem}.week-table th,.week-table td{padding:.75rem .65rem;text-align:left;vertical-align:top}.week-table tbody th,.week-table tbody td{border-top:1px solid var(--color-border)}.week-table td+td,.week-table thead th+th{border-left:1px solid color-mix(in srgb,var(--color-border) 55%,transparent)}.week-table thead th{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-faint);font-weight:650;padding-top:.55rem;padding-bottom:.55rem}.day-link{color:inherit;text-decoration:none}.day-link:hover .day-name{color:var(--color-accent)}.day-date{font-weight:500;color:var(--color-faint);font-variant-numeric:tabular-nums}.week-table tbody th{white-space:nowrap;font-weight:400;padding-right:1.25rem;position:sticky;left:0;background:var(--color-surface);z-index:1}.person-label{display:block;font-weight:620;font-size:.9rem;letter-spacing:-.005em}.person-avatar{display:inline-block;width:1.5rem;height:1.5rem;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:.45rem;box-shadow:0 0 0 2px var(--color-surface),var(--shadow-s)}.person-role{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-faint);margin-top:.1rem}.cell-events{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;min-width:8.75rem}.chip{border-radius:var(--r-s);padding:.4rem .6rem .45rem;background:var(--tint-duty);box-shadow:inset 0 0 0 1px #0000000a}:root[data-theme=dark] .chip{box-shadow:inset 0 0 0 1px #ffffff0d}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .chip{box-shadow:inset 0 0 0 1px #ffffff0d}}.chip-school{background:var(--tint-school)}.chip-nap{background:var(--tint-nap)}.chip-rest{background:var(--tint-rest)}.chip-shift{background:var(--tint-shift)}.chip-care{background:var(--tint-care)}.chip-meal{background:var(--tint-meal)}.chip-free{background:transparent;border:1px dashed var(--free-border);color:var(--free-text);font-size:.76rem;font-weight:500;box-shadow:none}.chip-accented,.day-event.chip-accented{border-left:3px solid var(--person-accent)}.person-accent-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--person-accent);margin-right:.4rem;vertical-align:middle}.chip-details summary{cursor:pointer;list-style:none}.chip-details summary::-webkit-details-marker{display:none}.chip-details[open] summary .event-label{font-weight:620}.chip-adjust{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgb(0 0 0 / .07);display:grid;gap:.5rem}.chip-adjust .edit-form{margin:0;gap:.45rem}.chip-adjust .edit-form input[type=time]{font-size:.78rem;padding:.22rem .4rem}.chip-adjust .edit-form button{font-size:.72rem;padding:.24rem .7rem}.draft-indicator{font-size:.78rem;color:var(--color-ride)!important;border:1px dashed color-mix(in srgb,var(--color-ride) 45%,transparent);border-radius:999px;padding:.15rem .7rem}.event-time{display:block;font-variant-numeric:tabular-nums;color:var(--color-muted);font-size:.68rem;letter-spacing:.02em;margin-bottom:.06rem}.event-label{font-weight:520;font-size:.82rem;line-height:1.35}.event-role{color:var(--color-ride);font-style:normal;font-size:.7rem;font-weight:500}.breathers ul{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;gap:.6rem;flex-wrap:wrap}.day-events{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;max-width:47rem}.day-event{border:1px solid var(--color-border);border-radius:var(--r-m);background:var(--color-surface);box-shadow:var(--shadow-s)}.day-event:hover{box-shadow:var(--shadow-m)}.day-event summary{padding:.8rem 1.1rem;cursor:pointer;display:flex;gap:.85rem;align-items:baseline;flex-wrap:wrap;list-style:none}.day-event summary::-webkit-details-marker{display:none}.day-event summary:before{content:"▸";color:var(--color-faint);font-size:.7rem;align-self:center;transition:transform .15s ease}.day-event[open] summary:before{transform:rotate(90deg)}.day-event summary .event-time{display:inline;font-size:.82rem;margin:0}.day-event summary .event-label{font-weight:620;font-size:.92rem}.event-people{color:var(--color-muted);font-size:.82rem}.event-detail{padding:0 1.1rem 1.1rem;border-top:1px solid var(--color-border)}.event-detail ul{margin:0;padding-left:1.1rem}.event-category{margin:.8rem 0 0;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-faint);font-weight:600}.rationale{margin:.3rem 0 0;font-family:var(--font-display);font-size:.92rem;font-style:italic;font-weight:480;color:var(--color-muted);max-width:38rem;line-height:1.55}.notes{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--color-border)}.note-thread,.resolved-thread{margin:.6rem 0 0;padding:.55rem .75rem;background:var(--color-sunken);border-radius:var(--r-s)}.notes .note-thread ul,.notes .resolved-thread ul{list-style:none;padding-left:0;display:grid;gap:.3rem}.note-author{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:620;color:var(--color-faint);margin-right:.35rem}.note-body{font-size:.9rem;color:var(--color-text);line-height:1.5}.note-actions{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap}.notes .note-add input[type=text],.note-actions input[type=text]{min-width:14rem;background:var(--color-surface)}.resolved-notes{margin-top:.7rem}.resolved-notes summary{cursor:pointer;font-size:.74rem;color:var(--color-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.resolved-thread{opacity:.72}.month-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem;table-layout:fixed}.month-table th{padding:.6rem .55rem;text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--color-faint);font-weight:600}.month-cell{border-top:1px solid var(--color-border);vertical-align:top;padding:0;height:6.2rem}.month-day-link{display:grid;align-content:start;gap:.28rem;height:100%;padding:.55rem .55rem .7rem;text-decoration:none;color:inherit;border-radius:var(--r-s);transition:background .15s ease}.month-day-link:hover{background:var(--color-sunken)}.month-day-number{font-weight:620;font-size:.9rem}.month-cell-outside{background:color-mix(in srgb,var(--color-sunken) 55%,transparent)}.month-cell-outside .month-day-number,.month-cell-outside .month-count,.month-cell-outside .month-free{color:var(--color-faint);font-weight:500}.month-count{font-size:.76rem;color:var(--color-muted)}.month-free{font-size:.72rem;color:var(--color-faint)}.month-skipped{font-size:.72rem;color:var(--danger)}.danger-zone{margin-top:1.2rem;padding:1rem 1.2rem;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);border-radius:var(--r-s)}.danger-zone h3{margin:0 0 .4rem;font-size:.95rem;color:var(--danger)}.danger-zone p{margin:0 0 .6rem;font-size:.88rem;color:var(--color-muted);max-width:42rem;line-height:1.55}.edit-form button.danger-button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.edit-form button.danger-button:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.edit-form{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;margin:.6rem 0 0}.edit-form label{display:grid;gap:.22rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--color-faint)}.edit-form input,.edit-form select{font:var(--font-sans);font-family:var(--font-sans);font-size:.86rem;color:var(--color-text);background:var(--color-sunken);border:1px solid transparent;border-radius:var(--r-s);padding:.32rem .55rem}.edit-form input:focus,.edit-form select:focus{background:var(--color-surface);border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.edit-form button,.share-link-revoke button{font-family:var(--font-sans);font-size:.78rem;font-weight:550;color:var(--color-text);background:transparent;border:1px solid var(--color-border-strong);border-radius:999px;padding:.32rem .9rem;cursor:pointer}.edit-form button:hover,.share-link-revoke button:hover{border-color:var(--color-accent);color:var(--color-accent)}.stage-label{font-size:.72rem!important;text-transform:none!important;letter-spacing:normal!important;font-weight:500!important;color:var(--color-muted)!important;display:flex!important;flex-direction:row;align-items:center;gap:.3rem}.violations{list-style:none;margin:.6rem 0;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:var(--r-s);color:var(--color-text);font-size:.84rem;display:grid;gap:.3rem}.error-page h1{font-family:var(--font-display);font-weight:580;letter-spacing:-.015em}.error-page p{color:var(--color-muted)}.auth-page{max-width:24rem;margin:3.5rem auto 4rem;padding:2.4rem 2.2rem 2.2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-l);box-shadow:var(--shadow-l)}.auth-page h1{margin:0 0 1.4rem;font-family:var(--font-display);font-size:1.5rem;font-weight:580;letter-spacing:-.015em}.auth-page form{display:grid;gap:.95rem}.auth-page label{display:grid;gap:.28rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--color-faint)}.auth-page input,.auth-page select{font-family:var(--font-sans);font-size:.95rem;color:var(--color-text);background:var(--color-sunken);border:1px solid transparent;border-radius:var(--r-s);padding:.5rem .65rem}.auth-page input:focus,.auth-page select:focus{background:var(--color-surface);border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.auth-page button{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--color-on-accent);background:var(--color-accent);border:1px solid transparent;border-radius:999px;padding:.5rem 1.25rem;cursor:pointer;justify-self:start;box-shadow:var(--shadow-s)}.auth-page button:hover{filter:brightness(1.07);box-shadow:var(--shadow-m)}.auth-page .edit-form button,.auth-page .share-link-revoke button{color:var(--color-text);background:transparent;border-color:var(--color-border-strong);box-shadow:none;font-weight:550}.auth-page .edit-form button:hover,.auth-page .share-link-revoke button:hover{border-color:var(--color-accent);color:var(--color-accent);filter:none}.form-error{margin:0 0 1rem;padding:.6rem .9rem;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:var(--r-s);font-size:.87rem}.auth-switch{margin-top:1.4rem;font-size:.84rem;color:var(--color-muted)}.auth-switch a{color:var(--color-accent);text-decoration:none;font-weight:550}.auth-switch a:hover{text-decoration:underline;text-underline-offset:3px}.invite-link{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 .45rem;font-size:.76rem}.invite-link a{color:var(--color-muted);text-decoration:none;padding:.16rem .68rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface)}.invite-link a:hover{color:var(--color-text);border-color:var(--color-border-strong);box-shadow:var(--shadow-s)}.invite-link+.person-filter,.invite-link+.invite-link+.person-filter{margin-top:.9rem}.admin-page{max-width:46rem}.share-links-page{max-width:36rem}.admin-page ul{padding-left:0;list-style:none;display:grid;gap:.5rem;margin:0 0 1.5rem}.admin-page form{margin:.5rem 0 1.25rem}.app-log-list{gap:1rem}.app-log-entry{border:1px solid var(--color-border);border-radius:var(--r-s);background:var(--color-bg);padding:.7rem .9rem}.app-log-error{border-left:3px solid var(--danger)}.app-log-meta{margin:0 0 .3rem;font-size:.78rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.app-log-level{text-transform:uppercase;font-weight:650;letter-spacing:.06em;font-size:.7rem}.app-log-message{margin:0 0 .4rem}.app-log-context,.app-log-stack{margin:.4rem 0 0;padding:.55rem .7rem;overflow-x:auto;font-size:.78rem;background:var(--color-sunken);border-radius:var(--r-s);white-space:pre-wrap;word-break:break-word}.share-scope-fields{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0;padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:var(--r-s)}.share-scope-fields legend{padding:0 .3rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--color-faint)}.share-scope-option{display:flex!important;flex-direction:row!important;align-items:center;gap:.35rem;font-size:.85rem!important;text-transform:none!important;letter-spacing:normal!important;font-weight:450!important;color:var(--color-text)!important}.share-link-list{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.75rem}.share-link{padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--r-m);background:var(--color-bg)}.share-link-revoked,.share-link-expired,.share-link-expired a{color:var(--color-muted)}.share-link-url{margin:0 0 .2rem;font-size:.84rem;word-break:break-all;font-variant-numeric:tabular-nums}.share-link-scope,.share-link-meta{margin:0 0 .2rem;font-size:.74rem;color:var(--color-muted)}.share-link-revoke{margin-top:.45rem}.people-accent-list{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.75rem}.people-accent-row{padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--r-m);background:var(--color-bg);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.people-accent-row .edit-form{display:flex;align-items:center;gap:.6rem;margin:0}.today-now,.today-next{margin-bottom:1.9rem}.today-now ul{list-style:none;margin:0;padding:0;display:grid;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);overflow:hidden}.today-now li{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.7rem 1rem}.today-now li+li{border-top:1px solid var(--color-border)}.today-person{font-weight:620;min-width:6.5rem;font-size:.9rem}.today-next p{margin:0;font-size:.95rem}.calm-empty{color:var(--color-faint);margin:0;font-style:italic}.driving-counts{font-size:.86rem;color:var(--color-muted);margin:0 0 1.5rem;font-variant-numeric:tabular-nums}.driving-day{margin-bottom:1.9rem;max-width:47rem}.driving-day h2{font-size:.95rem;font-weight:650;margin:0 0 .5rem;text-transform:capitalize;letter-spacing:normal;color:var(--color-text)}.driving-day .day-date{font-weight:450;color:var(--color-faint)}.driving-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);overflow:hidden}.driving-table th,.driving-table td{padding:.6rem .9rem;text-align:left;vertical-align:top}.driving-table tbody th,.driving-table tbody td{border-top:1px solid var(--color-border)}.driving-table thead th{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-faint);font-weight:650}.driving-leave{font-variant-numeric:tabular-nums;white-space:nowrap}.marketing{max-width:78rem;margin:0 auto;padding:4.5rem 1.75rem 6rem}.marketing h1,.marketing h2,.marketing h3{font-family:var(--font-display);letter-spacing:-.015em}.marketing section+section{margin-top:5.5rem}.mkt-hero h1{margin:0 0 1.1rem;font-size:clamp(2.3rem,5.5vw,3.6rem);font-weight:540;line-height:1.08;letter-spacing:-.025em;max-width:22ch}.mkt-lede{max-width:40rem;font-size:1.12rem;line-height:1.65;color:var(--color-muted);margin:0 0 1.8rem}.cta-button{display:inline-block;color:var(--color-on-accent);background:var(--color-accent);border:1px solid transparent;border-radius:999px;padding:.65rem 1.5rem;font-weight:600;font-size:.95rem;text-decoration:none;box-shadow:var(--shadow-m)}.cta-button:hover{filter:brightness(1.07);box-shadow:var(--shadow-l)}.mkt-how h2,.mkt-cta h2,.mkt-pricing h2{font-size:1.65rem;font-weight:560;margin:0 0 1.4rem}.marketing{overflow-x:clip}.mkt-hero{text-align:center;position:relative}.mkt-hero>*{min-width:0;max-width:100%}.mkt-hero:before{content:"";position:absolute;inset:-6rem -50vw 20%;background:radial-gradient(52rem 26rem at 50% 0%,color-mix(in srgb,var(--sage-soft) 75%,transparent),transparent 70%);pointer-events:none;z-index:-1}.mkt-hero h1{margin:0 auto 1.2rem;font-size:clamp(2.6rem,6.5vw,4.2rem);font-weight:540;line-height:1.05;letter-spacing:-.028em;max-width:18ch}.mkt-hero .mkt-lede{margin-inline:auto}.mkt-lede em,.mkt-problem-lede em{font-family:var(--font-display);font-weight:560;color:var(--color-text)}.mkt-hero-ctas{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.cta-ghost{color:var(--color-muted);text-decoration:none;font-size:.92rem;font-weight:550;padding:.65rem .8rem}.cta-ghost:hover{color:var(--color-text)}.mkt-hero-terms{margin:1rem 0 0;font-size:.8rem;color:var(--color-faint)}.mkt-hero-product{margin:3rem auto 0;max-width:66rem;text-align:left}.mkt-browser-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-l);box-shadow:var(--shadow-l);overflow:hidden}.mkt-browser-bar{display:flex;gap:.4rem;padding:.65rem .9rem;border-bottom:1px solid var(--color-border);background:var(--color-sunken)}.mkt-browser-bar span{width:.6rem;height:.6rem;border-radius:50%;background:var(--color-border-strong)}.mkt-browser-frame .week-scroll{border:none;border-radius:0;box-shadow:none}.mkt-hero-product figcaption{text-align:center;margin-top:.9rem;font-size:.78rem;color:var(--color-faint)}.mkt-problem{max-width:44rem}.mkt-problem h2{font-size:1.65rem;font-weight:560;margin:0 0 .8rem}.mkt-problem-lede{font-size:1.08rem;color:var(--color-muted);margin:0 0 1.6rem;line-height:1.65}.mkt-problem-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.mkt-problem-list li{padding:1rem 0 1rem 1.6rem;border-top:1px solid var(--color-border);color:var(--color-muted);position:relative}.mkt-problem-list li:before{content:"—";position:absolute;left:0;color:var(--amber)}.mkt-why>h2{font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:550;letter-spacing:-.02em;margin:0 0 .8rem;max-width:24ch}.marketing .event-detail h2{font-family:var(--font-sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-faint);font-weight:650}.mkt-why-lede{max-width:44rem;color:var(--color-muted);margin:0 0 2.2rem}.mkt-contrast{display:grid;grid-template-columns:1fr auto 1.2fr;gap:1.6rem;align-items:center;margin:0 0 2.4rem}.mkt-contrast-col{border-radius:var(--r-m);padding:1.3rem 1.4rem 1.1rem}.mkt-contrast-what{background:var(--color-sunken);border:1px solid var(--color-border)}.mkt-contrast-why{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-m)}.mkt-contrast-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;font-weight:650;color:var(--color-muted);margin:0 0 .9rem}.mkt-contrast-why .mkt-contrast-label{color:var(--free-text)}.mkt-plain-cal{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.mkt-plainblock{background:#52739f;color:#fff;border-radius:4px;padding:.45rem .7rem;font-size:.82rem;font-variant-numeric:tabular-nums}.mkt-plainblock-alt{background:#587a55}.mkt-contrast-note{margin:.9rem 0 0;font-size:.8rem;color:var(--color-muted);font-style:italic}.mkt-contrast-why .mkt-contrast-note{color:var(--color-muted)}.mkt-contrast-arrow{font-family:var(--font-display);font-size:2rem;color:var(--sage)}.mkt-contrast-why .day-event{background:var(--color-bg);box-shadow:none}.mkt-claims{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:start}.mkt-claims-2{grid-template-columns:repeat(2,1fr)}.mkt-claim{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-m);padding:1.5rem 1.5rem 1.6rem}.mkt-claim h3{font-size:1.2rem;font-weight:580;margin:0 0 .5rem}.mkt-claim>p{color:var(--color-muted);font-size:.92rem;margin:0 0 1.1rem}.mkt-claim .day-event{background:var(--color-bg);box-shadow:none}.mkt-claim-demo .violations{margin-top:.5rem}.mkt-breather-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.mkt-nav a{color:var(--color-muted)}.mkt-assistant>h2{font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:550;letter-spacing:-.02em;margin:0 0 .8rem;max-width:24ch}.mkt-assistant-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:start}.mkt-assistant-points{list-style:none;margin:0;padding:0;display:grid;gap:0}.mkt-assistant-points li{padding:1.1rem 0;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.95rem}.mkt-assistant-points strong{display:block;color:var(--color-text);margin-bottom:.25rem}.mkt-chat{margin:0}.mkt-chat-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-l);box-shadow:var(--shadow-m);padding:1.4rem;display:grid;gap:.8rem}.mkt-chat-msg{margin:0;max-width:85%;padding:.6rem .95rem;border-radius:var(--r-m);font-size:.9rem;line-height:1.5}.mkt-chat-user{justify-self:end;background:var(--color-accent);color:var(--color-on-accent);border-bottom-right-radius:4px}.mkt-chat-tiem{justify-self:start;background:var(--color-sunken);color:var(--color-text);border-bottom-left-radius:4px}.mkt-chat figcaption{margin-top:.9rem;font-size:.78rem;color:var(--color-faint);text-align:center}.mkt-how-step{font-family:var(--font-display);font-size:1.05rem;font-weight:550;color:var(--sage);margin:0 0 .5rem;font-variant-numeric:tabular-nums}.mkt-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.mkt-how-grid article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);padding:1.4rem 1.5rem 1.5rem}.mkt-how-grid article h3{font-size:1.12rem;font-weight:580;margin:0 0 .45rem}.mkt-how-grid article p{color:var(--color-muted);margin:0;font-size:.92rem}.whatif-change{margin:0 0 .6rem;font-weight:600}.mkt-cta{max-width:42rem;margin-inline:auto;text-align:center}.mkt-cta h2{font-size:clamp(1.7rem,3.2vw,2.2rem)!important}.mkt-cta p{color:var(--color-muted)}.mkt-cta .cta-button{margin:.4rem 0 .8rem}.mkt-cta-alt{font-size:.85rem}.mkt-pricing h3{font-size:1.1rem;font-weight:580;margin:0 0 .4rem}.mkt-pricing-trial{max-width:44rem;color:var(--color-muted);margin:0 0 1.6rem}.mkt-pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;max-width:42rem;margin:0 0 2.4rem}.mkt-plan-card{padding:1.4rem 1.5rem 1.5rem;border:1px solid var(--color-border);border-radius:var(--r-m);background:var(--color-surface);box-shadow:var(--shadow-s)}.mkt-plan-card:last-child{border-color:color-mix(in srgb,var(--sage) 45%,var(--color-border));box-shadow:var(--shadow-m);background:linear-gradient(180deg,color-mix(in srgb,var(--sage-soft) 45%,var(--color-surface)),var(--color-surface) 55%)}.mkt-plan-price{font-family:var(--font-display);font-size:2.1rem;font-weight:560;letter-spacing:-.02em;margin:0 0 .3rem;font-variant-numeric:tabular-nums}.mkt-plan-note{font-size:.85rem;font-weight:500;color:var(--color-muted);font-family:var(--font-sans);letter-spacing:normal}.mkt-plan-trial{font-size:.82rem;color:var(--color-muted);margin:0}.mkt-pricing-ai{max-width:46rem;margin:0 0 2.4rem}.mkt-pricing-ai>p{color:var(--color-muted)}.mkt-pricing-byo{margin-top:1.1rem;padding:1.1rem 1.3rem;border:1px solid color-mix(in srgb,var(--free-border) 60%,transparent);border-left:3px solid var(--sage);background:var(--sage-soft);border-radius:var(--r-s)}.mkt-pricing-byo h4{margin:0 0 .3rem;font-size:.98rem}.mkt-pricing-byo p{margin:0;color:var(--color-text)}.mkt-pricing-faq{max-width:46rem;margin:0 0 1.5rem}.mkt-faq-item{padding:1rem 0;border-top:1px solid var(--color-border)}.mkt-faq-item dt{font-weight:620;margin:0 0 .35rem}.mkt-faq-item dd{margin:0;color:var(--color-muted)}.mkt-pricing-disclaimer{font-size:.85rem;color:var(--color-faint);max-width:44rem}@media(max-width:56rem){.mkt-how-grid,.mkt-claims,.mkt-claims-2,.mkt-pricing-grid{grid-template-columns:1fr}.mkt-contrast{grid-template-columns:1fr;gap:.8rem}.mkt-assistant-grid{grid-template-columns:1fr}.mkt-contrast-arrow{transform:rotate(90deg);justify-self:center}}.graph-canvas-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-l);box-shadow:var(--shadow-m);overflow:hidden;margin-bottom:1rem}.graph-canvas{display:block;width:100%;height:auto}.graph-edge{stroke:var(--color-border-strong);stroke-width:1;opacity:.6}.graph-edge-justifies{stroke-dasharray:3 3}.graph-edge-hot{stroke:var(--color-accent);stroke-width:1.8;opacity:1}.graph-node circle{fill:var(--tint-duty);stroke:var(--color-border-strong);stroke-width:1}.graph-node-person circle{fill:var(--accent-sky);stroke:none}.graph-node-block circle{fill:var(--tint-nap)}.graph-node-duty circle{fill:var(--tint-school)}.graph-node-constraint circle{fill:var(--amber-soft);stroke:var(--amber)}.graph-node-rationale circle{fill:var(--sage-soft);stroke:var(--free-border)}.graph-node-trigger circle{fill:var(--tint-care)}.graph-node-exception circle{fill:var(--color-sunken)}.graph-node text{font-family:var(--font-sans);font-size:10px;fill:var(--color-muted);text-anchor:middle}.graph-node-focus circle{stroke:var(--color-accent);stroke-width:2.5}.graph-node-focus text{fill:var(--color-text);font-weight:600}.graph-node-dim{opacity:.22}.graph-node-dim text{display:none}.graph-node:hover text{fill:var(--color-text)}.graph-detail{max-width:44rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);padding:1rem 1.3rem 1.1rem;margin-bottom:1rem}.graph-detail h2{font-family:var(--font-display);font-size:1.05rem;font-weight:580;letter-spacing:normal;text-transform:none;color:var(--color-text);margin:0 0 .2rem}.graph-detail a{color:var(--color-accent);text-decoration:none;font-weight:550}.graph-fallback{color:var(--color-faint);font-size:.82rem}.graph-fallback summary{cursor:pointer}.assistant-page .household-name-sub em{font-family:var(--font-display);font-weight:560;font-style:italic}.assistant-unconfigured{max-width:44rem;padding:1rem 1.2rem;border:1px dashed var(--color-border-strong);border-radius:var(--r-m);color:var(--color-muted)}.chat-log{max-width:44rem;display:grid;gap:.7rem;margin-bottom:1.1rem}.chat-msg{margin:0;max-width:85%;padding:.6rem .95rem;border-radius:var(--r-m);font-size:.92rem;line-height:1.55}.chat-user{justify-self:end;background:var(--color-accent);color:var(--color-on-accent);border-bottom-right-radius:4px}.chat-tiem{justify-self:start;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-s);border-bottom-left-radius:4px}.chat-form{max-width:44rem;display:flex;gap:.6rem}.chat-form label{flex:1}.chat-form input[type=text]{width:100%;font:inherit;font-size:.95rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:.55rem 1.1rem}.chat-form input[type=text]:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.chat-form button{font:inherit;font-size:.9rem;font-weight:600;color:var(--color-on-accent);background:var(--color-accent);border:none;border-radius:999px;padding:.55rem 1.4rem;cursor:pointer}.settings-page .household-name-sub{color:var(--color-muted);margin:0 0 .8rem}.settings-section{max-width:44rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);padding:1.1rem 1.3rem 1.2rem;margin-bottom:1rem}.settings-members{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.settings-members li{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;border-top:1px solid var(--color-border);padding-top:.6rem}.settings-members li:first-child{border-top:none;padding-top:0}.member-id{font-variant-numeric:tabular-nums;font-size:.82rem}.member-role{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-faint);font-weight:650}.settings-members .edit-form{margin:0 0 0 auto}.settings-links{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;color:var(--color-muted);font-size:.92rem}.settings-links a{color:var(--color-accent);text-decoration:none;font-weight:550}.settings-links a:hover{text-decoration:underline}.settings-note{color:var(--color-faint);font-size:.82rem;margin:.6rem 0 0}.rules-page .household-tagline{color:var(--color-muted);margin:0 0 1rem;max-width:44rem}.rules-list{display:grid;gap:.9rem;max-width:47rem;margin-bottom:2.2rem}.rule-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);padding:1.1rem 1.3rem 1.2rem}.rule-card h2{font-family:var(--font-display);font-size:1.05rem;font-weight:580;letter-spacing:normal;text-transform:none;color:var(--color-text);margin:0 0 .2rem}.rule-meta{margin:0 0 .4rem;font-size:.76rem;color:var(--color-faint)}.rule-actions{display:flex;gap:.6rem;margin-top:.7rem}.rule-actions .edit-form{margin:0}.rule-add{max-width:47rem;padding:1.1rem 1.3rem 1.3rem;border:1px dashed var(--color-border-strong);border-radius:var(--r-m)}.rule-add h2{font-family:var(--font-display);font-size:1.05rem;font-weight:580;letter-spacing:normal;text-transform:none;color:var(--color-text);margin:0 0 .6rem}.whatif{max-width:47rem}.whatif h2{font-family:var(--font-display);font-size:1.3rem;font-weight:580;letter-spacing:-.01em;text-transform:none;color:var(--color-text);margin:0 0 .9rem}.whatif h3{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-faint);font-weight:650;margin:1.6rem 0 .5rem}.whatif-verdict{font-size:.92rem}.whatif-verdict.ok{color:var(--free-text);background:var(--sage-soft);border:1px solid color-mix(in srgb,var(--free-border) 55%,transparent);border-radius:999px;padding:.35rem 1rem;display:inline-block;font-weight:550}.diff-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-m);box-shadow:var(--shadow-s);padding:.8rem 1rem;font-variant-numeric:tabular-nums}.facts-compare{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;color:var(--color-muted);font-size:.88rem}.facts-compare ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.whatif-actions{display:flex;gap:.8rem;margin-top:1.8rem}.whatif-actions button{font-family:var(--font-sans);font-size:.88rem;font-weight:600;border-radius:999px;padding:.5rem 1.25rem;cursor:pointer}.apply-button{color:var(--color-on-accent)!important;background:var(--sage)!important;border:1px solid transparent!important;box-shadow:var(--shadow-s)}.apply-button:hover{filter:brightness(1.07)}.whatif-actions form button:not(.apply-button){color:var(--color-text);background:transparent;border:1px solid var(--color-border-strong)}.whatif-actions form button:not(.apply-button):hover{border-color:var(--color-accent);color:var(--color-accent)}.app-footer{border-top:1px solid var(--color-border);padding:1.2rem 1.75rem 1.6rem;text-align:center}.app-footer p{margin:0;font-size:.78rem;color:var(--color-faint)}.app-footer a{color:var(--color-muted);text-decoration:none;font-weight:550}.app-footer a:hover{color:var(--color-text)}.mkt-builtby{text-align:center;max-width:44rem;margin-inline:auto}.mkt-builtby h2{font-size:1.25rem;font-weight:560;margin:0 0 .5rem}.mkt-builtby a{color:var(--color-accent);text-decoration:none;font-weight:550}.mkt-builtby a:hover{text-decoration:underline}.mkt-builtby p{color:var(--color-muted);margin:0}.edit-form input[type=file]{max-width:100%;min-width:0}@media(max-width:40rem){.calendar,.error-page{padding:1rem .9rem 4rem}.calendar-header h1{font-size:1.45rem}.month-cell{height:4.6rem}.month-day-link{padding:.4rem .3rem .5rem;gap:.16rem}.month-table th{padding:.4rem .3rem}.month-count,.month-free,.month-skipped{font-size:.66rem}.edit-form label{flex:1 1 100%}.edit-form input[type=text],.edit-form input[type=time],.edit-form select{width:100%}.notes .note-add input[type=text],.note-actions input[type=text]{min-width:0}.event-detail{padding:0 .8rem .9rem}.week-nav{flex-wrap:wrap;gap:.4rem .9rem}}@media(pointer:coarse){.edit-form button,.primary-nav a,.person-filter a,.category-filter a,.auth-bar a,.auth-bar button{min-height:2.5rem;display:inline-flex;align-items:center}}.settings-modules{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.8rem}.settings-modules-intro{margin:0;font-size:.88rem;color:var(--color-muted);max-width:42rem}.module-label{font-weight:620}.module-state{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--color-muted);border:1px solid var(--color-border-strong);border-radius:999px;padding:.12rem .55rem;margin-left:.4rem}.module-state-built-in{color:var(--free-text);border-color:var(--free-border)}.module-tagline{margin:.15rem 0 0;font-size:.84rem;color:var(--color-muted);max-width:40rem}.setup-intro{margin:0 0 .7rem;font-size:.88rem;color:var(--color-muted);max-width:40rem}.setup-list{list-style:none;margin:0 0 .9rem;padding:0;display:grid;gap:.45rem}.setup-list li{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;padding:.4rem .6rem;background:var(--color-sunken);border-radius:var(--r-s)}.setup-item-label{font-weight:620}.setup-item-meta{font-size:.8rem;color:var(--color-muted)}.setup-empty{color:var(--color-muted);font-size:.86rem;background:transparent!important}.setup-hint{margin:0;font-size:.86rem;color:var(--color-muted);font-style:italic}.setup-remove-form{margin:0 0 0 auto}.setup-remove-form button{font-size:.72rem;padding:.15rem .6rem}.setup-wide-form{align-items:start}.setup-days{border:1px solid var(--color-border);border-radius:var(--r-s);padding:.4rem .7rem .55rem;display:flex;gap:.35rem .8rem;flex-wrap:wrap}.setup-days legend{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--color-faint);padding:0 .25rem}.setup-day-check{font-size:.84rem;display:inline-flex;align-items:center;gap:.3rem}.setup-invite{max-width:34rem;margin:3rem auto;text-align:center;padding:2rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-l);box-shadow:var(--shadow-m)}.setup-invite h2{font-family:var(--font-display);font-weight:520;margin:0 0 .6rem}.setup-invite p{color:var(--color-muted);line-height:1.6;margin:0 0 .8rem}.setup-invite-cta{display:inline-block;font-weight:600;color:var(--color-on-accent);background:var(--color-accent);border-radius:999px;padding:.55rem 1.3rem;text-decoration:none}.filter-more{display:inline-block}.filter-more>summary{cursor:pointer;list-style:none;font-size:.78rem;font-weight:550;color:var(--color-muted);border:1px solid var(--color-border-strong);border-radius:999px;padding:.28rem .9rem}.filter-more>summary::-webkit-details-marker{display:none}.filter-more>summary:before{content:"⚲";margin-right:.4em}.filter-more[open]>summary{background:var(--color-sunken);color:var(--color-text)}.filter-more[open]{display:block;margin-top:.3rem}.filter-more[open]>.category-filter,.filter-more[open]>.lens-filter{display:inline-flex;margin-top:.5rem;margin-right:.8rem}.week-personalize{margin-top:1.6rem;padding-top:1rem;border-top:1px dashed var(--color-border)}.week-head-immersive{position:relative;overflow:hidden;margin:-1.5rem -1.75rem 1.2rem;padding:2.4rem 1.75rem 1rem;border-radius:0 0 var(--r-l) var(--r-l)}.week-head-immersive>*{position:relative;z-index:2}.week-head-immersive .week-banner{position:static;margin:0}.week-head-immersive .week-banner-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;max-width:none;object-fit:cover;border-radius:0;box-shadow:none;z-index:0}.week-head-immersive:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,color-mix(in srgb,var(--color-bg) 72%,transparent),color-mix(in srgb,var(--color-bg) 88%,transparent) 55%,var(--color-bg))}.week-head-immersive .week-banner-note{position:relative;z-index:2;font-size:1.5rem;font-weight:560;margin:0 0 .7rem}@media(max-width:40rem){.week-head-immersive{margin:-1rem -.9rem 1rem;padding:1.8rem .9rem .8rem}}.graph-legend{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.9rem}.graph-legend-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:550;color:var(--color-text);text-decoration:none;border:1px solid var(--color-border-strong);border-radius:999px;padding:.24rem .75rem}.graph-legend-chip[data-pressed=true]{opacity:.5;text-decoration:line-through}.graph-legend-dot{width:.7rem;height:.7rem;border-radius:50%;border:1px solid var(--color-border-strong)}.graph-legend-dot-person{background:var(--accent-sky);border:none}.graph-legend-dot-block{background:var(--tint-nap)}.graph-legend-dot-duty{background:var(--tint-school)}.graph-legend-dot-constraint{background:var(--amber-soft);border-color:var(--amber)}.graph-legend-dot-rationale{background:var(--sage-soft);border-color:var(--free-border)}.graph-legend-dot-trigger{background:var(--tint-care)}.graph-legend-dot-exception{background:var(--color-sunken)}.graph-layout-split{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:1rem;align-items:start;margin-bottom:1rem}.graph-layout-split .graph-canvas-wrap,.graph-layout-split .graph-detail{margin-bottom:0}@media(max-width:56rem){.graph-layout-split{grid-template-columns:1fr}}.graph-fact{margin:.3rem 0 0;font-size:.84rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.graph-detail h3{margin:.9rem 0 .3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--color-faint);font-weight:600}.graph-connections{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;font-size:.86rem}.graph-connection-phrase{color:var(--color-faint);font-size:.78rem}.graph-detail-links{margin:.9rem 0 0;display:grid;gap:.3rem}.graph-node text{paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round}.graph-edge-participates-in{stroke-dasharray:none}.graph-edge-protects{stroke:var(--amber);opacity:.55}.graph-edge-applies-to{stroke:var(--amber);stroke-dasharray:5 4;opacity:.45}.graph-edge-excepts{stroke:var(--danger);stroke-dasharray:2 3;opacity:.6}.graph-edge-legend{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.74rem;color:var(--color-muted);margin:0 0 1rem}.graph-edge-legend-item{display:inline-flex;align-items:center;gap:.4rem}.graph-edge-swatch{display:inline-block;width:1.4rem;height:0;border-top:2px solid var(--color-border-strong)}.graph-edge-swatch-protects{border-top-color:var(--amber)}.graph-edge-swatch-applies-to{border-top:2px dashed var(--amber)}.graph-edge-swatch-justifies{border-top:2px dotted var(--color-border-strong)}.graph-edge-swatch-excepts{border-top:2px dotted var(--danger)}.setup-rename-form{margin:0;gap:.4rem}.setup-rename-form input[type=text]{font-weight:620;width:11rem;background:transparent;border-color:transparent}.setup-rename-form input[type=text]:hover,.setup-rename-form input[type=text]:focus{background:var(--color-surface);border-color:var(--color-border-strong)}.setup-rename-form button{font-size:.72rem;padding:.15rem .6rem}
