:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--num:"tnum" 1, "lnum" 1;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:13.5px;--fs-lg:15px;--fs-xl:17px;--fs-2xl:21px;--fs-3xl:26px;--fs-4xl:32px;--fw-normal:400;--fw-medium:500;--fw-semi:600;--fw-bold:700;--fw-black:800;--tr-tight:-.02em;--tr-snug:-.011em;--tr-wide:.04em;--tr-caps:.06em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:999px;--ease-out:cubic-bezier(.22, .8, .32, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.32, .64, 1);--dur-1:90ms;--dur-2:.15s;--dur-3:.22s;--dur-4:.32s;--z-sticky:2;--z-rail:5;--z-popover:50;--z-panel:100;--z-batch:120;--z-modal:200;--z-toast:300;--sidebar-w:252px;--sidebar-w-collapsed:60px;--topbar-pad:22px;--row-h:42px;--hue-blue:#3b82f6;--hue-green:#12b981;--hue-amber:#f59e0b;--hue-red:#ef4657;--hue-violet:#a25ddc;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--surface:#fff;--surface-2:#f5f7fa;--surface-3:#e9edf4;--surface-raised:#fff;--row-hover:#f6f8fb;--scrim:#1318246b;--border:#e6eaf1;--border-strong:#d3dae6;--border-loud:#b6c0d2;--text:#131824;--text-soft:#58627a;--text-faint:#8b95a9;--text-on-accent:#fff;--accent:#2d6ae3;--accent-ink:#1f55c0;--accent-text:#1f55c0;--accent-soft:#e9f0fe;--accent-softer:#f3f7ff;--accent-line:#b9d0fb;--ok:#12a06b;--ok-soft:#dcf6e9;--ok-ink:#05714a;--warn:#e08c0b;--warn-soft:#fdefd4;--warn-ink:#96620a;--risk:#e0435a;--risk-soft:#fde5e9;--risk-ink:#b52b41;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #1018280a;--shadow-md:0 2px 4px #1018280d, 0 8px 20px #10182814;--shadow-lg:0 4px 8px #1018280f, 0 16px 36px #1018281c;--shadow-pop:0 6px 14px #10182814, 0 20px 44px #10182824;--shadow-drag:0 12px 28px #10182833;--ring:0 0 0 3px #2d6ae338;--ring-danger:0 0 0 3px #e0435a38;--overlay-1:#1318240a;--overlay-2:#13182412;--overlay-3:#1318241f;--invert-surface:#1b2030;--invert-text:#f2f4f8;--invert-overlay:#ffffff1a;--invert-overlay-hover:#ffffff2e;--canvas-bg:#f4f6fa;--canvas-dot:#d3dae6;--note-bg:#fffdf3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1017;--surface:#161a23;--surface-2:#1c212c;--surface-3:#262c39;--surface-raised:#1b2029;--row-hover:#1c212c;--scrim:#04060c9e;--border:#262c38;--border-strong:#333b4a;--border-loud:#45506380;--text:#e9ecf3;--text-soft:#98a2b6;--text-faint:#6b7488;--text-on-accent:#fff;--accent:#4d8bf5;--accent-ink:#6fa2f8;--accent-text:#7dabfa;--accent-soft:#4d8bf529;--accent-softer:#4d8bf514;--accent-line:#4d8bf56b;--ok:#21c48a;--ok-soft:#21c48a29;--ok-ink:#5ad6a8;--warn:#f0a92e;--warn-soft:#f0a92e29;--warn-ink:#f5c469;--risk:#f2596f;--risk-soft:#f2596f29;--risk-ink:#ff8a9c;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 2px 6px #0006, 0 10px 24px #0000006b;--shadow-lg:0 6px 14px #00000073, 0 20px 44px #00000080;--shadow-pop:0 8px 18px #00000080, 0 26px 56px #00000094;--shadow-drag:0 14px 34px #0000009e;--ring:0 0 0 3px #4d8bf552;--ring-danger:0 0 0 3px #f2596f4d;--overlay-1:#ffffff0b;--overlay-2:#ffffff14;--overlay-3:#ffffff24;--invert-surface:#eef1f6;--invert-text:#12161f;--invert-overlay:#0a0e1812;--invert-overlay-hover:#0a0e1821;--canvas-bg:#0d1017;--canvas-dot:#2b3342;--note-bg:#2a2413}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1017;--surface:#161a23;--surface-2:#1c212c;--surface-3:#262c39;--surface-raised:#1b2029;--row-hover:#1c212c;--scrim:#04060c9e;--border:#262c38;--border-strong:#333b4a;--border-loud:#45506380;--text:#e9ecf3;--text-soft:#98a2b6;--text-faint:#6b7488;--text-on-accent:#fff;--accent:#4d8bf5;--accent-ink:#6fa2f8;--accent-text:#7dabfa;--accent-soft:#4d8bf529;--accent-softer:#4d8bf514;--accent-line:#4d8bf56b;--ok:#21c48a;--ok-soft:#21c48a29;--ok-ink:#5ad6a8;--warn:#f0a92e;--warn-soft:#f0a92e29;--warn-ink:#f5c469;--risk:#f2596f;--risk-soft:#f2596f29;--risk-ink:#ff8a9c;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 2px 6px #0006, 0 10px 24px #0000006b;--shadow-lg:0 6px 14px #00000073, 0 20px 44px #00000080;--shadow-pop:0 8px 18px #00000080, 0 26px 56px #00000094;--shadow-drag:0 14px 34px #0000009e;--ring:0 0 0 3px #4d8bf552;--ring-danger:0 0 0 3px #f2596f4d;--overlay-1:#ffffff0b;--overlay-2:#ffffff14;--overlay-3:#ffffff24;--invert-surface:#eef1f6;--invert-text:#12161f;--invert-overlay:#0a0e1812;--invert-overlay-hover:#0a0e1821;--canvas-bg:#0d1017;--canvas-dot:#2b3342;--note-bg:#2a2413}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--dur-1:1ms;--dur-2:1ms;--dur-3:1ms;--dur-4:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--fs-base);letter-spacing:var(--tr-snug);text-rendering:optimizelegibility;overscroll-behavior:none;line-height:1.45}button,input,textarea,select{letter-spacing:inherit;font-family:inherit}.num,input[type=number],input[type=date],.t-sum-cell,.progress-label,.stat-value,.kcol-count,.group-count{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num)}::selection{background:var(--accent-soft);color:var(--accent-text)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}*{scrollbar-width:thin;scrollbar-color:var(--overlay-3) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--overlay-3);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--border-loud);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-corner{background:0 0}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(18px)}}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,14px)}}@keyframes shimmer{to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.center-note{height:100%;color:var(--text-soft);text-align:center;place-items:center;padding:40px;display:grid}.center-note.sm{font-size:var(--fs-md);padding:18px}.empty-state{justify-items:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-6);text-align:center;animation:rise-in var(--dur-4) var(--ease-out) both;display:grid}.empty-art{border-radius:var(--radius-xl);background:var(--surface-2);border:1px solid var(--border);width:68px;height:68px;color:var(--text-faint);margin-bottom:var(--sp-1);place-items:center;display:grid}.empty-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);color:var(--text)}.empty-text{max-width:46ch;color:var(--text-soft);font-size:var(--fs-md);margin:0;line-height:1.6}.empty-actions{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.empty-board{gap:var(--sp-3);align-content:center}.empty-board h1{font-size:var(--fs-2xl);letter-spacing:var(--tr-tight);margin:0}.empty-board p{color:var(--text-soft);margin:0}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 37%, var(--surface-2) 63%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s linear infinite shimmer}.sk-board{padding:var(--sp-6);gap:var(--sp-6);flex-direction:column;height:100%;display:flex}.sk-topline{align-items:center;gap:var(--sp-3);display:flex}.sk-group{gap:var(--sp-2);flex-direction:column;display:flex}.sk-row{height:var(--row-h);border-radius:var(--radius)}.sk-h{height:12px}.spinner{border:2px solid var(--overlay-2);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}.kbd{border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--surface-2);min-width:19px;height:19px;color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-semi);font-family:var(--font-sans);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.app{background:var(--bg);height:100%;display:flex;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.view-area{min-height:0;animation:fade-in var(--dur-3) var(--ease-out) both;flex:1;overflow:auto}.view-area.view-detail,.view-area.view-kanban,.view-area.view-mindmap{padding:0;overflow:hidden}.btn{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-semi);letter-spacing:var(--tr-snug);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 13px;display:inline-flex}.btn:active:not(:disabled){transform:scale(.975)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn-ghost{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-loud)}.btn-subtle{color:var(--text-soft);background:0 0}.btn-subtle:hover:not(:disabled){background:var(--overlay-1);color:var(--text)}.btn-icon{padding:7px}.btn-danger-ghost{color:var(--risk)}.btn-danger-ghost:hover:not(:disabled){background:var(--risk-soft)}.btn-danger{background:var(--risk);border-color:var(--risk);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.93)}.btn-mini{font-size:var(--fs-sm);border:1px solid var(--border-strong);background:var(--surface);padding:5px 10px}.btn-mini:hover:not(:disabled){background:var(--surface-2)}.btn-primary.btn-mini{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-primary.btn-mini:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);padding:var(--sp-3) var(--sp-3) var(--sp-2);gap:var(--sp-3);min-height:0;transition:width var(--dur-3) var(--ease-out), flex-basis var(--dur-3) var(--ease-out);flex-direction:column;display:flex}.side-head{align-items:center;gap:var(--sp-2);padding:2px 2px 0 6px;display:flex}.brand{align-items:center;gap:9px;min-width:0;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;display:grid;box-shadow:0 1px 2px #10182840}.brand-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);white-space:nowrap}.side-collapse{margin-left:auto}.side-search{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;color:var(--text-faint);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;text-align:left;transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);padding:7px 9px;display:flex}.side-search span{flex:1}.side-search:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text-soft)}.sidebar-section{gap:var(--sp-1);flex-direction:column;min-height:0;display:flex}.sidebar-tree{flex:1;min-height:0}.sidebar-section-title{align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);padding:0 8px 4px;display:flex}.sidebar-section-count{font-variant-numeric:tabular-nums;color:var(--text-faint);letter-spacing:0;margin-left:auto}.tree{min-height:0;margin:0 -4px;padding:0 4px;overflow-y:auto}.new-board{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-faint);font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer;transition:color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 8px;display:flex}.new-board:hover{border-color:var(--accent-line);background:var(--accent-softer);color:var(--accent-text)}.sidebar-empty{padding:var(--sp-6) var(--sp-2);color:var(--text-faint);font-size:var(--fs-sm);text-align:center;justify-items:center;gap:6px;display:grid}.sidebar-footer{padding-top:var(--sp-2);border-top:1px solid var(--border);margin-top:auto}.sidebar-footer .popover-wrap,.sidebar-footer .popover-trigger{width:100%}.user-chip{align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);width:100%;color:var(--text-faint);transition:background var(--dur-1) var(--ease-out);padding:7px 8px;display:flex}.user-chip:hover{background:var(--surface-2)}.user-avatar{background:linear-gradient(140deg, var(--accent), var(--accent-ink));color:#fff;width:28px;height:28px;font-size:var(--fs-sm);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.user-avatar.sm{width:24px;height:24px;font-size:var(--fs-xs)}.user-meta{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.user-name{font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-email{font-size:var(--fs-xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.popover-panel.user-menu{min-width:232px;top:auto;bottom:calc(100% + 8px)}.theme-seg{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:2px;margin:2px 4px 4px;padding:3px;display:grid}.theme-seg-btn{border-radius:var(--radius-sm);color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-semi);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.theme-seg-btn:hover{background:var(--overlay-1);color:var(--text)}.theme-seg-btn.is-active{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-xs)}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed);padding:var(--sp-3) 0 var(--sp-2);align-items:center;gap:var(--sp-2)}.side-rail-btn{border-radius:var(--radius);width:38px;height:38px;color:var(--text-soft);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;flex:none;place-items:center;display:grid}.side-rail-btn:hover{background:var(--surface-2);color:var(--text)}.side-rail-btn.is-active{background:var(--accent-soft);color:var(--accent-text)}.brand-rail:hover{background:0 0}.side-rail-boards{min-height:0;padding:var(--sp-2) 0;border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;width:100%;display:flex;overflow-y:auto}.side-rail-foot{padding-top:var(--sp-2);border-top:1px solid var(--border);place-items:center;width:100%;margin-top:auto;display:grid}.side-rail-foot .popover-panel{top:auto;bottom:0;left:calc(100% + 8px)}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-faint);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--overlay-1);color:var(--text)}.icon-btn.is-danger:hover{background:var(--risk-soft);color:var(--risk)}.topbar-slot{z-index:1;transition:box-shadow var(--dur-3) var(--ease-out);flex:none;position:relative}.topbar-slot.is-scrolled{box-shadow:var(--shadow-sm)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--sp-3) var(--topbar-pad) 0;flex:none}.topbar-main{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-3);display:flex}.topbar-title{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.topbar-board-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);flex:none;place-items:center;display:grid}.topbar-heading{min-width:0}.crumbs{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-faint);align-items:center;gap:5px;margin-bottom:1px;display:flex;overflow:hidden}.crumb{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.crumb+.crumb:before{content:"/";color:var(--border-loud);margin-right:5px}.board-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);line-height:1.2}.board-title-input{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight)}.topbar-actions{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.topbar-tabs{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.tabs{margin-bottom:var(--sp-2);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);gap:2px;padding:3px;display:flex}.tab{border-radius:var(--radius-sm);color:var(--text-soft);font-size:var(--fs-md);font-weight:var(--fw-semi);letter-spacing:var(--tr-snug);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:6px;padding:6px 11px;display:inline-flex}.tab:hover{color:var(--text);background:var(--overlay-1)}.tab.is-active{color:var(--accent-text);background:var(--surface);box-shadow:var(--shadow-xs)}.tab.is-active:hover{background:var(--surface)}.board-tools{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.board-stat{padding-right:var(--sp-1);font-size:var(--fs-sm);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:3px;display:inline-flex}.board-stat-num{font-weight:var(--fw-bold);color:var(--text-soft)}.board-stat-sep{color:var(--border-loud)}.board-stat-label{margin-left:2px}.board-tool{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-soft);font-size:var(--fs-md);font-weight:var(--fw-semi);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.board-tool:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-loud)}.board-tool.is-active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text)}.board-tool-badge{border-radius:var(--radius-full);background:var(--accent);color:#fff;min-width:17px;height:17px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);place-items:center;padding:0 5px;display:inline-grid}.popover-panel.filter-menu{min-width:300px;max-width:380px}.filter-body{gap:var(--sp-3);flex-direction:column;max-height:60vh;padding:4px;display:flex;overflow-y:auto}.filter-section{flex-direction:column;gap:6px;display:flex}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);align-items:center;gap:6px;padding:4px 10px 4px 5px;display:inline-flex}.filter-chip:hover{background:var(--surface-2)}.filter-chip.is-on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text)}.filter-clear{justify-content:center;margin-top:2px}.rule{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:7px;padding:8px;display:flex}.rule-sort{align-items:center;gap:var(--sp-2);flex-direction:row}.rule-head{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.rule-join{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tr-wide);flex:none}.rule-col{min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;gap:5px;display:inline-flex;overflow:hidden}.rule-op{border-radius:var(--radius-full);background:var(--overlay-1);flex:none;gap:2px;padding:2px;display:inline-flex}.rule-op-btn{border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:2px 9px}.rule-op-btn.is-on{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-xs)}.rule-dir{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-semi);cursor:pointer;flex:none;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.rule-dir:hover{color:var(--accent-text);border-color:var(--accent-line)}.rule-remove{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.rule-remove:hover{background:var(--overlay-1);color:var(--risk)}.rule-add{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-soft);font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.rule-add:hover{border-color:var(--accent-line);color:var(--accent-text);background:var(--accent-soft)}.rule-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:1px;max-height:230px;padding:4px;display:flex;overflow-y:auto}.rule-hint{font-size:var(--fs-sm);color:var(--text-faint);margin:0;padding:2px 4px 0;line-height:1.45}.filter-chip.is-empty{color:var(--text-soft);font-style:italic}.popover-panel.sort-menu{min-width:292px;max-width:360px}.popover-panel.board-menu{min-width:224px}.menu-kbd{margin-left:auto}.search{align-items:center;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:210px;color:var(--text-faint);transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);padding:5px 9px;display:flex}.search:focus-within{background:var(--surface);border-color:var(--accent);box-shadow:var(--ring)}.search.has-value{border-color:var(--accent-line)}.search input{font:inherit;font-size:var(--fs-md);min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1}.search input::placeholder{color:var(--text-faint)}.search-clear{cursor:pointer;color:var(--text-faint);background:0 0;border:none;padding:0;display:inline-flex}.search-clear:hover{color:var(--text)}.palette-fab{z-index:var(--z-rail);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-faint);cursor:pointer;box-shadow:var(--shadow-md);opacity:.62;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);align-items:center;gap:7px;padding:7px 10px 7px 11px;display:inline-flex;position:fixed;bottom:18px;right:18px}.palette-fab:hover{opacity:1;color:var(--text);transform:translateY(-1px)}.app.has-panel .palette-fab{opacity:0;pointer-events:none}.cmdk-overlay{z-index:var(--z-modal);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--dur-2) var(--ease-out) both;place-items:start center;padding:12vh 20px 20px;display:grid;position:fixed;inset:0}.cmdk{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:620px;max-width:100%;max-height:66vh;box-shadow:var(--shadow-pop);animation:pop-in var(--dur-3) var(--ease-spring) both;flex-direction:column;display:flex;overflow:hidden}.cmdk-input{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);color:var(--text-faint);flex:none;display:flex}.cmdk-input input{min-width:0;font:inherit;font-size:var(--fs-lg);color:var(--text);background:0 0;border:none;outline:none;flex:1}.cmdk-input input::placeholder{color:var(--text-faint)}.cmdk-list{min-height:0;padding:var(--sp-2);flex:1;scroll-padding:28px 0;overflow-y:auto}.cmdk-section{padding:var(--sp-3) 10px 4px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint)}.cmdk-item{border-radius:var(--radius-sm);width:100%;color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-medium);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.cmdk-item.is-active{background:var(--accent-soft);color:var(--accent-text)}.cmdk-icon{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--text-faint);flex:none;place-items:center;display:inline-grid}.cmdk-item.is-active .cmdk-icon{color:var(--accent-text)}.cmdk-swatch{border-radius:3px;width:11px;height:11px}.cmdk-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-hint{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-faint);border-radius:var(--radius-full);background:var(--overlay-1);white-space:nowrap;padding:2px 7px}.cmdk-empty{justify-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);color:var(--text-faint);text-align:center;display:grid}.cmdk-empty p{font-size:var(--fs-md);margin:0}.cmdk-foot{align-items:center;gap:var(--sp-4);padding:8px var(--sp-4);border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-faint);font-size:var(--fs-xs);flex:none;display:flex}.cmdk-foot span{align-items:center;gap:4px;display:inline-flex}.cmdk-foot-spacer{flex:1}.shortcuts{gap:var(--sp-6);padding:var(--sp-5) var(--sp-6) var(--sp-6);display:grid;overflow-y:auto}.shortcut-group h3{margin:0 0 var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint)}.shortcut-group ul{margin:0;padding:0;list-style:none}.shortcut-group li{justify-content:space-between;align-items:center;gap:var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-md);padding:7px 0;display:flex}.shortcut-group li:first-child{border-top:none}.shortcut-keys{flex:none;gap:4px;display:inline-flex}.editable{cursor:text;border-radius:var(--radius-xs);max-width:100%;transition:background var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);margin:-2px -5px;padding:2px 5px;display:inline-block}.editable:hover{background:var(--overlay-1);box-shadow:inset 0 0 0 1px var(--border)}.editable-placeholder{color:var(--text-faint)}.editable-input,input.editable-input,textarea.editable-input{font:inherit;border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--ring);background:var(--surface);color:var(--text);resize:vertical;outline:none;width:100%;padding:3px 6px}.avatar{color:#fff;font-weight:var(--fw-bold);border:2px solid var(--surface);letter-spacing:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar-stack{align-items:center;display:inline-flex}.avatar-extra{background:var(--surface-3);color:var(--text-soft)}.status-badge{border-radius:var(--radius-sm);min-width:92px;font-size:var(--fs-sm);font-weight:var(--fw-semi);white-space:nowrap;justify-content:center;align-items:center;padding:4px 12px;display:inline-flex}.priority-badge{font-size:var(--fs-md);font-weight:var(--fw-semi);align-items:center;gap:7px;display:inline-flex}.priority-dot{border-radius:50%;flex:none;width:8px;height:8px}.progress{align-items:center;gap:var(--sp-2);width:100%;display:inline-flex}.progress-track{border-radius:var(--radius-full);background:var(--surface-3);flex:1;min-width:36px;height:7px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width var(--dur-3) var(--ease-out);display:block}.progress-label{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-soft);text-align:right;font-variant-numeric:tabular-nums;min-width:32px}.health-pill{border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:var(--fw-semi);white-space:nowrap;border:1px solid #0000;align-items:center;padding:3px 10px;display:inline-flex}.health-ok{background:var(--ok-soft);color:var(--ok-ink)}.health-warn{background:var(--warn-soft);color:var(--warn-ink)}.health-risk{background:var(--risk-soft);color:var(--risk-ink)}.health-none{background:var(--surface-3);color:var(--text-soft)}.check{border:1.5px solid var(--border-loud);border-radius:var(--radius-xs);background:var(--surface);cursor:pointer;color:#fff;width:17px;height:17px;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);flex:none;place-items:center;padding:0;display:grid}.check:hover{border-color:var(--ok)}.check:active{transform:scale(.9)}.check.is-checked{background:var(--ok);border-color:var(--ok)}.check.sm{width:15px;height:15px}.check.lg{border-radius:var(--radius-sm);border-width:2px;width:26px;height:26px;margin-top:4px}.popover-wrap{max-width:100%;display:inline-flex;position:relative}.popover-trigger{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;align-items:center;max-width:100%;margin:0;padding:0;display:inline-flex}.popover-panel{z-index:var(--z-popover);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);min-width:196px;box-shadow:var(--shadow-pop);transform-origin:top;animation:pop-in var(--dur-2) var(--ease-out) both;padding:5px;position:absolute;top:calc(100% + 6px)}.popover-panel.align-left{left:0}.popover-panel.align-right{right:0}.menu{flex-direction:column;gap:1px;display:flex}.menu-item{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;text-align:left;width:100%;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:9px;padding:7px 9px;display:flex}.menu-item>svg{color:var(--text-faint)}.menu-item:hover{background:var(--surface-2)}.menu-item.is-active{background:var(--accent-soft);color:var(--accent-text)}.menu-item.is-active>svg{color:var(--accent-text)}.menu-clear,.menu-clear>svg{color:var(--risk)}.menu-clear:hover{background:var(--risk-soft)}.menu-sep{background:var(--border);height:1px;margin:4px 6px}.menu-title{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);padding:8px 9px 4px}.menu-empty{color:var(--text-faint);font-size:var(--fs-md);padding:8px 9px}.swatch{width:12px;height:12px;box-shadow:inset 0 0 0 1px var(--overlay-2);border-radius:3px;flex:none}.progress-editor{min-width:190px;padding:var(--sp-3);gap:10px}.progress-editor input[type=range]{width:100%;accent-color:var(--accent)}.owner-empty{border:1.5px dashed var(--border-loud);width:26px;height:26px;color:var(--text-faint);transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);border-radius:50%;place-items:center;display:inline-grid}.owner-empty:hover{border-color:var(--accent);color:var(--accent)}.owner-menu{min-width:226px}.owner-list{flex-direction:column;gap:1px;max-height:244px;display:flex;overflow-y:auto}.owner-name{flex:1}.owner-check{color:var(--accent);display:inline-flex}.owner-add{align-items:center;gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border);margin-top:6px;display:flex}.owner-add-avatar{background:var(--surface-3);width:24px;height:24px;color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.owner-add input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:0;font:inherit;font-size:var(--fs-md);background:var(--surface);color:var(--text);outline:none;flex:1;padding:6px 8px}.owner-add input:focus{border-color:var(--accent);box-shadow:var(--ring)}.field-input,.text-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;font:inherit;font-size:var(--fs-md);background:var(--surface);color:var(--text);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);outline:none;padding:7px 10px}.field-input:focus,.text-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.time-input{font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--text-soft);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:1px solid #0000;padding:4px 7px}.time-input:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}.time-input:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface);color:var(--text);outline:none}.sel{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-semi);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);align-items:center;gap:7px;padding:6px 9px;display:inline-flex}.sel:hover{background:var(--surface-2);border-color:var(--border-loud)}.sel-caret{color:var(--text-faint);margin-left:2px}.sel-menu{min-width:190px;max-height:300px;overflow-y:auto}.sel-check{color:var(--accent);margin-left:auto;display:inline-flex}.datefield{border-radius:var(--radius-sm);color:var(--text-soft);font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;cursor:pointer;max-width:100%;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.datefield:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}.datefield>svg{color:var(--text-faint);flex:none}.datefield.is-empty{color:var(--text-faint)}.datefield.is-overdue,.datefield.is-overdue>svg{color:var(--risk)}.datefield.is-soon{color:var(--warn-ink)}.datefield-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.datefield-wrap{max-width:100%;display:inline-flex;position:relative}.datefield-native{opacity:0;cursor:pointer;border:none;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.datefield-clear{color:var(--text-faint);cursor:pointer;z-index:1;background:0 0;border:none;padding:0;display:none;position:relative}.datefield-wrap:hover .datefield-clear{display:inline-flex}.datefield-clear:hover{color:var(--risk)}.table-view{padding:var(--sp-4) var(--topbar-pad) var(--sp-12)}.group{margin-bottom:var(--sp-5)}.group-head{border-radius:var(--radius-sm);align-items:center;gap:7px;margin-bottom:7px;padding:2px 4px;display:flex}.group-chevron{cursor:pointer;transition:transform var(--dur-2) var(--ease-out);background:0 0;border:none;flex:none;padding:0;display:inline-flex}.group-chevron.is-collapsed{transform:rotate(-90deg)}.group-color{cursor:pointer;width:12px;height:12px;box-shadow:inset 0 0 0 1px var(--overlay-2);transition:transform var(--dur-1) var(--ease-out);border:none;border-radius:3px;flex:none}.group-color:hover{transform:scale(1.18)}.group-name-wrap{flex:0 auto;align-items:center;min-width:0;display:inline-flex}.group-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);color:inherit;white-space:nowrap;text-overflow:ellipsis;max-width:46ch;overflow:hidden}.group-name-input{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);width:auto;min-width:180px}.group-count{background:var(--surface-3);color:var(--text-soft);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none;padding:1px 8px}.group-menu-btn{opacity:0;transition:opacity var(--dur-1) var(--ease-out);margin-left:2px}.group:hover .group-menu-btn,.group-head:focus-within .group-menu-btn{opacity:1}.t-table{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.t-row{border-bottom:1px solid var(--border);min-height:var(--row-h);background:var(--surface);transition:background var(--dur-1) var(--ease-out);align-items:center;display:grid}.t-row:last-child{border-bottom:none}.t-row>div{min-width:0;padding:5px 11px}.t-row:not(.t-head):not(.t-summary):not(.is-selected):hover{background:var(--row-hover)}.t-head{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);font-weight:var(--fw-bold);background:var(--surface-2);min-height:34px;z-index:var(--z-sticky);border-radius:0 var(--radius) 0 0;position:sticky;top:0}.t-head>div{padding-top:0;padding-bottom:0}.t-check{justify-content:center;display:flex}.t-row .check{margin:0 auto}.t-rail{justify-content:flex-end;align-items:center;gap:5px;display:flex;padding-right:8px!important}.t-head-rail{justify-content:flex-end}.t-grip{color:var(--text-faint);cursor:grab;opacity:0;transition:opacity var(--dur-1) var(--ease-out);display:inline-flex}.t-grip:active{cursor:grabbing}.t-row:hover .t-grip{opacity:1}.t-selbox{border:1.5px solid var(--border-loud);border-radius:var(--radius-xs);background:var(--surface);cursor:pointer;color:#fff;opacity:0;width:16px;height:16px;transition:opacity var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);flex:none;place-items:center;padding:0;display:grid}.t-row:hover .t-selbox,.t-row.is-selected .t-selbox,.t-head-rail .t-selbox{opacity:1}.t-selbox:hover{border-color:var(--accent)}.t-selbox.is-checked{background:var(--accent);border-color:var(--accent)}.t-row.is-selected{background:var(--accent-soft)}.t-row.is-dragging{opacity:.4}.t-row.drop-above{box-shadow:inset 0 2px 0 var(--accent)}.t-row.drop-below{box-shadow:inset 0 -2px 0 var(--accent)}.t-name{font-weight:var(--fw-semi)}.is-done .t-name .editable{color:var(--text-faint);text-decoration:line-through}.t-del{color:var(--text-faint);cursor:pointer;opacity:0;border-radius:var(--radius-xs);transition:opacity var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;justify-content:center;padding:6px;display:inline-flex}.t-row:hover .t-del{opacity:1}.t-del:hover{color:var(--risk)}.t-add{color:var(--text-faint);font-size:var(--fs-md);font-weight:var(--fw-semi);cursor:pointer;text-align:left;border-radius:0 0 var(--radius) var(--radius);width:100%;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:7px;padding:9px 14px;display:flex}.t-add:hover{background:var(--surface-2);color:var(--accent-text)}.t-cell-chip{justify-content:center}.t-cell-chip .popover-wrap,.t-cell-chip .popover-trigger{max-width:100%}.t-cell-chip .opt-badge{justify-content:center;min-width:84px}.t-cell-chip .cell-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);min-width:84px;color:var(--text-faint);font-size:var(--fs-sm);transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);justify-content:center;align-items:center;padding:3px 10px;line-height:1.35;display:inline-flex}.t-cell-chip .cell-add:hover{border-color:var(--accent-line);background:var(--accent-softer);color:var(--accent-text)}.t-summary{background:var(--surface-2);border-bottom:none;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);min-height:36px}.t-sum-count{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tr-caps)}.t-sum-cell{min-width:0}.sum-bar{border-radius:var(--radius-xs);background:var(--surface-3);width:100%;height:20px;box-shadow:inset 0 0 0 1px var(--overlay-1);display:flex;overflow:hidden}.sum-seg{min-width:16px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);justify-content:center;align-items:center;display:flex;overflow:hidden}.sum-num{align-items:baseline;gap:6px;display:flex}.sum-num-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint)}.sum-num-value{font-size:var(--fs-md);font-weight:var(--fw-black);color:var(--text);font-variant-numeric:tabular-nums}.sum-progress{align-items:center;gap:var(--sp-2);width:100%;display:flex}.sum-progress-track{border-radius:var(--radius-full);background:var(--surface-3);flex:1;min-width:30px;height:7px;overflow:hidden}.sum-progress-fill{border-radius:var(--radius-full);height:100%;display:block}.sum-progress-label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-soft);font-variant-numeric:tabular-nums}.sum-count{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-soft);font-variant-numeric:tabular-nums}.sum-muted{color:var(--text-faint)}.batch-bar{background:var(--invert-surface);color:var(--invert-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:var(--z-batch);animation:slide-up var(--dur-3) var(--ease-spring) both;align-items:center;gap:5px;padding:7px 9px 7px 15px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.batch-count{font-size:var(--fs-md);font-weight:var(--fw-bold);white-space:nowrap;font-variant-numeric:tabular-nums;margin-right:6px}.batch-btn{border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--invert-text);background:var(--invert-overlay);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease-out);border:none;align-items:center;gap:6px;padding:7px 11px;display:inline-flex}.batch-btn:hover{background:var(--invert-overlay-hover)}.batch-danger:hover{background:var(--risk);color:#fff}.batch-close{border-radius:var(--radius-sm);background:var(--invert-overlay);width:30px;height:30px;color:var(--invert-text);cursor:pointer;border:none;justify-content:center;align-items:center;margin-left:4px;display:inline-flex}.batch-close:hover{background:var(--invert-overlay-hover)}.batch-bar .popover-panel{color:var(--text);top:auto;bottom:calc(100% + 8px)}.kanban-wrap{flex-direction:column;height:100%;min-height:0;display:flex}.kanban-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--topbar-pad) 0;flex:none;display:flex}.kanban-bar-label{font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text-soft)}.kanban{gap:var(--sp-3);padding:var(--sp-3) var(--topbar-pad) var(--sp-5);min-height:0;scroll-padding-inline:var(--topbar-pad);flex:1;align-items:stretch;display:flex;overflow-x:auto}.kcol{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);width:296px;min-height:0;transition:border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);flex-direction:column;flex:0 0 296px;display:flex;overflow:hidden}.kcol-head{align-items:center;gap:var(--sp-2);padding:11px var(--sp-3) 9px;border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex}.kcol-accent{height:3px;position:absolute;inset:0 0 auto}.kcol-dot{border-radius:50%;flex:none;width:9px;height:9px}.kcol-name{font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:var(--tr-snug);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kcol-count{background:var(--surface-3);color:var(--text-soft);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none;padding:1px 8px}.kcol-add{cursor:pointer;color:var(--text-faint);border-radius:var(--radius-xs);transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;margin-left:auto;padding:4px;display:inline-flex}.kcol-add:hover{background:var(--surface-2);color:var(--accent-text)}.kcol-body{border-radius:0 0 var(--radius-lg) var(--radius-lg);gap:var(--sp-2);min-height:120px;transition:background var(--dur-2) var(--ease-out);border:2px solid #0000;flex-direction:column;flex:1;padding:10px;display:flex;overflow-y:auto}.kcol.is-over{border-color:var(--accent)}.kcol.is-over .kcol-body{background:var(--accent-soft)}.kcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);padding:11px 12px 11px 14px;position:relative;overflow:hidden}.kcard:before{content:"";background:var(--kcard-accent,var(--border-strong));width:3px;position:absolute;top:0;bottom:0;left:0}.kcard:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-1px)}.kcard.is-dragging{opacity:.4;box-shadow:var(--shadow-drag)}.kcard-title{font-weight:var(--fw-semi);font-size:var(--fs-base);letter-spacing:var(--tr-snug);margin-bottom:9px;line-height:1.35}.kcard-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.kcard-due{font-size:var(--fs-sm);color:var(--text-soft);border:1px solid var(--border);border-radius:var(--radius-full);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.kcard-due.is-late{border-color:var(--risk-soft);background:var(--risk-soft);color:var(--risk-ink)}.kcard-foot{align-items:center;gap:var(--sp-2);border-top:1px solid var(--border);margin-top:10px;padding-top:9px;display:flex}.kcard-stat{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-faint);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.kcard-noowner{font-size:var(--fs-sm);color:var(--text-faint)}.kcard-group{font-size:var(--fs-xs);color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;max-width:130px;margin-left:auto;display:inline-flex;overflow:hidden}.kcard-group-dot{border-radius:50%;flex:none;width:7px;height:7px}.kcard-add{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-faint);font-size:var(--fs-md);font-weight:var(--fw-semi);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:6px;padding:9px;display:flex}.kcard-add:hover{border-color:var(--accent-line);background:var(--accent-softer);color:var(--accent-text)}.kcol.is-collapsed{align-items:center;gap:var(--sp-3);width:46px;padding:var(--sp-3) 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-soft);transition:background var(--dur-2) var(--ease-out);flex-direction:column;flex:0 0 46px;display:flex}.kcol.is-collapsed:hover{background:var(--surface-3)}.kcol-collapsed-count{font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--surface);border-radius:var(--radius-full);flex:none;padding:1px 7px}.kcol-collapsed-name{writing-mode:vertical-rl;font-weight:var(--fw-bold);font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;max-height:280px;overflow:hidden;transform:rotate(180deg)}.kcol-collapse{cursor:pointer;color:var(--text-faint);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.kcol-collapse:hover{color:var(--text);background:var(--overlay-1)}.detail{height:100%;display:flex;overflow:hidden}.detail-list{border-right:1px solid var(--border);background:var(--surface);width:296px;padding-bottom:var(--sp-6);flex:0 0 296px;overflow-y:auto}.detail-group-head{z-index:1;padding:9px var(--sp-4);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:7px;display:flex;position:sticky;top:0}.detail-group-dot{border-radius:50%;flex:none;width:8px;height:8px}.detail-group-count{letter-spacing:0;font-variant-numeric:tabular-nums;margin-left:auto}.detail-item{padding:10px var(--sp-4);border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;transition:background var(--dur-1) var(--ease-out);background:0 0;border-left:2px solid #0000;align-items:flex-start;gap:10px;display:flex}.detail-item:hover{background:var(--surface-2)}.detail-item.is-active{background:var(--accent-soft);border-left-color:var(--accent)}.detail-item .check{margin-top:1px}.detail-item-body{flex:1;min-width:0}.detail-item-name{font-weight:var(--fw-semi);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.detail-item.is-done .detail-item-name{color:var(--text-faint);text-decoration:line-through}.detail-item-sub{font-size:var(--fs-sm);color:var(--text-faint);align-items:center;gap:6px;margin-top:3px;display:flex}.detail-item-sub .dot{border-radius:50%;flex:none;width:7px;height:7px}.detail-item-due{font-variant-numeric:tabular-nums;margin-left:auto}.detail-list-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-faint);font-size:var(--fs-md)}.detail-main{background:var(--bg);flex:1;justify-content:center;min-width:0;display:flex;overflow-y:auto}.detail-doc{width:100%;max-width:720px;padding:var(--sp-6) var(--sp-8) var(--sp-12);animation:rise-in var(--dur-3) var(--ease-out) both}.detail-panel-top{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.detail-crumb{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-soft);text-transform:uppercase;letter-spacing:var(--tr-wide);align-items:center;gap:7px;display:inline-flex}.detail-crumb-actions{align-items:center;gap:6px;display:inline-flex}.detail-title-row{align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-6);display:flex}.detail-title{font-size:var(--fs-3xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight);line-height:1.18}.detail-title.is-done .editable{color:var(--text-faint);text-decoration:line-through}.detail-title-input{font-size:var(--fs-3xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight)}.detail-block{padding:var(--sp-5) 0;border-top:1px solid var(--border)}.detail-block:first-of-type{border-top:none;padding-top:0}.detail-block-head{margin:0 0 var(--sp-3);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);align-items:center;gap:7px;display:flex}.detail-block-count{border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-soft);letter-spacing:0;font-variant-numeric:tabular-nums;padding:1px 7px}.detail-block-empty{margin:0 0 var(--sp-3);color:var(--text-faint);font-size:var(--fs-md)}.detail-block .subitem-list{margin-bottom:var(--sp-3)}.detail-block .update-list{margin-top:var(--sp-4)}.detail-side{border-left:1px solid var(--border);background:var(--surface);width:288px;padding-bottom:var(--sp-8);flex:0 0 288px;overflow-y:auto}.detail-side-head{padding:11px var(--sp-4);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);background:var(--surface-2);border-bottom:1px solid var(--border);z-index:1;position:sticky;top:0}.detail-props{padding:var(--sp-2) var(--sp-3)}.detail-prop{align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);min-height:36px;transition:background var(--dur-1) var(--ease-out);grid-template-columns:104px 1fr;padding:6px;display:grid}.detail-prop:hover{background:var(--surface-2)}.detail-prop-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.detail-prop-value{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.detail-side-note{margin:var(--sp-4) 6px 0;padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-faint);line-height:1.5}@media (width<=1180px){.detail-side{display:none}}@media (width<=900px){.detail-list{flex-basis:240px;width:240px}.detail-doc{padding:var(--sp-5) var(--sp-5) var(--sp-10)}}.dashboard{gap:var(--sp-4);padding:var(--sp-5) var(--topbar-pad) var(--sp-10);flex-direction:column;width:100%;max-width:1320px;margin:0 auto;display:flex}.dash-toolbar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.dash-toolbar-label{font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text-soft)}.dash-toolbar-note{font-size:var(--fs-md);color:var(--text-faint)}.dash-toolbar-spacer{flex:1}.dash-completion{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);color:var(--text-soft);white-space:nowrap;display:inline-flex}.dash-completion strong{color:var(--text);font-variant-numeric:tabular-nums}.dash-completion-bar{border-radius:var(--radius-full);background:var(--surface-3);width:132px;height:6px;display:block;overflow:hidden}.dash-completion-bar span{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--accent), var(--ok));height:100%;transition:width var(--dur-4) var(--ease-out);display:block}.stat-strip{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.stat-card{align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);display:flex;position:relative}.stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-icon{border-radius:var(--radius-md);background:var(--surface-2);width:38px;height:38px;color:var(--text-soft);flex:none;place-items:center;display:grid}.stat-icon.tone-accent{background:var(--accent-soft);color:var(--accent-text)}.stat-icon.tone-ok{background:var(--ok-soft);color:var(--ok-ink)}.stat-icon.tone-warn{background:var(--warn-soft);color:var(--warn-ink)}.stat-body{min-width:0}.stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight);font-variant-numeric:tabular-nums;line-height:1}.stat-label{font-size:var(--fs-md);color:var(--text-soft);margin-top:3px}.stat-sub{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-faint);white-space:nowrap;align-self:flex-start;margin-left:auto}.dash-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(370px,1fr));align-items:stretch;display:grid}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5) var(--sp-5);box-shadow:var(--shadow-xs);flex-direction:column;min-width:0;display:flex}.widget.is-wide{grid-column:span 2}.widget-head{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);margin-bottom:var(--sp-4);color:var(--text);display:flex}.widget-sub{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tr-wide)}.bar-chart{height:190px;padding-left:30px;position:relative}.bar-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 26px 30px}.bar-gridline{border-top:1px dashed var(--border);height:0;position:relative}.bar-gridline i{font-style:normal;font-size:var(--fs-2xs);color:var(--text-faint);font-variant-numeric:tabular-nums;position:absolute;top:-7px;right:calc(100% + 6px)}.bar-cols{align-items:flex-end;gap:var(--sp-3);height:100%;display:flex;position:relative}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;min-width:0;height:100%;display:flex}.bar-track{flex:1;justify-content:center;align-items:flex-end;min-height:0;display:flex}.bar-fill{border-radius:var(--radius-sm) var(--radius-sm) 2px 2px;width:100%;max-width:46px;transition:height var(--dur-4) var(--ease-out);min-height:3px;position:relative}.bar-value{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-soft);font-variant-numeric:tabular-nums;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)}.bar-label{height:26px;font-size:var(--fs-xs);color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;max-width:100%;display:flex;overflow:hidden}.donut-row{align-items:center;gap:var(--sp-6);flex-wrap:wrap;display:flex}.donut{width:138px;height:138px;box-shadow:inset 0 0 0 1px var(--overlay-1);border-radius:50%;flex:none;place-items:center;display:grid}.donut-hole{background:var(--surface);border-radius:50%;align-content:center;place-items:center;width:88px;height:88px;line-height:1.1;display:grid}.donut-hole strong{font-size:var(--fs-2xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight);font-variant-numeric:tabular-nums}.donut-hole span{font-size:var(--fs-2xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tr-caps)}.legend{flex-direction:column;flex:1;gap:7px;min-width:150px;margin:0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.legend-dot{border-radius:3px;flex:none;width:10px;height:10px}.legend-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);flex:1;overflow:hidden}.legend-count{color:var(--text);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.legend-pct{text-align:right;width:34px;color:var(--text-faint);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.upcoming{margin:0;padding:0;list-style:none}.upcoming li+li{border-top:1px solid var(--border)}.upcoming-row{align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;transition:background var(--dur-1) var(--ease-out);background:0 0;border:none;margin:0 -6px;padding:9px 6px;display:flex}.upcoming-row:hover{background:var(--surface-2)}.upcoming-name{font-weight:var(--fw-semi);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.upcoming-due{font-size:var(--fs-sm);color:var(--text-soft);text-align:right;font-variant-numeric:tabular-nums;min-width:52px}.upcoming-due.is-late{color:var(--risk);font-weight:var(--fw-semi)}.workload{flex-direction:column;flex:1;gap:10px;margin:0;padding:0;list-style:none;display:flex}.workload li{align-items:center;gap:var(--sp-2);display:flex}.workload-unassigned{background:var(--surface-3);width:26px;height:26px;color:var(--text-faint);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.workload-name{width:92px;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);flex:none;overflow:hidden}.workload-bar{border-radius:var(--radius-full);background:var(--surface-3);flex:1;min-width:40px;height:9px;display:flex;overflow:hidden}.workload-done,.workload-open{height:100%;transition:width var(--dur-4) var(--ease-out);display:block}.workload-done{background:var(--ok)}.workload-open{background:var(--accent)}.workload-count{text-align:right;min-width:20px;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-soft);font-variant-numeric:tabular-nums}.workload-key{gap:var(--sp-4);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-faint);display:flex}.workload-key span{align-items:center;gap:5px;display:inline-flex}.workload-key i{border-radius:3px;width:9px;height:9px}.workload-key .k-done{background:var(--ok)}.workload-key .k-open{background:var(--accent)}.dash-timeline{flex-direction:column;gap:4px;display:flex}.dash-timeline .mini-row{align-items:center;gap:var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;transition:background var(--dur-1) var(--ease-out);background:0 0;border:none;margin:0 -6px;padding:6px;display:flex}.dash-timeline .mini-row:hover{background:var(--surface-2)}.dash-timeline .mini-label{width:118px;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.dash-timeline .mini-track{border-radius:var(--radius-full);background:var(--surface-3);flex:1;min-width:40px;height:6px;position:relative}.activity{margin:0;padding:0;list-style:none}.activity li+li{border-top:1px solid var(--border)}.activity-row{align-items:flex-start;gap:var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;transition:background var(--dur-1) var(--ease-out);background:0 0;border:none;margin:0 -6px;padding:10px 6px;display:flex}.activity-row:hover{background:var(--surface-2)}.activity-avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.activity-main{flex:1;min-width:0}.activity-top{font-size:var(--fs-sm);color:var(--text-faint);align-items:baseline;gap:6px;display:flex}.activity-top strong{color:var(--text);font-weight:var(--fw-semi)}.activity-on{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.activity-when{flex:none}.activity-text{-webkit-line-clamp:2;line-clamp:2;font-size:var(--fs-md);color:var(--text-soft);-webkit-box-orient:vertical;margin-top:2px;line-height:1.5;display:-webkit-box;overflow:hidden}.toast{background:var(--invert-surface);color:var(--invert-text);border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:var(--fw-semi);box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-spring);z-index:var(--z-toast);align-items:center;gap:9px;max-width:min(560px,100vw - 40px);padding:10px 16px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%,14px)}.toast.show{opacity:1;transform:translate(-50%)}.toast-dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.toast.error{background:var(--risk);color:#fff}.toast.error .toast-dot{background:#ffffffd9}.signin{height:100%;padding:var(--sp-6);background:radial-gradient(60rem 40rem at 50% -10%, var(--accent-softer), transparent 70%), var(--bg);place-items:center;display:grid}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--sp-8) var(--sp-8) var(--sp-7);text-align:center;width:380px;max-width:100%;animation:pop-in var(--dur-4) var(--ease-spring) both}.signin-brand{font-size:var(--fs-2xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight);margin-bottom:var(--sp-2);justify-content:center;align-items:center;gap:10px;display:flex}.signin-brand .brand-mark{border-radius:var(--radius);width:30px;height:30px}.signin-title{margin:0 0 var(--sp-3);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight)}.signin-text{color:var(--text-soft);margin:0 0 var(--sp-6);font-size:var(--fs-md);line-height:1.6}.signin-card code{font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--accent-softer);color:var(--text);padding:1px 5px;font-size:.92em}.signin-btn{width:100%;font-size:var(--fs-base);justify-content:center;padding:11px}.signin-error{color:var(--risk);font-size:var(--fs-md);margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);background:var(--risk-soft)}.signin-foot{margin:var(--sp-5) 0 0;font-size:var(--fs-xs);color:var(--text-faint)}.boot{background:var(--bg);place-items:center;height:100%;display:grid}.boot-inner{justify-items:center;gap:var(--sp-3);color:var(--text-faint);font-size:var(--fs-md);display:grid}.boot-inner .brand-mark{border-radius:var(--radius-md);width:34px;height:34px;animation:boot-pulse 1.4s var(--ease-in-out) infinite}@keyframes boot-pulse{50%{opacity:.45;transform:scale(.94)}}.tree{flex-direction:column;gap:1px;display:flex}.tree-row{border-radius:var(--radius-sm);min-height:31px;transition:background var(--dur-1) var(--ease-out);align-items:center;gap:4px;padding-right:4px;display:flex}.tree-row:hover{background:var(--surface-2)}.tree-row.is-active{background:var(--accent-soft)}.tree-twisty{width:16px;height:16px;color:var(--text-faint);cursor:pointer;transition:transform var(--dur-2) var(--ease-out);background:0 0;border:none;flex:none;place-items:center;display:inline-grid}.tree-twisty.is-open{transform:rotate(90deg)}.tree-twisty.is-empty{cursor:default}.tree-icon{color:var(--text-faint);flex:none}.tree-row.is-active .tree-icon{color:var(--accent-text)}.tree-name{text-align:left;min-width:0;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text-soft);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:6px 2px;overflow:hidden}.tree-row:hover .tree-name{color:var(--text)}.tree-row.is-active .tree-name{color:var(--accent-text)}.tree-rename{min-width:0;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semi);border:1px solid var(--accent);border-radius:var(--radius-xs);background:var(--surface);color:var(--text);box-shadow:var(--ring);outline:none;flex:1;padding:4px 6px}.tree-more{border-radius:var(--radius-xs);color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity var(--dur-1) var(--ease-out);padding:3px;display:inline-flex}.tree-row:hover .tree-more,.tree-row:focus-within .tree-more{opacity:1}.tree-more:hover{background:var(--overlay-2);color:var(--text)}.tree-add{margin-top:var(--sp-2);gap:6px;display:flex}.menu-sub{font-size:var(--fs-xs);color:var(--text-faint);font-weight:var(--fw-normal);flex-basis:100%;padding-left:24px}.menu-item{flex-wrap:wrap}.th-cell,.t-cell{align-items:center;min-width:0;display:flex}.th-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);cursor:pointer;align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.th-label:hover{color:var(--text)}.th-role{text-transform:none;letter-spacing:0;background:var(--accent-soft);color:var(--accent-text);border-radius:var(--radius-xs);padding:1px 5px;font-size:9px}.th-caret{opacity:.5}.th-addcol{justify-content:center;align-items:center;display:flex}.th-add{color:var(--text-faint);cursor:pointer;border-radius:6px;padding:4px;display:inline-flex}.th-add:hover{background:var(--surface-2);color:var(--accent-text)}.opt-badge{border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:var(--fw-semi);letter-spacing:var(--tr-snug);white-space:nowrap;text-overflow:ellipsis;align-items:center;max-width:100%;padding:3px 10px;line-height:1.35;display:inline-flex;overflow:hidden}.opt-badge.sm{font-size:var(--fs-xs);border-radius:var(--radius-xs);padding:2px 8px}.cell-empty{color:var(--text-faint)}.cell-add{color:var(--text-faint);padding:2px 6px;font-size:15px;line-height:1}.cell-add:hover{color:var(--accent-text)}.tag-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.num-input{width:76px;font:inherit;border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--ring);background:var(--surface);color:var(--text);outline:none;padding:4px 6px}.num-cell{cursor:text}.longtext-cell{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.glyph-row{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.glyph{color:var(--text-soft);align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.glyph-pill{border-radius:20px;padding:2px 9px}.glyph-dot{opacity:.8;border-radius:50%;width:6px;height:6px}.glyph-tags{gap:3px}.glyph-chip{border-radius:5px;padding:1px 7px;font-size:11px;font-weight:600}.glyph-chip.more{background:var(--surface-3);color:var(--text-soft)}.glyph-num{background:var(--surface-3);color:var(--text-soft);border-radius:5px;padding:1px 7px}.glyph-date{border:1px solid var(--border);border-radius:20px;padding:1px 8px}.col-menu,.addcol-menu{min-width:240px;max-width:320px}.addcol-item{align-items:flex-start}.addcol-text{flex-direction:column;display:flex}.addcol-name{font-weight:600}.addcol-blurb{color:var(--text-faint);font-size:11.5px}.col-editor{flex-direction:column;gap:14px;padding:4px;display:flex}.col-field{flex-direction:column;gap:6px;display:flex}.col-field-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint)}.col-field>.popover-wrap{align-self:flex-start}.col-input{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:7px;outline:none;padding:8px 10px;font-size:13.5px}.col-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.opt-list{flex-direction:column;gap:6px;display:flex}.opt-row{align-items:center;gap:8px;display:flex}.opt-swatch{cursor:pointer;width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--overlay-2);border-radius:6px;flex:none}.opt-label{min-width:0;font:inherit;border:1px solid var(--border-strong);border-radius:6px;outline:none;flex:1;padding:6px 9px}.opt-label:focus{border-color:var(--accent)}.opt-del{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:4px;display:inline-flex}.opt-del:hover{color:var(--risk);background:var(--risk-soft)}.opt-add{gap:6px;margin-top:4px;display:flex}.opt-add input{min-width:0;font:inherit;font-size:var(--fs-md);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;flex:1;padding:6px 9px}.opt-add input:focus{border-color:var(--accent);box-shadow:var(--ring)}.col-toggle{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;font:inherit;font-size:var(--fs-md);color:var(--text-soft);text-align:left;cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);padding:9px 10px;display:flex}.col-toggle:hover{border-color:var(--border-strong)}.col-toggle[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text)}.col-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.swatch-pop{min-width:auto}.swatch-grid{grid-template-columns:repeat(5,1fr);gap:6px;padding:4px;display:grid}.swatch-cell{border:2px solid var(--surface);cursor:pointer;width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--overlay-2);border-radius:6px}.modal-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-modal);padding:var(--sp-6);animation:fade-in var(--dur-2) var(--ease-out) both;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);min-width:0;max-height:86vh;animation:pop-in var(--dur-3) var(--ease-spring) both;flex-direction:column;display:flex}.modal-sm{width:420px;max-width:100%}.modal-md{width:560px;max-width:100%}.modal-lg{width:760px;max-width:100%}.modal-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex:none;display:flex}.modal-head h2{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);align-items:center;gap:9px;margin:0;display:flex}.modal-head h2>svg{color:var(--text-faint)}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex:none;display:flex}.confirm{justify-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-6) var(--sp-5);text-align:center;display:grid}.confirm-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-text);margin-bottom:var(--sp-1);border-radius:50%;place-items:center;display:grid}.confirm-icon.is-danger{background:var(--risk-soft);color:var(--risk)}.confirm-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);margin:0}.confirm-body{color:var(--text-soft);font-size:var(--fs-md);max-width:44ch;line-height:1.6}.confirm-actions{gap:var(--sp-2);margin-top:var(--sp-4);width:100%;display:flex}.confirm-actions .btn{flex:1;justify-content:center;padding-top:9px;padding-bottom:9px}.col-settings{width:760px;max-width:95vw}.col-settings-body{flex:1;min-height:0;display:flex}.col-list{border-right:1px solid var(--border);background:var(--surface-2);border-bottom-left-radius:var(--radius-lg);flex-direction:column;flex:0 0 232px;gap:1px;width:232px;padding:10px;display:flex;overflow-y:auto}.col-list-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--text-soft);transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.col-list-item:hover{background:var(--overlay-1);color:var(--text)}.col-list-item.is-active{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-xs)}.col-list-name{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semi);font-size:var(--fs-md);flex:1;overflow:hidden}.col-list-add{color:var(--accent-text);font-weight:var(--fw-semi);font-size:var(--fs-md);cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.col-list-add:hover{background:var(--accent-soft)}.col-detail{min-width:0;padding:var(--sp-5) var(--sp-6);flex:1;overflow-y:auto}.field-full{grid-column:1/-1}.kcard .glyph-row{margin-top:4px}.view-area.view-mindmap{padding:0;overflow:hidden}.mm-viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background-color:var(--canvas-bg);background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1px);background-size:24px 24px;height:100%;position:relative;overflow:hidden}.mm-viewport.is-panning{cursor:grabbing}.mm-world{transform-origin:0 0;position:absolute;top:0;left:0}.mm-viewport.is-panning .mm-world{will-change:transform}.mm-viewport .editable,.mm-viewport input,.mm-viewport textarea,.mm-viewport [contenteditable=true]{-webkit-user-select:text;user-select:text}.mm-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.mm-edge{fill:none;stroke:var(--border-strong);stroke-width:2px;opacity:.95}.mm-link{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 5;opacity:.85}.mm-link.is-temp{stroke-dasharray:4 4;opacity:.6}.mm-link-hit{fill:none;stroke:#0000;stroke-width:14px;cursor:pointer}.mm-node-wrap{touch-action:none;cursor:grab;position:absolute}.mm-node-wrap:active{cursor:grabbing}.mm-node-wrap.is-selected{z-index:3}.mm-node-wrap.is-selected .mm-node{outline:2px solid var(--accent);outline-offset:2px}.mm-port{background:var(--surface);border:2px solid var(--accent);opacity:0;cursor:crosshair;z-index:4;border-radius:50%;width:13px;height:13px;transition:opacity .12s,transform .1s;position:absolute}.mm-node-wrap:hover .mm-port,.mm-node-wrap.is-selected .mm-port,.mm-node-wrap.is-linkable .mm-port{opacity:1}.mm-port:hover{transform:scale(1.25)}.mm-port-t{margin-left:-6px;top:-7px;left:50%}.mm-port-b{margin-left:-6px;bottom:-7px;left:50%}.mm-port-l{margin-top:-6px;top:50%;left:-7px}.mm-port-r{margin-top:-6px;top:50%;right:-7px}.mm-resize{cursor:nwse-resize;opacity:0;z-index:4;background:linear-gradient(135deg, transparent 45%, var(--accent) 45%, var(--accent) 60%, transparent 60%);border-radius:0 0 10px;width:15px;height:15px;position:absolute;bottom:-3px;right:-3px}.mm-node-wrap:hover .mm-resize,.mm-node-wrap.is-selected .mm-resize{opacity:.9}.mm-node{background:var(--surface);border:1px solid var(--border-strong);min-height:100%;box-shadow:var(--shadow-sm);border-radius:12px;padding:11px 12px;position:relative;overflow:visible}.mm-element.is-root{border-color:var(--accent);background:var(--accent-soft)}.mm-task{padding-left:16px}.mm-task.is-missing{opacity:.7}.mm-stripe{border-radius:12px 0 0 12px;width:6px;position:absolute;top:0;bottom:0;left:0}.mm-actions{z-index:2;gap:5px;display:none;position:absolute;top:-11px;right:-8px}.mm-node-wrap:hover .mm-actions{display:flex}.mm-act{background:var(--surface);border:1px solid var(--border-strong);width:23px;height:23px;color:var(--text-soft);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;padding:0;display:grid}.mm-focus:hover,.mm-add:hover{color:var(--accent);border-color:var(--accent)}.mm-del:hover{color:var(--risk);border-color:var(--risk)}.mm-el-head{align-items:center;gap:9px;display:flex}.mm-el-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);cursor:pointer;border-radius:8px;flex:none;place-items:center;display:grid}.mm-el-label{font-size:15px;font-weight:700}.mm-el-pills{gap:6px;margin-top:9px;display:flex}.mm-pill{color:var(--text-soft);background:var(--surface-2);border-radius:20px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;display:inline-flex}.mm-element.is-root .mm-pill{background:var(--surface)}.mm-task-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.mm-task-title{font-size:14px;font-weight:600}.mm-task-title.is-done{color:var(--text-faint);text-decoration:line-through}.mm-icon-menu{min-width:auto}.mm-icon-grid{grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.mm-icon-cell{width:36px;height:36px;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.mm-icon-cell:hover{background:var(--surface-2);color:var(--accent)}.mm-hint{background:var(--surface);border:1px solid var(--border);color:var(--text-soft);box-shadow:var(--shadow-sm);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;border-radius:20px;max-width:calc(100% - 32px);padding:6px 14px;font-size:12.5px;position:absolute;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%)}.mm-empty{text-align:center;height:100%;color:var(--text-soft);align-content:center;place-items:center;gap:10px;padding:40px;display:grid}.mm-empty h2{color:var(--text);margin:0;font-size:22px}.mm-empty p{max-width:460px;margin:0;line-height:1.55}.mm-empty-actions{gap:10px;margin-top:6px;display:flex}.mm-note{background:var(--note-bg);padding:12px 14px}.mm-note-text{width:100%;min-height:44px;color:var(--text);white-space:pre-wrap;font-size:13.5px;line-height:1.5;display:block;overflow:auto}.mm-note .editable-placeholder{color:var(--text-faint)}.mm-pill-empty{color:var(--text-faint);font-style:italic}.mm-fields{border-top:1px dashed var(--border);margin-top:10px;padding-top:8px}.mm-fields-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mm-fields-bar .glyph-row{flex:1;min-width:0}.mm-expand{background:var(--surface-2);color:var(--text-soft);cursor:pointer;white-space:nowrap;border:none;border-radius:20px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.mm-expand:hover{background:var(--accent-soft);color:var(--accent-ink)}.mm-field-list{flex-direction:column;gap:9px;margin-top:10px;display:flex}.mm-field{flex-direction:column;gap:3px;display:flex}.mm-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:10px;font-weight:700}.mm-field-cell{align-items:center;min-height:26px;font-size:13px;display:flex}.url-cell{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.url-text{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.url-open{color:var(--accent);flex:none;display:inline-flex}.url-open:hover{color:var(--accent-ink)}.glyph-url{color:var(--accent);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;max-width:150px;padding:1px 8px;text-decoration:none;display:inline-flex;overflow:hidden}.glyph-url:hover{border-color:var(--accent);background:var(--accent-soft)}.mm-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:6;align-items:center;gap:4px;padding:5px;display:flex;position:absolute;top:14px;left:14px}.mm-tool{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.mm-tool:hover{background:var(--surface-2);color:var(--accent)}.mm-tool.icon{padding:7px}.mm-tool-sep{background:var(--border);align-self:stretch;width:1px;margin:3px 2px}.mm-zoom{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:6;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:16px;right:16px}.mm-zoom button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.mm-zoom button:hover{background:var(--surface-2);color:var(--accent)}.mm-zoom-pct{min-width:46px;font-size:12.5px;font-weight:700;width:auto!important}.mm-color-menu{min-width:auto}.mm-color-grid{grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.mm-color-cell{border:2px solid var(--surface);width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--overlay-2);cursor:pointer;border-radius:8px}.mm-color-cell.is-default{background:var(--surface-2);color:var(--text-faint);place-items:center;display:grid}.mm-color-cell:hover{transform:scale(1.08)}.mm-act.mm-color:hover{color:var(--accent);border-color:var(--accent)}.cb-box{border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;color:#fff;border-radius:5px;flex:none;place-items:center;width:19px;height:19px;padding:0;display:grid}.cb-box:hover{border-color:var(--accent)}.cb-box.is-on{background:var(--ok);border-color:var(--ok)}.rating{gap:1px;display:inline-flex}.rating-star{cursor:pointer;color:var(--border-strong);background:0 0;border:none;padding:1px;line-height:0;transition:transform .1s,color .1s;display:inline-flex}.rating-star:hover{color:var(--warn);transform:scale(1.14)}.rating-star.is-on{color:var(--warn)}.glyph-rating,.glyph-check,.glyph-contact{background:var(--surface-3);color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:20px;align-items:center;gap:3px;max-width:160px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.glyph-check{background:var(--ok-soft);color:var(--ok-ink)}.tl-chip{background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.timeline-editor{gap:8px;min-width:210px;padding:10px;display:grid}.tl-field{gap:3px;display:grid}.tl-field-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint)}.tl-field .datefield-wrap{width:100%}.tl-field .datefield{border-color:var(--border-strong);background:var(--surface);width:100%;color:var(--text);font-size:var(--fs-md);padding:6px 9px}.group-grip{color:var(--text-faint);cursor:grab;opacity:0;margin-right:-2px;transition:opacity .12s;display:inline-flex}.group:hover .group-grip{opacity:1}.group-grip:active{cursor:grabbing}.group.is-dragging{opacity:.45}.group-head.is-drop-target{box-shadow:inset 0 -2px 0 var(--accent);border-radius:4px}.th-cell{position:relative}.th-resize{cursor:col-resize;z-index:3;touch-action:none;width:9px;height:100%;position:absolute;top:0;right:-4px}.th-resize:after{content:"";background:0 0;border-radius:2px;width:2px;position:absolute;top:20%;bottom:20%;left:4px}.th-cell:hover .th-resize:after,.th-resize:active:after{background:var(--accent)}.t-item{display:contents}.t-expander{color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex:none;margin-left:-6px;padding:2px;transition:transform .14s,opacity .12s,color .12s;display:inline-flex;transform:rotate(-90deg)}.t-expander.has-subitems{opacity:1;color:var(--accent)}.t-row:hover .t-expander{opacity:1}.t-expander.is-open{transform:rotate(0)}.t-expander:hover{background:var(--surface-3);color:var(--accent)}.t-name{align-items:center;gap:6px;display:flex}.t-name .editable{text-overflow:ellipsis;min-width:0;overflow:hidden}.t-name.is-indented{padding-left:30px!important}.t-sub-icon{color:var(--text-faint);flex:none}.t-subcount{background:var(--surface-3);color:var(--text-soft);border-radius:20px;flex:none;align-items:center;gap:3px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.t-open{color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;align-items:center;gap:3px;margin-left:auto;padding:3px 6px;font-size:11px;font-weight:700;display:inline-flex}.t-open.has-updates{opacity:1;color:var(--accent-ink)}.t-row:hover .t-open{opacity:1}.t-open:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.t-row.is-subitem{background:var(--surface-2);min-height:38px;font-size:13px}.t-row.is-subitem:not(.is-selected):hover{background:var(--surface-3)}.t-subadd{background:var(--surface-2);min-height:34px}.t-subadd-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;grid-column:2/-1;justify-self:start;align-items:center;gap:6px;padding:4px 30px;font-size:12.5px;font-weight:600;display:inline-flex}.t-subadd-btn:hover{color:var(--accent)}.panel-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:calc(var(--z-panel) - 1);animation:fade-in var(--dur-2) var(--ease-out);position:fixed;inset:0}.item-panel{background:var(--surface);border-left:1px solid var(--border);width:min(560px,94vw);box-shadow:var(--shadow-pop);z-index:var(--z-panel);animation:slide-in-right var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.panel-head{padding:var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--border);flex:none}.panel-crumbs{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tr-caps);display:flex}.panel-crumb-link{color:var(--accent-text);font:inherit;cursor:pointer;text-transform:none;letter-spacing:0;font-size:var(--fs-sm);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.panel-crumb-link:hover{text-decoration:underline}.panel-head-actions{gap:2px;margin-left:auto;display:inline-flex}.panel-icon-btn{color:var(--text-faint);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;padding:6px;display:inline-flex}.panel-icon-btn:hover{background:var(--surface-2);color:var(--text)}.panel-icon-btn.is-danger:hover{background:var(--risk-soft);color:var(--risk)}.panel-title-row{padding:10px 0 var(--sp-3);align-items:center;gap:10px;display:flex}.panel-title{font-size:var(--fs-2xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight);min-width:0}.panel-title.is-done{color:var(--text-faint);text-decoration:line-through}.panel-title-input{font-size:var(--fs-2xl);font-weight:var(--fw-black);letter-spacing:var(--tr-tight);width:100%}.panel-tabs{padding:7px var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface-2);flex:none;align-items:center;gap:3px;display:flex}.panel-tab{color:var(--text-soft);font-size:var(--fs-md);font-weight:var(--fw-semi);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.panel-tab:hover{background:var(--overlay-1);color:var(--text)}.panel-tab.is-active{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-xs)}.panel-tab-count{background:var(--accent-soft);color:var(--accent-text);border-radius:var(--radius-full);font-size:var(--fs-2xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;padding:0 6px}.panel-status{border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap;margin-left:auto;padding:3px 11px}.panel-body{min-height:0;padding:var(--sp-4) var(--sp-4) var(--sp-10);flex:1;overflow:auto}.update-composer{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);padding:10px}.update-composer:focus-within{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface)}.update-composer textarea{resize:vertical;width:100%;font:inherit;font-size:var(--fs-base);color:var(--text);background:0 0;border:none;outline:none;line-height:1.55}.update-composer textarea::placeholder{color:var(--text-faint)}.update-composer-actions{justify-content:flex-end;margin-top:6px;display:flex}.updates-empty{text-align:center;color:var(--text-faint);padding:var(--sp-8) var(--sp-3);justify-items:center;display:grid}.updates-empty p{margin:var(--sp-2) 0 0;font-size:var(--fs-md)}.update-list{margin:var(--sp-4) 0 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.update{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);animation:rise-in var(--dur-3) var(--ease-out) both;gap:10px;padding:11px 12px;display:flex}.update-avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.update-main{flex:1;min-width:0}.update-meta{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-soft);display:flex}.update-meta strong{font-weight:var(--fw-semi);color:var(--text)}.update-when{color:var(--text-faint)}.update-del{color:var(--text-faint);cursor:pointer;border-radius:var(--radius-xs);opacity:0;transition:opacity var(--dur-1) var(--ease-out);background:0 0;border:none;margin-left:auto;padding:2px;display:inline-flex}.update:hover .update-del,.update:focus-within .update-del{opacity:1}.update-del:hover{color:var(--risk);background:var(--risk-soft)}.update-text{font-size:var(--fs-base);white-space:pre-wrap;word-break:break-word;color:var(--text-soft);margin:3px 0 0;line-height:1.55}.panel-fields{gap:1px;display:grid}.panel-field{align-items:center;gap:var(--sp-3);border-radius:var(--radius-sm);min-height:40px;transition:background var(--dur-1) var(--ease-out);grid-template-columns:146px 1fr;padding:8px;display:grid}.panel-field:hover{background:var(--surface-2)}.panel-field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.panel-field-cell{min-width:0}.subitem-list{margin:0 0 var(--sp-3);gap:4px;padding:0;list-style:none;display:grid}.subitem{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--dur-1) var(--ease-out);align-items:center;gap:9px;padding:7px 10px;display:flex}.subitem:hover{border-color:var(--border-strong)}.subitem.is-done .subitem-name{color:var(--text-faint);text-decoration:line-through}.subitem-name{min-width:0;font-size:var(--fs-base);font-weight:var(--fw-medium);flex:1}.subitem-open,.subitem-del{color:var(--text-faint);cursor:pointer;border-radius:var(--radius-xs);opacity:0;transition:opacity var(--dur-1) var(--ease-out);background:0 0;border:none;padding:4px;display:inline-flex}.subitem:hover .subitem-open,.subitem:hover .subitem-del,.subitem:focus-within .subitem-open,.subitem:focus-within .subitem-del{opacity:1}.subitem-open:hover{color:var(--accent-text);background:var(--accent-soft)}.subitem-del:hover{color:var(--risk);background:var(--risk-soft)}.view-area.view-timeline{padding:0;overflow:hidden}.tl-view{background:var(--bg);--tl-weekend:var(--overlay-1);--tl-line:var(--border);flex-direction:column;height:100%;display:flex}.tl-toolbar{align-items:center;gap:var(--sp-3);padding:9px var(--topbar-pad);border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex}.tl-zooms{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.tl-zoom{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--text-soft);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;padding:5px 12px}.tl-zoom:hover{color:var(--text);background:var(--overlay-1)}.tl-zoom.is-active{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-xs)}.tl-legend{font-size:var(--fs-sm);color:var(--text-faint);font-weight:var(--fw-semi);margin-left:auto}.tl-warn{color:var(--warn-ink);font-style:normal}.tl-scroll{flex:1;min-height:0;overflow:auto}.tl-inner{min-height:100%;padding-bottom:var(--sp-12);position:relative}.tl-ruler{z-index:6;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.tl-corner{z-index:1;padding:0 var(--sp-3) 6px;background:var(--surface);border-right:1px solid var(--border);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint);align-items:flex-end;display:flex;position:absolute;top:0;bottom:0;left:0}.tl-months,.tl-days{display:flex}.tl-month{border-left:1px solid var(--border);font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--text-soft);white-space:nowrap;text-transform:uppercase;letter-spacing:var(--tr-caps);flex:none;padding:7px 0 5px 8px;overflow:hidden}.tl-day{text-align:center;font-size:var(--fs-2xs);color:var(--text-faint);border-left:1px solid var(--border);font-variant-numeric:tabular-nums;flex:none;padding:2px 0 4px}.tl-day.is-weekend{background:var(--surface-2)}.tl-day.is-today{background:var(--accent);color:#fff;font-weight:var(--fw-bold)}.tl-group{margin-top:var(--sp-4)}.tl-group-head{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);padding:6px var(--topbar-pad);width:max-content;display:flex;position:sticky;left:0}.tl-group-dot{border-radius:3px;width:9px;height:9px}.tl-group-count{background:var(--surface-3);color:var(--text-soft);border-radius:var(--radius-full);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;padding:0 8px}.tl-group-note{color:var(--text-faint);font-size:var(--fs-xs);font-weight:var(--fw-semi)}.tl-row{border-bottom:1px solid var(--border);background:var(--surface);min-height:38px;transition:background var(--dur-1) var(--ease-out);align-items:center;display:flex}.tl-row:hover{background:var(--row-hover)}.tl-lane{z-index:2;padding:6px var(--sp-3);border:none;border-right:1px solid var(--border);background:inherit;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text);cursor:pointer;text-align:left;flex:none;align-self:stretch;align-items:center;gap:6px;display:flex;position:sticky;left:0}.tl-lane:hover{color:var(--accent-text)}.tl-lane>svg{opacity:0;color:var(--text-faint);transition:opacity var(--dur-1) var(--ease-out)}.tl-row:hover .tl-lane>svg{opacity:1}.tl-lane-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tl-row.is-done .tl-lane-name{color:var(--text-faint);text-decoration:line-through}.tl-track{flex:none;align-self:stretch;min-height:38px;position:relative}.tl-bar{border-radius:var(--radius-sm);height:25px;font-size:var(--fs-sm);font-weight:var(--fw-semi);letter-spacing:var(--tr-snug);white-space:nowrap;box-shadow:var(--shadow-xs), inset 0 0 0 1px var(--overlay-1);touch-action:none;transition:box-shadow var(--dur-2) var(--ease-out), filter var(--dur-1) var(--ease-out);align-items:center;padding:0 10px;display:flex;position:absolute;top:6px;overflow:hidden}.tl-bar.is-draggable{cursor:grab}.tl-bar.is-draggable:hover{filter:brightness(1.06);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--overlay-2)}.tl-bar.is-dragging{cursor:grabbing;box-shadow:var(--shadow-drag);filter:brightness(1.08);z-index:3}.tl-row.is-done .tl-bar{opacity:.62}.tl-bar-label{text-overflow:ellipsis;overflow:hidden}.tl-handle{cursor:ew-resize;opacity:0;background:var(--invert-overlay-hover);width:8px;transition:opacity var(--dur-1) var(--ease-out);position:absolute;top:0;bottom:0}.tl-handle:after{content:"";opacity:.7;background:currentColor;border-radius:2px;width:2px;position:absolute;top:7px;bottom:7px;left:3px}.tl-handle-l{border-radius:var(--radius-sm) 0 0 var(--radius-sm);left:0}.tl-handle-r{border-radius:0 var(--radius-sm) var(--radius-sm) 0;right:0}.tl-bar:hover .tl-handle{opacity:1}.tl-unscheduled{font-size:var(--fs-xs);color:var(--text-faint);font-style:italic;position:absolute;top:11px;left:10px}.tl-now{background:var(--risk);opacity:.5;pointer-events:none;z-index:7;width:1px;position:absolute;top:0;bottom:0}.tl-now-cap{border-radius:var(--radius-full);background:var(--risk);color:#fff;width:max-content;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);box-shadow:var(--shadow-sm);padding:1px 7px;display:block;position:sticky;top:4px;transform:translate(-50%)}.mm-shell{height:100%;min-height:0;display:flex;position:relative}.mm-shell .mm-viewport{flex:1;min-width:0}.mm-tool.is-active{background:var(--accent-soft);color:var(--accent-ink)}.mm-tool-badge{background:var(--accent);color:#fff;border-radius:20px;padding:0 6px;font-size:10.5px;font-weight:800}.mm-search{background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);border-radius:7px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.mm-search input{font:inherit;color:var(--text);background:0 0;border:none;outline:none;width:130px;font-size:13px}.mm-search-count{background:var(--accent-soft);color:var(--accent-ink);border-radius:20px;padding:0 7px;font-size:11px;font-weight:800}.mm-search button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.mm-search button:hover{color:var(--risk)}.mm-focus-bar{background:var(--accent);color:#fff;box-shadow:var(--shadow-md);z-index:7;border-radius:20px;align-items:center;gap:7px;padding:7px 8px 7px 14px;font-size:12.5px;font-weight:600;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.mm-focus-bar button{color:#fff;font:inherit;cursor:pointer;background:#fff3;border:none;border-radius:20px;padding:3px 11px;font-weight:700}.mm-focus-bar button:hover{background:#ffffff52}.mm-node-wrap.is-dimmed{opacity:.32}.mm-node-wrap.is-match .mm-node{outline:2px solid var(--warn);outline-offset:2px}.mm-rollup{align-items:center;gap:7px;margin-top:7px;display:flex}.mm-rollup-track{background:var(--surface-3);border-radius:4px;flex:1;height:6px;overflow:hidden}.mm-rollup-fill{border-radius:4px;height:100%;transition:width .2s;display:block}.mm-rollup-label{color:var(--text-soft);white-space:nowrap;font-size:11px;font-weight:800}.mm-task-open{color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex:none;padding:3px;display:inline-flex}.mm-node-wrap:hover .mm-task-open{opacity:1}.mm-task-open:hover{color:var(--accent);background:var(--accent-soft)}.mm-task-stats{gap:5px;margin-top:6px;display:flex}.mm-existing-list{max-height:190px;overflow:auto}.menu-item.menu-danger{color:var(--risk)}.menu-item.menu-danger:hover{background:var(--risk-soft)}.mm-act.mm-more:hover{color:var(--accent);border-color:var(--accent)}.mm-palette{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;width:288px;min-height:0;display:flex}.mm-palette-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;font-size:14px;display:flex}.mm-palette-count{color:var(--text-faint);font-size:11.5px;font-weight:600}.mm-palette-head button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;margin-left:auto;padding:4px;display:inline-flex}.mm-palette-head button:hover{background:var(--surface-2);color:var(--text)}.mm-palette-search{background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);border-radius:7px;align-items:center;gap:7px;margin:10px 12px;padding:7px 10px;display:flex}.mm-palette-search input{font:inherit;color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:13px}.mm-palette-body{flex:1;min-height:0;padding:0 10px 20px;overflow:auto}.mm-palette-group{margin-bottom:14px}.mm-palette-group-head{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;padding:6px 4px;font-size:11.5px;font-weight:800;display:flex}.mm-palette-dot{border-radius:3px;width:8px;height:8px}.mm-palette-task{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:grab;width:100%;font:inherit;color:var(--text);text-align:left;align-items:center;gap:8px;margin-bottom:4px;padding:7px 9px;font-size:13px;font-weight:600;display:flex}.mm-palette-task:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.mm-palette-task:active{cursor:grabbing}.mm-palette-status{border-radius:3px;flex:none;width:4px;height:20px}.mm-palette-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.dash-timeline .mini-dot{border:2px solid var(--surface);width:11px;height:11px;box-shadow:0 0 0 1px var(--overlay-2);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.dash-timeline .mini-due{text-align:right;width:52px;font-size:var(--fs-sm);color:var(--text-soft);font-variant-numeric:tabular-nums;flex:none}@media (width<=1240px){.tab-label{display:none}.tab{padding:6px 10px}.board-stat{display:none}}@media (width<=1060px){:root{--topbar-pad:16px}.btn-label{display:none}.btn-ghost{padding:7px 9px}.search{width:168px}.board-tool-label{display:none}}@media (width<=880px){.sidebar{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed)}.side-head .brand-name,.side-search span,.side-search .kbd,.sidebar-section-title,.tree-add,.user-meta{display:none}.sidebar{align-items:center;padding-left:6px;padding-right:6px}.tree-name,.tree-twisty,.tree-more{display:none}.tree-row{justify-content:center;padding-right:0;padding-left:0!important}.tree-branch{display:contents}.side-search{justify-content:center;padding:8px}.item-panel{width:100%}.topbar-main{gap:var(--sp-2)}}@media (width<=700px){.sidebar{display:none}.dash-grid,.stat-strip{grid-template-columns:1fr}.topbar{padding:var(--sp-2) var(--sp-3) 0}.topbar-tabs{align-items:flex-start}.tabs,.board-tools{max-width:100%;overflow-x:auto}.table-view{padding:var(--sp-3) var(--sp-3) var(--sp-10)}.detail-list{border-right:none;flex-basis:100%;width:100%}.detail-main{display:none}.cmdk-overlay{padding:6vh 12px 12px}.confirm-actions{flex-direction:column-reverse}.shortcuts{padding:var(--sp-4)}}@media (hover:none){.t-grip,.t-selbox,.t-del,.t-open,.tree-more,.group-menu-btn,.subitem-open,.subitem-del,.update-del,.datefield-clear,.tl-lane>svg{opacity:1}.mm-actions{display:flex}}.side-rail-board{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:0;border:1px solid var(--border);background:var(--surface-2)}.side-rail-board.is-active{border-color:var(--accent-line)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tooltip{z-index:var(--z-toast);border-radius:var(--radius-sm);background:var(--invert-surface);max-width:260px;color:var(--invert-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:pre-line;pointer-events:none;box-shadow:var(--shadow-md);animation:fade-in var(--dur-1) var(--ease-out) both;padding:5px 9px;line-height:1.4;position:fixed}.tooltip-top{transform:translate(-50%,-100%)}.tooltip-bottom{transform:translate(-50%)}.tooltip:after{content:"";border:4px solid #0000;margin-left:-4px;position:absolute;left:50%}.tooltip-top:after{border-top-color:var(--invert-surface);top:100%}.tooltip-bottom:after{border-bottom-color:var(--invert-surface);bottom:100%}.mm-seg{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);gap:2px;padding:2px;display:inline-flex}.mm-seg-btn{border-radius:var(--radius-sm);color:var(--text-soft);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:5px;padding:5px 9px;display:inline-flex}.mm-seg-btn:hover{background:var(--overlay-1);color:var(--text)}.mm-seg-btn.is-active{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-xs)}.mm-node-wrap.is-fixed,.mm-node-wrap.is-fixed:active{cursor:default}.mm-node-wrap.is-compact .mm-node{border-radius:var(--radius);flex-direction:column;justify-content:center;gap:4px;padding:0;display:flex;overflow:hidden}.mm-compact{padding-left:10px!important}.mm-compact .mm-stripe{border-radius:var(--radius) 0 0 var(--radius);width:4px}.mm-compact-head{align-items:center;gap:7px;min-width:0;padding:7px 8px 0 12px;display:flex}.mm-compact-kind{border-radius:var(--radius-xs);background:var(--surface-2);flex:none;place-items:center;width:20px;height:20px;display:inline-grid}.mm-compact-title{min-width:0;font-size:var(--fs-md);font-weight:var(--fw-semi);letter-spacing:var(--tr-snug);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mm-compact-title.is-done{color:var(--text-faint);text-decoration:line-through}.mm-compact-open{color:var(--text-faint);cursor:pointer;border-radius:var(--radius-xs);opacity:0;transition:opacity var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background:0 0;border:none;flex:none;padding:3px;display:inline-flex}.mm-node-wrap:hover .mm-compact-open,.mm-node-wrap.is-selected .mm-compact-open,.mm-compact-open:focus-visible{opacity:1}.mm-compact-open:hover{background:var(--accent-soft);color:var(--accent-text)}.mm-chips{align-items:center;gap:4px;min-width:0;padding:0 8px 7px 12px;display:flex;overflow:hidden}.mm-chip{border-radius:var(--radius-xs);background:var(--surface-2);color:var(--text-soft);font-size:var(--fs-2xs);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:4px;min-width:0;padding:1px 6px;display:inline-flex;overflow:hidden}.mm-chip.is-grow{flex:0 auto;min-width:68px}.mm-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mm-chip-more,.mm-chip>svg{color:var(--text-faint)}.mm-chip-dot{border-radius:50%;flex:none;width:7px;height:7px}.mm-chip-meter{border-radius:var(--radius-full);background:var(--surface-3);flex:none;width:22px;height:4px;display:block;overflow:hidden}.mm-chip-meter>i{border-radius:var(--radius-full);background:var(--accent);height:100%;display:block}.mm-compact-note{background:var(--note-bg)}.mm-panel-rollup{padding:var(--sp-3);margin-bottom:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:6px;display:grid}.mm-panel-rollup-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--text-faint)}.mm-panel-rollup-note{font-size:var(--fs-sm);color:var(--text-soft)}.view-area.view-folder-table,.view-area.view-folder-map{padding:var(--sp-5) var(--sp-6) var(--sp-10)}.fb-trail{align-items:center;gap:var(--sp-1);margin-bottom:2px;display:flex}.fb-trail button{cursor:pointer;font-size:var(--fs-xs);color:var(--text-faint);background:0 0;border:0;padding:0}.fb-trail button:hover{color:var(--accent-text);text-decoration:underline}.fb-trail button+button:before{content:"/";margin:0 var(--sp-2) 0 0;color:var(--text-faint);text-decoration:none;display:inline-block}.fb-title{align-items:center;gap:var(--sp-2);display:flex}.fb-title-icon{color:var(--text-soft);flex:none}.fb-sub{font-size:var(--fs-xs);color:var(--text-soft);margin:2px 0 0}.tool-btn{align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);display:inline-flex}.tool-btn:hover{background:var(--row-hover);color:var(--text)}.tool-btn.is-danger:hover{background:var(--risk-soft);color:var(--risk-ink);border-color:var(--risk)}.tool-count,.btn-count{border-radius:var(--radius-full);background:var(--accent-soft);min-width:17px;color:var(--accent-text);font-size:var(--fs-2xs);font-weight:var(--fw-semi);text-align:center;padding:0 5px;line-height:17px}.fx-scroll{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);overflow-x:auto}.fx-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.fx-table thead th{z-index:1;background:var(--surface-2);border-bottom:1px solid var(--border);padding:var(--sp-3) var(--sp-3);text-align:left;white-space:nowrap;font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text-soft);letter-spacing:var(--tr-wide);position:sticky;top:0}.fx-table thead th svg{vertical-align:-2px;margin-right:var(--sp-2);color:var(--text-faint)}.fx-col-scope{margin-left:var(--sp-2);border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-faint);font-size:var(--fs-2xs);font-weight:var(--fw-normal);padding:1px 5px}.fx-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);vertical-align:middle}.fx-table tbody tr:hover td{background:var(--row-hover)}.fx-name-col{min-width:260px;max-width:420px}.fx-item{text-align:left;cursor:pointer;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:0 0;border:0;padding:0}.fx-item:hover{color:var(--accent-text);text-decoration:underline}.fx-group{margin-left:var(--sp-2);border-radius:var(--radius-full);font-size:var(--fs-2xs);font-weight:var(--fw-semi);white-space:nowrap;padding:1px 7px}.fx-board-row th{padding:var(--sp-3) var(--sp-3) var(--sp-2);background:var(--surface);border-bottom:1px solid var(--border);text-align:left;position:sticky;left:0}.fx-board-row th button{cursor:pointer;align-items:center;gap:var(--sp-2);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-bold);background:0 0;border:0;padding:0;display:inline-flex}.fx-board-row th button:hover{color:var(--accent-text)}.fx-board-count{margin-left:var(--sp-3);font-size:var(--fs-2xs);font-weight:var(--fw-normal);color:var(--text-faint)}.fx-na{background-image:repeating-linear-gradient(-45deg, transparent 0 5px, var(--border) 5px 6px)}.fx-table tbody tr:hover .fx-na{background-color:#0000}.fx-empty{align-items:center;gap:var(--sp-2);padding:var(--sp-12) var(--sp-6);color:var(--text-soft);text-align:center;flex-direction:column;display:flex}.fx-empty svg{color:var(--text-faint)}.fx-empty-hint{font-size:var(--fs-sm);color:var(--text-faint)}.fx-map{padding:var(--sp-2) 0}.fx-tree,.fx-tree ul{margin:0;padding:0;list-style:none}.fx-tree ul{margin-left:var(--sp-6);padding-left:var(--sp-5);border-left:1px solid var(--border)}.fx-tree li{padding:var(--sp-2) 0;position:relative}.fx-tree ul>li:before{content:"";left:calc(var(--sp-5) * -1);width:var(--sp-5);background:var(--border);height:1px;position:absolute;top:50%}.fx-node{align-items:center;gap:var(--sp-4);min-width:280px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);text-align:left;cursor:pointer;color:var(--text);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);display:inline-flex}button.fx-node:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.fx-node.is-root,.fx-node.is-folder{background:var(--surface-2)}.fx-node.is-root{cursor:default}.fx-node-head{align-items:center;gap:var(--sp-2);flex:1;min-width:0;display:inline-flex}.fx-node-head svg{color:var(--text-soft);flex:none}.fx-node-name{font-size:var(--fs-sm);font-weight:var(--fw-semi);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fx-node-stats{align-items:center;gap:var(--sp-2);flex:none;display:inline-flex}.fx-node-count{font-size:var(--fs-2xs);color:var(--text-soft);font-variant-numeric:tabular-nums}.fx-bar{border-radius:var(--radius-full);background:var(--surface-3);width:56px;height:5px;display:block;overflow:hidden}.fx-bar>span{border-radius:var(--radius-full);background:var(--ok);height:100%;display:block}.fx-node-cols{padding-left:var(--sp-3);border-left:1px solid var(--border);color:var(--text-faint);flex:none;align-items:center;gap:3px;display:inline-flex}.fx-node-cols em{font-style:normal;font-size:var(--fs-2xs)}.doc-list{gap:var(--sp-1);padding:var(--sp-4);flex-direction:column;display:flex}.doc-row{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text);background:0 0;border:1px solid #0000;display:flex}.doc-row:hover{background:var(--row-hover);border-color:var(--border)}.doc-row svg{color:var(--text-faint);flex:none}.doc-row-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.doc-row-meta{font-size:var(--fs-2xs);color:var(--text-faint);flex:none}.doc-add{justify-content:center;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-soft);font-size:var(--fs-sm);cursor:pointer;background:0 0;display:inline-flex}.doc-add:hover{border-color:var(--accent);color:var(--accent-text)}.doc-empty{padding:var(--sp-4);font-size:var(--fs-sm);color:var(--text-faint);line-height:1.6}.doc-reader{padding:var(--sp-4) var(--sp-5) var(--sp-10)}.doc-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border);display:flex}.doc-meta{font-size:var(--fs-2xs);color:var(--text-faint)}.doc-actions{gap:var(--sp-2);display:inline-flex}.doc-editor{width:100%;min-height:60vh;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);resize:vertical;line-height:1.7}.doc-editor:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.md{font-size:var(--fs-sm);color:var(--text);line-height:1.7}.md>:first-child{margin-top:0}.md h2,.md h3,.md h4,.md h5,.md h6{margin:var(--sp-6) 0 var(--sp-2);line-height:1.3;font-weight:var(--fw-bold)}.md h2{font-size:var(--fs-lg)}.md h3{font-size:var(--fs-base)}.md h4,.md h5,.md h6{font-size:var(--fs-sm);color:var(--text-soft)}.md p{margin:0 0 var(--sp-3)}.md ul,.md ol{margin:0 0 var(--sp-3);padding-left:var(--sp-6)}.md li{margin-bottom:var(--sp-1)}.md li.md-task{margin-left:calc(var(--sp-6) * -1);gap:var(--sp-2);align-items:flex-start;list-style:none;display:flex}.md li.md-task input{accent-color:var(--accent);pointer-events:none;margin-top:5px}.md code{border-radius:var(--radius-xs);background:var(--surface-3);font-family:var(--font-mono);padding:1px 5px;font-size:.92em}.md pre{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);overflow-x:auto}.md pre code{font-size:var(--fs-2xs);background:0 0;padding:0;line-height:1.6}.md blockquote{margin:0 0 var(--sp-4);padding:var(--sp-2) var(--sp-4);border-left:3px solid var(--accent-line);background:var(--accent-softer);color:var(--text-soft);border-radius:0 var(--radius-xs) var(--radius-xs) 0}.md hr{margin:var(--sp-5) 0;border:0;border-top:1px solid var(--border)}.md a{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}.md table{width:100%;margin:0 0 var(--sp-4);border-collapse:collapse;font-size:var(--fs-xs);display:block;overflow-x:auto}.md th,.md td{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);text-align:left}.md th{background:var(--surface-2);font-weight:var(--fw-semi)}.md strong{font-weight:var(--fw-semi)}.fd-bars{gap:var(--sp-3);padding:var(--sp-4);flex-direction:column;display:flex}.fd-bar-row{align-items:center;gap:var(--sp-3);grid-template-columns:minmax(90px,150px) 1fr auto;display:grid}.fd-bar-label{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;display:inline-flex;overflow:hidden}.fd-bar-track{border-radius:var(--radius-full);background:var(--surface-3);height:9px;overflow:hidden}.fd-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--dur-2) var(--ease-out);display:block}.fd-bar-value{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--text);font-variant-numeric:tabular-nums}.fd-boards{padding:var(--sp-2);flex-direction:column;display:flex}.fd-board-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text);background:0 0;border:0;grid-template-columns:minmax(110px,1fr) 90px auto auto;display:grid}.fd-board-row:hover{background:var(--row-hover)}.fd-board-name{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;display:inline-flex;overflow:hidden}.fd-board-name svg{color:var(--text-faint);flex:none}.fd-board-track{border-radius:var(--radius-full);background:var(--surface-3);height:6px;overflow:hidden}.fd-board-fill{border-radius:var(--radius-full);background:var(--ok);height:100%;display:block}.fd-board-num,.fd-board-pct{font-size:var(--fs-2xs);color:var(--text-soft);font-variant-numeric:tabular-nums}.fd-board-pct{text-align:right;min-width:34px;color:var(--text-faint)}.fd-list{padding:var(--sp-2);margin:0;list-style:none}.fd-list button{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text);background:0 0;border:0;grid-template-columns:1fr auto auto;display:grid}.fd-list button:hover{background:var(--row-hover)}.fd-list-name{font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fd-list-board{font-size:var(--fs-2xs);color:var(--text-faint);white-space:nowrap}.fd-list-due{font-size:var(--fs-2xs);color:var(--text-soft);white-space:nowrap}.fd-list-due.is-late{color:var(--risk-ink);font-weight:var(--fw-semi)}.fd-pill{border-radius:var(--radius-full);font-size:var(--fs-2xs);font-weight:var(--fw-semi);white-space:nowrap;padding:1px 7px}.fd-pill.tone-warn{background:var(--warn-soft);color:var(--warn-ink)}.fd-pill.tone-risk{background:var(--risk-soft);color:var(--risk-ink)}.fd-none{padding:var(--sp-4);font-size:var(--fs-sm);color:var(--text-faint)}.mm-empty-hint{max-width:480px;margin-top:var(--sp-4);font-size:var(--fs-xs);color:var(--text-faint);line-height:1.6}.mm-palette-all{justify-content:center;align-items:center;gap:var(--sp-2);margin:0 var(--sp-3) var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;background:0 0;display:flex}.mm-palette-all:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-softer)}.mm-shell>.mm-empty{z-index:1;pointer-events:none;position:absolute;inset:0}.mm-shell>.mm-empty button{pointer-events:auto}.app.is-mobile{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.m-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.m-view{-webkit-overflow-scrolling:touch;min-height:0;animation:fade-in var(--dur-3) var(--ease-out) both;flex:1;overflow-y:auto}.m-view.m-view-kanban{overflow:hidden}.m-bar{align-items:center;gap:var(--sp-1);min-height:52px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border);flex:none;display:flex}.m-bar-up{width:38px;height:44px;margin-left:calc(var(--sp-2) * -1);border-radius:var(--radius);color:var(--text-soft);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.m-bar-up:active{background:var(--overlay-1);color:var(--text)}.m-bar-title{min-width:0;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.m-bar-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.m-bar-btn:active{background:var(--overlay-1)}.m-bar-flag{height:30px;padding:0 var(--sp-2);border:1px solid var(--accent-line);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semi);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;display:inline-flex}.m-search{align-items:center;gap:var(--sp-2);min-width:0;height:40px;padding-left:var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-faint);flex:1;display:flex}.m-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:16px}.m-search .m-bar-btn{width:38px;height:38px}.m-bar .popover-wrap{flex:none}.m-bar .popover-trigger{border-radius:var(--radius);width:44px;height:44px;color:var(--text-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.app.is-mobile .popover-panel.m-menu{min-width:232px}.app.is-mobile .menu-item{min-height:44px}.m-nav{padding:6px var(--sp-1) calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);z-index:var(--z-rail);flex:none;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;display:grid}.m-nav-btn{border-radius:var(--radius);min-height:46px;color:var(--text-faint);font-size:var(--fs-2xs);font-weight:var(--fw-semi);letter-spacing:0;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;display:flex}.m-nav-btn.is-active{color:var(--accent)}.m-nav-btn:disabled{opacity:.38;cursor:default}.m-nav-btn:not(:disabled):active{background:var(--overlay-1)}.m-boards{min-height:0;padding-bottom:var(--sp-8);flex:1;overflow-y:auto}.m-boards-head{min-height:52px;padding:var(--sp-2) var(--sp-3);background:var(--surface);border-bottom:1px solid var(--border);z-index:var(--z-sticky);align-items:center;display:flex;position:sticky;top:0}.m-boards-title{padding-left:var(--sp-1);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight)}.m-back{align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-2) 0 var(--sp-1);color:var(--accent);font-size:var(--fs-lg);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0;display:inline-flex}.m-level-name{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-2);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);color:var(--text);margin:0;display:flex}.m-level-name>svg{color:var(--text-faint)}.m-level-open{align-items:center;gap:var(--sp-2);min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:inline-flex}.m-level-open>svg{color:var(--accent);flex:none}.m-level-hint{border:1px solid var(--accent-line);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:0;flex:none;padding:2px 9px}.m-list{margin:var(--sp-2) 0 0;padding:0;list-style:none}.m-list-row{border-bottom:1px solid var(--border);background:var(--surface);width:100%;min-height:56px;color:var(--text);align-items:stretch;display:flex}.m-list-main{align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);color:inherit;font-size:var(--fs-lg);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.m-list-main:active{background:var(--row-hover)}.m-list-row.is-active{color:var(--accent-text);font-weight:var(--fw-semi)}.m-list-drill{min-width:56px;padding:0 var(--sp-3);border:0;border-left:1px solid var(--border);color:var(--text-faint);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:5px;display:inline-flex}.m-list-drill:active{background:var(--row-hover);color:var(--text)}.m-list-kids{font-size:var(--fs-sm);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}.m-list-icon{border-radius:var(--radius);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);flex:none;justify-content:center;align-items:center;display:inline-flex}.m-list-icon.is-folder{background:var(--surface-3);color:var(--text-soft)}.m-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.m-list-count{color:var(--text-faint);font-size:var(--fs-sm);flex:none}.m-boards-actions{gap:var(--sp-2);padding:var(--sp-4);display:flex}.m-btn{min-height:44px;padding:0 var(--sp-4);border-radius:var(--radius);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-md);font-weight:var(--fw-semi);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;display:inline-flex}.m-btn-quiet{border-color:var(--border-strong);background:var(--surface);color:var(--text-soft)}.m-empty,.m-result-count{padding:var(--sp-5) var(--sp-4);color:var(--text-faint);font-size:var(--fs-md);margin:0}.m-result-count{padding:var(--sp-3) var(--sp-4) 0}.m-blank{justify-content:center;align-items:center;gap:var(--sp-4);color:var(--text-faint);flex-direction:column;flex:1;display:flex}.m-cards{padding:0 0 var(--sp-8)}.m-group+.m-group{margin-top:var(--sp-5)}.m-group-head{align-items:center;gap:var(--sp-1);width:100%;padding:var(--sp-3) var(--sp-3) var(--sp-2) var(--sp-4);display:flex}.m-group-toggle{align-items:center;gap:var(--sp-2);min-width:0;min-height:44px;color:var(--group-color,var(--text));font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.m-group-add{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:48px;height:32px;box-shadow:var(--shadow-xs);color:var(--text-soft);cursor:pointer;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.m-group-add:after{content:"";position:absolute;inset:-5px}.m-group-add:hover{border-color:var(--border-loud);color:var(--text)}.m-group-add:active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.m-group-twisty{transition:transform var(--dur-2) var(--ease-out);flex:none}.m-group-head.is-collapsed .m-group-twisty{transform:rotate(-90deg)}.m-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.m-group-count{border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-soft);font-size:var(--fs-xs);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums;flex:none;padding:1px 8px}.m-card-list{padding:0 var(--sp-3);gap:var(--sp-2);flex-direction:column;margin:0;list-style:none;display:flex}.m-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden}.m-card.is-done .m-card-name{color:var(--text-faint)}.m-card.is-sub{box-shadow:none;background:var(--surface-2);border-style:dashed}.m-card-row{align-items:flex-start;gap:var(--sp-1);padding:var(--sp-1);display:flex}.m-check.check{border-radius:var(--radius-sm);border-width:2px;flex:none;width:22px;height:22px;margin:11px 11px 11px 9px;position:relative}.m-check.check:after{content:"";position:absolute;inset:-11px}.m-card-body{min-width:0;padding:9px var(--sp-1) 9px 0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:5px;display:flex}.m-card-name{font-size:var(--fs-lg);font-weight:var(--fw-semi);color:var(--text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.m-card-chips,.m-card-meta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.m-card-meta{color:var(--text-faint);font-size:var(--fs-sm)}.m-meta-item{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.m-glyph{max-width:148px;color:var(--text-soft);font-size:var(--fs-sm);align-items:center;line-height:1;display:inline-flex;overflow:hidden}.m-card-exp{min-width:44px;height:44px;padding:0 var(--sp-1);border-radius:var(--radius);color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:flex-start;align-items:center;gap:1px;display:inline-flex}.m-card-exp>svg{transition:transform var(--dur-2) var(--ease-out);transform:rotate(-90deg)}.m-card-exp.is-open>svg{transform:rotate(0)}.m-sub-count{font-size:var(--fs-xs);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}.m-subs{padding:0 var(--sp-2) var(--sp-2) var(--sp-6)}.m-add-row{width:100%;min-height:44px;padding:0 var(--sp-3);border:1px dashed var(--border-loud);border-radius:var(--radius-md);color:var(--text-faint);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;background:0 0;align-items:center;gap:6px;display:flex}.app.is-mobile .item-panel{width:100%;padding-bottom:env(safe-area-inset-bottom,0px);animation:fade-in var(--dur-2) var(--ease-out);border-left:0}.app.is-mobile .panel-tabs{scrollbar-width:none;overflow-x:auto}.app.is-mobile .panel-tabs::-webkit-scrollbar{display:none}.app.is-mobile .panel-tab{flex:none;min-height:40px}.app.is-mobile .kanban{padding:var(--sp-3) var(--sp-3) var(--sp-5);scroll-snap-type:x mandatory;scroll-padding-inline:var(--sp-3);overscroll-behavior-x:contain}.app.is-mobile .kcol{width:calc(100vw - var(--sp-8));flex-basis:calc(100vw - var(--sp-8));scroll-snap-align:start}.app.is-mobile .kanban-bar{padding:var(--sp-3) var(--sp-3) 0}.app.is-mobile .kcard{cursor:default}.app.is-mobile .dash-grid,.app.is-mobile .stat-strip{grid-template-columns:1fr}.app.is-mobile .dash-toolbar{padding:var(--sp-3);flex-wrap:wrap}.app.is-mobile .cmdk-overlay{padding:0}.app.is-mobile .cmdk{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none}.app.is-mobile .cmdk input{font-size:16px}.app.is-mobile .modal{width:100%;max-width:none;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-top:auto}@media (width<=760px){.app.is-mobile input,.app.is-mobile textarea,.app.is-mobile select,.app.is-mobile [contenteditable=true]{font-size:max(16px,1em)}}
