@font-face{font-family:Bricolage;src:url(/assets/bricolage-latin-CtikI8OQ.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Figtree;src:url(/assets/figtree-latin-CEHu_veL.woff2)format("woff2");font-weight:300 900;font-display:swap}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0e0b12;--card:#181320;--raised:#221b2c;--ink:#f4f0f7;--muted:#a79fb4;--border:#2a2334;--border-strong:#3a3145;--accent:#ed4096;--accent-hover:#ff54a5;--accent-ink:#000;--accent-soft:#3b1028;--gold:#f5af20;--ok:#3dd68c;--danger:#ff7b7b;--elev:inset 0 1px 0 #ffffff0d, 0 8px 24px -12px #000000bf;--overlay:#0e0b12ce;--font-ui:"Figtree", "Segoe UI", sans-serif;--font-display:"Bricolage", "Figtree", sans-serif;--r-sm:6px;--r-md:10px;--r-lg:14px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f2eef6;--card:#fff;--raised:#faf8fc;--ink:#16111c;--muted:#5f5670;--border:#e2dbea;--border-strong:#cfc5da;--accent:#c01271;--accent-hover:#a50e60;--accent-ink:#fff;--accent-soft:#fce4f0;--gold:#8a5e12;--ok:#0e7a52;--danger:#c0342e;--elev:0 1px 2px #28143c12, 0 8px 24px -14px #28143c38;--overlay:#16111c80}*{box-sizing:border-box}body{min-height:100dvh;font:16px/1.6 var(--font-ui);background:var(--canvas);color:var(--ink);margin:0}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(60% 45% at 5% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),radial-gradient(50% 50% at 95% 10%,color-mix(in srgb,var(--gold) 6%,transparent),transparent 70%);position:fixed;inset:0}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:var(--font-display);letter-spacing:-.035em;line-height:1.15}h1{font-size:clamp(32px,4vw,48px);font-weight:720}h2{font-size:22px}h3{font-size:18px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;min-height:44px}button:disabled{cursor:wait;opacity:.6}button:hover:not(:disabled){border-color:var(--border-strong)}input,select{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--raised);min-width:0;max-width:100%;min-height:46px;padding:10px 12px}a{color:inherit}svg{flex-shrink:0;width:20px;height:20px}button svg{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.primary,.secondary,.icon-button{border-radius:var(--r-md);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:650;display:inline-flex}.primary{background:var(--accent);color:var(--accent-ink)}.primary:hover{background:var(--accent-hover)}.secondary,.icon-button{background:var(--card);border:1px solid var(--border)}.icon-button{width:44px;height:44px;padding:10px}.text-button{color:var(--muted);border-radius:var(--r-sm);padding:8px 10px;font-size:13px}.text-button:hover{background:var(--raised);color:var(--ink)}.site-header{z-index:20;background:var(--canvas);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{align-items:center;gap:40px;max-width:1200px;margin:auto;padding:14px 28px;display:flex}.brand{align-items:baseline;gap:3px;font-size:27px;font-weight:750;text-decoration:none;display:flex}.brand:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.main-nav{gap:8px;margin-right:auto;display:flex}.main-nav button{color:var(--muted);border-radius:var(--r-md);padding:8px 15px;font-size:14px}.main-nav [aria-current]{color:var(--ink);background:var(--raised)}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.account-label{color:var(--muted);font-size:13px}main{max-width:1200px;margin:auto;padding:42px 28px 80px}.skip{background:var(--accent);color:var(--accent-ink);z-index:100;padding:10px;position:fixed;top:-100px}.skip:focus{top:10px;left:10px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px;font-weight:700}.subtitle{color:var(--muted);max-width:650px;margin-top:12px;font-size:15px}.notice{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--muted);align-items:center;gap:14px;margin:0 0 28px;padding:14px 18px;font-size:13px;display:flex}.notice svg{color:var(--gold)}.error{color:var(--danger);font-size:14px}.empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--card);padding:48px 28px}.empty h2{margin-bottom:12px}.empty p{color:var(--muted);margin-bottom:24px;font-size:14px}.loading{color:var(--muted);text-align:center;padding:80px 20px}.pill{border:1px solid var(--border);color:var(--muted);background:var(--raised);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.pill.done{color:var(--ok)}.pill.missed{color:var(--danger)}.pill.skipped{color:var(--gold)}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 20px;display:flex}.section-heading h2{font-size:20px}.section-heading span{color:var(--muted);font-size:13px}.card{border:1px solid var(--border);background:var(--card);border-radius:var(--r-lg);box-shadow:var(--elev)}.footnote{color:var(--muted);margin:24px 0 0;font-size:12px}[hidden]{display:none!important}dialog{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);width:min(560px,100% - 24px);color:var(--ink);max-height:calc(100dvh - 32px);box-shadow:var(--elev);padding:28px;overflow-y:auto}dialog::backdrop{background:var(--overlay)}.dialog-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.dialog-heading h2{font-size:27px}form label{flex-direction:column;gap:7px;margin-bottom:18px;font-size:14px;font-weight:600;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}fieldset{border:0;margin:0 0 20px;padding:0}legend{margin-bottom:10px;font-size:14px;font-weight:650}fieldset label{flex-direction:row;align-items:center;min-height:44px;margin:0;font-weight:400}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:20px;height:20px;min-height:20px}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:20px;padding-top:22px;display:flex}.toast{z-index:50;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--raised);color:var(--ink);box-shadow:var(--elev);width:max-content;max-width:calc(100% - 32px);padding:14px 22px;font-size:14px;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}@media (width<=740px){.header-inner{flex-wrap:wrap;gap:12px;padding:12px 18px}.brand{font-size:25px}.account-label{display:none}.main-nav{order:3;justify-content:space-between;gap:4px;width:100%}.main-nav button{padding:8px 12px;font-size:13px}main{padding:30px 18px 60px}.page-heading{align-items:flex-start;margin-bottom:24px}.subtitle{font-size:14px}.page-heading .primary{padding:10px 12px;font-size:13px}.page-heading .primary .desktop-label{display:none}.notice{align-items:flex-start;font-size:12px}.form-row{gap:10px}dialog{padding:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.agenda-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.date-controls{align-items:center;gap:8px;display:flex}.date-picker{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.date-picker input{font-size:13px}.week-strip{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:36px;padding:8px;display:grid}.week-strip button{border-radius:var(--r-md);flex-direction:column;align-items:center;gap:5px;min-height:84px;padding:13px 4px;display:flex}.week-strip span{text-transform:uppercase;color:var(--muted);font-size:12px}.week-strip strong{font-family:var(--font-display);font-size:25px;font-weight:650}.week-strip [aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.week-strip [aria-pressed=true] span{color:inherit}.agenda-layout{grid-template-columns:minmax(0,1fr) 270px;gap:30px;display:grid}.task-row{grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:16px;padding:25px;display:grid}.task-time{align-self:start}.task-time time{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;line-height:1.2}.task-time small{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:5px;font-size:10px;display:block}.task-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.task-heading h3{overflow-wrap:anywhere;font-size:21px}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;font-size:12px;display:flex}.task-meta svg{width:15px;height:15px}.task-tools{flex-wrap:wrap;gap:4px;margin-top:9px;display:flex}.task-tools .text-button{padding-left:0;padding-right:12px}.task-row .complete{min-width:96px}.task-row.is-done .task-heading h3{color:var(--muted)}.day-summary{align-self:start;padding:24px}.day-summary .eyebrow{font-size:10px}.day-summary h2{font-variant-numeric:tabular-nums;margin:12px 0 8px;font-size:38px}.day-summary p{color:var(--muted);font-size:14px}.day-summary .summary-divider{background:var(--border);height:1px;margin:22px 0}.day-summary small{color:var(--muted);font-size:12px}.month-layout{grid-template-columns:1fr 1.2fr;gap:28px;display:grid}.month-panel{align-self:start;padding:22px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.month-grid .weekday{text-align:center;color:var(--muted);padding:10px 0;font-size:12px}.month-grid button{border-radius:var(--r-md);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:55px;display:flex}.month-grid [aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.month-grid button small{font-size:10px}.calendar-detail .task-row{grid-template-columns:65px minmax(0,1fr);padding:20px}.calendar-detail .task-row>.complete{grid-column:2;justify-self:start}.calendar-detail .task-heading h3{font-size:19px}@media (width<=1000px){.agenda-layout{grid-template-columns:1fr}.day-summary{display:none}.month-layout{grid-template-columns:1fr}}@media (width<=740px){.date-picker{gap:0;font-size:0}.date-picker input{max-width:142px;font-size:12px}.date-controls{gap:4px}.date-controls .secondary{padding:10px 13px}.week-strip{gap:3px;margin-bottom:28px;padding:5px}.week-strip button{min-height:72px;padding:9px 2px}.week-strip span{font-size:10px}.week-strip strong{font-size:21px}.task-row{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:20px 16px}.task-time time{font-size:21px}.task-time small{font-size:9px}.task-heading h3{font-size:21px}.task-meta{font-size:12px}.task-row>.complete{grid-column:2;justify-self:start;padding:11px 22px;font-size:13px}.task-tools .text-button{font-size:12px}.section-heading h2{font-size:18px}.section-heading span{font-size:12px}.month-panel{padding:15px}.calendar-detail .task-row{grid-template-columns:54px minmax(0,1fr)}}.identity-layout{max-width:440px;margin:5vh auto}.identity-layout .eyebrow{margin-bottom:16px}.identity-layout h1{font-size:40px}.identity-layout .subtitle{margin-bottom:28px}.identity-layout form{padding:28px}.identity-layout form>.primary{width:100%;margin-top:14px}.identity-layout small{color:var(--muted);margin:-8px 0 20px;font-size:12px;display:block}.identity-layout .error{margin-top:12px}.routine-card{justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:24px;display:flex}.routine-card h2{font-size:24px}.routine-card p{color:var(--muted);margin-top:10px;font-size:14px}.routine-card small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.days-select{justify-content:space-between;gap:7px;display:flex}.days-select label{flex:1;position:relative}.days-select input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.days-select span{border:1px solid var(--border-strong);border-radius:var(--r-md);justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.days-select input:checked+span{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.days-select input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}form .alarm-field{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:row;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px}.alarm-field small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:400;display:block}.edit-scope small{color:var(--muted);font-size:12px}@media (width<=740px){.routine-card{flex-wrap:wrap;gap:16px;padding:20px}.routine-card h2{font-size:22px}}.history-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.history-toolbar label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.history-toolbar select{font-size:14px}.history-list{overflow:hidden}.history-row{border-bottom:1px solid var(--border);grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;display:grid}.history-row:last-child{border:0}.history-row h3{font-size:19px}.history-row p,.history-row time{color:var(--muted);font-size:13px}.history-row time{flex-direction:column;gap:4px;display:flex}@media (width<=740px){.history-row{grid-template-columns:65px minmax(0,1fr);gap:12px;padding:20px 16px}.history-row .pill{grid-column:2;justify-self:start}.history-toolbar label{flex:1;min-width:130px}.history-toolbar input{width:100%;font-size:13px}}:root{--motion-duration:.16s;--motion-distance:6px;--motion-ease:cubic-bezier(.2,.8,.2,1)}.motion-enter-active,.motion-leave-active{transition:opacity var(--motion-duration) var(--motion-ease), translate var(--motion-duration) var(--motion-ease)}.motion-enter-from,.motion-leave-to{opacity:0;translate:0 var(--motion-distance)}.motion-move{transition:transform var(--motion-duration) var(--motion-ease)}@media (prefers-reduced-motion:reduce){:root{--motion-duration:0s;--motion-distance:0px}.motion-enter-active,.motion-leave-active,.motion-move{transition:none}}
