:root{--bg:#f4f3ef;--bg-2:#ecebe5;--surface:#fbfaf6;--surface-2:#fff;--text:#38362f;--text-2:#6e6a5e;--text-3:#a29c8c;--accent:#4c56c0;--accent-h:#40499f;--accent-soft:#e8e9f7;--border:#e3dfd3;--border-2:#d3cebf;--danger:#c24536;--danger-soft:#f6e4e0;--p0:var(--danger);--p1:var(--doing);--p2:color-mix(in srgb, var(--doing) 45%, var(--done));--p3:var(--done);--doing:#d98b1f;--doing-soft:#f6ead9;--done:#3c8d5e;--done-soft:#e0efe5;--sus:#8d8675;--sus-soft:#eceae3;--hover:#4c56c00f;--shadow:0 10px 32px -8px #28241c47, 0 2px 8px #28241c1a;--shadow-drawer:-14px 0 44px -16px #00000059;--bar-h:38px;--rail-w:64px;--font:"Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--disp:"Segoe UI Semibold", "Segoe UI", "Microsoft YaHei UI", sans-serif;--mono:"Cascadia Code", "Cascadia Mono", Consolas, monospace;--h0:#e5e8f1;--h1:#b0bbf1;--h2:#7b88e8;--h3:#4b55d0;--h4:#2b2f9c}:root[data-theme=dark]{--bg:#1b1c26;--bg-2:#181921;--surface:#21222f;--surface-2:#272834;--text:#c9c5b7;--text-2:#8b8675;--text-3:#676258;--accent:#7b83e8;--accent-h:#939af1;--accent-soft:#262a4d;--border:#2e2f3e;--border-2:#3b3c4c;--danger:#e26b5b;--danger-soft:#3a2622;--doing:#e8ab45;--doing-soft:#3a2f1e;--done:#78bd92;--done-soft:#1f3328;--sus:#8d8675;--sus-soft:#2b2a24;--hover:#7b83e81f;--shadow:0 12px 36px -8px #00000080, 0 2px 8px #0000004d;--shadow-drawer:-14px 0 44px -16px #0009;--h0:#2c3247;--h1:#39448a;--h2:#4f5cc4;--h3:#8b96f0;--h4:#ccd2ff}@media (prefers-color-scheme:dark){:root[data-theme=sys]{--bg:#1b1c26;--bg-2:#181921;--surface:#21222f;--surface-2:#272834;--text:#c9c5b7;--text-2:#8b8675;--text-3:#676258;--accent:#7b83e8;--accent-h:#939af1;--accent-soft:#262a4d;--border:#2e2f3e;--border-2:#3b3c4c;--danger:#e26b5b;--danger-soft:#3a2622;--doing:#e8ab45;--doing-soft:#3a2f1e;--done:#78bd92;--done-soft:#1f3328;--sus:#8d8675;--sus-soft:#2b2a24;--hover:#7b83e81f;--shadow:0 12px 36px -8px #00000080, 0 2px 8px #0000004d;--shadow-drawer:-14px 0 44px -16px #0009;--h0:#2c3247;--h1:#39448a;--h2:#4f5cc4;--h3:#8b96f0;--h4:#ccd2ff}}[data-scheme=indigo]{--h0:#e5e8f1;--h1:#b0bbf1;--h2:#7b88e8;--h3:#4b55d0;--h4:#2b2f9c}[data-scheme=warm]{--h0:#ece9df;--h1:#f2d7a7;--h2:#e8b96a;--h3:#d99a3d;--h4:#c47a26}[data-scheme=green]{--h0:#e5ece2;--h1:#c5e0b8;--h2:#8fc47e;--h3:#5ba04a;--h4:#3c7a31}[data-scheme=sea]{--h0:#e3e9ef;--h1:#bcd6e8;--h2:#8ab5d4;--h3:#4f8fbd;--h4:#2d6c9c}[data-scheme=sakura]{--h0:#f2e7ea;--h1:#f2c4cf;--h2:#e896a8;--h3:#d96b84;--h4:#b84a66}:root[data-theme=dark] [data-scheme=indigo],:root[data-theme=dark][data-scheme=indigo]{--h0:#2c3247;--h1:#39448a;--h2:#4f5cc4;--h3:#8b96f0;--h4:#ccd2ff}:root[data-theme=dark] [data-scheme=warm],:root[data-theme=dark][data-scheme=warm]{--h0:#2a2a25;--h1:#5c4a2c;--h2:#8a6a35;--h3:#b58a45;--h4:#d9a55a}:root[data-theme=dark] [data-scheme=green],:root[data-theme=dark][data-scheme=green]{--h0:#232a25;--h1:#2f4a33;--h2:#3f6b45;--h3:#56925e;--h4:#74b87d}:root[data-theme=dark] [data-scheme=sea],:root[data-theme=dark][data-scheme=sea]{--h0:#23272c;--h1:#2c4252;--h2:#3c6180;--h3:#4f87b0;--h4:#6fa9d4}:root[data-theme=dark] [data-scheme=sakura],:root[data-theme=dark][data-scheme=sakura]{--h0:#2c2428;--h1:#5a3440;--h2:#84465a;--h3:#b05e7a;--h4:#d97f9b}@media (prefers-color-scheme:dark){:root[data-theme=sys] [data-scheme=indigo]{--h0:#2c3247;--h1:#39448a;--h2:#4f5cc4;--h3:#8b96f0;--h4:#ccd2ff}:root[data-theme=sys] [data-scheme=warm]{--h0:#2a2a25;--h1:#5c4a2c;--h2:#8a6a35;--h3:#b58a45;--h4:#d9a55a}:root[data-theme=sys] [data-scheme=green]{--h0:#232a25;--h1:#2f4a33;--h2:#3f6b45;--h3:#56925e;--h4:#74b87d}:root[data-theme=sys] [data-scheme=sea]{--h0:#23272c;--h1:#2c4252;--h2:#3c6180;--h3:#4f87b0;--h4:#6fa9d4}:root[data-theme=sys] [data-scheme=sakura]{--h0:#2c2428;--h1:#5a3440;--h2:#84465a;--h3:#b05e7a;--h4:#d97f9b}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font:400 13px/1.6 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overflow:hidden}button{font-family:var(--font);color:inherit}input,textarea{font-family:var(--font)}svg{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);border:2px solid var(--bg);border-radius:5px}::-webkit-scrollbar-track{background:0 0}#toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;z-index:99;box-shadow:var(--shadow);border-radius:9px;max-width:70vw;padding:9px 16px;font-size:12.5px;transition:all .25s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,16px)}#toast.show{opacity:1;transform:translate(-50%)}@keyframes fadeup{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fadeup{animation:.3s fadeup}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{flex-direction:column;height:100vh;display:flex}.app-body{flex:1;min-height:0;display:flex}.titlebar{height:var(--bar-h);flex:0 0 var(--bar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:90;cursor:default;align-items:center;gap:12px;padding:0 8px 0 14px;display:flex}.brand{font:700 14px var(--disp);letter-spacing:.2px}.tb-grow{flex:1}.hint{font:400 11px var(--mono);color:var(--text-3);border:1px dashed var(--border-2);border-radius:7px;align-items:center;gap:5px;padding:3px 10px;display:flex}.hint kbd{font:500 10.5px var(--mono);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);border-bottom-width:2px;border-radius:4px;padding:0 5px;line-height:16px}.tb-btn{width:30px;height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:background .15s,color .15s;display:grid}.tb-btn svg{width:15px;height:15px}.tb-btn:hover{background:var(--hover);color:var(--text)}.tb-btn.on{background:var(--accent);color:#fff}.tb-btn.close:hover{background:var(--danger);color:#fff}.tb-sep{width:2px}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);background:var(--surface);border-right:1px solid var(--border);z-index:80;flex-direction:column;align-items:center;gap:3px;padding:12px 0 10px;display:flex;position:relative}.rail-btn{width:42px;height:42px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;transition:background .15s,color .15s;display:grid;position:relative}.rail-btn svg{width:19px;height:19px}.rail-btn:hover{background:var(--hover);color:var(--text)}.rail-btn.active{background:var(--accent);color:#fff}.rail-btn .dot{background:var(--danger);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;display:none;position:absolute;top:8px;right:8px}.rail-btn .dot.show{display:block}.rail-grow{flex:1}.rail-sep{background:var(--border);width:26px;height:1px;margin:4px 0}.part-wrap{position:relative}.part-btn{flex-direction:column;gap:2px;width:56px;height:auto;padding:6px 2px 5px;display:flex}.part-top{align-items:center;gap:3px;display:flex}.part-lock{width:11px;height:11px;color:var(--text-3);flex:none;display:flex}.part-lock:empty{display:none}.part-lock svg{width:100%;height:100%}.part-cap{max-width:100%;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;overflow:hidden}.part-pop{background:var(--surface-2);border:1px solid var(--border);width:184px;box-shadow:var(--shadow);z-index:85;border-radius:10px;padding:5px;display:none;position:absolute;bottom:-4px;left:58px}.part-pop.open{display:block}.part-item{cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.part-item:hover{background:var(--hover)}.part-item.on{color:var(--accent);background:var(--accent-soft);font-weight:500}.part-item .cnt{font:400 10.5px var(--mono);color:var(--text-3);margin-left:auto}.pt-tick{width:12px;height:12px;color:var(--accent);flex:none;display:flex}.pt-tick svg{width:100%;height:100%}.pt-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pt-lock{width:11px;height:11px;color:var(--text-3);flex:none;display:flex}.pt-lock svg{width:100%;height:100%}.main{flex:1;min-width:0;position:relative;overflow:hidden}.page{height:100%;padding:22px 28px 32px;display:none;overflow:auto}.page.active{flex-direction:column;display:flex}.inner{flex-direction:column;flex:auto;width:100%;max-width:1320px;min-height:0;margin:0 auto;display:flex}.ph{flex-wrap:wrap;flex:none;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.ph-t{font:700 21px var(--disp);letter-spacing:.2px;line-height:1.25}.ph-d{color:var(--text-2);padding-bottom:2px;font-size:12px}.ph-grow{flex:1}.tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.tools .grow{flex:1}.ph .tools{margin-bottom:0}.page-body{flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex}.ph-note{font:400 10.5px var(--mono)}.drawer{top:var(--bar-h);z-index:70;width:392px;box-shadow:var(--shadow-drawer);border-left:1px solid var(--border);background:var(--surface);flex-direction:column;transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:0;right:0;transform:translate(105%)}.drawer.open{transform:none}.dr-h{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 18px 12px;display:flex}.dr-h .t{font:700 15px var(--font);flex:1;min-width:0}.dr-h1{align-items:center;gap:10px;width:100%;display:flex}.dr-name{min-width:0;font:700 14.5px var(--font);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dr-sub{align-items:center;gap:8px;width:100%;font-size:11px;display:flex}.dr-close{border:1px solid var(--border-2);background:var(--surface-2);width:28px;height:28px;color:var(--text-2);cursor:pointer;border-radius:8px;flex:none;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.dr-close svg{width:14px;height:14px;display:block}.dr-close:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.dr-b{flex:1;padding:14px 18px;overflow-y:auto}.dr-sec{margin-bottom:16px}.dr-sec .lbl{font:500 10.5px var(--font);color:var(--text-3);letter-spacing:.8px;align-items:center;margin-bottom:7px;display:flex}.dr-sec .lbl .grow{flex:1}.icon-btn{width:26px;height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn svg{width:14px;height:14px}.set-sec{margin-bottom:18px}.set-sec-t{font:500 10.5px var(--font);color:var(--text-3);letter-spacing:1px;margin-bottom:4px}.part-more{border-left:2px solid var(--border);margin:0 0 6px;padding-left:10px}.part-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.part-dot{cursor:pointer;border:1.5px solid var(--border-2);background:var(--surface-2);border-radius:50%;flex:none;width:11px;height:11px;padding:0;transition:border-color .15s,background .15s}.part-dot:hover{border-color:var(--accent)}.part-dot.on{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--surface)}.set-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:12.5px;display:flex}.set-row:last-child{border-bottom:0}.about{border-bottom:1px solid var(--border);margin-bottom:2px;padding:2px 0 10px}.about-name{font:700 15px var(--disp);letter-spacing:.2px;margin-bottom:4px}.about-lead{color:var(--text-2);margin:0 0 10px;font-size:12px;line-height:1.6}.about-h{font:500 10.5px var(--font);letter-spacing:1px;color:var(--text-3);margin:10px 0 5px}.about-list{color:var(--text-2);flex-direction:column;gap:4px;margin:0;padding-left:15px;font-size:11.5px;line-height:1.5;display:flex}.about-list li::marker{color:var(--text-3)}.set-row .v{color:var(--text-2);align-items:center;gap:8px;font-size:11.5px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px}.card-h{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:13px 16px 11px;display:flex}.card-h .t{font:600 14px var(--font)}.card-h .d{color:var(--text-3);font-size:11.5px}.card-h .t,.card-h .d{flex:none}.card-h .grow{flex:1}.card-b{padding:14px 16px}.card-f{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px 12px;display:flex}.btn{font:500 12.5px var(--font);cursor:pointer;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6.5px 14px;transition:all .15s;display:inline-flex}.btn svg{width:14px;height:14px}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-h)}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{border-color:var(--border-2);color:var(--text)}.btn.primary:disabled:hover{background:var(--accent)}.btn.danger{color:var(--text-2);background:0 0;border-color:#0000}.btn.danger:hover{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn.sm{padding:4px 10px;font-size:11.5px}.btn.sm.on{border-color:var(--accent);color:var(--accent)}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:12px;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip .cn{font:500 10.5px var(--mono);opacity:.85}.urg{font:700 9.5px var(--mono);letter-spacing:.3px;color:var(--p2);flex:none}.urg.u0{color:var(--p0);font-weight:800}.urg.u1{color:var(--p1)}.urg.u2{color:var(--p2);font-weight:600}.urg.u3{color:var(--p3);font-weight:500}.urg-pick{align-items:center;gap:5px;padding:3px 9px 3px 6px;display:inline-flex}.chip.st-overdue-note{cursor:default;color:var(--danger);border-style:dashed;border-color:var(--danger);background:var(--danger-soft)}.modal-card.wide{width:460px}.dt{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dt-k{color:var(--text-2);flex:none;min-width:30px;font-size:11.5px}.dt-date,.dt-time{font:400 11.5px var(--mono);color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);border-radius:6px;outline:none;padding:3px 6px}.dt-date:focus,.dt-time:focus{border-color:var(--accent)}.dt-time{width:76px}.dt-quick{flex:none}.dt-hint{font:400 11px var(--mono);color:var(--text-3);flex:none}.seg{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.seg button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1;padding:4px 12px;font-size:12px;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface-2);color:var(--accent);font-weight:500}.inp{font:400 12.5px var(--font);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);border-radius:8px;outline:none;width:100%;padding:6.5px 12px}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.searchbox{border:1px solid var(--border-2);background:var(--surface-2);border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 10px;transition:all .15s;display:inline-flex}.searchbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.searchbox .ic{width:13px;height:13px;color:var(--text-3);flex:none}.ctx-menu{background:var(--surface-2);border:1px solid var(--border);min-width:150px;box-shadow:var(--shadow);z-index:118;border-radius:10px;padding:5px;position:fixed}.ctx-menu .menu-item.danger{color:var(--danger)}.ctx-menu .menu-item.danger:hover{background:var(--danger-soft);color:var(--danger)}.qc-input{flex:none;width:244px}.pr-input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);font:400 13px var(--font);border-radius:8px;margin-top:14px;padding:8px 10px}.pr-input:focus{border-color:var(--accent);outline:none}.rowctl{flex:none;align-items:center;gap:8px;display:flex}.lock-screen{z-index:200;background:var(--surface);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lock-screen.show{display:flex}body.lock-suppressed .drawer{z-index:210}body.lock-suppressed .mask{z-index:220}.lock-card{border:1px solid var(--border);background:var(--surface-2);width:320px;box-shadow:var(--shadow);text-align:center;border-radius:12px;padding:22px}.lock-hint{min-height:16px;font:400 12px var(--font);color:var(--danger);margin-top:8px}.dr-title,.dr-tags{width:100%;min-width:0;color:var(--text);font:600 14px var(--font);background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 6px}.dr-tags{font:400 12px var(--mono);color:var(--text-2)}.dr-title:hover,.dr-tags:hover{border-color:var(--border)}.dr-title:focus,.dr-tags:focus{border-color:var(--accent);background:var(--surface-2);outline:none}.dr-due{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:400 12px var(--mono);border-radius:6px;padding:3px 6px}[data-theme=dark] .dr-due{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.due-quick{flex:none;gap:5px;display:flex}.searchbox .ic svg{width:13px;height:13px;display:block}.searchbox input{font:400 12px var(--mono);color:var(--text);background:0 0;border:0;outline:none;width:190px;min-width:0}.searchbox input::placeholder{color:var(--text-3)}.inp-wrap{position:relative}.inp-wrap>svg{width:14px;height:14px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.inp-wrap .inp{padding-left:32px}.dd{position:relative}.dd-btn{font:400 12.5px var(--font);border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.dd-btn:hover{border-color:var(--accent)}.dd-btn svg{width:11px;height:11px;color:var(--text-3)}.menu{background:var(--surface-2);border:1px solid var(--border);min-width:132px;box-shadow:var(--shadow);z-index:95;border-radius:10px;padding:5px;display:none;position:absolute;top:calc(100% + 4px);left:0}.menu.open{display:block}.menu.up{top:auto;bottom:calc(100% + 4px)}.mask{opacity:0;z-index:120;background:#100f0c6b;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:fixed;inset:0}.mask.show{opacity:1}.modal-card{background:var(--surface);border:1px solid var(--border);width:336px;max-width:calc(100vw - 32px);box-shadow:var(--shadow);border-radius:12px;padding:18px 18px 16px;transition:transform .18s cubic-bezier(.22,1,.36,1);transform:translateY(6px)scale(.98)}.mask.show .modal-card{transform:none}.modal-title{font:600 14px var(--font);color:var(--text)}.modal-detail{font:400 12.5px var(--font);color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:7px;line-height:1.5;display:-webkit-box;overflow:hidden}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal-actions .grow{flex:1}.modal-card.batch{width:524px}.batch-n{font:600 12.5px var(--font);color:var(--text-3);align-items:center;gap:7px;margin-top:11px;display:flex}.batch-n:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.batch-n.ok{color:var(--accent)}.batch-where{font:400 13px var(--font);color:var(--text-2);align-items:baseline;gap:5px;margin-top:8px;display:flex}.batch-where b{color:var(--text);font-weight:600}.batch-file{align-items:center;gap:9px;margin-top:11px;display:flex}.batch-skip,.batch-dup{border:1px solid var(--border);background:var(--surface-2);font:400 11.5px var(--mono);color:var(--text-2);border-radius:7px;max-height:128px;margin-top:9px;padding:8px 10px 8px 12px;overflow:auto}.batch-skip{border-left:3px solid var(--danger)}.batch-dup{border-left:3px solid var(--doing)}.batch-dup .bs-h{color:var(--doing)}.batch-skip:empty,.batch-dup:empty{display:none}.bs-h{font:500 11.5px var(--font);color:var(--danger);margin-bottom:5px}.bs-row{gap:8px;padding:1px 0;display:flex}.bs-ln{color:var(--text-3);flex:none}.bs-tx{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bs-more{color:var(--text-3);padding-top:3px}.btn.solid-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.solid-danger:hover{background:var(--danger);color:#fff;filter:brightness(1.08);border-color:var(--danger)}.menu-item{cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.menu-item:hover{background:var(--hover)}.menu-item.on{color:var(--accent);background:var(--accent-soft);font-weight:500}.menu-item .ck{width:14px;height:14px;color:var(--accent);margin-left:auto}.menu-item .ck svg{width:14px;height:14px;display:block}.st{font:500 11px var(--font);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 8px;display:inline-flex}.st:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.st-overdue{color:var(--danger);background:var(--danger-soft)}.st-doing{color:var(--doing);background:var(--doing-soft)}.st-done{color:var(--done);background:var(--done-soft)}.st-sus{color:var(--sus);background:var(--sus-soft)}.tag{font:400 11px var(--font);color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:5px;padding:1px 7px}.mono{font-family:var(--mono)}.dim{color:var(--text-3)}.sw{background:var(--border-2);cursor:pointer;border-radius:999px;flex:none;width:34px;height:20px;transition:background .2s;position:relative}.sw:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.sw.on{background:var(--accent)}.sw.on:after{left:16px}.sw.disabled{opacity:.45;cursor:default}.prog{background:var(--border);border-radius:2px;min-width:52px;height:4px;overflow:hidden}.prog>i{background:var(--accent);border-radius:2px;height:100%;display:block}.card-b,.placeholder{-webkit-user-select:text;user-select:text}.greet{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;display:flex}.greet .g1{font:700 20px var(--disp)}.greet .g2{font:400 11.5px var(--mono);color:var(--text-3)}.cap{background:var(--surface-2);border:1px solid var(--border-2);border-radius:10px;align-items:center;gap:8px;min-width:420px;padding:7px 8px 7px 14px;transition:all .15s;display:flex}.cap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cap .plus{color:var(--text-3);flex:none;width:15px;height:15px}.cap input{font:400 12.5px var(--mono);color:var(--text);background:0 0;border:0;outline:none;flex:1}.cap .go{font:500 11px var(--font);color:var(--accent);background:var(--accent-soft);cursor:pointer;border:0;border-radius:7px;padding:5px 12px}.cap .go:hover{background:var(--accent);color:#fff}.tiles{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;padding:13px 16px;transition:border-color .15s,transform .15s;display:flex}.tile.clickable{cursor:pointer}.tile.clickable:hover{border-color:var(--accent);transform:translateY(-1px)}.tile .lbl{color:var(--text-2);align-items:center;gap:6px;font-size:11.5px;display:flex}.tile .lbl i{background:var(--text-3);border-radius:50%;width:7px;height:7px}.tile .num{font:800 26px/1.2 var(--disp);font-variant-numeric:tabular-nums;letter-spacing:-.5px}.tile .delta{font:400 10.5px var(--mono);color:var(--text-3)}.tile .delta b{color:var(--done);font-weight:500}.tile.alert .lbl i{background:var(--danger)}.tile.alert .num{color:var(--danger)}.tile.focus .lbl i{background:var(--accent)}.tile.focus .num{color:var(--accent)}.tdt{height:150px;margin-top:2px;position:relative}.tdt-axis{background:var(--border);border-radius:1px;height:2px;position:absolute;top:50%;left:0;right:0}.tdt-tick{font:400 9.5px var(--mono);color:var(--text-3);position:absolute;top:calc(50% + 8px);transform:translate(-50%)}.tdt-now{background:var(--accent);opacity:.7;z-index:2;pointer-events:none;width:2px;position:absolute;top:8px;bottom:28px}.tdt-now span{font:500 9px var(--font);color:#fff;background:var(--accent);white-space:nowrap;pointer-events:auto;border-radius:4px;padding:0 5px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.tdt-p{cursor:pointer;white-space:nowrap;z-index:1;background:var(--surface-2);border:1px solid;border-radius:9px;align-items:center;gap:6px;max-width:216px;padding:4px 10px 4px 5px;transition:box-shadow .15s,transform .15s;display:flex;position:absolute;overflow:hidden}.tdt-p:hover{box-shadow:var(--shadow);z-index:4;transform:translateY(-1px)}.tdt-p.above{bottom:calc(50% + 14px)}.tdt-p.below{top:calc(50% + 14px)}.tdt-p.st-overdue{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.tdt-p.st-doing{color:var(--doing);border-color:var(--doing);background:var(--doing-soft)}.tdt-p.st-done{color:var(--done);border-color:var(--done);background:var(--done-soft)}.tdt-p.is-done{opacity:.55}.tdt-p.is-done .tdt-tx{text-decoration:line-through}.tdt-cb{background:0 0;border:1.5px solid;border-radius:50%;flex:none;width:14px;height:14px;position:relative}.tdt-p.is-done .tdt-cb{background:currentColor}.tdt-p.is-done .tdt-cb:after{content:"✓";color:#fff;font-size:8px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tdt-tx{text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.tdt-tm{font:400 9.5px var(--mono);opacity:.85}.tdt-wrap{flex-direction:column;gap:10px;display:flex}.tdt-untimed{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding-top:10px;display:flex}.tdt-untimed .lbl{font:400 10.5px var(--font);color:var(--text-3);flex:none;margin-right:2px}.tdt-chip{background:var(--surface-2);cursor:pointer;border:1px solid;border-radius:999px;align-items:center;gap:5px;max-width:260px;padding:2px 10px 2px 5px;transition:box-shadow .15s,transform .15s;display:inline-flex}.tdt-chip:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.tdt-chip .tdt-tx{font-size:11px}.tdt-chip.st-overdue{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.tdt-chip.st-doing{color:var(--doing);border-color:var(--doing);background:var(--doing-soft)}.tdt-chip.st-done{color:var(--done);border-color:var(--done);background:var(--done-soft)}.tdt-chip.is-done{opacity:.55}.tdt-chip.is-done .tdt-tx{text-decoration:line-through}.tdt-cn{font:700 10.5px var(--mono);color:var(--done);white-space:nowrap;flex:none}.tdt-more{border:1px dashed var(--border-2);font:400 10.5px var(--font);color:var(--text-3);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:2px 9px;transition:color .15s,border-color .15s}.tdt-more:hover{color:var(--text-2);border-color:var(--text-3)}.tdt-chip.is-done .tdt-cb,.tdt-p.is-done .tdt-cb{background:currentColor}.tdt-chip.is-done .tdt-cb:after{content:"✓";color:#fff;font-size:8px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.feed{padding:2px 0}.feed-item{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:7px 0;display:flex}.feed-item:last-child{border-bottom:0}.feed-item .tm{font:400 10.5px var(--mono);color:var(--text-3);flex:none}.feed-item .tx{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.feed-item .tx b{font-weight:500}.feed-item .dot{border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}.feed-item .cn{font:400 10.5px var(--mono);color:var(--text-3);white-space:nowrap;flex:none}.feed-item .tags{font:400 10.5px var(--mono);color:var(--text-3);white-space:nowrap;flex:none;margin-left:auto}.ubar{align-items:center;gap:10px;padding:6px 0;display:flex}.ubar .un{width:56px;color:var(--text-2);white-space:nowrap;flex:none;font-size:12px}.ubar .tr{background:var(--bg-2);border-radius:4px;flex:1;height:7px;overflow:hidden}.ubar .tr>i{border-radius:4px;height:100%;transition:width .5s;display:block}.ubar .uc{font:500 10.5px var(--mono);color:var(--text-3);text-align:right;width:22px}.ubar.clickable{cursor:pointer;border-radius:7px;margin:0 -4px;padding:6px 4px;transition:background .15s}.ubar.clickable:hover{background:var(--hover)}.fg{margin-top:6px;position:relative}.fg-axis{background:var(--border);border-radius:1px;height:2px;position:absolute;top:26px;left:0;right:0}.fg-tick{font:400 9px var(--mono);color:var(--text-3);white-space:nowrap;position:absolute;top:32px;transform:translate(-50%)}.fg-bar{cursor:pointer;border-radius:4px;align-items:center;height:14px;padding:0 6px;transition:box-shadow .15s;display:flex;position:absolute;overflow:hidden}.fg-bar:hover{box-shadow:var(--shadow);z-index:3}.fg-bar b{font:500 9px var(--font);color:#fff;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fg-bar.st-overdue{background:var(--danger)}.fg-bar.st-doing{background:var(--doing)}.fg-bar.st-done{background:var(--done)}.fg-now{background:var(--accent);opacity:.7;z-index:2;pointer-events:none;width:2px;position:absolute;top:2px;bottom:8px}.tt-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.tt-scroll{cursor:grab;flex:auto;min-height:0;overflow:auto}.tt-box.dragging .tt-scroll{cursor:grabbing;-webkit-user-select:none;user-select:none}.tt-range{cursor:pointer}.tt-range.off{color:var(--accent);font-weight:500}.tt-grid{position:relative}.tt-hrow{border-bottom:1px solid var(--border);background:var(--surface);z-index:6;height:36px;display:flex;position:sticky;top:0}.tt-date{width:var(--tt-col,22px);font:400 9px var(--mono);color:var(--text-3);border-right:1px solid var(--border);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;display:flex}.tt-date .dn{font:500 10px var(--mono)}.tt-date .dw{font:400 8.5px var(--font);opacity:.75}.tt-hrow .tt-label{z-index:8}.tt-date.wknd{background:var(--bg-2)}.tt-date.today{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.tt-date.mo-start{border-left:1px solid var(--border-2)}.tt-row{border-bottom:1px solid var(--border);cursor:pointer;height:40px;transition:background .12s;display:flex;position:relative}.tt-row:last-child{border-bottom:0}.tt-row:hover{background:var(--hover)}.tt-label{background:var(--surface);z-index:5;border-right:1px solid var(--border);flex:none;align-items:center;gap:9px;width:256px;padding:0 12px;display:flex;position:sticky;left:0}.tt-row:hover .tt-label{background:var(--hover)}.tt-label .pdot{--pct:0%;box-sizing:border-box;background:conic-gradient(currentColor 0 var(--pct), transparent var(--pct) 100%);border:1.5px solid;border-radius:50%;flex:none;width:16px;height:16px;position:relative}.tt-label .pdot svg{box-sizing:border-box;width:100%;height:100%;padding:3px;display:block}.tt-label .lt{flex:1;min-width:0;overflow:hidden}.tt-label .lt1{align-items:baseline;gap:8px;font-size:12.5px;font-weight:500;display:flex}.tt-label .lt1 .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tt-label .lt2{color:var(--text-3);white-space:nowrap;align-items:center;gap:5px;margin-top:1px;font-size:10px;display:flex;overflow:hidden}.tt-label .lt2 .tag{text-overflow:ellipsis;flex:0 auto;min-width:0;padding:0 4px;font-size:9.5px;overflow:hidden}.tt-label .lt2 .dlt{font:400 9.5px var(--mono);color:var(--text-3);flex:none;margin-left:auto}.tt-track{background-color:var(--surface);background-image:repeating-linear-gradient(to right, transparent 0 calc(var(--tt-col,22px) - 1px), var(--border) calc(var(--tt-col,22px) - 1px) var(--tt-col,22px)), repeating-linear-gradient(to right, var(--bg-2) 0 calc(2 * var(--tt-col,22px)), transparent calc(2 * var(--tt-col,22px)) calc(7 * var(--tt-col,22px)));background-position:0 0, var(--tt-wk,0px) 0;flex:none;position:relative}.tt-moline{background:var(--border-2);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.tt-row:hover .tt-track{background-color:var(--hover)}.tt-row.selected .tt-label{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.tt-row.selected .tt-track{background-color:var(--accent-soft)}.tt-bar{cursor:pointer;background:color-mix(in srgb, var(--bar-state,var(--doing)) 24%, var(--surface));border-radius:9px;height:19px;transition:filter .15s,box-shadow .15s,transform .15s;position:absolute;top:10px;overflow:visible;box-shadow:inset 0 0 0 1px #ffffff80,inset 0 -1px #28241c0f}.tt-bar:before{content:"";width:var(--fill,0%);background:var(--bar-state);border-radius:9px 0 0 9px;position:absolute;inset:0 auto 0 0}.tt-bar:hover{filter:brightness(1.03);z-index:2;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff8c,0 3px 9px -3px #28241c4d}.tt-bar b{font:500 10px var(--font);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:3;text-shadow:-1px 0 #0000006b,1px 0 #0000006b,0 -1px #0000006b,0 1px #0000006b,0 1px 3px #0000004d;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:7px;overflow:hidden}.tt-bar .end{border:2px solid var(--surface);z-index:2;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:-3.5px}.tt-bar .cut{background:var(--text-3);opacity:.8;z-index:2;border-radius:2px;width:2px;position:absolute;top:2px;bottom:2px}.tt-bar .cut-l{left:0}.tt-bar .cut-r{right:0}.tt-bar.st-overdue{--bar-state:var(--danger)}.tt-bar.st-overdue .end{background:var(--danger)}.tt-bar.st-doing{--bar-state:var(--doing)}.tt-bar.st-doing .end{background:var(--doing)}.tt-bar.st-done{--bar-state:var(--done)}.tt-bar.st-done .end{background:var(--done)}.tt-bar.sel{outline:2px solid var(--accent);outline-offset:1px}.tt-bar .seg{pointer-events:none;position:absolute;top:0;bottom:0}.tt-bar .seg-late{background:color-mix(in srgb, var(--danger) 55%, transparent);z-index:2}.tt-bar .late-mark{background:var(--surface);z-index:3;pointer-events:none;width:1.5px;position:absolute;top:-2px;bottom:-2px}.tt-today{background:var(--accent);opacity:.5;z-index:4;pointer-events:none;border-radius:2px;width:2px;position:absolute;top:36px;bottom:0}.tt-today:before{content:"今天";font:500 9px var(--font);color:#fff;background:var(--accent);white-space:nowrap;border-radius:4px;padding:1px 5px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.tt-today.at-start:before{left:0;transform:none}.tt-today.at-end:before{left:auto;right:0;transform:none}.tt-tip{z-index:98;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:none;border-radius:9px;max-width:260px;padding:9px 12px;font-size:12px;display:none;position:fixed}#page-graph.active{flex-direction:column;height:100%;display:flex}#page-graph>.inner{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}#page-graph .page-body{flex:auto;min-height:0}.gbar{flex-wrap:wrap;align-items:center;gap:14px;padding:2px 4px 12px;display:flex}.glegend{color:var(--text-2);align-items:center;gap:12px;font-size:11px;display:flex}.glegend .it{align-items:center;gap:5px;display:flex}.glegend .d{border-radius:50%;width:9px;height:9px}.gfilters{gap:5px;display:flex}.gwrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:1;min-height:320px;position:relative;overflow:hidden}.gwrap:before{content:"";background-image:radial-gradient(var(--border) 1px, transparent 1px);opacity:.45;pointer-events:none;background-size:24px 24px;position:absolute;inset:0}.gcanvas{transform-origin:50%;width:900px;height:520px;margin:-260px 0 0 -450px;transition:transform .3s;position:absolute;top:50%;left:50%}.edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.edges line,.edges path{stroke:var(--border-2);stroke-width:1px;fill:none;opacity:.45;transition:opacity .2s}.edges line.hi,.edges path.hi{stroke:var(--accent);stroke-width:1.8px;opacity:1}.edges.dimmed line,.edges.dimmed path{opacity:.06}@keyframes edge-flow{to{stroke-dashoffset:-16px}}.edges.dimmed line.hi,.edges.dimmed path.hi{opacity:1;stroke-dasharray:5 5;animation:.85s linear infinite edge-flow}.edges path.rel{stroke:var(--accent);stroke-width:1.6px;stroke-dasharray:4 4;opacity:.8}.edges path.rel.hi{opacity:1;stroke-width:2.4px}.node{cursor:pointer;border-radius:50%;place-items:center;transition:left .65s cubic-bezier(.22,1,.36,1),top .65s cubic-bezier(.22,1,.36,1),opacity .25s;display:grid;position:absolute;transform:translate(-50%,-50%)}@keyframes node-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}60%{transform:translate(-50%,-50%)scale(1.05)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.node.enter{animation:.42s cubic-bezier(.22,1,.36,1) backwards node-pop}.node:not(.dragging):hover{box-shadow:0 0 0 4px var(--accent-soft)}.gpart{z-index:5;border:1px dashed var(--border-2);background:var(--surface);font:500 11.5px var(--font);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;display:inline-flex;position:absolute;top:12px;right:12px}.gpart b{color:var(--accent);font-weight:600}.node.partition{background:var(--accent);color:#fff;width:64px;height:64px;font:600 13px var(--font);box-shadow:0 0 0 8px var(--accent-soft);z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1.1;display:flex}.node.partition .pk{font:500 8.5px var(--font);opacity:.78;letter-spacing:.5px}.node.tag{border:1.5px solid var(--accent);width:38px;height:38px;color:var(--accent);background:var(--surface-2);font:500 9.5px var(--font);z-index:2}.node.tag.untagged{border-style:dashed;border-color:var(--text-3);color:var(--text-2)}.node.task{z-index:1;width:13px;height:13px}.node.task.doing{background:var(--doing)}.node.task.done{background:var(--done)}.node.task.overdue{background:var(--danger)}.node.task:hover{transform:translate(-50%,-50%)scale(1.9)}.node.dragging{transition:none!important}.node.ghost{opacity:.13}.node.selected{outline:2.5px solid var(--accent);outline-offset:3px}.node.task.hot{box-shadow:0 0 0 3px var(--danger-soft)}.node.task .nl{font:400 9.5px var(--font);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;color:var(--text-2);pointer-events:none;z-index:2;border-radius:5px;padding:0 6px;line-height:16px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.gstats{z-index:5;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text-2);border-radius:10px;min-width:150px;padding:10px 13px;font-size:11px;line-height:1.85;position:absolute;top:14px;left:14px}.gstats b{font:600 13px var(--disp);color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px}.gdetail{background:var(--surface-2);border:1px solid var(--border);width:224px;box-shadow:var(--shadow);z-index:5;border-radius:11px;padding:13px 14px;position:absolute;top:14px;right:14px}.gdetail .dn{font:600 13.5px var(--font)}.gdetail .ds{color:var(--text-2);margin-top:2px;font-size:11.5px}.gdetail .meta{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.gzoom{z-index:5;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:14px;left:14px}.gzoom button{border:1px solid var(--border);background:var(--surface-2);width:28px;height:28px;color:var(--text-2);cursor:pointer;border-radius:8px;place-items:center;display:grid}.gzoom button:hover{color:var(--accent);border-color:var(--accent)}.gzoom svg{width:13px;height:13px}.hm{--cell:13px;--gap:3px;--block-gap:12px;align-items:flex-start;gap:var(--block-gap);display:flex}.hm-lab{grid-template-rows:16px repeat(7, var(--cell)) 14px;gap:var(--gap);font:400 9.5px var(--font);color:var(--text-3);flex:none;align-items:center;display:grid}.hm-area{justify-content:space-between;align-items:flex-start;gap:var(--block-gap);flex:1;min-width:0;display:flex}.hm-mo{gap:var(--gap);flex:none;grid-template-rows:16px auto 14px;display:grid}.hm-mo-t{font:400 10px var(--mono);color:var(--text-3);text-align:center;white-space:nowrap}.hm-grid{grid-template-columns:repeat(var(--weeks), var(--cell));grid-template-rows:repeat(7, var(--cell));gap:var(--gap);grid-auto-flow:column;display:grid}.hm-weeks{grid-template-columns:repeat(var(--weeks), var(--cell));gap:var(--gap);font:400 8.5px var(--mono);color:var(--text-3);text-align:center;display:grid}.hm .hc{width:var(--cell);height:var(--cell);background:var(--h0);cursor:pointer;border-radius:3px;transition:outline-color .15s}.hm .hc:hover{outline:1.5px solid var(--accent);outline-offset:1px}.hm .hc.blank{cursor:default;background:0 0}.hm .hc.blank:hover{outline:none}.hm .hc.future{box-shadow:inset 0 0 0 1px var(--border);cursor:default;background:0 0}.hm .hc.future:hover{outline:none}.hm .h1{background:var(--h1)}.hm .h2{background:var(--h2)}.hm .h3{background:var(--h3)}.hm .h4{background:var(--h4)}.hmlegend{color:var(--text-3);flex:none;align-items:center;gap:3px;font-size:10.5px;display:flex}.hmscheme{color:var(--text-3);flex:none;align-items:center;gap:6px;font-size:10.5px;display:flex}.hmsw{border:1px solid var(--border-2);cursor:pointer;border-radius:4px;width:14px;height:14px;padding:0;transition:box-shadow .15s,border-color .15s}.hmsw:hover{border-color:var(--accent)}.hmsw.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.hmlegend i{border-radius:2.5px;width:9px;height:9px;display:inline-block}.hmlegend i.l0{background:var(--h0)}.hmlegend i.l1{background:var(--h1)}.hmlegend i.l2{background:var(--h2)}.hmlegend i.l3{background:var(--h3)}.hmlegend i.l4{background:var(--h4)}.act-filter{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;display:flex}.act-filter .grow{flex:1}.tcb{border:1.5px solid var(--border-2);background:var(--surface-2);cursor:pointer;border-radius:5px;flex:none;place-items:center;width:15px;height:15px;transition:all .15s;display:grid}.tcb.on{background:var(--accent);border-color:var(--accent)}.tcb.on:after{content:"✓";color:#fff;font-size:9px;font-weight:700}.tcheck{cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:6px 8px;display:flex}.tcheck:hover{background:var(--hover)}.tcheck .cnt{font:400 10.5px var(--mono);color:var(--text-3);margin-left:auto}.navbtn{border:1px solid var(--border-2);background:var(--surface-2);width:26px;height:26px;color:var(--text-2);cursor:pointer;border-radius:7px;flex:none;place-items:center;font-size:11px;display:grid}.navbtn:hover{color:var(--accent);border-color:var(--accent)}.hmyear{text-align:center;min-width:54px;font:600 12.5px var(--mono);line-height:26px}.hmyear-off .hmyear{cursor:pointer;color:var(--accent)}.hmyear-off .hmyear:hover{text-decoration:underline}.act-range{flex:none;align-items:center;gap:6px;display:flex}.act-date{font:400 11.5px var(--mono);color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);border-radius:6px;outline:none;padding:3px 6px}.act-date:focus{border-color:var(--accent)}.act-item{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:8px 2px;display:flex}.act-item:last-child{border-bottom:0}.act-item .tm{font:400 10.5px var(--mono);color:var(--text-3);flex:none}.act-item .c{min-width:0;font-size:12.5px}.act-item .c b{font-weight:500}.tabwrap{overflow-x:auto}.tabwrap table{border-collapse:collapse;width:100%;min-width:780px}.tabwrap th{font:500 10.5px var(--font);color:var(--text-3);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:9px 10px}.tabwrap td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:12.5px}.tabwrap td .tt{font-weight:500}.tabwrap tr.mrow{cursor:pointer}.tabwrap tr.mrow:hover td{background:var(--hover)}.arch-tag{color:var(--text-3);border:1px solid var(--border);border-radius:5px;padding:0 5px;font-size:10.5px}.pager{color:var(--text-2);justify-content:flex-end;align-items:center;gap:6px;padding:8px 2px 0;font-size:12px;display:flex}.pager .dd-btn{color:var(--text-2);background:0 0;border-color:#0000;padding:4px 6px;font-size:12px}.pager .dd-btn:hover{border-color:var(--border-2);color:var(--text)}.tagrow{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:flex}.tagrow:hover{background:var(--hover)}.tagrow.on{background:var(--accent-soft)}.tagrow .cnt{font:400 10.5px var(--mono);color:var(--text-3);margin-left:auto}.mbar{background:var(--bg-2);vertical-align:middle;border-radius:3px;width:62px;height:5px;display:inline-block;position:relative;overflow:hidden}.mbar i{background:var(--accent);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.ckb{border:1.5px solid var(--border-2);background:var(--surface-2);cursor:pointer;border-radius:5px;flex:none;place-items:center;width:15px;height:15px;transition:all .15s;display:grid}.ckb.on{background:var(--accent);border-color:var(--accent)}.ckb.on:after{content:"✓";color:#fff;font-size:9px;font-weight:700}.batchbar{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:9px 14px;font-size:12.5px;font-weight:500;display:flex}.batchbar .grow{flex:1}.dr-h .tags{flex-wrap:wrap;gap:5px;width:100%;margin-top:6px;display:flex}.range{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--surface-2);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.kvrow{justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.kvrow .k{color:var(--text-2);font-size:12px}.kvrow .v{align-items:center;gap:8px;display:flex}.kvrow .v .pct{font:500 11.5px var(--mono);color:var(--accent);text-align:right;width:32px}.tl-list{flex-direction:column;display:flex}.tl-entry{gap:10px;display:flex}.tl-entry:last-child .tl-line{background:0 0}.tl-rail{flex-direction:column;flex:none;align-items:center;padding-top:3px;display:flex}.tl-ico{z-index:1;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.tl-ico svg{width:11px;height:11px}.tl-ico.cr,.tl-ico.pr{background:var(--accent-soft);color:var(--accent)}.tl-ico.stdo{background:var(--doing-soft);color:var(--doing)}.tl-ico.ur,.tl-ico.lg{background:var(--sus-soft);color:var(--sus)}.tl-line{background:var(--border);flex:1;width:1.5px;margin:4px 0}.tl-card{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex:1;min-width:0;margin-bottom:8px;padding:7px 11px}.tl-card .t1{align-items:baseline;gap:8px;display:flex}.tl-card .tt{flex:1;min-width:0;font-size:12.5px;font-weight:500}.tl-card .tm{font:400 10px var(--mono);color:var(--text-3);flex:none}.tl-card .t2{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.tl-dbar{background:var(--bg-2);border-radius:2px;flex:none;width:64px;height:4px;position:relative;overflow:hidden}.tl-dbar i{position:absolute;top:0;bottom:0}.tl-dbar .o{background:var(--border-2)}.tl-dbar .n{background:var(--accent)}.tl-note{color:var(--text-3)}.tl-note b{color:var(--accent);font-weight:500}.tl-prog{align-items:center;gap:6px;padding:6px 0 8px;display:flex}.prog-ctl{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.prog-pending{font:400 10.5px var(--mono);color:var(--doing);white-space:nowrap;flex:none}.prog-pending:empty{display:none}.tl-compose{border:1px solid var(--border-2);background:var(--bg-2);border-radius:9px;align-items:center;gap:8px;padding:5px 6px 5px 9px;transition:all .15s;display:flex}.tl-compose:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tl-compose input{color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:12px}.tl-compose input::placeholder{color:var(--text-3)}.tl-send{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.tl-send:hover{background:var(--accent-h)}.tl-send svg{width:13px;height:13px}.tl-ops{opacity:0;align-items:center;gap:4px;transition:opacity .15s;display:flex}.tl-card:hover .tl-ops,.tl-ops:focus-within{opacity:1}.tl-op{font:400 10.5px var(--font);color:var(--text-2);border:1px solid var(--border-2);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:1px 7px}.tl-op:hover{color:var(--accent);border-color:var(--accent)}.tl-op.danger:hover{color:var(--danger);border-color:var(--danger)}.tl-edit{width:100%;min-width:0;font:500 12.5px var(--font);color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:6px;outline:none;flex:1;padding:5px 8px}.tl-edit-row{align-items:center;gap:6px;display:flex}.tl-edit-row+.tl-edit-row{margin-top:7px}.tl-edit-row .tl-ops{opacity:1;margin-left:auto}.tl-edited{font:400 9.5px var(--mono);color:var(--text-3);border:1px dashed var(--border-2);border-radius:4px;flex:none;padding:0 4px}.dr-def{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;margin-bottom:14px;padding:12px 12px 14px}.dr-tl{border-top:1px solid var(--border);padding-top:12px}.sec-h{align-items:center;gap:8px;margin-bottom:10px;display:flex}.sec-t{font:600 12.5px var(--font)}.sec-h .grow{flex:1}.tform{flex-direction:column;gap:9px;display:flex}.tf-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tf-k{color:var(--text-2);flex:none;min-width:30px;font-size:11.5px}.pct-input{width:52px;font:400 11.5px var(--mono);text-align:right;color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);border-radius:6px;outline:none;padding:3px 6px}.pct-input:focus{border-color:var(--accent)}details.md-d{border:1px solid var(--border);background:var(--bg-2);border-radius:8px;padding:6px 11px}details.md-d summary{cursor:pointer;font:500 12px var(--font);color:var(--text-2);align-items:center;gap:6px;padding:3px 0;list-style:none;display:flex}details.md-d summary::-webkit-details-marker{display:none}details.md-d summary:after{content:"▾";color:var(--text-3);margin-left:auto;font-size:10px}details.md-d[open] summary:after{content:"▴"}.md{font:400 12px/1.75 var(--mono);background:var(--bg-2);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:7px;outline:none;width:100%;padding:8px 11px}details.md-d .md{min-height:74px;margin:7px 0 9px}.md-note{margin:4px 0 8px;font-size:11px;line-height:1.6}.md-prev{border:1px solid var(--border);background:var(--surface);border-radius:7px;flex-direction:column;gap:7px;padding:9px 11px;display:flex}.md-prev.bad{border-color:var(--danger)}.md-prev .mdp-1{align-items:center;gap:8px;display:flex}.md-prev .mdp-title{font:600 13px var(--font)}.md-prev .mdp-2{flex-wrap:wrap;gap:6px;display:flex}.md-prev .mdp-fact{font:400 11px var(--mono);color:var(--text-2)}.md-actions{gap:8px;margin-bottom:4px;display:flex}.dr-f{border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.ov-split{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:14px;margin-top:14px;display:grid}.ov-left,.ov-right{flex-direction:column;gap:14px;min-height:0;display:flex}.split-filter{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:14px;display:grid}.split-manage{grid-template-columns:minmax(0,1fr) 262px;align-items:start;gap:14px;display:grid}#page-overview .ov-page{flex-direction:column;flex:auto;min-height:0;display:flex}#page-overview .ov-page>:not(.ov-split),#page-activity .page-body>:not(.split-filter),#page-manage .page-body>:not(.split-manage){flex:none}#page-overview .ov-split,#page-activity .split-filter,#page-manage .split-manage{flex:auto;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}#page-overview .ov-left>.card:first-child{flex:auto;min-height:0}#page-overview .ov-left>.card:first-child>.card-b{overflow:auto}#page-overview .ov-left>.card:first-child>.card-b>*{margin:auto 0}#page-overview .ov-left>.card:last-child{flex:none}#page-overview .ov-right>.card{flex:auto;min-height:0}#page-overview .card,#page-activity .card,#page-manage .card{flex-direction:column;min-height:0;display:flex}#page-overview .card>.card-h,#page-activity .card>.card-h,#page-manage .card>.card-h,#page-overview .card>.card-f,#page-activity .card>.card-f{flex:none}#page-overview .card>.card-b,#page-activity .card>.card-b,#page-manage .card>.card-b{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}#page-overview .card-b>:not(.feed),#page-activity .card-b>:not(.act-list,.taglist),#page-manage .card-b>:not(.tablefill,.taglist){flex:none}#page-overview .feed,#page-activity .act-list,.taglist,#page-manage .tabwrap{flex:auto;min-height:0;overflow:auto}.tablefill,.tt-page{flex-direction:column;flex:auto;min-height:0;display:flex}.tt-page>.tools{flex:none}.tt-box{flex-direction:column;flex:auto;min-height:0;display:flex}.tt-box>.pager{flex:none}.legend{color:var(--text-3);gap:14px;font-size:10.5px;display:flex}.legend .lg{align-items:center;gap:5px;display:flex}.tdt-p.st-plain{color:var(--text-2);border-color:var(--border-2);background:var(--surface-2)}.empty{text-align:center;color:var(--text-3);padding:28px 12px;font-size:12.5px}
