:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1318;--surface:#151c23;--raised:#1b242d;--sunken:#0b1014;--line:#26313c;--line-strong:#3a4856;--text:#e6edf3;--text-2:#a7b4c0;--muted:#7f8e9b;--accent:#3ddc97;--accent-ink:#06281a;--accent-soft:#3ddc9724;--amber:#f2b94b;--amber-soft:#f2b94b24;--blue:#6cb6ff;--blue-soft:#6cb6ff24;--danger:#ff8a80;--danger-soft:#ff8a8024;--radius:14px;--radius-sm:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--shadow:0 10px 30px #00000047}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f9;--surface:#fff;--raised:#eef2f5;--sunken:#e9eef2;--line:#d9e0e6;--line-strong:#b8c3cd;--text:#1b2229;--text-2:#46525e;--muted:#5e6a76;--accent:#0b7a4d;--accent-ink:#fff;--accent-soft:#0b7a4d1a;--amber:#9a6400;--amber-soft:#9a64001a;--blue:#0a64c2;--blue-soft:#0a64c21a;--danger:#b3261e;--danger-soft:#b3261e14;--shadow:0 6px 18px #10182014}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:var(--text)}h1,h2,h3,h4{margin:0;font-weight:650;line-height:1.25}h1{letter-spacing:-.01em;font-size:26px}h2{font-size:19px}h3{font-size:16px}p{margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:13.5px}.tiny{font-size:12.5px}.strong{font-weight:650}.mono{font-family:var(--mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.i-sm{width:16px;height:16px}.i-fill{fill:currentColor;stroke:none}.app{min-height:100vh;display:flex}.sidebar{background:var(--sunken);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:4px;width:236px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;padding:4px 10px 18px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.nav{flex-direction:column;gap:2px;display:flex}.nav a{border-radius:var(--radius-sm);min-height:44px;color:var(--text-2);align-items:center;gap:12px;padding:0 12px;font-weight:560;text-decoration:none;display:flex}.nav a:hover{background:var(--raised);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.nav-sep{background:var(--line);height:1px;margin:10px 4px}.sidebar-foot{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:4px;margin-top:auto;padding:12px 10px 4px;font-size:12.5px;display:flex}.main{flex:1;min-width:0;padding:28px 32px 56px}.container{max-width:1080px;margin:0 auto}.narrow{max-width:620px;margin:0 auto}.tabbar{display:none}@media (width<=899px){.split-first-phone{order:-1}.sidebar{display:none}.main{padding:18px 16px 104px}.tabbar{z-index:20;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--sunken);border-top:1px solid var(--line);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:54px;color:var(--muted);border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar .i{width:22px;height:22px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:22px;display:flex}.page-head .text-2{max-width:62ch;margin-top:6px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:650}.section{margin-top:28px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:6px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.split>.split-main{flex:999 520px;min-width:0}.split>.split-side{flex:300px;min-width:0}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=899px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-4>.card{padding:14px}h1{font-size:23px}.hide-phone{display:none!important}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:18px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-title{align-items:center;gap:10px;font-weight:650;display:flex}.card-sub{color:var(--muted);font-size:13px}.card-link{color:inherit;text-decoration:none;display:block}.card-link:hover{border-color:var(--line-strong)}.card[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.divider{background:var(--line);border:0;height:1px;margin:14px 0}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--raised);min-height:44px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted);color:var(--text)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.07);border-color:var(--accent);color:var(--accent-ink)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--raised);border-color:#0000}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-compact{padding:0 12px;font-size:14px}.btn-icon{width:44px;padding:0}.btn-block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.chip{background:var(--raised);min-height:26px;color:var(--text-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip .i{width:14px;height:14px}.chip-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chip-amber{background:var(--amber-soft);color:var(--amber);border-color:#0000}.chip-blue{background:var(--blue-soft);color:var(--blue);border-color:#0000}.chip-outline{background:0 0}a.chip{text-decoration:none}a.chip:hover{border-color:var(--line-strong);color:var(--text)}.link-quiet{color:var(--text);text-decoration:none}.link-quiet:hover{color:var(--accent);text-decoration:underline}.cmd{font-family:var(--mono);color:var(--blue);background:var(--blue-soft);white-space:nowrap;border-radius:6px;align-items:center;padding:2px 8px;font-size:12.5px;display:inline-flex}.tag-later{color:var(--muted);border:1px dashed var(--line-strong);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:11.5px;font-weight:700}.strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=700px){.strip{gap:8px}.stat{flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px}.stat-icon{display:none}.stat-value{font-size:15px;line-height:1.3}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.stat-icon{background:var(--raised);width:40px;height:40px;color:var(--text-2);border-radius:12px;flex:none;place-items:center;display:grid}.stat-icon.accent{background:var(--accent-soft);color:var(--accent)}.stat-icon.amber{background:var(--amber-soft);color:var(--amber)}.stat-label{color:var(--muted);font-size:12.5px;font-weight:600}.stat-value{font-size:17px;font-weight:700}.big-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:750;line-height:1}.blocks{flex-direction:column;gap:10px;display:flex}.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:66px minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px 16px;display:grid}.block-time{font-variant-numeric:tabular-nums;font-weight:700}.block-min{color:var(--muted);font-size:12.5px}.block-what{font-weight:650}.block-task{color:var(--text-2);margin-top:3px;font-size:14px}.block-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.block-actions{gap:8px;display:flex}.block[data-status=done]{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.block[data-status=done] .block-what{color:var(--text-2)}.block[data-status=skipped] .block-what{color:var(--muted);text-decoration:line-through}@media (width<=560px){.block{grid-template-columns:52px minmax(0,1fr)}.block-actions{grid-column:2}}.tick{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;place-items:center;display:grid}.tick:hover{color:var(--text);border-color:var(--muted)}.tick-done[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tick-skip[aria-pressed=true]{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.field{flex-direction:column;gap:8px;display:flex}.label{font-size:14px;font-weight:600}.hint{color:var(--muted);font-size:12.5px}.input,.textarea,.select{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--sunken);width:100%;min-height:44px;color:var(--text);font:inherit;padding:10px 12px}.textarea{resize:vertical;min-height:88px}.input::placeholder,.textarea::placeholder{color:var(--muted)}.form-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 0;display:flex}.form-row:last-child{border-bottom:0}.form-row>.label-wrap{flex-direction:column;gap:2px;min-width:0;display:flex}.stepper{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--sunken);grid-template-columns:44px 72px 44px;align-items:center;display:inline-grid;overflow:hidden}.stepper button{height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;font-size:20px;line-height:1;display:grid}.stepper button:hover{background:var(--raised)}.stepper input{width:100%;min-width:0;height:44px;color:var(--text);font:inherit;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;font-weight:700}.stepper.wide{grid-template-columns:44px 96px 44px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--sunken);min-width:48px;min-height:44px;color:var(--text-2);font:inherit;cursor:pointer;padding:0 14px;font-weight:600}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.seg.fill{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.seg.fill button{min-width:0;padding:0 6px}.switch{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:inline-flex}.switch input{appearance:none;background:var(--raised);border:1px solid var(--line-strong);cursor:pointer;border-radius:999px;width:46px;height:28px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:var(--text-2);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked{background:var(--accent);border-color:var(--accent)}.switch input:checked:after{background:var(--accent-ink);transform:translate(18px)}.switch input:disabled{opacity:.45;cursor:not-allowed}.check{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;flex:none;margin:11px}.prefill{color:var(--blue);font-size:12px;font-weight:650}.savebar{z-index:5;border-radius:var(--radius);background:var(--raised);border:1px solid var(--line-strong);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:flex;position:sticky;bottom:12px}@media (width<=899px){.savebar{left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));margin:0;position:fixed}.has-savebar{padding-bottom:84px}}@media (width<=560px){.savebar .tiny{display:none}}.banner{border-radius:var(--radius-sm);border:1px solid;align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;display:flex}.banner .i{margin-top:1px}.banner-title{font-weight:650}.banner-info{background:var(--blue-soft);border-color:color-mix(in srgb, var(--blue) 45%, transparent)}.banner-info>.i{color:var(--blue)}.banner-warn{background:var(--amber-soft);border-color:color-mix(in srgb, var(--amber) 45%, transparent)}.banner-warn>.i{color:var(--amber)}.banner-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.banner-error>.i{color:var(--danger)}.banner-ok{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.banner-ok>.i{color:var(--accent)}.bar{background:var(--raised);border-radius:999px;height:8px;overflow:hidden}.bar>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.bar.amber>span{background:var(--amber)}.hbars{flex-direction:column;gap:10px;display:flex}.hbar{grid-template-columns:64px minmax(0,1fr) 52px;align-items:center;gap:10px;font-size:13.5px;display:grid}.hbar-track{background:var(--raised);border-radius:999px;height:10px;position:relative}.hbar-fill{background:var(--accent);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.hbar-avg{background:var(--text-2);border-radius:2px;width:2px;position:absolute;top:-4px;bottom:-4px}.hbar-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.spark{width:100%;height:84px;display:block}.spark .line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.spark .line.blue{stroke:var(--blue)}.spark .grid-line{stroke:var(--line);stroke-width:1px}.spark .dot{fill:var(--accent)}.spark .dot.blue{fill:var(--blue)}.heatmap{grid-template-rows:repeat(7,18px);grid-auto-columns:18px;grid-auto-flow:column;gap:4px;width:max-content;max-width:100%;display:grid}.hm{background:var(--raised);border-radius:4px;width:18px;height:18px;display:block}.hm[data-l="0"]{background:color-mix(in srgb, var(--text) 18%, var(--surface))}.hm[data-l="1"]{background:color-mix(in srgb, var(--accent) 32%, var(--surface))}.hm[data-l="2"]{background:color-mix(in srgb, var(--accent) 62%, var(--surface))}.hm[data-l="3"]{background:var(--accent)}.hm[data-l=b]{box-shadow:inset 0 0 0 2px var(--amber);background:0 0}.hm[data-l=t]{box-shadow:inset 0 0 0 2px var(--text-2);background:0 0}.hm[data-l=f]{box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.hm[data-l=\-]{background:0 0}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend .hm{border-radius:3px;width:12px;height:12px}.minibars{align-items:flex-end;gap:6px;height:48px;display:flex}.minibars span{background:color-mix(in srgb, var(--blue) 70%, var(--surface));border-radius:4px 4px 0 0;flex:1;min-height:3px}.kv{flex-direction:column;gap:2px;display:flex}.kv-k{color:var(--muted);font-size:12.5px;font-weight:600}.kv-v{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.list{flex-direction:column;list-style:none;display:flex}.list>li{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.list>li:last-child{border-bottom:0}.list .grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dots{gap:3px;display:inline-flex}.dots i{background:var(--raised);width:7px;height:7px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:50%}.dots i.on{background:var(--accent);box-shadow:none}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 14px}th{color:var(--muted);background:var(--surface);font-size:12.5px;font-weight:650}tr:last-child td{border-bottom:0}.module{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.module>summary{cursor:pointer;align-items:center;gap:12px;min-height:60px;padding:10px 16px;list-style:none;display:flex}.module>summary::-webkit-details-marker{display:none}.module>summary .chev{color:var(--muted);transition:transform .15s}.module[open]>summary .chev{transform:rotate(90deg)}.module-body{padding:0 16px 8px}.lesson-row{border-top:1px solid var(--line);min-height:56px;color:inherit;align-items:center;gap:12px;padding:8px 0;text-decoration:none;display:flex}.lesson-row:hover .lesson-title{color:var(--accent)}.lesson-title{font-weight:600}.status-dot{border:1.5px solid var(--line-strong);color:#0000;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.status-dot.done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.status-dot.progress{border-color:var(--blue);background:conic-gradient(var(--blue) 0 50%, transparent 50% 100%)}.status-dot .i{stroke-width:2.4px;width:14px;height:14px}.resource{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:4px;padding:6px 12px 6px 4px;display:flex}.resource+.resource{margin-top:10px}.resource>.check{flex:1;min-width:0}.resource-body{flex:1;min-width:0;padding:10px 0}.resource-title{font-weight:600;display:block}.resource-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;display:flex}.resource-actions{align-items:center;gap:6px;padding-top:6px;display:flex}.timeline{flex-direction:column;gap:0;list-style:none;display:flex}.timeline li{align-items:flex-start;gap:12px;padding:8px 0;display:flex}.timeline .t-dot{width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--line-strong);border-radius:50%;flex:none;margin-top:5px}.timeline .t-dot.done{background:var(--accent);box-shadow:none}.timeline .t-dot.due{box-shadow:inset 0 0 0 3px var(--amber)}.center-screen{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.signin{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:400px;display:flex}.signin .brand-mark{border-radius:16px;width:56px;height:56px}.signin .brand-mark .i{width:30px;height:30px}.nav-badge{background:var(--accent);min-width:22px;height:22px;color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700;display:inline-grid}.spark{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.spark-title{font-size:19px;font-weight:700;line-height:1.3}.spark-idea{color:var(--text-2);max-width:70ch;margin-top:8px}.spark-action{align-items:flex-start;gap:8px;margin-top:10px;font-weight:600;display:flex}.spark-action .i{color:var(--accent);margin-top:2px}.spark-res{border-radius:var(--radius-sm);background:var(--raised);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.spark-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.hint-tight{margin:-10px 0 16px}.date-field{min-width:180px}.input-narrow{width:120px}.range{width:min(220px,100%);height:44px;accent-color:var(--accent)}.pain-value{color:var(--accent)}.card-head-tight{margin-bottom:4px}.loading{text-align:center;color:var(--muted);padding:48px 0}.row-link{width:100%;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.row-link:hover .strong{color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:18px}.signout-phone{display:none}@media (width<=899px){.signout-phone{justify-content:center;margin-top:28px;display:flex}}.grow{flex:1;min-width:0}.resource>.check.tick-only{flex:none}
