*{box-sizing:border-box;margin:0;padding:0}:root{--serif:"Instrument Serif",Georgia,serif;--mono:"Space Mono",ui-monospace,monospace;--sans:"Inter",system-ui,sans-serif;--nav:236px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0a0a09;--ink2:#121210;--ink3:#191713;--ink4:#221f1a;--cream:#f3eee4;--dim:#b0aa9d;--faint:#6e685e;--line:#f3eee421;--line2:#f3eee442;--rust:#fa651b;--acc-fg:#fa651b;--rustd:#d14e12;--amber:#f5934a;--green:#2e7d5b;--green2:#4fbf8b;--red:#c4442b;--blocked-fg:#e4705a;--done-fg:#5fbf92;--weekend:#f3eee405;--onrust:#1a0b03;--shadow:0 20px 48px #0000008c}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#faf6ef;--ink2:#fff;--ink3:#f1eadd;--ink4:#e4daca;--cream:#171310;--dim:#5a5249;--faint:#8a8177;--line:#1713101c;--line2:#17131033;--rust:#fa651b;--acc-fg:#c24a0c;--rustd:#d14e12;--amber:#c2621c;--green:#1e7a52;--green2:#1e7a52;--red:#b03a22;--blocked-fg:#a33a22;--done-fg:#1e7a52;--weekend:#17131009;--onrust:#1a0b03;--shadow:0 18px 42px #17131026}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#faf6ef;--ink2:#fff;--ink3:#f1eadd;--ink4:#e4daca;--cream:#171310;--dim:#5a5249;--faint:#8a8177;--line:#1713101c;--line2:#17131033;--rust:#fa651b;--acc-fg:#c24a0c;--rustd:#d14e12;--amber:#c2621c;--green:#1e7a52;--green2:#1e7a52;--red:#b03a22;--blocked-fg:#a33a22;--done-fg:#1e7a52;--weekend:#17131009;--onrust:#1a0b03;--shadow:0 18px 42px #17131026}html,body{height:100%}body{background:var(--ink);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--ink4);border-radius:6px}.shell{min-height:100vh;display:flex}.side{min-width:0;width:var(--nav);flex:0 0 var(--nav);border-right:1px solid var(--line);background:var(--ink);flex-direction:column;gap:4px;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.navlist{flex-direction:column;gap:4px;display:flex}.navmark{margin-top:8px}.navlink.morebtn,.mobsheet,.mobscrim{display:none}.brand{align-items:center;gap:11px;margin-bottom:30px;padding:0 6px;display:flex}.brand img{width:26px;height:auto;display:block}.brand b{letter-spacing:-.01em;font-size:15px;font-weight:700}.brand span{font-family:var(--mono);letter-spacing:.19em;color:var(--faint);text-transform:uppercase;font-size:7.5px;display:block}.navlink{color:var(--dim);border-radius:9px;align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;transition:background .14s,color .14s;display:flex}.navlink .no{font-family:var(--mono);color:var(--faint);font-size:9px}.navlink:hover{background:var(--ink2);color:var(--cream)}.navlink.on{background:var(--ink3);color:var(--cream)}.navlink.on .no{color:var(--acc-fg)}.navfoot{font-family:var(--mono);color:var(--faint);letter-spacing:.1em;margin-top:auto;padding:0 8px;font-size:9px}.navfoot button{color:var(--faint);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.navfoot button:hover{color:var(--acc-fg)}main{flex:1;min-width:0;padding:34px 40px 90px}h1{font-family:var(--serif);letter-spacing:-.005em;font-size:38px;font-weight:400;line-height:1.05}h2{font-family:var(--serif);font-size:23px;font-weight:400}.kicker{font-family:var(--mono);letter-spacing:.19em;text-transform:uppercase;color:var(--acc-fg);margin-bottom:11px;font-size:9.5px;display:block}.sub{color:var(--dim);max-width:62ch;margin-top:9px;font-size:14px;line-height:1.6}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.card{background:var(--ink2);border:1px solid var(--line);border-radius:15px;padding:20px}.grid{gap:13px;display:grid}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.btn{background:var(--rust);color:var(--onrust);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;border:none;border-radius:100px;padding:9px 17px;font-size:10px;font-weight:700}.btn:hover{background:var(--amber)}.btn.ghost{color:var(--dim);border:1px solid var(--line2);background:0 0}.btn.ghost:hover{color:var(--acc-fg);border-color:var(--acc-fg)}.btn:disabled{opacity:.45;cursor:default}.inp,textarea.inp,select.inp{background:var(--ink3);border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:10px 13px;font-size:13.5px}.inp:focus{border-color:var(--rust)}textarea.inp{resize:vertical;min-height:74px;line-height:1.55}label.fl{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 6px;font-size:9px;display:block}.field{margin-bottom:13px}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.chip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);color:var(--dim);cursor:pointer;background:0 0;border-radius:100px;padding:4px 9px;font-size:9px}.chip.on{background:var(--rust);border-color:var(--rust);color:var(--onrust);font-weight:700}.stat{font-family:var(--serif);font-size:34px;line-height:1}.stat small{font-family:var(--mono);letter-spacing:.13em;color:var(--faint);text-transform:uppercase;margin-top:8px;font-size:9px;display:block}.muted{color:var(--faint);font-size:12.5px}.empty{color:var(--faint);font-family:var(--mono);padding:24px 0;font-size:11px}.err{color:var(--red);margin-top:8px;font-size:12.5px}.ok{color:var(--green);margin-top:8px;font-size:12.5px}.loading{color:var(--faint);font-family:var(--mono);padding:40px 0;font-size:11px}.av{width:24px;height:24px;font-family:var(--mono);color:var(--onrust);border-radius:50%;flex:0 0 24px;place-items:center;font-size:8.5px;font-weight:700;display:grid}.av.lg{flex-basis:32px;width:32px;height:32px;font-size:10px}.trow{border-top:1px solid var(--line);grid-template-columns:26px 1fr auto auto auto;align-items:center;gap:13px;padding:13px 4px;display:grid}.trow:last-child{border-bottom:1px solid var(--line)}.tick{border:1.5px solid var(--line2);cursor:pointer;background:0 0;border-radius:6px;width:19px;height:19px}.tick.done{background:var(--rust);border-color:var(--rust)}.ttitle{font-size:14px;line-height:1.4}.trow.is-done .ttitle{color:var(--faint);text-decoration:line-through}.tmeta{font-family:var(--mono);letter-spacing:.09em;color:var(--faint);text-transform:uppercase;font-size:9px}.pill{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:100px;padding:3px 8px;font-size:8.5px}.pill.open{background:var(--ink4);color:var(--dim)}.pill.doing{color:var(--acc-fg);background:#fa651b29}.pill.blocked{color:var(--blocked-fg);background:#c4442b2e}.pill.done{color:var(--done-fg);background:#2e7d5b2e}.gantt{border:1px solid var(--line);background:var(--ink2);border-radius:14px;overflow:hidden}.gscroll{overflow-x:auto}.ghead{border-bottom:1px solid var(--line);background:var(--ink3);z-index:2;display:flex;position:sticky;top:0}.gname{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint);border-right:1px solid var(--line);background:var(--ink3);z-index:3;flex:0 0 230px;padding:11px 15px;font-size:9px;position:sticky;left:0}.gdays{flex:1;display:flex}.gday{flex:0 0 var(--dayw);text-align:center;font-family:var(--mono);color:var(--faint);border-right:1px solid var(--line);padding:8px 0;font-size:8.5px}.gday.mon{color:var(--dim)}.gday.today{color:var(--acc-fg);background:#fa651b21}.gday b{color:inherit;font-size:9.5px;display:block}.grow{border-bottom:1px solid var(--line);min-height:42px;display:flex}.grow:last-child{border-bottom:none}.grow:hover{background:var(--ink3)}.gtask{border-right:1px solid var(--line);background:var(--ink2);z-index:1;flex:0 0 230px;align-items:center;gap:9px;padding:10px 15px;display:flex;position:sticky;left:0}.grow:hover .gtask{background:var(--ink3)}.gtask span{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.35;overflow:hidden}.glane{flex:1;display:flex;position:relative}.gcell{flex:0 0 var(--dayw);border-right:1px solid var(--line)}.gcell.today{background:#fa651b14}.gcell.we{background:var(--weekend)}.gbar{background:var(--ink4);border:1px solid var(--line2);cursor:pointer;border-radius:6px;align-items:center;height:23px;display:flex;position:absolute;top:9px;overflow:hidden}.gbar i{background:var(--rust);opacity:.85;position:absolute;top:0;bottom:0;left:0}.gbar em{font-style:normal;font-family:var(--mono);color:var(--cream);white-space:nowrap;z-index:1;padding:0 8px;font-size:8.5px;position:relative}.gbar.done i{background:var(--green)}.gbar.blocked{border-color:var(--red)}.gbar.nodate{background:repeating-linear-gradient(45deg,var(--ink4),var(--ink4) 5px,transparent 5px,transparent 10px)}.obj{border:1px solid var(--line);background:var(--ink2);border-radius:15px;margin-bottom:13px;padding:20px}.krrow{border-top:1px solid var(--line);grid-template-columns:1fr 150px 78px;align-items:center;gap:14px;padding:11px 0;display:grid}.bar{background:var(--ink4);border-radius:5px;height:7px;overflow:hidden}.bar i{background:var(--rust);border-radius:5px;height:100%;display:block}.pct{font-family:var(--mono);color:var(--dim);text-align:right;font-size:11px}.demo{border:1px solid var(--line);background:var(--ink2);border-radius:13px;margin-bottom:10px;padding:15px 17px}.demo.done{opacity:.5}.demo p{white-space:pre-wrap;font-size:14px;line-height:1.55}.demo .foot{flex-wrap:wrap;align-items:center;gap:10px;margin-top:11px;display:flex}.demo img{border-radius:9px;max-width:100%;margin-top:11px;display:block}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login .box{width:100%;max-width:370px}.login h1{margin-bottom:6px;font-size:34px}@media (max-width:900px){.shell{flex-direction:column}.side{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;flex:none;gap:5px;width:auto;height:auto;padding:12px;position:static;overflow-x:auto}.brand{flex:none;margin:0 12px 0 4px}.navfoot{display:none}.navlink{flex:none;padding:8px 12px}.navlink .no{display:none}main{padding:22px 18px 70px}.g2,.g3,.g4{grid-template-columns:1fr}h1{font-size:29px}.trow{grid-template-columns:26px 1fr auto;row-gap:7px}.krrow{grid-template-columns:1fr 90px 56px}}.mon{font-variant-numeric:tabular-nums}.stat.mon{font-family:var(--serif)}.brow{grid-template-columns:118px 1fr 78px;align-items:center;gap:12px;padding:9px 0;display:grid}.blabel{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.bval{font-family:var(--mono);color:var(--cream);text-align:right;font-size:10.5px}.bar i.in{background:var(--green2)}.bar i.out{background:var(--amber)}.lrow{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:9px 1fr auto;align-items:center;gap:13px;padding:12px 4px;display:grid}.lrow:hover{background:var(--ink3)}.lrow .dot{border-radius:50%;width:7px;height:7px}.lrow .dot.in{background:var(--green2)}.lrow .dot.out{background:var(--amber)}.amt{font-family:var(--mono);white-space:nowrap;font-size:12.5px}.amt.in{color:var(--green2)}.amt.out{color:var(--dim)}@media (max-width:760px){.brow{grid-template-columns:96px 1fr 66px}}.themeset{border:1px solid var(--line);background:var(--ink2);border-radius:100px;gap:2px;margin-top:auto;padding:3px;display:flex}.themeset button{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:0 0;border:none;border-radius:100px;flex:1;padding:6px 4px;font-size:8.5px;transition:background .14s,color .14s}.themeset button:hover{color:var(--cream)}.themeset button.on{background:var(--ink4);color:var(--cream)}.themeset button:focus-visible{outline:2px solid var(--acc-fg);outline-offset:1px}.navfoot{margin-top:14px}@media (max-width:900px){.themeset{flex:none;margin-top:0;margin-left:auto}.themeset button{padding:6px 9px}}.page{width:100%;max-width:1480px;margin-inline:auto}@media (min-width:1700px){main{padding:44px 54px 100px}.page{max-width:1560px}h1{font-size:44px}h2{font-size:26px}.stat{font-size:40px}.sub,.ttitle{font-size:15px}.card,.obj{border-radius:17px;padding:24px}}@media (min-width:2400px){:root{--nav:300px}main{padding:64px 76px 130px}.page{max-width:1980px}h1{font-size:58px}h2{font-size:32px}.stat{font-size:54px}.stat small{font-size:12px}.sub{font-size:19px}.ttitle{font-size:18px}.tmeta,.kicker{font-size:12px}.card,.obj{border-radius:22px;padding:32px}.grid{gap:20px}.navlink{padding:13px 16px;font-size:17px}.navlink .no{font-size:12px}.brand b{font-size:20px}.brand img{width:34px}.btn{padding:12px 22px;font-size:13px}.chip{padding:6px 12px;font-size:11.5px}.amt,.blabel{font-size:16px}.bval{font-size:13px}.brow{grid-template-columns:170px 1fr 110px}}.fbtn{z-index:60;background:var(--rust);color:var(--onrust);cursor:pointer;box-shadow:var(--shadow);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:100px;padding:12px 20px;font-size:10px;font-weight:700;position:fixed;bottom:22px;right:22px}.fbtn:hover{background:var(--amber)}.fpanel{z-index:60;background:var(--ink2);border:1px solid var(--line2);width:min(400px,100vw - 44px);box-shadow:var(--shadow);border-radius:17px;padding:19px;position:fixed;bottom:74px;right:22px}.fpanel textarea.inp{min-height:104px}.fdone{font-family:var(--serif);padding:14px 4px;font-size:23px}@media (max-width:900px){.fbtn{padding:11px 17px;bottom:14px;right:14px}.fpanel{width:auto;bottom:64px;left:14px;right:14px}}@supports (padding:max(0px)){@media (max-width:900px){.side{padding-top:max(12px,env(safe-area-inset-top))}main{padding-bottom:max(70px,calc(56px + env(safe-area-inset-bottom)))}}.fbtn{bottom:max(22px,calc(16px + env(safe-area-inset-bottom)))}.fpanel{bottom:max(74px,calc(68px + env(safe-area-inset-bottom)))}}@media (display-mode:standalone){body{overscroll-behavior-y:none}}.inp.code{font-family:var(--mono);letter-spacing:.36em;text-align:center;padding:14px 10px;font-size:26px}.inp.code::placeholder{letter-spacing:.36em;color:var(--faint)}.navfoot button{text-align:left;display:block}@media (max-width:900px){.navfoot{flex:none;align-items:center;gap:14px;margin:0 0 0 8px;display:flex}.navfoot>div{display:none}.navfoot button{display:inline-block}.side{border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:12px;padding:10px 14px;display:flex;overflow:visible}.brand{flex:none;margin:0}.brand span,.navfoot,.navmark{display:none}.themeset{flex:none;margin:0 0 0 auto}.themeset button{padding:6px 10px}.sheetfoot{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:4px;padding-top:11px;display:flex}.sheetfoot button{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:0 0;border:none;padding:9px 4px;font-size:9.5px}.sheetfoot button:hover{color:var(--acc-fg)}.navlist{z-index:60;background:var(--ink);border-top:1px solid var(--line);padding:0;padding-bottom:env(safe-area-inset-bottom);flex-direction:row;gap:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 18px #0000004d}.navlink{letter-spacing:.02em;white-space:nowrap;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:9px 2px 8px;font-size:9.5px;position:relative}.navlink .no{font-size:14px;font-weight:700;display:block}.navlink:hover{color:var(--dim);background:0 0}.navlink.on{color:var(--acc-fg);background:0 0}.navlink.on .no{color:var(--acc-fg)}.navlink.on:before{content:"";background:var(--rust);border-radius:0 0 3px 3px;height:2px;position:absolute;top:0;left:26%;right:26%}.navlink.mob-rest{display:none}.navlink.morebtn{cursor:pointer;font:inherit;color:var(--dim);background:0 0;border:none;font-size:9.5px;display:flex}.mobscrim{z-index:65;background:#00000073;display:block;position:fixed;inset:0}.mobsheet{z-index:70;left:12px;right:12px;bottom:calc(70px + env(safe-area-inset-bottom));background:var(--ink2);border:1px solid var(--line2);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:1fr 1fr;gap:5px;padding:10px;display:grid;position:fixed}.mobsheet .navlink{border-radius:10px;flex-direction:row;justify-content:flex-start;gap:9px;padding:13px;font-size:12.5px}.mobsheet .navlink .no{font-size:11px}.mobsheet .navlink.on{background:var(--ink4);color:var(--cream)}.mobsheet .navlink.on:before{display:none}main{padding:20px 16px calc(86px + env(safe-area-inset-bottom))}.fbtn{right:14px;bottom:calc(78px + env(safe-area-inset-bottom));padding:11px 17px}.fpanel{width:auto;left:14px;right:14px;bottom:calc(130px + env(safe-area-inset-bottom))}}
