:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f3ec;--surface:#fffdf8;--surface-sunken:#efebe2;--surface-hover:#f0ece3;--line:#e4dfd3;--line-strong:#d3cdbf;--text:#1e2722;--text-2:#56605a;--text-3:#666c66;--accent:#3b7655;--accent-soft:#e2eee5;--accent-ink:#fff;--late:#a54d36;--late-soft:#f5e3da;--test:#896219;--test-soft:#f3e9d2;--focus:#3b7655;--scrim:#1e272252;--thumb-on:#fffdf8;--c1:#5e8db8;--c2:#c07c5c;--c3:#5e9a78;--c4:#bf9a3c;--c5:#8c7dba;--c6:#b8644f;--c7:#4f9592;--c8:#8b918d;--shadow-1:0 1px 2px #1e27220d, 0 1px 1px #1e272208;--shadow-2:0 8px 24px #1e27221a, 0 2px 6px #1e27220f;--snow:#fff;--glow:#e3ece1;--r1:#d2ded2;--r2:#b6cbb8;--r3:#93b29c;--r4:#5c8b6c;--email-bg:#f2f4ef;--display:"Newsreader", Georgia, "Times New Roman", serif;--ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display:2.5rem;--fs-h1:1.75rem;--fs-h2:1.25rem;--fs-body-lg:1.0625rem;--fs-body:1rem;--fs-meta:.875rem;--fs-label:.8125rem;--r-sm:8px;--r-md:12px;--r-lg:18px;--ease:cubic-bezier(.2, .7, .2, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--hdr-h:64px;--tab-h:64px;--gap-section:56px;--ink:var(--text);--ink-2:var(--text-2);--muted:var(--text-2);--fir:var(--accent);--on-fir:var(--accent-ink);--berry:var(--late);--surface-2:var(--surface-sunken)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161917;--surface:#1d211e;--surface-sunken:#121513;--surface-hover:#232824;--line:#2b302c;--line-strong:#3a403b;--text:#ece9e1;--text-2:#a9afa8;--text-3:#828982;--accent:#86c29e;--accent-soft:#24362b;--accent-ink:#10241a;--late:#e3907a;--late-soft:#3a2520;--test:#ddb869;--test-soft:#352c1a;--focus:#86c29e;--scrim:#00000080;--thumb-on:#10241a;--c1:#86aed3;--c2:#d9a085;--c3:#8bc2a1;--c4:#ddbd6a;--c5:#b1a5da;--c6:#d88e7a;--c7:#7fbdb9;--c8:#a9aeaa;--shadow-1:0 0 0 1px var(--line);--shadow-2:0 0 0 1px var(--line), 0 16px 40px #00000073;--snow:#8f9893;--glow:#1f2721;--r1:#222b24;--r2:#263228;--r3:#2a392e;--r4:#1d2a21}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161917;--surface:#1d211e;--surface-sunken:#121513;--surface-hover:#232824;--line:#2b302c;--line-strong:#3a403b;--text:#ece9e1;--text-2:#a9afa8;--text-3:#828982;--accent:#86c29e;--accent-soft:#24362b;--accent-ink:#10241a;--late:#e3907a;--late-soft:#3a2520;--test:#ddb869;--test-soft:#352c1a;--focus:#86c29e;--scrim:#00000080;--thumb-on:#10241a;--c1:#86aed3;--c2:#d9a085;--c3:#8bc2a1;--c4:#ddbd6a;--c5:#b1a5da;--c6:#d88e7a;--c7:#7fbdb9;--c8:#a9aeaa;--shadow-1:0 0 0 1px var(--line);--shadow-2:0 0 0 1px var(--line), 0 16px 40px #00000073;--snow:#8f9893;--glow:#1f2721;--r1:#222b24;--r2:#263228;--r3:#2a392e;--r4:#1d2a21}@media (max-width:719px){:root{--hdr-h:56px;--gap-section:40px;--fs-display:2rem;--fs-h1:1.5rem}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--ui);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"cv11", "ss01";min-height:100dvh;line-height:1.55;overflow-x:clip}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}p{max-width:65ch}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.num,.mono{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input[type=time],input[type=date]{-webkit-appearance:none;appearance:none;font-variant-numeric:tabular-nums;min-width:0;max-width:100%;min-height:44px;display:block}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time]::-webkit-calendar-picker-indicator{display:none}h1,h2,.display{font-family:var(--display);letter-spacing:-.01em;font-optical-sizing:auto;margin:0;font-weight:500}h1{font-size:var(--fs-h1);line-height:1.2}h2{font-size:var(--fs-h2);font-weight:600;line-height:1.3}h3{font-size:var(--fs-body);margin:0;font-weight:600}.label{font-size:var(--fs-label);color:var(--text-3);font-weight:500}.caps{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:600}.hint,.note{font-size:var(--fs-meta);color:var(--text-2)}.err{color:var(--late);font-size:var(--fs-meta)}.ok{color:var(--accent);font-size:var(--fs-meta)}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:8px 0 4px;font-size:12px;font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:.4;transform:translateY(24px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 0 8px #0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-property:opacity,color,background-color,border-color!important;transition-duration:.12s!important;animation-duration:.12s!important;animation-iteration-count:1!important}@keyframes fadeUp{0%{opacity:0}}@keyframes up{0%{opacity:0}}}.shell{max-width:1104px;padding:0 32px calc(48px + env(safe-area-inset-bottom,0px));margin:0 auto}@media (max-width:719px){.shell{padding:0 20px calc(var(--tab-h) + 96px + env(safe-area-inset-bottom,0px))}}.hdr{z-index:30;height:calc(var(--hdr-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-bottom:1px solid #0000;align-items:center;gap:28px;margin:0 -32px;padding-inline-start:32px;padding-inline-end:32px;display:flex;position:sticky;top:0}.hdr.scrolled{background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line)}@media (max-width:719px){.hdr{gap:12px;margin:0 -20px;padding-inline-start:20px;padding-inline-end:20px}}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{flex:none;width:32px;height:32px}.brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:1.375rem;font-weight:600}.nav{gap:24px;margin-right:auto;display:flex;position:relative}.nav button{cursor:pointer;color:var(--text-2);font-weight:500;font-size:var(--fs-body);transition:color var(--dur-fast) var(--ease);background:0 0;border:0;padding:6px 0}.nav button:hover,.nav button[aria-current=page]{color:var(--text)}.nav-ul{background:var(--accent);height:2px;transition:transform var(--dur) var(--ease), width var(--dur) var(--ease);border-radius:2px;position:absolute;bottom:-2px;left:0}@media (max-width:719px){.nav{display:none}.hdr .brand{margin-right:auto}}.sync{border-radius:var(--r-sm);cursor:pointer;color:var(--text-3);font-size:var(--fs-label);white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;margin-right:-8px;padding:6px 8px;display:inline-flex}.sync:hover{color:var(--text-2);background:var(--surface-hover)}.sync .sdot{background:var(--accent);border-radius:99px;flex:none;width:6px;height:6px}.sync .sdot.old{background:var(--test)}.sync .sdot.err{background:var(--late)}.sync .sdot.pulse{animation:pulse .7s var(--ease) 1}.sync svg{width:14px;height:14px;animation:1s linear infinite spin}.add-btn{height:36px}@media (max-width:719px){.hdr .add-btn{display:none}}.tabbar{display:none}@media (max-width:719px){.tabbar{z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{cursor:pointer;color:var(--text-3);border-radius:var(--r-md);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:500;display:flex}.tabbar button svg{width:22px;height:22px}.tabbar button[aria-current=page]{color:var(--accent)}.fab{right:20px;bottom:calc(var(--tab-h) + 16px + env(safe-area-inset-bottom,0px));z-index:31;background:var(--accent);width:56px;height:56px;color:var(--accent-ink);box-shadow:var(--shadow-2);cursor:pointer;transition:transform var(--dur-fast) var(--ease);border:0;border-radius:99px;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.96)}.fab svg{width:24px;height:24px}}@media (min-width:720px){.fab{display:none}}.page{animation:fadeUp var(--dur) var(--ease);padding-top:40px}@media (max-width:719px){.page{padding-top:24px}}.stack{gap:var(--gap-section);flex-direction:column;display:flex}.sec-h{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.qlink{color:var(--accent);font-size:var(--fs-meta);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}.qlink:hover{text-underline-offset:3px;text-decoration:underline}.linkbtn{color:var(--accent);font-size:var(--fs-meta);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:500}.linkbtn:hover{text-underline-offset:3px;text-decoration:underline}.btn{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--text);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), filter var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-hover)}.btn:active{transform:scale(.98)}.btn svg{flex:none;width:16px;height:16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(.96)}:root[data-theme=dark] .btn.primary:hover{filter:brightness(1.06)}.btn.quiet,.btn.ghost{color:var(--accent);background:0 0;border-color:#0000;padding-inline-start:10px;padding-inline-end:10px}.btn.quiet:hover,.btn.ghost:hover{background:var(--surface-hover)}.btn.danger{color:var(--late)}.btn.danger.primary{background:var(--late);border-color:var(--late);color:var(--accent-ink)}.btn.quiet.danger,.btn.danger-ghost{color:var(--late);background:0 0;border-color:#0000}.btn.small{height:34px;font-size:var(--fs-meta);padding:0 12px}.btn.quiet.small{padding-inline-start:8px;padding-inline-end:8px}.btn.wide{width:100%}.btn[disabled]{opacity:.5;cursor:default;transform:none}.icon-btn{cursor:pointer;width:36px;height:36px;color:var(--text-2);transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:99px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn svg{width:18px;height:18px}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.tag{font-size:var(--fs-label);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:500;line-height:1.4;display:inline-flex}.tag.late{background:var(--late-soft);color:var(--late)}.tag.late.outline,.tag.outline{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 45%, transparent);background:0 0}.tag.test,.tag.quiz{background:var(--test-soft);color:var(--test)}.tag.accent,.tag.mine{background:var(--accent-soft);color:var(--accent)}.tag.moved{background:var(--test-soft);color:var(--test)}.tag button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:16px;height:16px;margin-right:-3px;padding:0;display:inline-grid}.tag button:hover{background:color-mix(in srgb, currentColor 15%, transparent)}.tag button svg{width:12px;height:12px}.cdot{background:var(--c);border-radius:99px;flex:none;width:8px;height:8px;display:inline-block}.dot{background:var(--c);border-radius:99px;flex:none;width:10px;height:10px;display:inline-block}.pin{width:14px;height:14px;color:var(--accent);vertical-align:-2px}.cb{border:1.5px solid var(--line-strong);cursor:pointer;width:22px;height:22px;transition:border-color var(--dur-fast) var(--ease);background:0 0;border-radius:99px;flex:none;place-items:center;padding:0;display:grid;position:relative}.cb:hover{border-color:var(--accent)}.cb:before{content:"";background:var(--accent);opacity:0;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);border-radius:99px;position:absolute;top:-1.5px;bottom:-1.5px;left:-1.5px;right:-1.5px;transform:scale(.6)}.cb svg{width:14px;height:14px;color:var(--accent-ink);position:relative}.cb svg path{stroke-dasharray:22;stroke-dashoffset:22px;transition:stroke-dashoffset .18s var(--ease) 60ms}.cb[aria-checked=true]{border-color:var(--accent)}.cb[aria-checked=true]:before{opacity:1;transform:scale(1)}.cb[aria-checked=true] svg path{stroke-dashoffset:0}.cb.ev{cursor:default;color:var(--text-3);border:0}.cb.ev:before{display:none}.cb.ev svg{color:var(--text-3);width:18px;height:18px}.cb.ev svg path,.cb.ev svg rect{stroke-dasharray:none;stroke-dashoffset:0}.rows{margin:0;padding:0;list-style:none}.irow{border-bottom:1px solid var(--line);cursor:pointer;min-height:56px;transition:opacity var(--dur-slow) var(--ease);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:16px;padding:14px 0;display:grid;position:relative}.irow:before{content:"";border-radius:var(--r-md);background:var(--surface-hover);opacity:0;transition:opacity var(--dur-fast) var(--ease);z-index:-1;position:absolute;top:2px;bottom:2px;left:-8px;right:-8px}.rows{isolation:isolate}.irow:hover:before{opacity:1}.irow .cb{margin-top:1px}.irow-title{text-align:left;color:inherit;cursor:pointer;font-family:inherit;font-size:var(--fs-body-lg);overflow-wrap:anywhere;transition:text-decoration-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;padding:0;font-weight:500;line-height:1.4;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000;display:block}.irow-meta{font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:2px;display:flex}.irow-meta .sep{color:var(--text-3)}.mi{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.mi:not(:first-child):before{content:"·";color:var(--text-3)}.irow-plan{font-size:var(--fs-meta);color:var(--accent);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-top:4px;display:inline-flex}.irow-plan svg{width:14px;height:14px}.irow-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.irow-qa{gap:2px;display:none}@media (hover:hover) and (min-width:720px){.irow:hover .irow-qa,.irow:focus-within .irow-qa{display:flex}}.irow-qa .icon-btn{width:32px;height:32px}.irow.done .irow-title,.irow.checking .irow-title{-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3);color:var(--text-3)}.irow.leaving{opacity:0}.irow.event{cursor:pointer}.collapse{transition:grid-template-rows var(--dur-slow) var(--ease), opacity var(--dur-slow) var(--ease);grid-template-rows:1fr;display:grid}.collapse>*{min-height:0;margin:0 -8px;padding:0 8px;overflow:hidden}.collapse.gone{opacity:0;grid-template-rows:0fr}.segc{background:var(--surface-sunken);scrollbar-width:none;border-radius:99px;gap:0;max-width:100%;padding:3px;display:inline-flex;position:relative;overflow-x:auto}.segc::-webkit-scrollbar{display:none}.segc-thumb{background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease), width var(--dur) var(--ease);border-radius:99px;position:absolute;top:3px;bottom:3px;left:0}:root[data-theme=dark] .segc-thumb{background:var(--surface-hover)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .segc-thumb{background:var(--surface-hover)}}.segc button{z-index:1;cursor:pointer;font-size:var(--fs-meta);color:var(--text-2);white-space:nowrap;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:99px;align-items:center;gap:6px;padding:6px 14px;font-weight:500;display:inline-flex;position:relative}.segc button[aria-pressed=true]{color:var(--text)}.segc button svg{width:15px;height:15px}.switch{background:var(--line-strong);cursor:pointer;width:40px;height:24px;transition:background-color var(--dur) var(--ease);border:0;border-radius:99px;flex:none;padding:0;position:relative}.switch:after{content:"";background:var(--surface);width:18px;height:18px;transition:transform var(--dur) var(--ease);border-radius:99px;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{background:var(--thumb-on);transform:translate(16px)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);font-size:var(--fs-meta);cursor:pointer;color:var(--text-2);transition:background-color var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.chip:hover{background:var(--surface-hover)}.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chip .pin{color:currentColor;width:14px;height:14px}.pop{z-index:70;background:var(--surface);border-radius:var(--r-lg);width:min(340px,100vw - 24px);box-shadow:var(--shadow-2);animation:popIn var(--dur-fast) var(--ease);transform-origin:var(--ox,50%) var(--oy,0);padding:16px;position:fixed}@keyframes popIn{0%{opacity:0;transform:scale(.97)}}.pop h3{font-size:var(--fs-body);margin:0 0 2px;padding-right:28px;font-weight:600}.pop .pop-x{position:absolute;top:10px;right:10px}.scrim{z-index:50;background:var(--scrim);animation:fade var(--dur) var(--ease);justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:560px;max-height:min(90dvh,860px);box-shadow:var(--shadow-2);padding:8px 20px calc(24px + env(safe-area-inset-bottom,0px));animation:up var(--dur-slow) var(--ease);overflow:auto}@media (min-width:720px){.scrim{justify-content:flex-end;align-items:stretch}.sheet{border-radius:var(--r-lg) 0 0 var(--r-lg);max-width:460px;height:100dvh;max-height:none;animation:slideIn var(--dur-slow) var(--ease);padding:24px 28px}}@keyframes slideIn{0%{opacity:.3;transform:translate(32px)}}.sheet .grab{background:var(--line-strong);border-radius:99px;width:40px;height:5px;margin:4px auto 14px}@media (min-width:720px){.sheet .grab{display:none}}.sheet-h{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.sheet-h h2{overflow-wrap:anywhere;flex:1;font-size:1.375rem;font-weight:500}.sheet section{border-top:1px solid var(--line);padding:18px 0}.sheet section:first-of-type{border-top:0;padding-top:0}.sheet section h3{margin-bottom:4px}.toast{left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--text);color:var(--bg);border-radius:var(--r-md);font-size:var(--fs-meta);box-shadow:var(--shadow-2);animation:up var(--dur) var(--ease);align-items:center;gap:16px;max-width:calc(100% - 32px);padding:12px 16px;display:flex;position:fixed;transform:translate(-50%)}.toast em{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:40vw;font-style:normal;font-weight:600;display:inline-block;overflow:hidden}@media (max-width:719px){.toast{bottom:calc(var(--tab-h) + 88px + env(safe-area-inset-bottom,0px))}}.toast button{color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 14px;display:grid}.field{font-size:var(--fs-label);color:var(--text-2);flex-direction:column;gap:6px;min-width:0;font-weight:500;display:flex}.field.wide{grid-column:1/-1}.input,.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--text);font-size:var(--fs-body);padding:10px 12px;font-weight:400}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:#0000}select{cursor:pointer}.toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:22px}.tlist{margin-top:4px}.trow,.srow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:16px 0;display:flex}.trow>span,.srow>span{min-width:0;color:var(--text);font-weight:500;font-size:var(--fs-body);flex-direction:column;display:flex}.trow small,.srow small{font-size:var(--fs-meta);color:var(--text-2);font-weight:400}.trow input,.trow select,.srow input[type=time],.srow select,.tinput{border-radius:var(--r-sm);background:var(--surface-sunken);width:128px;height:36px;min-height:36px;color:var(--text);font-size:var(--fs-body);font-variant-numeric:tabular-nums;text-align:right;border:0;flex:none;padding:0 10px}.trow input::-webkit-date-and-time-value{text-align:right}.srow input::-webkit-date-and-time-value{text-align:right}.expand{transition:grid-template-rows var(--dur-slow) var(--ease);grid-template-rows:0fr;display:grid}.expand.open{grid-template-rows:1fr}.expand>div{min-height:0;overflow:hidden}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-pad{padding:24px}.card-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.empty{text-align:center;color:var(--text-2);padding:32px 8px}.empty b{color:var(--text);font-family:var(--display);font-weight:500;font-size:var(--fs-h2);margin-bottom:4px;display:block}.empty svg{width:120px;height:64px;color:var(--text-3);margin-bottom:8px}.banner{border-radius:var(--r-md);background:var(--late-soft);color:var(--text);font-size:var(--fs-meta);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.banner>svg{width:18px;height:18px;color:var(--late);flex:none;margin-top:2px}.banner .actions{margin-top:6px}.banner .btn.quiet{color:var(--late);height:auto;padding-inline-start:0;padding-inline-end:0}.banner .btn.quiet:hover{background:0 0;text-decoration:underline}.banner.info{background:var(--test-soft)}.banner.info>svg{color:var(--test)}.hero{position:relative}.hero .date{font-size:var(--fs-label);color:var(--text-3);margin-bottom:6px;font-weight:500}.hero h1{font-size:var(--fs-display);text-wrap:balance;font-weight:500;line-height:1.1}.hero .summary{font-size:var(--fs-body-lg);color:var(--text-2);max-width:56ch;margin:14px 0 0;line-height:1.5}.hero .summary b{color:var(--text);font-weight:600}.hero .summary .shortfall{color:var(--late);font-weight:600}.statline{font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 28px;margin-top:20px;display:flex}.statline b{color:var(--text);font-weight:600}.statline .late-link{color:var(--late);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0}.statline .late-link b{color:var(--late)}.statline .late-link:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:719px){.statline{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.statline>*{text-align:left;justify-self:start}}.band{pointer-events:none;width:100vw;height:180px;margin-top:-8px;margin-left:-50vw;position:relative;left:50%;overflow:hidden}@media (max-width:719px){.band{height:120px}}.band:before{content:"";background:linear-gradient(180deg, transparent 0%, var(--glow) 62%, transparent 100%);opacity:.9;transition:background-color 1.2s;position:absolute;top:0;bottom:0;left:0;right:0}.band:after{content:"";background:linear-gradient(180deg, transparent, var(--bg));height:45%;position:absolute;bottom:0;left:0;right:0}.band svg{width:100%;height:100%;display:block;position:absolute;bottom:0;left:0;right:0}.band svg path,.band svg g{transition:fill 1.2s}.band[data-tod=morning]{--glow:#f3e6d2;--r1:#dce4dc;--r2:#c5d3c8;--r3:#a8beaf;--r4:#7c9e88}.band[data-tod=afternoon]{--glow:#e3ece1;--r1:#d2ded2;--r2:#b6cbb8;--r3:#93b29c;--r4:#5c8b6c}.band[data-tod=evening]{--glow:#f0d9bc;--r1:#c9d3d1;--r2:#a8bab8;--r3:#829c9a;--r4:#4e6d6a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .band[data-tod=morning]{--glow:#2a2923;--r1:#232a25;--r2:#27322a;--r3:#2c3a30;--r4:#1f2b23}:root:not([data-theme=light]) .band[data-tod=afternoon]{--glow:#1f2721;--r1:#222b24;--r2:#263228;--r3:#2a392e;--r4:#1d2a21}:root:not([data-theme=light]) .band[data-tod=evening]{--glow:#2f271d;--r1:#202a2a;--r2:#24302f;--r3:#283836;--r4:#1a2726}}:root[data-theme=dark] .band[data-tod=morning]{--glow:#2a2923;--r1:#232a25;--r2:#27322a;--r3:#2c3a30;--r4:#1f2b23}:root[data-theme=dark] .band[data-tod=afternoon]{--glow:#1f2721;--r1:#222b24;--r2:#263228;--r3:#2a392e;--r4:#1d2a21}:root[data-theme=dark] .band[data-tod=evening]{--glow:#2f271d;--r1:#202a2a;--r2:#24302f;--r3:#283836;--r4:#1a2726}.art{pointer-events:none;width:100%;height:110px;display:block;position:absolute;bottom:0;left:0;right:0}.today-cols{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:56px;display:grid}@media (max-width:959px){.today-cols{grid-template-columns:minmax(0,1fr);gap:40px}}.coming .banner{margin-bottom:8px}.seeall{margin-top:14px;display:inline-block}.tl{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tl-row{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:16px;display:grid}.tl-time{font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums;flex-direction:column;padding-top:15px;line-height:1.35;display:flex}.tl-time small{color:var(--text-3);font-size:var(--fs-label)}.blk{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1);transition:background-color var(--dur-fast) var(--ease), opacity var(--dur) var(--ease), box-shadow var(--dur-fast) var(--ease);border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 20px;display:grid;position:relative;overflow:hidden}.blk.hw{cursor:pointer}.blk.hw:before{content:"";background:var(--c);width:3px;position:absolute;top:0;bottom:0;left:0}.blk.hw:hover{background:var(--surface-hover)}.blk.now{box-shadow:0 0 0 2px var(--accent)}.blk.done{opacity:.55}.blk.done .blk-title{text-decoration:line-through}.blk-title{font-size:var(--fs-body-lg);overflow-wrap:anywhere;font-weight:500;line-height:1.4}.blk-meta{font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:2px;display:flex}.blk.muted{background:var(--surface-sunken);box-shadow:none;padding:12px 20px}.blk.muted .blk-title{font-size:var(--fs-body);color:var(--text-2)}.blk.act{background:var(--surface-sunken);box-shadow:none}.blk.act.off .blk-title{color:var(--text-3);text-decoration:line-through}.blk-in{flex-direction:column;gap:6px;margin-top:8px;display:flex}.blk-in button{text-align:left;cursor:pointer;font:inherit;font-size:var(--fs-meta);color:var(--text);background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.blk-in button:hover span:last-child{text-underline-offset:3px;text-decoration:underline}.blk-in .off{color:var(--text-3);text-decoration:line-through}.tl-gap{font-size:var(--fs-label);color:var(--text-3);padding:2px 0 2px 88px}.tl-now{border-top:1px solid var(--late);height:0;margin:2px 0 2px 88px;position:relative}.tl-now:before{content:"";background:var(--late);border-radius:99px;width:7px;height:7px;position:absolute;top:-4px;left:-3px}.tl-now span{font-size:var(--fs-label);color:var(--late);font-variant-numeric:tabular-nums;font-weight:500;position:absolute;top:-9px;left:-88px}.tl-soft{font-size:var(--fs-label);color:var(--test);border-top:1px dashed color-mix(in srgb, var(--test) 60%, transparent);margin:2px 0 2px 88px;padding-top:4px}@media (max-width:719px){.tl-row{grid-template-columns:56px minmax(0,1fr);gap:12px}.tl-gap,.tl-now,.tl-soft{margin-left:68px;padding-left:0}.tl-now span{left:-68px}.blk{padding:14px 16px}}.wk-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid;position:relative}.strip-sel{border-radius:var(--r-md);background:var(--accent-soft);transition:transform var(--dur) var(--ease);position:absolute;top:0;bottom:0;left:0}.sday{border-radius:var(--r-md);cursor:pointer;color:var(--text);min-width:0;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 12px;display:flex;position:relative}.sday:hover:not([aria-selected=true]){background:var(--surface-hover)}.sday .tdot{background:var(--accent);border-radius:99px;width:5px;height:5px;position:absolute;top:4px}.sday .dw{font-size:var(--fs-label);color:var(--text-3);white-space:nowrap;font-weight:500}.sday .dn{font-family:var(--display);font-size:var(--fs-h2);font-weight:600;line-height:1.2}.sday .load{background:var(--line);border-radius:99px;width:72%;height:4px;margin-top:2px;overflow:hidden}.sday .load i{background:var(--accent);height:100%;transition:width var(--dur) var(--ease);border-radius:99px;display:block}.sday .load i.busy{background:var(--test)}.sday .load i.over{background:var(--late)}.sday .lm{font-size:var(--fs-label);color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.sday .lm .short{display:none}@media (max-width:719px){.sday .lm .long{display:none}.sday .lm .short{display:inline}.sday .lm{font-size:12px}.sday{padding-inline-start:0;padding-inline-end:0}}.dd{margin-top:40px}.dd-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.dd-h .sub{color:var(--text-2);margin-top:2px}.dd-h .sum{color:var(--text-2);font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.adjust{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:16px 0 24px;display:flex}.adjust .label{margin-right:4px}.adjust .btn.quiet{color:var(--text-2)}.adjust .btn.quiet svg{color:var(--text-3)}.aw-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:24px;display:flex}.aw-right{align-items:center;gap:16px;display:flex}.showdone{font-size:var(--fs-meta);color:var(--text-2);cursor:pointer;align-items:center;gap:10px;display:inline-flex}.grp{margin-bottom:24px}.grp-h{top:calc(var(--hdr-h) + env(safe-area-inset-top,0px));z-index:5;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0 8px;display:flex;position:sticky}.grp-h.late .caps{color:var(--late)}.more{margin-top:8px}.cls-pop .crow{border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-meta);align-items:center;gap:10px;padding:8px 4px;display:flex}.cls-pop .crow:hover{background:var(--surface-hover)}.cls-pop .crow input{width:16px;height:16px;accent-color:var(--accent);margin:0}.cls-pop .pop-foot{border-top:1px solid var(--line);gap:12px;margin-top:8px;padding-top:10px;display:flex}.footnote{font-size:var(--fs-meta);color:var(--text-3);margin-top:32px}.set-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:56px;display:grid}@media (max-width:959px){.set-layout{grid-template-columns:minmax(0,1fr);gap:24px}}.set-nav{top:calc(var(--hdr-h) + 40px);flex-direction:column;gap:2px;display:flex;position:sticky}.set-nav a{border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-meta);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:8px 12px;font-weight:500;text-decoration:none}.set-nav a:hover{background:var(--surface-hover);color:var(--text)}.set-nav a[aria-current=true]{background:var(--accent-soft);color:var(--accent)}@media (max-width:959px){.set-nav{flex-flow:wrap;gap:6px;position:static}.set-nav a{background:var(--surface-sunken);padding:6px 10px}}.set-main{gap:var(--gap-section);flex-direction:column;min-width:0;display:flex}.set-main section{scroll-margin-top:calc(var(--hdr-h) + 24px)}.sub-h{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:24px 0 0;font-size:12px;font-weight:600}.cal-item{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.cal-ic{border-radius:var(--r-md);background:var(--surface-sunken);width:36px;height:36px;color:var(--text-2);flex:none;place-items:center;display:grid}.cal-ic svg{width:18px;height:18px}.cal-item .grow{flex:1;min-width:0}.cal-item .grow b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.cls-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 96px 72px;gap:12px;padding:0 0 8px;display:grid}.cls-head span:not(:first-child){text-align:center}.cls-row{border-bottom:1px solid var(--line);min-height:56px;transition:opacity var(--dur) var(--ease);grid-template-columns:minmax(0,1fr) 96px 72px;align-items:center;gap:12px;padding:12px 0;display:grid}.cls-row.hidden{opacity:.5}.cls-row>span:not(:first-child){justify-content:center;display:flex}.cls-name{align-items:center;gap:10px;min-width:0;display:flex}.cls-name .dotbtn{cursor:pointer;background:0 0;border:0;border-radius:99px;flex:none;place-items:center;width:24px;height:24px;display:grid}.cls-name .dotbtn:hover{background:var(--surface-hover)}.cls-name .dotbtn .cdot{width:12px;height:12px}.cls-name .nm{font:inherit;color:var(--text);cursor:text;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:4px 0;font-weight:500;display:inline-flex;overflow:hidden}.cls-name .nm svg{width:14px;height:14px;color:var(--text-3);opacity:0;transition:opacity var(--dur-fast) var(--ease);flex:none}.cls-name .nm:hover svg{opacity:1}.cls-name .nm:focus-visible svg{opacity:1}.cls-name input{border-radius:var(--r-sm);background:var(--surface-sunken);border:0;flex:1;min-width:0;height:32px;padding:0 8px;font-weight:500}.swatches{grid-template-columns:repeat(4,28px);gap:8px;display:grid}.swatches button{background:var(--c);cursor:pointer;width:28px;height:28px;box-shadow:inset 0 0 0 0 var(--surface);transition:box-shadow var(--dur-fast) var(--ease);border:0;border-radius:99px;padding:0}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.learned{grid-template-columns:minmax(0,1fr) auto;display:grid}.learned>div{border-bottom:1px solid var(--line);padding:12px 0}.learned>div:nth-child(2n){text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums}.learned small{color:var(--text-3);font-size:var(--fs-label);display:block}.pe{border-bottom:1px solid var(--line);padding:16px 0}.pe-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pe-h b{overflow-wrap:anywhere;font-weight:500}iframe.mail{border-radius:var(--r-md);background:var(--email-bg);width:100%;height:min(70dvh,640px);box-shadow:var(--shadow-1);border:0}.center{place-items:center;min-height:100dvh;padding:24px 20px;display:grid}.auth{width:100%;max-width:460px}.auth .card{padding:32px 28px}.auth h1{margin:14px 0 8px;font-size:2rem}.auth p{color:var(--text-2);margin:0 0 18px}.steps{gap:6px;margin-bottom:18px;display:flex}.steps i{background:var(--line);height:4px;transition:background-color var(--dur) var(--ease);border-radius:99px;flex:1}.steps i.on{background:var(--accent)}details.help{background:var(--surface-sunken);border-radius:var(--r-md);font-size:var(--fs-meta);padding:12px 16px}details.help summary{cursor:pointer;color:var(--accent);font-weight:500}details.help ol{margin:8px 0 2px;padding-left:20px}details.help li{margin:3px 0}details.help ul{margin:6px 0 2px;padding-left:20px}details.help ol.guide{counter-reset:g;flex-direction:column;gap:14px;margin:12px 0 2px;padding:0;list-style:none;display:flex}.guide li{counter-increment:g;color:var(--text);grid-template-columns:22px minmax(0,1fr);column-gap:10px;display:grid;margin:0!important}.guide li:before{content:counter(g);background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:99px;grid-row:span 2;place-items:center;font-size:12px;font-weight:600;display:grid}.guide img{border-radius:var(--r-sm);max-width:100%;height:auto;box-shadow:var(--shadow-1);grid-column:2;margin-top:6px;display:block}.guide-h{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin-top:12px;font-size:12px;font-weight:600;display:flex}.guide-h .linkbtn{text-transform:none;letter-spacing:0}.hintwarn{font-size:var(--fs-meta);color:var(--test);margin:-4px 0 0}code{background:var(--surface);border-radius:4px;padding:1px 4px;font-size:.9em}.agenda{font-size:var(--fs-meta);flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.agenda li{border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:8px 0;display:grid}.agenda li.click{cursor:pointer}.agenda li.click:hover{background:var(--surface-hover)}.agenda .tm{color:var(--text-2);font-variant-numeric:tabular-nums}.statshero{text-align:center;padding:8px 0 0}.hero-n{font-variant-numeric:tabular-nums;margin:4px 0;font-size:64px;font-weight:600;line-height:1.05}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;display:grid}@media (max-width:719px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{border-bottom:1px solid var(--line);min-width:0;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;gap:2px;padding:14px 0;display:flex}.stat .n{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:600;line-height:1.15}.stat .l{font-size:var(--fs-meta);color:var(--text-2)}.stat .s{font-size:var(--fs-label);color:var(--text-3)}.cols-read{font-size:var(--fs-meta);color:var(--text-2);font-variant-numeric:tabular-nums;min-height:20px;margin-bottom:10px}.cols-read b{font-size:var(--fs-body-lg);color:var(--text);font-weight:600}.cols-plot{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:2px;height:150px;padding-top:18px;display:grid;position:relative}.cols-top{font-size:var(--fs-label);color:var(--text-3);font-variant-numeric:tabular-nums;position:absolute;top:2px;left:0}.col{cursor:pointer;background:0 0;border:0;border-radius:6px 6px 0 0;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;padding:0;display:flex}.col:hover,.col.on{background:var(--surface-hover)}.col .bar{background:var(--accent);border-radius:4px 4px 0 0;width:min(24px,70%);min-height:2px;display:block}.col .cap{font-size:var(--fs-label);color:var(--text-2);font-variant-numeric:tabular-nums;margin-bottom:3px}.cols-x{color:var(--text-3);text-align:center;white-space:nowrap;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;margin-top:4px;font-size:12px;display:grid}.funnel{flex-direction:column;gap:12px;display:flex}.frow{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.fl{font-size:var(--fs-meta);color:var(--text-2)}.ftrack{align-items:center;gap:8px;display:flex}.fbar{background:var(--accent);border-radius:0 4px 4px 0;min-width:2px;height:12px;display:block}.fv{font-size:var(--fs-meta);color:var(--text);font-variant-numeric:tabular-nums}.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-meta);margin-top:8px}.tbl th,.tbl td{text-align:left;border-top:1px solid var(--line);padding:8px 4px}.tbl th{color:var(--text-3);font-weight:500}.tbl td:not(:first-child),.tbl th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
