:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0c0d0f;--panel:#16181b;--panel-2:#1f2226;--line:#2d3136;--ink:#f3f1ec;--ink-2:#a8adb5;--ink-3:#6c7179;--accent:#f6e3a3;--ok:#7cc8a0;--warn:#ffb86b;--bad:#ff8a80;--serif:"Bitter",Georgia,"Times New Roman",serif;--sans:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;--cond:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--navh:64px}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.4}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}.wrap{max-width:560px;padding-inline:16px;padding-block:14px calc(var(--navh) + 96px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:14px;margin:0 auto;display:flex}.lbl{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);font-size:12px;font-weight:600}.muted{color:var(--ink-3);font-size:14px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.top h1{font-family:var(--serif);text-wrap:balance;margin:2px 0 0;font-size:clamp(26px,8vw,34px);font-weight:900;line-height:1.02}.iconbtn{appearance:none;background:var(--panel-2);cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid}.iconbtn svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.iconbtn.spin svg{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{appearance:none;min-height:36px;font-family:var(--cond);letter-spacing:.04em;background:var(--c);color:#111;cursor:pointer;border:0;border-radius:99px;flex:none;align-items:center;gap:6px;padding:7px 12px;font-size:15px;font-weight:700;display:inline-flex}.chip.off{color:var(--ink-3);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0;text-decoration:line-through}.chip i{opacity:.55;background:#111;border-radius:99px;width:8px;height:8px}.chip.off i{background:var(--c);opacity:1}.range{grid-template-columns:44px 1fr 44px auto;align-items:center;gap:8px;display:grid}.range b{font-family:var(--cond);text-align:center;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.btn{appearance:none;font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:var(--panel-2);min-height:44px;color:var(--ink);border:0;border-radius:8px;padding:10px 14px;font-size:17px;font-weight:700}.btn.primary{background:var(--accent);color:#111}.btn.ghost{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.btn.danger{color:var(--bad);background:0 0;box-shadow:inset 0 0 0 1.5px #5a2d2a}.btn.wide{width:100%}.btn:disabled{opacity:.4;cursor:default}.btn.small{white-space:nowrap;min-height:36px;padding:6px 10px;font-size:14px}.banner{background:var(--panel);color:var(--ink-2);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;font-size:15px;display:flex}.banner b{color:var(--ink)}.status{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:13px;font-weight:600}.day{flex-direction:column;gap:6px;display:flex}.dayh{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding-top:4px;display:flex}.dayh h2{font-family:var(--serif);margin:6px 0 0;font-size:19px;font-weight:800}.dayh .pill{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#111;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:700}.ev{appearance:none;text-align:left;background:var(--panel);cursor:pointer;border:0;border-radius:8px;grid-template-columns:74px 4px 1fr;align-items:stretch;gap:10px;width:100%;min-height:56px;padding:10px 12px 10px 10px;display:grid}.ev .t{font-family:var(--cond);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;font-size:17px;font-weight:700;line-height:1.1;display:flex}.ev .t small{color:var(--ink-3);font-size:14px;font-weight:500}.ev .bar{background:var(--c);border-radius:4px}.ev .b{flex-direction:column;justify-content:center;min-width:0;display:flex}.ev .b b{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.2}.ev .b small{color:var(--ink-2);margin-top:2px;font-size:13.5px;line-height:1.3}.ev.free .bar{background:repeating-linear-gradient(180deg,var(--c) 0 5px,transparent 5px 8px)}.empty{background:var(--panel);color:var(--ink-3);border-radius:8px;padding:12px;font-size:15px}.fab{right:max(16px,50% - 264px);bottom:calc(var(--navh) + 16px + env(safe-area-inset-bottom,0px));z-index:6;appearance:none;background:var(--accent);color:#111;font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;border-radius:99px;align-items:center;gap:8px;min-height:52px;padding:14px 20px;font-size:18px;font-weight:700;display:flex;position:fixed;box-shadow:0 8px 24px #0000008c}.fab svg{stroke:#111;stroke-width:2.6px;fill:none;stroke-linecap:round;width:20px;height:20px}.grp{flex-direction:column;gap:6px;display:flex}.grph{align-items:center;gap:8px;padding-top:6px;display:flex}.grph i{background:var(--c);border-radius:3px;width:12px;height:12px}.grph b{font-family:var(--serif);font-size:18px;font-weight:800}.sr{appearance:none;text-align:left;background:var(--panel);cursor:pointer;width:100%;box-shadow:inset 4px 0 0 var(--c);border:0;border-radius:8px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.sr b{font-size:17px;font-weight:600}.sr .rule{font-family:var(--cond);color:var(--ink);font-size:17px;font-weight:700}.sr small{color:var(--ink-2);font-size:13.5px}.msgs{flex-direction:column;gap:10px;display:flex}.msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-width:88%;padding:10px 12px;font-size:16px}.msg.user{background:var(--panel-2);border-bottom-right-radius:4px;align-self:flex-end}.msg.assistant{background:var(--panel);border-bottom-left-radius:4px;flex-direction:column;align-self:flex-start;gap:8px;display:flex}.msg.note{max-width:100%;color:var(--ink-3);text-align:center;background:0 0;align-self:center;padding:2px 8px;font-size:13.5px}.msg .acts{flex-wrap:wrap;gap:8px;display:flex}.msg .tag{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ok);font-size:13px;font-weight:700}.composer{left:0;right:0;bottom:calc(var(--navh) + env(safe-area-inset-bottom,0px));z-index:5;background:linear-gradient(180deg,#0c0d0f00,var(--ground) 18px);padding:18px 16px 10px;position:fixed}.composer form{background:var(--panel-2);max-width:528px;box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;grid-template-columns:1fr 48px;align-items:end;gap:8px;margin:0 auto;padding:6px;display:grid}.composer textarea{resize:none;background:0 0;border:0;outline:none;width:100%;min-width:0;min-height:44px;max-height:160px;padding:10px 8px;font-size:16px;line-height:1.35}.composer .iconbtn{background:var(--panel);width:48px;height:44px}.composer .iconbtn.send{background:var(--accent)}.composer .iconbtn.send svg{stroke:#111}.sheet{z-index:20;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-in{background:var(--panel);width:100%;max-width:560px;max-height:94%;padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;border-radius:16px 16px 0 0;flex-direction:column;gap:14px;display:flex;overflow:auto}.sheet-h{justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-h h3{font-family:var(--serif);text-wrap:balance;margin:0;font-size:22px;font-weight:900}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field input,.field select,.field textarea{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:10px;font-size:16px}.field textarea{resize:vertical;min-height:70px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.row3{grid-template-columns:1.3fr 1fr 1fr;gap:8px;display:grid}.check{align-items:center;gap:10px;min-height:40px;font-size:16px;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.seg{background:var(--panel-2);border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.seg button{appearance:none;min-height:44px;font-family:var(--cond);letter-spacing:.03em;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:10px 6px;font-size:16px;font-weight:700}.seg button.on{background:var(--accent);color:#111}.calchip{font-family:var(--cond);background:var(--c);color:#111;border-radius:99px;align-self:flex-start;align-items:center;gap:6px;padding:3px 10px;font-size:15px;font-weight:700;display:inline-flex}.note{color:var(--ink-2);background:var(--panel-2);border-radius:8px;padding:10px 12px;font-size:14px}.actrow{flex-wrap:wrap;gap:8px;display:flex}.actrow .btn{flex:140px}a.ext{color:var(--ink-2);text-underline-offset:3px;font-size:14px}.ops{flex-direction:column;gap:8px;display:flex}.op{background:var(--panel-2);border-radius:10px;grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.op input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);margin:2px 0 0}.op .body{flex-direction:column;gap:4px;min-width:0;display:flex}.op .l1{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.act{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:#111;border-radius:4px;padding:2px 7px;font-size:13px;font-weight:700}.act.add{background:var(--ok)}.act.edit{background:#bfe0f3}.act.del{background:var(--bad)}.act.err{background:var(--ink-3)}.op .calchip{padding:1px 8px;font-size:13px}.op b.tt{overflow-wrap:anywhere;font-size:16px}.op .when{font-family:var(--cond);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.op .chg{color:var(--ink-2);overflow-wrap:anywhere;font-size:14px}.op .res{font-size:14px;font-weight:600}.res.ok{color:var(--ok)}.res.bad{color:var(--bad)}.res.wip{color:var(--ink-2)}.res.warn{color:var(--warn)}.warnbox{color:#ffd6a8;background:#3a2412;border-radius:8px;padding:10px 12px;font-size:15px}.nav{z-index:7;border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0d0ff7;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-in{grid-template-columns:repeat(5,1fr);gap:4px;width:100%;max-width:560px;display:grid}.tab{appearance:none;color:var(--ink-3);font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-height:50px;padding:6px 2px;font-size:13px;font-weight:700;display:flex}.tab svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tab.on{color:var(--ink);background:var(--panel-2)}.toast{left:50%;bottom:calc(var(--navh) + 84px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--ink);color:#111;font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;text-align:center;border-radius:99px;max-width:calc(100% - 32px);padding:10px 16px;font-size:15px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000080}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--ink-3:#8b9098}body{-webkit-tap-highlight-color:transparent}.ev.past{opacity:1}.ev.past .t,.ev.past .b b{color:var(--ink-2)}.ev.past .t small,.ev.past .b small{color:var(--ink-3)}.ev.past .bar{opacity:.45}.chip{min-height:44px;padding:9px 14px}.btn.small{min-height:44px;padding:8px 12px}.check{min-height:44px}a.ext{padding-block:12px;display:inline-block}.op{grid-template-columns:44px 1fr;gap:4px}.op input[type=checkbox]{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' fill='none' stroke='%238b9098' stroke-width='2'/%3E%3C/svg%3E") 50%/24px no-repeat;border-radius:8px;width:44px;height:44px;margin:-9px 0 0 -9px}.op input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='1' y='1' width='22' height='22' rx='5' fill='%23f6e3a3'/%3E%3Cpath d='M6.5 12.5l3.6 3.6 7.4-8' fill='none' stroke='%23111' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.op input[type=checkbox]:disabled{opacity:.45;cursor:default}.btn,.chip,.tab,.iconbtn,.ev,.sr,.fab,.seg button{transition:transform .12s,filter .12s}.btn:active:not(:disabled),.chip:active,.tab:active,.iconbtn:active,.ev:active,button.sr:active,.fab:active,.seg button:active{filter:brightness(1.12);transform:scale(.97)}.ev,.sr,.banner,.empty{box-shadow:inset 0 0 0 1px #ffffff0b}.sr{box-shadow:inset 4px 0 0 var(--c),inset 0 0 0 1px #ffffff0b}.banner.bad{box-shadow:inset 3px 0 0 var(--bad),inset 0 0 0 1px #ffffff0b}.muted,.note,.banner span{text-wrap:pretty}.tsum{background:var(--panel);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.tsum-t{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tsum-t b{font-family:var(--serif);font-size:19px;font-weight:800}.pbar{background:var(--panel-2);border-radius:99px;height:8px;overflow:hidden}.pbar i{background:var(--c,var(--ok));border-radius:99px;min-width:0;height:100%;transition:width .3s;display:block}.tsum .pbar i{background:var(--ok)}.week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wk{background:var(--panel);text-align:center;border-radius:8px;flex-direction:column;gap:1px;min-width:0;padding:6px 2px;display:flex}.wk span{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:600}.wk b{font-family:var(--cond);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.wk.today{box-shadow:inset 0 0 0 2px var(--accent)}.wk.full b{color:var(--ok)}.wk.fut b{color:var(--ink-3)}.hcard{background:var(--panel);box-shadow:inset 4px 0 0 var(--c),inset 0 0 0 1px #ffffff0b;border-radius:10px;grid-template-columns:1fr 52px;align-items:center;gap:10px;padding:10px 10px 10px 14px;display:grid}.hcard .hb{appearance:none;text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:4px 0;display:flex}.hcard .hb b{overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.2}.hcard .hb small{color:var(--ink-2);font-size:13.5px;line-height:1.3}.hcard .due{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:13px;font-weight:700}.hcard.late .due{color:var(--warn)}.hcard.done .due{color:var(--ok)}.hcard.done .hb b{color:var(--ink-2)}.chk{appearance:none;width:48px;height:48px;box-shadow:inset 0 0 0 2.5px var(--c);cursor:pointer;background:0 0;border:0;border-radius:99px;place-items:center;transition:transform .12s,background .15s;display:grid}.chk svg{stroke:#111;stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:24px;height:24px}.chk.on{background:var(--c)}.chk.on svg{opacity:1}.chk.sk{box-shadow:inset 0 0 0 2.5px var(--ink-3);background:repeating-linear-gradient(45deg,#0000 0 5px,#ffffff14 5px 7px)}.chk:active{transform:scale(.92)}.empty.ok{color:var(--ok)}.upn{flex-direction:column;gap:4px;display:flex}.upr{appearance:none;background:var(--panel);cursor:pointer;min-height:44px;color:inherit;text-align:left;border:0;border-radius:8px;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.upr i{background:var(--c);border-radius:99px;width:10px;height:10px}.upr b{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:600}.upr span{font-family:var(--cond);color:var(--ink-2);white-space:nowrap;font-size:14px;font-weight:600}.hrow{appearance:none;text-align:left;background:var(--panel);cursor:pointer;width:100%;color:inherit;box-shadow:inset 4px 0 0 var(--c),inset 0 0 0 1px #ffffff0b;border:0;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.hrow b{font-size:17px;font-weight:600}.hrow small{color:var(--ink-2);font-size:13.5px;line-height:1.35}.hrow.dim{opacity:.75}.hist{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.dots{gap:4px;display:flex}.dots i{width:12px;height:12px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:3px}.dots i.d{background:var(--c);box-shadow:none}.dots i.s{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.dots i.m{background:#4a2624;box-shadow:inset 0 0 0 1.5px #6b3431}.dots i.o{box-shadow:inset 0 0 0 2px var(--c)}.hmeta{flex-direction:column;gap:6px;display:flex}.hmeta b{font-family:var(--cond);letter-spacing:.02em;font-size:18px;font-weight:700}.okc{color:var(--ok)}.warnc{color:var(--warn)}.steps{flex-direction:column;display:flex}.step{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:10px 4px;font-size:16px;display:flex}.step input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:1px 0 0}.step.on span{color:var(--ink-3);text-decoration:line-through}.sess{background:var(--panel-2);box-shadow:inset 4px 0 0 var(--c);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.bk-h{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bk-h b{font-family:var(--serif);font-size:17px;font-weight:800}.sd{flex-direction:column;gap:6px;display:flex}.sd-h{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:15px;font-weight:700}.sd-r{font-family:var(--cond);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.sd-f{color:var(--ink);margin:0;font-size:15px;line-height:1.45}details.more{border-top:1px solid var(--line)}details.more summary::-webkit-details-marker{display:none}details.more summary:after{content:"+";color:var(--ink-2);margin-left:auto;font-size:20px;line-height:1}details.more[open] summary:after{content:"−"}details.more summary{cursor:pointer;font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;min-height:44px;padding:10px 0;font-size:14px;font-weight:700;list-style:inside none;display:flex}details.more ul,details.more ol{flex-direction:column;gap:8px;margin:0 0 8px;padding-left:20px;font-size:15px;line-height:1.45;display:flex}.seg.seg3{grid-template-columns:repeat(3,1fr)}.slist{flex-direction:column;display:flex}.sl-ch{font-family:var(--serif);color:var(--ink);padding:14px 0 4px;font-size:15px;font-weight:800}.srow{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;align-items:center;gap:4px;display:grid}.srow input{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;justify-self:center}.sl-b{appearance:none;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:1px;min-width:0;min-height:44px;padding:8px 0;display:flex}.sl-b b{overflow-wrap:anywhere;font-size:15px;font-weight:600}.sl-b small{color:var(--ink-3);font-size:13px}.srow.on .sl-b b{color:var(--ink-2)}.daychips{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.daychips button{appearance:none;background:var(--panel-2);min-height:44px;color:var(--ink-2);font-family:var(--cond);cursor:pointer;border:0;border-radius:8px;font-size:15px;font-weight:700}.daychips button.on{background:var(--accent);color:#111}.swatches{flex-wrap:wrap;gap:10px;display:flex}.sw{appearance:none;background:var(--c);cursor:pointer;border:0;border-radius:99px;width:40px;height:40px}.sw.on{box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--ink)}.act.habit{background:#caa2ce}.tab{letter-spacing:.04em;font-size:12px}html{background:var(--ground)}body{min-height:100dvh;margin:0}.wrap{padding-top:calc(14px + env(safe-area-inset-top,0px))}.signin{flex-direction:column;justify-content:center;gap:16px;min-height:70vh;display:flex}.signin h1{font-family:var(--serif);margin:0;font-size:34px;font-weight:900;line-height:1.05}.offline{color:#ffd6a8;background:#3a2412;border-radius:8px;padding:10px 12px;font-size:15px}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.foot .muted{font-size:13.5px}.navsoon{opacity:.55}
