@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2)format("woff2"),url(/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-ext-500-normal-Du0rIuHj.woff2)format("woff2"),url(/assets/figtree-latin-ext-500-normal-BOEJvrb_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2)format("woff2"),url(/assets/figtree-latin-ext-600-normal-CQqsimlV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#e9edea;--paper:#fcfcfa;--ink:#1b2420;--muted:#5b6662;--line:#cdd4cf;--rule:#dfe5e1;--accent:#2b47a6;--accent-soft:#e3e8f7;--good:#2c7a4b;--good-soft:#e1f0e6;--bad:#b5412d;--bad-soft:#f7e4df;--warn:#9a6210;--warn-soft:#f6ebd8;--on-solid:#fff;--shadow:0 1px 2px #141e190f, 0 10px 28px #141e1917;--f-display:"Bricolage Grotesque Variable","Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;--f-body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1412;--paper:#18201c;--ink:#e6ece8;--muted:#9aa6a0;--line:#33403a;--rule:#26302b;--accent:#93a9f2;--accent-soft:#1f2742;--good:#62c189;--good-soft:#15291d;--bad:#e8806a;--bad-soft:#341d18;--warn:#e2aa52;--warn-soft:#2f2410;--on-solid:#0f1412;--shadow:0 1px 2px #00000073, 0 10px 28px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1412;--paper:#18201c;--ink:#e6ece8;--muted:#9aa6a0;--line:#33403a;--rule:#26302b;--accent:#93a9f2;--accent-soft:#1f2742;--good:#62c189;--good-soft:#15291d;--bad:#e8806a;--bad-soft:#341d18;--warn:#e2aa52;--warn-soft:#2f2410;--on-solid:#0f1412;--shadow:0 1px 2px #00000073, 0 10px 28px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);-webkit-font-smoothing:antialiased}.wrap{max-width:560px;padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));flex-direction:column;gap:22px;margin:0 auto;display:flex}button{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}h1{font:700 28px/1.1 var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:0}.sub{color:var(--muted);margin:4px 0 0;font-size:14px}.nav{gap:6px;display:flex}.nav button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;min-width:36px;height:36px;padding:0 12px;font-size:14px;font-weight:600}.nav button:disabled{opacity:.45;cursor:default}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.week button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:8px 0 10px;display:flex}.week .wd{font:600 11px var(--f-mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.week .dn{font:600 16px var(--f-mono);font-variant-numeric:tabular-nums}.week button.today .dn{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:2px}.week button.sel{background:var(--ink);color:var(--bg)}.week button.sel .wd{color:var(--bg);opacity:.75}.dot{background:var(--line);border-radius:50%;width:8px;height:8px}.dot.full{background:var(--good)}.dot.partial,.dot.progress{background:var(--warn)}.dot.missed{background:var(--bad)}.dot.unmarked{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0}.dot.before{visibility:hidden}.dot.off{background:var(--muted);opacity:.45}.week button.pre{opacity:.35;cursor:default}.stats{grid-template-columns:1fr 1.7fr 1fr;gap:14px;display:grid}@media (width<=440px){.stats{grid-template-columns:1fr 1fr}.stats .wk{order:-1;grid-column:1/-1}}.stat{flex-direction:column;gap:2px;min-width:0;display:flex}.k{font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.v{font:700 24px/1.15 var(--f-display);font-variant-numeric:tabular-nums}.v small{font:500 13px var(--f-body);color:var(--muted)}.bar{background:var(--rule);border-radius:99px;height:8px;margin:6px 0 4px;position:relative}.bar i{background:var(--accent);border-radius:99px;position:absolute;top:0;bottom:0;left:0}.bar b{background:var(--ink);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px}.note{color:var(--muted);font-size:13px}.chip{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:99px;align-self:flex-start;align-items:center;padding:3px 8px;display:inline-flex}.chip.good{background:var(--good-soft);color:var(--good)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.neutral{background:var(--rule);color:var(--muted)}.alerts{gap:8px;display:grid}.alerts:empty{display:none}.alert{background:var(--warn-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;font-size:14px;display:flex}.alert.bad{background:var(--bad-soft)}.alert button{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.ticket{background:var(--paper);box-shadow:var(--shadow);border-radius:2px;padding:24px 18px 22px;position:relative}.ticket:before,.ticket:after{content:"";background-repeat:repeat-x;background-size:14px 7px;height:7px;position:absolute;left:0;right:0}.ticket:before{background-image:radial-gradient(circle at 7px 0,var(--bg) 5px,transparent 5.5px);top:0}.ticket:after{background-image:radial-gradient(circle at 7px 100%,var(--bg) 5px,transparent 5.5px);bottom:0}.t-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.t-date{font:700 20px/1.2 var(--f-display)}.t-meta{font:500 12px var(--f-mono);color:var(--muted);margin-top:4px}.part{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:16px 0 2px}.sun{color:var(--warn)}.item{border-bottom:1.5px dashed var(--line);grid-template-columns:minmax(0,1fr);gap:2px 12px;padding:14px 0;display:grid}.item .meta{font:500 12px var(--f-mono);color:var(--muted);flex-wrap:wrap;gap:10px;display:flex}.item .title{font:600 16px/1.35 var(--f-body)}.seg{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.seg button{border:1.5px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:600}.seg button.done[aria-pressed=true]{background:var(--good);border-color:var(--good);color:var(--on-solid)}.seg button.missed[aria-pressed=true]{background:var(--bad);border-color:var(--bad);color:var(--on-solid)}.seg button.skip[aria-pressed=true]{background:var(--muted);border-color:var(--muted);color:var(--bg)}.res.skip{background:var(--rule)}.res.skip .stamp{color:var(--muted)}.reasons{flex-wrap:wrap;gap:6px;display:flex}.presets{border-bottom:1.5px dashed var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0 12px;display:flex}.presets .lab{color:var(--muted);margin-right:2px}.pnote{background:var(--rule);border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:13px}.extra{border-bottom:1.5px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 0;display:flex}.extra .btxt{flex:220px}.rchip{border:1.5px solid var(--line);background:var(--paper);cursor:pointer;border-radius:99px;min-height:30px;padding:5px 11px;font-size:12px;font-weight:600}.rchip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.seg button:disabled{opacity:.4;cursor:default}.outcome{color:var(--muted);grid-column:1/-1;gap:4px;margin-top:6px;font-size:14px;display:grid}.lab{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin-right:8px}.if-d .lab{color:var(--good)}.if-m .lab{color:var(--bad)}.res{color:var(--ink);border-radius:8px;justify-items:start;gap:8px;padding:10px 12px;display:grid}.res.good{background:var(--good-soft)}.res.bad{background:var(--bad-soft)}.stamp{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;border:1.5px solid;border-radius:4px;padding:1px 7px;display:inline-block;transform:rotate(-3deg)}.res.good .stamp{color:var(--good)}.res.bad .stamp{color:var(--bad)}.check{color:var(--ink);cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.check input,.task input{width:18px;height:18px;accent-color:var(--good);flex:none;margin:0}.total{font:600 14px var(--f-mono);letter-spacing:.06em;font-variant-numeric:tabular-nums;justify-content:space-between;padding-top:14px;display:flex}.result{margin:6px 0 0;font-size:14px}.sec h2{font:700 19px/1.25 var(--f-display);margin:0 0 4px}.sec .lead{color:var(--muted);margin:0 0 10px;font-size:14px}.row{border-top:1px solid var(--rule);gap:4px;padding:12px 0;display:grid}.row:last-child{border-bottom:1px solid var(--rule)}.when{font:500 12px var(--f-mono);color:var(--muted)}.row .title{font-weight:600}.row .what{color:var(--muted);font-size:14px}.empty{color:var(--muted);border-top:1px solid var(--rule);padding:12px 0;font-size:14px}.target{margin:0 0 6px;font-size:14px}.task{border-top:1px solid var(--rule);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 0;font-size:15px;display:flex}.task input{margin-top:2px}.task.done span{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.plan-foot{color:var(--muted);border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:10px;font-size:13px;display:flex}.legend ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.legend li{grid-template-columns:96px minmax(0,1fr);gap:10px;font-size:14px;display:grid}.legend .chip{justify-self:start}footer{font:500 12px var(--f-mono);color:var(--muted)}.b-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.b-head h2{margin:0}.basic{border-top:1px solid var(--rule);cursor:pointer;align-items:flex-start;gap:12px;padding:11px 0;display:flex}.basic input{width:20px;height:20px;accent-color:var(--good);flex:none;margin:2px 0 0}.basic input:disabled{cursor:default}.btxt{gap:2px;min-width:0;display:grid}.bt{font-size:15px;font-weight:600}.bh{color:var(--muted);font-size:13px}.basic.covered .bt{color:var(--muted)}.freerow{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px;padding-top:10px;display:flex}.freebtn{border:1.5px solid var(--warn);min-height:36px;color:var(--warn);cursor:pointer;background:0 0;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600}.freebtn[aria-pressed=true]{background:var(--warn);color:var(--on-solid)}.freebtn:disabled{opacity:.45;cursor:default}.grid-wrap{overflow-x:auto}.grid{border-collapse:collapse;width:100%;margin:4px 0;font-size:13px}.grid caption{text-align:left;font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:6px}.grid th{font:600 11px var(--f-mono);color:var(--muted);letter-spacing:.06em;text-align:center;padding:4px 0}.grid th.rl,.grid td.rl{text-align:left;font-family:var(--f-body);letter-spacing:0;color:var(--ink);white-space:nowrap;padding-right:8px;font-size:13px}.grid th.rl{color:var(--muted)}.grid td{text-align:center;border-top:1px solid var(--rule);padding:5px 0}.grid .cnt{font:600 12px var(--f-mono);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;padding-left:6px}.gd{vertical-align:-1px;border-radius:50%;width:12px;height:12px;display:inline-block}.gd.on{background:var(--good)}.gd.off{box-shadow:inset 0 0 0 1.5px var(--muted)}.gd.free{background:repeating-linear-gradient(45deg,var(--warn) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1.5px var(--warn)}.gd.na{background:var(--rule)}.grid td.sc{font:600 12px var(--f-mono);color:var(--muted)}.grid td.sc.has{color:var(--warn)}.grid .cnt.over{color:var(--bad)}.soda{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:11px 0;display:flex}.soda .btxt{flex:220px}.step{align-items:center;gap:6px;display:flex}.step button{border:1.5px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;width:36px;height:36px;font-size:18px;font-weight:600;line-height:1}.step button:disabled{opacity:.4;cursor:default}.sn{font:600 18px var(--f-mono);text-align:center;font-variant-numeric:tabular-nums;min-width:22px}.gkey{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;font-size:12px;display:flex}.client{border-top:1px solid var(--rule);gap:6px;padding:12px 0;display:grid}.client.lost{opacity:.55}.c-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.c-name{font-size:16px;font-weight:600}.c-next{font-size:14px}.c-next.none{color:var(--muted)}.c-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.due{font:600 12px var(--f-mono);color:var(--muted)}.due.warn{color:var(--warn)}.due.bad{color:var(--bad)}.c-actions{flex-wrap:wrap;gap:8px;display:flex}.c-actions button,.addbtn{border:1.5px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;min-height:36px;padding:7px 14px;font-size:13px;font-weight:600}.c-actions .cprimary{background:var(--accent);border-color:var(--accent);color:var(--on-solid)}.c-actions .cdanger{color:var(--bad);border-color:var(--bad)}.addbtn{border-color:var(--accent);color:var(--accent);margin-top:10px}.ceditor{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.ceditor label{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}.ceditor input,.ceditor select,.ceditor textarea{font:15px var(--f-body);border:1.5px solid var(--line);background:var(--bg);color:var(--ink);box-sizing:border-box;border-radius:8px;width:100%;padding:8px 10px}.ceditor .c-actions{margin-top:8px}.mnav{align-items:center;gap:10px;margin:2px 0 6px;display:flex}.mnav button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;min-width:36px;height:36px;font-size:16px;font-weight:600}.mnav button:disabled{opacity:.4;cursor:default}.mmonth{font:600 15px var(--f-mono);text-align:center;min-width:90px}.mbars{gap:12px;margin:6px 0 4px;display:grid}.mbar{gap:2px;display:grid}.mb-top{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;font-weight:600;display:flex}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.mline{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.mcheck{cursor:pointer;align-items:center;gap:10px;min-width:0;font-size:15px;display:flex}.mcheck input{width:20px;height:20px;accent-color:var(--good);flex:none;margin:0}.mline.paid .mcheck span{color:var(--muted)}.mamt{flex:none;align-items:center;gap:2px;display:flex}.mamt .cur{font:500 13px var(--f-mono);color:var(--muted)}.mamt input,.mxform input{font:500 14px var(--f-mono);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);box-sizing:border-box;border-radius:8px;padding:6px 8px}.mamt input{text-align:right;width:92px}.mxform{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.mxform input[name=amt]{width:110px}.mxform input[name=note]{font-family:var(--f-body);flex:160px}.mxform button{border:1.5px solid var(--accent);background:var(--accent);min-height:36px;color:var(--on-solid);cursor:pointer;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600}.mxrow{border-top:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 0;font-size:14px;display:grid}.mxnote{overflow-wrap:anywhere}.mxdel{color:var(--muted);cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:18px}.mrules{color:var(--ink);gap:4px;margin:4px 0 0;padding-left:18px;font-size:14px;display:grid}.htag{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.wform{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.wform label{color:var(--ink);font-size:13px;font-weight:600}.wform input{width:96px;font:500 15px var(--f-mono);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:7px 10px}.wform button{border:1.5px solid var(--accent);background:var(--accent);min-height:36px;color:var(--on-solid);cursor:pointer;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600}.werr{color:var(--bad);width:100%;font-size:13px}.werr:empty{display:none}.hstats{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:8px;font-size:14px;display:flex}.hstats b{font:700 18px var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}.wchart-wrap{overflow-x:auto}.wchart{width:100%;min-width:320px;height:auto;display:block}.wchart .ax{font:500 11px var(--f-mono);fill:var(--muted)}.wchart .ml{font:600 12px var(--f-body);fill:var(--muted)}.wchart .vl{font:600 13px var(--f-mono);fill:var(--ink)}.wlog{margin-top:8px;font-size:14px}.wlog summary{cursor:pointer;color:var(--accent);font-weight:600}.wlog table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:6px}.wlog th,.wlog td{text-align:left;border-bottom:1px solid var(--rule);padding:6px 16px 6px 0}.wlog th{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--categorical-3:#b0346a;--categorical-4:#0e7680;--categorical-5:#8a3fb0;--categorical-6:#251e5c;--on-categorical-6:#fff;--tab-h:60px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--categorical-3:#f08fb6;--categorical-4:#4fc5ce;--categorical-5:#d59cf5;--categorical-6:#6c66d1;--on-categorical-6:#fff}}:root[data-theme=dark]{--categorical-3:#f08fb6;--categorical-4:#4fc5ce;--categorical-5:#d59cf5;--categorical-6:#6c66d1;--on-categorical-6:#fff}html,body{margin:0}body{min-height:100vh;overflow-x:hidden}*{box-sizing:border-box}input,select,textarea{font:inherit;color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{min-height:100vh;display:flex}.main{min-width:0;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom,0px));flex:1}.side{display:none}.tabbar{z-index:20;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.side a{color:var(--muted);align-items:center;font-weight:600;text-decoration:none;display:flex}.tabbar a{min-height:var(--tab-h);flex-direction:column;justify-content:center;gap:2px;font-size:11px}.tabbar a[aria-current=page],.side a[aria-current=page]{color:var(--accent)}.ico{flex:none;width:22px;height:22px}.gear{width:44px;height:44px;color:var(--ink);border:1px solid var(--line);background:var(--paper);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}@media (width>=900px){.tabbar,.gear{display:none}.main{padding-bottom:0}.side{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:2px;width:216px;height:100vh;padding:22px 12px;display:flex;position:sticky;top:0}.side .brand{font:700 18px/1.2 var(--f-display);padding:0 10px 16px}.side a{border-radius:10px;gap:10px;min-height:44px;padding:10px;font-size:15px}.side a[aria-current=page]{background:var(--accent-soft)}.side .spacer{flex:1}}.page{max-width:560px;padding-block:20px 48px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));flex-direction:column;gap:22px;margin:0 auto;display:flex}.col{flex-direction:column;gap:22px;min-width:0;display:flex}@media (width>=1200px){.page.wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px 36px;max-width:1160px;padding-left:32px;padding-right:32px;display:grid}.page.wide>.full{grid-column:1/-1}}.top .right{align-items:center;gap:6px;display:flex}.card{background:var(--paper);box-shadow:var(--shadow);border-radius:14px;padding:16px}.btn{border:1.5px solid var(--line);cursor:pointer;min-height:44px;color:var(--ink);background:0 0;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-solid)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn:disabled{opacity:.45;cursor:default}.linkbtn{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:0;padding:0;font-weight:600;text-decoration:underline}.offcard{border:1.5px dashed var(--line);color:var(--muted);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 14px;font-size:14px;display:flex}.offcard b{color:var(--ink);font-weight:600}.nav button,.mnav button,.step button{min-width:44px;height:44px}.seg button,.c-actions button,.addbtn,.freebtn,.wform button,.mxform button{min-height:44px}.rchip{min-height:40px}.mxdel{width:44px;height:44px}.mpill{font:600 13px/1 var(--f-body);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.mdot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.nowbar{gap:12px;display:grid}.now-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.now-top .elapsed{font:600 15px var(--f-mono);font-variant-numeric:tabular-nums}.now-top .since{color:var(--muted);font-size:13px}.now-note{gap:8px;display:flex}.now-note input{min-width:0;font:15px var(--f-body);border:1.5px solid var(--line);background:var(--bg);border-radius:10px;flex:1;min-height:44px;padding:9px 12px}.modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.modes button{border:1.5px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 4px;font-size:13px;font-weight:600;display:flex}@media (width<=380px){.modes button{gap:4px;font-size:12px}.modes .mdot{width:8px;height:8px}}.modes button[aria-pressed=true]{border-color:var(--ink);background:var(--rule)}.now-opts{flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;display:flex}.now-opts label{align-items:center;gap:8px;display:flex}.now-opts select,.now-opts input[type=time]{font:14px var(--f-body);border:1.5px solid var(--line);background:var(--paper);border-radius:8px;min-height:44px;padding:8px 10px}.toggle{border:1.5px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;align-items:center;gap:8px;min-height:44px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.toggle[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.prompt{background:var(--warn-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;font-size:14px;display:flex}.prompt.info{background:var(--accent-soft)}.prompt .acts{gap:8px;display:flex}.review{gap:8px;display:grid}.review .prompt{background:var(--accent-soft)}.tl{background:var(--rule);border-radius:6px;height:32px;display:flex;overflow:hidden}.tl>button,.tl>span{border:0;min-width:2px;height:100%;padding:0}.tl>button{cursor:pointer}.tl .gap{background:repeating-linear-gradient(45deg, var(--line) 0 2px, transparent 2px 7px)}.tl .fut{background:0 0}.tl-axis{height:16px;font:500 11px var(--f-mono);color:var(--muted);margin-top:4px;position:relative}.tl-axis span{position:absolute;transform:translate(-50%)}.tl-axis span:first-child{transform:none}.tl-axis span:last-child{transform:translate(-100%)}.tl-key{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:12px;display:flex}.tl-key span{align-items:center;gap:5px;display:inline-flex}.erow{border-top:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:8px 0;font-size:14px;display:grid}.erow .when{min-width:112px}.erow .what{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.erow .enote{color:var(--muted);overflow-wrap:anywhere}.erow.gaprow .what{color:var(--muted)}.mrow{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;padding:9px 0;font-size:14px;display:grid}.mrow .tgt{color:var(--muted);font-size:13px}.mrow .mins{font:600 13px var(--f-mono);font-variant-numeric:tabular-nums;text-align:right}.chart-wrap{overflow-x:auto}.wkchart{width:100%;min-width:440px;height:auto;display:block}.wkchart .ax,.pathchart .ax{font:500 11px var(--f-mono);fill:var(--muted)}.pathchart{width:100%;min-width:320px;height:auto;display:block}.pathchart .vl{font:600 12px var(--f-mono);fill:var(--ink)}.pathchart .gl{font:600 12px var(--f-body);fill:var(--accent)}.pathchart .nl{font:500 11px var(--f-body);fill:var(--muted)}details.data{margin-top:8px;font-size:14px}details.data summary{cursor:pointer;color:var(--accent);min-height:32px;font-weight:600}.dtable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:6px;font-size:13px}.dtable th,.dtable td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:6px 10px 6px 0}.dtable th{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.table-wrap{overflow-x:auto}.ceditor .row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ceditor .row2>div{gap:4px;display:grid}.field-note{color:var(--muted);font-size:13px}.ok-msg{color:var(--good);font-size:13px}.err-msg{color:var(--bad);font-size:13px}.subtabs{background:var(--rule);border-radius:12px;align-self:flex-start;gap:6px;padding:4px;display:flex}.subtabs button{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:0 16px;font-size:14px;font-weight:600}.subtabs button[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014}.c-income{font:600 12px var(--f-mono);color:var(--good)}.md p{margin:0 0 10px;font-size:15px}.md ul,.md ol{gap:4px;margin:0 0 10px;padding-left:20px;font-size:15px;display:grid}.md .sub{font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:12px 0 6px}.md code{font-family:var(--f-mono);font-size:13px}.wk{border-top:1px solid var(--rule)}.wk summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:10px;min-height:44px;padding:11px 0;font-weight:600;list-style:none;display:flex}.wk summary::-webkit-details-marker{display:none}.wk summary:before{content:"›";width:14px;color:var(--muted);transition:transform .15s;display:inline-block}.wk[open] summary:before{transform:rotate(90deg)}.wk summary .t{flex:1}.wk .task:first-of-type{border-top:0}.qhead{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:18px 0 4px}.set-row{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:10px 0;display:flex}.set-row label{font-size:15px;font-weight:600}.set-row .hint{color:var(--muted);font-size:13px;font-weight:400;display:block}.set-row input,.set-row select{font:500 14px var(--f-mono);border:1.5px solid var(--line);background:var(--paper);border-radius:8px;width:120px;min-height:44px;padding:8px 10px}.fieldset{border:1px solid var(--line);border-radius:10px;gap:8px;margin:10px 0;padding:12px;display:grid}.fieldset legend{font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 4px}.fgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.fgrid label,.fstack label{font:600 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:4px;display:grid}.fgrid input,.fgrid select,.fstack input,.fstack textarea{font:15px var(--f-body);border:1.5px solid var(--line);background:var(--bg);color:var(--ink);text-transform:none;letter-spacing:0;border-radius:8px;width:100%;min-height:44px;padding:8px 10px}.fstack{gap:8px;display:grid}.seg-choice{flex-wrap:wrap;gap:6px;display:flex}.syncline{max-width:1160px;padding:0 max(16px, env(safe-area-inset-left,0px)) 24px;font:500 12px var(--f-mono);color:var(--muted);margin:-24px auto 0}.syncline .linkbtn{font:inherit;color:var(--accent)}.ai-result{background:var(--rule);border-radius:10px;gap:6px;margin-top:8px;padding:10px 12px;font-size:14px;display:grid}.ai-result ul{margin:0;padding-left:18px}
