@charset "UTF-8";.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--display: "Space Grotesk", var(--sans);--sans: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, sans-serif;--mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--bg: #f5f5f4;--panel: #fff;--ink: #141414;--ink2: #3d3d40;--muted: #6d6d75;--faint: #9d9da4;--line: #e7e7e9;--line2: #eeeeef;--soft: #f0f0f1;--softer: #f8f8f8;--accent: #141414;--accent-hov: #000;--accent-soft: #eeeeef;--accent-line: #dcdcde;--grey: #7d7d85;--greys: #f0f0f1;--grey-ink: #5f6068;--blue: #2e5aac;--blues: #e7edf8;--amber: #9a6400;--ambers: #fbf1dc;--p1: #c8393d;--p1s: #f7e9ea;--green: #1f7a4d;--greens: #e5f0ea;--purple: #6b48c8;--purples: #efeafb;--teal: #177a74;--teals: #e2f3f1;--sidebar-w: 230px;--sidebar-w-collapsed: 66px;--rail-bg: #111113;--rail-bg2: #19191c;--rail-line: rgba(255, 255, 255, .09);--rail-ink: #c9c9cd;--rail-ink-dim: #7d7d84;--rail-hover: rgba(255, 255, 255, .06);--rail-active: rgba(255, 255, 255, .11);--rail-accent: #f4f4f5;--sh: 0 1px 2px rgba(20, 20, 20, .05), 0 3px 10px rgba(20, 20, 20, .06);--sh2: 0 12px 36px rgba(20, 20, 20, .18);--panel2: #fff;--accent-ink: #fff;--p1-line: #efc9cb;--knob: #fff;--av-bg: #dcdce2;--av-ink: #55565d;--key-ink: #7c7d84;--code-bg: #141416;--code-ink: #e6e6ea;--toast-bg: #141416;--toast-ink: #fff;--scroll: #d8d8de;--tile-edge: transparent;color-scheme:light}:root[data-theme=dark]{--bg: #121214;--panel: #1b1b1e;--ink: #ececef;--ink2: #cfcfd5;--muted: #9b9ba4;--faint: #6c6c75;--line: #2c2c31;--line2: #27272b;--soft: #27272b;--softer: #17171a;--accent: #f4f4f5;--accent-hov: #fff;--accent-soft: #2b2b30;--accent-line: #3b3b42;--grey: #9a9aa3;--greys: #2a2a2f;--grey-ink: #c2c2c9;--blue: #8db0f0;--blues: #1c2a45;--amber: #e3b04a;--ambers: #332a12;--p1: #f07478;--p1s: #3d1f22;--green: #6cc995;--greens: #16301f;--purple: #b39cf5;--purples: #2a2244;--teal: #6ccbc4;--teals: #133330;--rail-bg: #0e0e10;--rail-bg2: #161619;--sh: 0 1px 2px rgba(0, 0, 0, .4), 0 3px 10px rgba(0, 0, 0, .35);--sh2: 0 12px 36px rgba(0, 0, 0, .6);--panel2: #222226;--accent-ink: #141414;--p1-line: #5a2a2e;--knob: #a2a2aa;--av-bg: #3a3a40;--av-ink: #e0e0e5;--key-ink: #9b9ba4;--code-bg: #0e0e10;--code-ink: #e6e6ea;--toast-bg: #f4f4f5;--toast-ink: #141414;--scroll: #3a3a40;--tile-edge: rgba(255, 255, 255, .14);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-.001em}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:5px;border:2px solid transparent;background-clip:padding-box}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{border:1px solid var(--line);border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:500;background:var(--panel);color:var(--ink);display:inline-flex;gap:6px;align-items:center;justify-content:center;transition:background .1s,border-color .1s;white-space:nowrap}.btn:hover:not(:disabled){background:var(--soft)}.btn.pri{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.pri:hover:not(:disabled){background:var(--accent-hov)}.btn.danger{color:var(--p1);border-color:var(--p1-line)}.btn.danger:hover:not(:disabled){background:var(--p1s)}.btn.sm{padding:5px 9px;font-size:11.5px}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover:not(:disabled){background:var(--soft)}.btn.block{width:100%}.iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;color:var(--ink2)}.iconbtn:hover{background:var(--soft)}.iconbtn .ct{position:absolute;top:-1px;right:-2px;background:var(--p1);color:#fff;border-radius:9px;font-size:9px;padding:1px 4px;font-weight:700;line-height:1.2}.selbtn{border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:11.5px;background:var(--panel);display:inline-flex;gap:6px;align-items:center;cursor:pointer}.selbtn:hover{background:var(--soft)}.ddbtn{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--ink2);background:var(--panel);display:inline-flex;gap:6px;align-items:center}.ddbtn:hover{background:var(--soft)}.ddbtn.on{border-color:var(--accent);color:var(--ink);font-weight:600}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.seg button{padding:6px 11px;font-size:12px;color:var(--ink2);display:flex;gap:5px;align-items:center}.seg button.on{background:var(--accent);color:var(--accent-ink)}.chk{width:15px;height:15px;border:1.5px solid var(--faint);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:var(--accent-ink);flex:none}.chk.on{background:var(--accent);border-color:var(--accent)}.toggle{width:38px;height:22px;border-radius:20px;background:var(--soft);position:relative;cursor:pointer;flex:none;border:1px solid var(--line)}.toggle i{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background:var(--knob);transition:.15s;box-shadow:var(--sh)}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on i{left:17px;background:var(--accent-ink)}.fld{margin-bottom:14px}.fld>label,.lbl-up{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}.inp{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;background:var(--panel)}.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inp.sm{padding:6px 9px;font-size:12px}.inp.invalid{border-color:var(--p1)}textarea.inp{resize:vertical;min-height:80px;line-height:1.5}select.inp{appearance:auto}.err{color:var(--p1);font-size:11.5px;margin-top:5px}.hint{color:var(--muted);font-size:11.5px;margin-top:5px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.searchbox{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:0 9px;font-size:12px;color:var(--muted);background:var(--panel)}.searchbox input{border:none;outline:none;padding:6px 0;flex:1;min-width:0;background:transparent;color:var(--ink)}.av{width:26px;height:26px;border-radius:50%;background:var(--av-bg);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--av-ink);flex:none;position:relative;-webkit-user-select:none;user-select:none}.av.sm{width:20px;height:20px;font-size:8px}.av.lg{width:34px;height:34px;font-size:12px}.avstack{display:inline-flex}.avstack .av{border:2px solid var(--panel);margin-left:-6px}.avstack .av:first-child{margin-left:0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}.badge.g{background:var(--greens);color:var(--green)}.badge.gr{background:var(--greys);color:var(--grey-ink)}.badge.a{background:var(--accent-soft);color:var(--accent)}.badge.r{background:var(--p1s);color:var(--p1)}.badge.am{background:var(--ambers);color:var(--amber)}.status{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:2px 8px;font-size:10.5px;font-weight:600;white-space:nowrap}.status .d{width:5px;height:5px;border-radius:50%}.s-todo{background:var(--greys);color:var(--grey-ink)}.s-todo .d{background:var(--grey)}.s-prog{background:var(--blues);color:var(--blue)}.s-prog .d{background:var(--blue)}.s-block{background:var(--p1s);color:var(--p1)}.s-block .d{background:var(--p1)}.s-rev{background:var(--ambers);color:var(--amber)}.s-rev .d{background:var(--amber)}.s-done{background:var(--greens);color:var(--green)}.s-done .d{background:var(--green)}.prio{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-size:10px;padding:1px 6px 1px 4px;border-radius:5px;white-space:nowrap;text-transform:capitalize}.prio.urgent{color:#fff;background:var(--p1)}.prio.high{color:var(--p1);background:var(--p1s)}.prio.medium{color:var(--amber);background:var(--ambers)}.prio.low{color:var(--grey-ink);background:var(--greys)}.lchip{border:1px solid var(--line);border-radius:20px;padding:2px 9px;font-size:11px;background:var(--softer);display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.lchip .sw{width:7px;height:7px;border-radius:50%}.lchip .x{color:var(--muted);cursor:pointer}.addchip{border:1px dashed var(--faint);border-radius:20px;padding:2px 10px;font-size:11px;color:var(--muted);cursor:pointer;background:transparent}.key{font-family:var(--mono);font-weight:700;color:var(--key-ink);font-size:11px;white-space:nowrap}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.page{padding:20px 22px;max-width:1480px;width:100%}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:-.005em}.page-head .sp{flex:1}h2.sec{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:2px 0 10px;display:flex;align-items:center;gap:8px;font-weight:600}.panel{border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:var(--sh)}.panel .ph{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line)}.panel .ph h3{font-size:12.5px;font-weight:600;display:flex;gap:8px;align-items:center}.panel .ph .mo{color:var(--muted);font-size:11.5px;cursor:pointer;text-decoration:none}.panel .pb{padding:8px 6px}.panel .pb.pad{padding:14px}.tabline{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabline button,.tabline a{padding:8px 13px;font-size:12.5px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;white-space:nowrap}.tabline .on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 15px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--panel)}.atable{width:100%;border-collapse:collapse;font-size:12.5px}.atable th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}.atable td{padding:9px 10px;border-bottom:1px solid var(--softer);vertical-align:middle}.atable tr.click{cursor:pointer}.atable tbody tr:hover td{background:var(--softer)}.table-wrap{overflow-x:auto}.trow{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer;text-decoration:none}.trow:hover{background:var(--soft)}.trow .tt{flex:1;font-size:12.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trow .meta{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}.subgrp{display:flex;align-items:center;gap:7px;padding:8px 10px 4px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.subgrp .n{background:var(--soft);border-radius:9px;padding:0 6px;font-weight:700;color:var(--ink2)}.subgrp.od{color:var(--p1)}.subgrp.od .n{background:var(--p1s);color:var(--p1)}.tile{border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;background:var(--panel)}.tile .n{font-size:22px;font-weight:700;font-family:var(--display)}.tile .l{color:var(--muted);font-size:11px;margin-top:2px}.tile.warn .n{color:var(--p1)}.tile.wait .n{color:var(--amber)}.bar{height:5px;background:var(--soft);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}.bar.g i{background:var(--green)}.callout{border:1px solid var(--accent-line);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:9px;padding:12px 14px;font-size:12.5px;color:var(--ink2);margin-bottom:16px}.callout.warn{border-color:var(--p1-line);border-left-color:var(--p1);background:var(--p1s)}.empty{text-align:center;padding:34px;color:var(--muted)}.empty .ic{font-size:30px;opacity:.4}.skel{background:linear-gradient(90deg,var(--soft) 25%,var(--softer) 50%,var(--soft) 75%);background-size:200% 100%;animation:sh 1.3s infinite;border-radius:6px;min-height:14px}@keyframes sh{0%{background-position:200% 0}to{background-position:-200% 0}}.menu{background:var(--panel2);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh2);min-width:190px;padding:6px;max-height:360px;overflow:auto}.menu .it{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;font-size:12.5px;cursor:pointer;width:100%;text-align:left}.menu .it:hover,.menu .it:focus,.menu .it.cdk-menu-item:focus{background:var(--soft);outline:none}.menu .it.danger{color:var(--p1)}.menu .sepl{height:1px;background:var(--line);margin:5px 2px}.menu .hd{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 9px 3px}.menu .menu-search{padding:4px 4px 6px}.cdk-overlay-dark-backdrop{background:#0f0f1980}.modal{background:var(--panel2);border-radius:16px;width:640px;max-width:calc(100vw - 32px);box-shadow:var(--sh2);animation:pop .16s ease;display:flex;flex-direction:column;max-height:calc(100vh - 64px)}.modal.sm{width:440px}.modal.lg{width:860px}.modal .mh{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.modal .mh b{font-size:14.5px}.modal .mb{padding:18px;overflow:auto}.modal .mf{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--line);align-items:center}.modal .mf .sp{flex:1}@keyframes pop{0%{transform:translateY(8px) scale(.99);opacity:0}to{transform:none;opacity:1}}.board{display:flex;gap:12px;padding:14px;overflow-x:auto;align-items:flex-start;flex:1;min-height:0}.bcol{background:var(--softer);border:1px solid var(--line);border-radius:12px;min-width:272px;width:272px;flex:none;display:flex;flex-direction:column;max-height:100%}.bcolbar{height:3px;border-radius:12px 12px 0 0}.bcolh{display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--line)}.bcolh .nm{font-weight:600;font-size:12.5px;display:flex;align-items:center;gap:6px}.bcolh .nm .tick{color:var(--green)}.bcolh .cnt{background:var(--panel);border:1px solid var(--line);border-radius:9px;font-size:10px;padding:0 6px;font-weight:700;color:var(--muted)}.bcolh .sp{flex:1}.bcolh .add{color:var(--muted);font-size:16px;padding:0 4px;line-height:1}.bcolh .add:hover{color:var(--ink)}.bcolbody{padding:9px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;min-height:60px;flex:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:var(--sh);cursor:grab;position:relative;transition:box-shadow .12s,transform .12s;display:block;text-align:left;width:100%}.card:hover{box-shadow:var(--sh2)}.card .r1{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-bottom:5px}.card .r1 .sp{flex:1}.card .ti{font-size:13px;font-weight:600;line-height:1.32;margin-bottom:6px;word-break:break-word}.card .prj{display:flex;gap:6px;align-items:center;font-size:10.5px;color:var(--muted);margin-bottom:7px}.card .tags{display:flex;gap:5px;margin-bottom:8px;flex-wrap:wrap}.card .foot{display:flex;gap:10px;font-size:11px;color:var(--muted);border-top:1px solid var(--softer);padding-top:7px;align-items:center;flex-wrap:wrap}.card .foot .it{display:inline-flex;gap:3px;align-items:center}.card .foot .sp{flex:1}.card .foot .od{color:var(--p1);font-weight:600}.card .foot .flag{color:var(--amber);font-weight:600}.card.blocked{border-left:3px solid var(--amber);background:linear-gradient(90deg,var(--ambers),var(--panel) 38%)}.card.done .key{text-decoration:line-through;color:var(--faint)}.card.done .ti{color:var(--ink2);font-weight:500}.cdk-drag-preview.card{box-shadow:var(--sh2);transform:rotate(1.5deg)}.cdk-drag-placeholder{opacity:.35}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}.bcol.cdk-drop-list-receiving,.bcolbody.cdk-drop-list-receiving{background:var(--accent-soft)}.rich{color:var(--ink2);line-height:1.6;word-break:break-word}.rich p{margin-bottom:8px}.rich p:last-child{margin-bottom:0}.rich h1,.rich h2,.rich h3,.rich h4{font-size:13.5px;margin:10px 0 5px;color:var(--ink)}.rich ul,.rich ol{margin:5px 0 10px 20px}.rich li{margin:2px 0}.rich code{font-family:var(--mono);font-size:12px;background:var(--soft);border-radius:4px;padding:0 4px}.rich pre{background:var(--code-bg);color:var(--code-ink);border-radius:8px;padding:9px 11px;font-family:var(--mono);font-size:11.5px;overflow:auto;margin:6px 0}.rich pre code{background:none;padding:0;color:inherit}.rich blockquote{border-left:3px solid var(--line);padding-left:10px;color:var(--muted);margin:6px 0}.rich a{color:var(--ink);text-decoration:underline}.rich .mention{background:var(--accent-soft);border-radius:4px;padding:0 3px;font-weight:600;color:var(--ink)}.rich table{border-collapse:collapse;margin:6px 0}.rich table td,.rich table th{border:1px solid var(--line);padding:4px 8px}.toasts{position:fixed;right:18px;bottom:18px;z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast{background:var(--toast-bg);color:var(--toast-ink);border-radius:10px;padding:10px 14px;font-size:12.5px;box-shadow:var(--sh2);max-width:380px;display:flex;gap:10px;align-items:center;animation:pop .16s ease}.toast.error{background:var(--p1);color:#fff}.toast.error .d{background:#fff}.toast.error button{color:#fff}.toast.success .d{background:#6fd39a}.toast .d{width:7px;height:7px;border-radius:50%;background:var(--toast-ink);flex:none}.toast button{color:var(--toast-ink);opacity:.7;margin-left:auto}@media(max-width:900px){.page{padding:14px}.row2,.row3{grid-template-columns:1fr}.modal{max-height:calc(100vh - 24px)}}
