#ai-assistant{--ai-bg: #1c211c;--ai-bg-elevated: #252b24;--ai-bg-sidebar: #161a16;--ai-border: rgba(226, 232, 224, .12);--ai-text: #e8eee4;--ai-text-muted: #a3b09e;--ai-text-faint: #7a8876;--ai-accent: #e69a2a;--ai-accent-soft: rgba(230, 154, 42, .18);--ai-user: rgba(230, 154, 42, .22);--ai-assistant: #2a3129;--ai-on-accent: #16120a;--ai-danger: #c9663d;--ai-radius: 16px;--ai-radius-sm: 10px;position:fixed;inset:auto 18px 18px auto;z-index:80;font-family:inherit;color:var(--ai-text)}.app.sidebar-open #ai-assistant,.app.right-open #ai-assistant{z-index:50;pointer-events:none}.app.sidebar-open #ai-assistant .ai-fab,.app.right-open #ai-assistant .ai-fab{opacity:.35}[data-theme=light] #ai-assistant{--ai-bg: #fffdf7;--ai-bg-elevated: #f7f3e8;--ai-bg-sidebar: #f0ebe0;--ai-border: rgba(35, 40, 31, .12);--ai-text: #23281f;--ai-text-muted: #5f6958;--ai-text-faint: #8a9280;--ai-accent: #d88918;--ai-accent-soft: rgba(216, 137, 24, .16);--ai-user: rgba(216, 137, 24, .18);--ai-assistant: #ece7d9;--ai-on-accent: #1a1206}#ai-assistant *,#ai-assistant *:before,#ai-assistant *:after{box-sizing:border-box}#ai-assistant svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ai-fab{width:52px;height:52px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ai-accent) 45%,transparent);background:var(--ai-accent);color:var(--ai-on-accent);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 32px #00000059;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.ai-fab:hover{transform:translateY(-1px);box-shadow:0 16px 36px #0006}.ai-fab.is-open{opacity:.7}.ai-fab svg{width:22px;height:22px}.ai-panel{position:fixed;right:18px;bottom:82px;width:min(760px,calc(100vw - 24px));height:min(680px,calc(100vh - 110px));background:var(--ai-bg);color:var(--ai-text);border:1px solid var(--ai-border);border-radius:var(--ai-radius);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;overflow:hidden}.ai-panel-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--ai-bg-elevated);border-bottom:1px solid var(--ai-border)}.ai-panel-brand{display:flex;align-items:center;gap:8px;min-width:0}.ai-panel-brand .ai-brand-icon{width:28px;height:28px;border-radius:8px;background:var(--ai-accent-soft);color:var(--ai-accent);display:grid;place-items:center}.ai-panel-brand .ai-brand-icon svg{width:16px;height:16px}.ai-panel-brand strong{font-size:14px;font-weight:700;color:var(--ai-text);letter-spacing:.01em;white-space:nowrap}.ai-panel-head .ai-model{max-width:200px;min-width:110px;font-size:12px;padding:7px 10px;border-radius:8px;border:1px solid var(--ai-border);background:var(--ai-bg);color:var(--ai-text);outline:none;cursor:pointer}.ai-panel-head .ai-credential{margin-left:auto;max-width:180px}.ai-panel-head .ai-model:focus{border-color:var(--ai-accent)}#ai-busy-overlay{--ai-border: rgba(226, 232, 224, .12);--ai-text: #e8eee4;--ai-text-muted: #a3b09e;--ai-accent: #e69a2a;--ai-panel: #252b24;position:fixed;inset:0;z-index:10050;display:grid;place-items:center;background:color-mix(in srgb,var(--bg, #0f1115) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ai-busy-card{display:grid;gap:8px;justify-items:center;min-width:220px;padding:22px 28px;border-radius:14px;border:1px solid var(--ai-border, rgba(226, 232, 224, .12));background:var(--ai-panel, #252b24);color:var(--ai-text, #e8eee4);box-shadow:0 18px 48px #00000059;text-align:center}.ai-busy-card strong{font-size:15px}.ai-busy-card span:not(.ai-busy-spinner){font-size:12px;color:var(--ai-text-muted, #a3b09e)}.ai-busy-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--ai-accent, #e69a2a) 25%,transparent);border-top-color:var(--ai-accent, #e69a2a);border-radius:50%;animation:ai-spin .7s linear infinite}body.ai-is-busy{cursor:wait}body.ai-is-busy #ai-assistant,body.ai-is-busy .editor-shell,body.ai-is-busy .context-menu{pointer-events:none}.ai-icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--ai-border);background:var(--ai-bg);color:var(--ai-text-muted);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .12s ease,color .12s ease,border-color .12s ease}.ai-icon-btn:hover{background:var(--ai-accent-soft);color:var(--ai-accent);border-color:color-mix(in srgb,var(--ai-accent) 40%,transparent)}.ai-icon-btn:disabled{opacity:.45;cursor:not-allowed}.ai-panel-body{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:0;flex:1}.ai-history{border-right:1px solid var(--ai-border);background:var(--ai-bg-sidebar);overflow:auto;padding:10px;display:flex;flex-direction:column;gap:4px}.ai-history-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ai-text-faint);padding:4px 8px 8px}.ai-history-item{text-align:left;border:0;background:transparent;color:var(--ai-text-muted);padding:9px 10px;border-radius:9px;cursor:pointer;font-size:12.5px;line-height:1.35;display:flex;align-items:center;gap:8px;transition:background .12s ease,color .12s ease}.ai-history-item svg{width:14px;height:14px;color:var(--ai-text-faint)}.ai-history-item:hover{background:color-mix(in srgb,var(--ai-text) 6%,transparent);color:var(--ai-text)}.ai-history-item.is-active{background:var(--ai-accent-soft);color:var(--ai-text)}.ai-history-item.is-active svg{color:var(--ai-accent)}.ai-history-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:inherit}.ai-thread{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--ai-bg)}.ai-messages{flex:1;overflow:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px}.ai-empty{margin:auto;max-width:320px;text-align:center;padding:24px 16px;color:var(--ai-text-muted)}.ai-empty-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:var(--ai-accent-soft);color:var(--ai-accent);display:grid;place-items:center}.ai-empty-icon svg{width:24px;height:24px}.ai-empty strong{display:block;color:var(--ai-text);font-size:15px;margin-bottom:6px}.ai-empty p{margin:0;font-size:13px;line-height:1.5;color:var(--ai-text-muted)}.ai-bubble{max-width:88%;padding:11px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;color:var(--ai-text);box-shadow:0 1px #00000014}.ai-bubble.is-user{align-self:flex-end;background:var(--ai-user);border:1px solid color-mix(in srgb,var(--ai-accent) 28%,transparent);border-bottom-right-radius:4px}.ai-bubble.is-assistant{align-self:flex-start;background:var(--ai-assistant);border:1px solid var(--ai-border);border-bottom-left-radius:4px}.ai-bubble.is-thinking{display:flex;align-items:center;gap:10px;color:var(--ai-text-muted);font-size:13px}.ai-bubble-meta{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:600;color:var(--ai-text-faint);text-transform:uppercase;letter-spacing:.04em}.ai-bubble.is-user .ai-bubble-meta{justify-content:flex-end;color:color-mix(in srgb,var(--ai-accent) 80%,var(--ai-text))}.ai-bubble-text{white-space:pre-wrap;word-break:break-word}.ai-usage{display:block;margin-top:8px;color:var(--ai-text-faint);font-size:11px}.ai-action{margin-top:10px;padding:11px;border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);background:var(--ai-bg-elevated);display:flex;flex-direction:column;gap:6px}.ai-action strong{color:var(--ai-text);font-size:13px}.ai-action small{color:var(--ai-text-muted);white-space:pre-wrap;font-size:12px;line-height:1.4}.ai-action-foot{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}.ai-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:var(--ai-accent-soft);color:var(--ai-accent);font-size:11.5px;font-weight:600}.ai-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;border:1px solid var(--ai-border);background:var(--ai-bg);color:var(--ai-text);padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.ai-btn svg{width:15px;height:15px}.ai-btn:hover{background:var(--ai-bg-elevated)}.ai-btn:disabled{opacity:.5;cursor:not-allowed}.ai-btn-primary{background:var(--ai-accent);border-color:var(--ai-accent);color:var(--ai-on-accent)}.ai-btn-primary:hover{filter:brightness(1.05);background:var(--ai-accent)}.ai-btn-ghost{background:transparent}.ai-composer{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:end;padding:12px 14px;border-top:1px solid var(--ai-border);background:var(--ai-bg-elevated)}.ai-composer .ai-icon-btn.is-active{color:var(--ai-accent);background:var(--ai-accent-soft)}.ai-call-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:color-mix(in srgb,var(--ai-bg, #111) 88%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-call-overlay[hidden]{display:none!important}.ai-call-card{display:grid;gap:16px;min-width:min(280px,90%);padding:20px;border-radius:16px;border:1px solid var(--ai-border);background:var(--ai-bg-elevated);text-align:center}.ai-call-actions{display:flex;gap:8px;justify-content:center}.ai-composer textarea{resize:none;min-height:46px;max-height:120px;width:100%;border-radius:12px;border:1px solid var(--ai-border);background:var(--ai-bg);color:var(--ai-text);padding:11px 12px;outline:none;font:inherit;line-height:1.4}.ai-composer textarea::placeholder{color:var(--ai-text-faint)}.ai-composer textarea:focus{border-color:var(--ai-accent);box-shadow:0 0 0 3px var(--ai-accent-soft)}.ai-composer textarea:disabled{opacity:.65}.ai-send{min-width:46px;height:46px;align-self:end;border-radius:12px;border:0;background:var(--ai-accent);color:var(--ai-on-accent);display:grid;place-items:center;cursor:pointer;padding:0;transition:filter .12s ease,opacity .12s ease,transform .12s ease}.ai-send:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.ai-send:disabled{opacity:.45;cursor:not-allowed;transform:none}.ai-send svg{width:18px;height:18px}.ai-send.is-busy svg{display:none}.ai-send .ai-spinner{display:none;width:18px;height:18px;border:2px solid color-mix(in srgb,var(--ai-on-accent) 30%,transparent);border-top-color:var(--ai-on-accent);border-radius:50%;animation:ai-spin .7s linear infinite}.ai-send.is-busy .ai-spinner{display:block}.ai-typing-dots{display:inline-flex;gap:4px;align-items:center}.ai-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--ai-accent);animation:ai-bounce 1.1s ease-in-out infinite}.ai-typing-dots span:nth-child(2){animation-delay:.15s}.ai-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-btn-inline{display:inline-flex;align-items:center;gap:4px}@media(max-width:720px){.ai-panel{right:10px;left:10px;width:auto;bottom:76px}.ai-panel-body{grid-template-columns:1fr}.ai-history{display:none}.ai-panel-head .ai-model,.ai-panel-head .ai-credential{max-width:120px;min-width:0}}:root{--accent: #e69a2a;--accent-hover: #f5ab3e;--accent-soft: rgba(230, 154, 42, .25);--accent-wash: rgba(230, 154, 42, .1);--unresolved: #c9663d;--radius: 12px;--radius-sm: 6px;--sidebar-width: 260px;--right-width: 300px;--font-ui: -apple-system, "Segoe UI", Roboto, Inter, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;--font-text: "Segoe UI", Inter, system-ui, sans-serif}[data-theme=dark]{--bg: #1a1d1a;--bg-alt: #222721;--bg-sidebar: #2d332c;--bg-graph: #161816;--bg-hover: #2a3129;--bg-active: #3a2912;--border: #333d32;--text: #e2e8e0;--text-muted: #8a9a86;--text-faint: #64735f;--code-bg: #1e231d;--on-accent: #111111;--shadow: 0 14px 44px rgba(0, 0, 0, .6)}[data-theme=light]{--bg: #f7f5ee;--bg-alt: #fffdf7;--bg-sidebar: #ece7d9;--bg-graph: #fffdf7;--bg-hover: #e2ddcd;--bg-active: #f3d9ab;--border: #d5cfbb;--text: #23281f;--text-muted: #6b7563;--text-faint: #9aa192;--code-bg: #efebdd;--on-accent: #1a1206;--shadow: 0 14px 44px rgba(60, 50, 20, .18)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}kbd{font-family:var(--font-mono);font-size:11px;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--text-muted)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-columns:44px var(--sidebar-width) 4px 1fr 4px var(--right-width);height:100vh}.app.sidebar-hidden{grid-template-columns:44px 0 0 1fr 4px var(--right-width)}.app.right-hidden{grid-template-columns:44px var(--sidebar-width) 4px 1fr 0 0}.app.sidebar-hidden.right-hidden{grid-template-columns:44px 0 0 1fr 0 0}.app.sidebar-hidden .sidebar,.app.right-hidden .right-panel{display:none}.app.sidebar-hidden .workspace{padding-left:10px}.ribbon{grid-column:1}.sidebar{grid-column:2}.resizer[data-resize=sidebar]{grid-column:3}.workspace{grid-column:4}.resizer[data-resize=right]{grid-column:5}.right-panel{grid-column:6}.resizer{cursor:col-resize;background:var(--border);opacity:0;transition:opacity .15s}.resizer:hover,.resizer.is-dragging{opacity:1;background:var(--accent)}.ribbon{position:relative;z-index:40;overflow:visible;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px}#plugin-ribbon{display:flex;flex-direction:column;align-items:center;gap:2px}.brand-mark{position:relative;display:grid;place-items:center;width:32px;height:32px;margin-bottom:8px;filter:drop-shadow(0 0 7px var(--accent-soft))}.brand-mark img{width:30px;height:30px;object-fit:contain}.brand-mark:after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);padding:7px 12px;border-radius:10px;background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-weight:600;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:40}.brand-mark:hover:after,.brand-mark:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.ribbon-spacer{flex:1}.ribbon-btn{position:relative;width:32px;height:32px;display:grid;place-items:center;background:none;border:0;border-radius:var(--radius);color:var(--text-muted);cursor:pointer}.ribbon-btn:hover{background:var(--bg-hover);color:var(--text)}.ribbon-btn>span{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);padding:7px 12px;border-radius:10px;background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:40}.ribbon-btn:hover>span,.ribbon-btn:focus-visible>span{opacity:1;transform:translateY(-50%) translate(0)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;container-type:inline-size;container-name:sidebar}.sidebar-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.sidebar-tab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 2px 7px;background:none;border:0;border-bottom:2px solid transparent;color:var(--text-faint);font-size:10.5px;line-height:1.1;cursor:pointer}.sidebar-tab svg{width:16px;height:16px;flex-shrink:0}.sidebar-tab-label{display:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tab:hover{color:var(--text)}.sidebar-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}@container sidebar (min-width: 340px){.sidebar-tab{padding:7px 4px 5px;gap:2px}.sidebar-tab-label{display:block}}.sidebar-body{flex:1;overflow:hidden;position:relative}.pane{display:none;height:100%;flex-direction:column}.pane.is-active{display:flex}.pane-head{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.pane-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-actions{display:flex;gap:2px}.icon-btn{background:none;border:0;border-radius:4px;color:var(--text-muted);cursor:pointer;width:24px;height:24px;display:grid;place-items:center;font-size:14px;line-height:1}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.is-on{color:var(--accent)}.text-input{width:100%;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:6px 9px;outline:none}.text-input:focus{border-color:var(--accent)}.vault-switch{display:flex;align-items:center;gap:5px;flex:1;min-width:0;background:none;border:0;border-radius:4px;padding:3px 6px;margin:-3px -6px;cursor:pointer;color:var(--text);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.vault-switch:hover{background:var(--bg-hover)}.vault-switch .vault-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-switch .caret{color:var(--text-faint);font-size:10px}.btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:5px 11px;cursor:pointer;font-size:13px}.btn:hover{background:var(--bg-active)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--unresolved);border-color:var(--unresolved);color:#fff}.btn-danger:hover{filter:brightness(1.08);background:var(--unresolved)}.btn-block{width:100%}.tree,.search-results,.tag-list,.flat-list{flex:1;overflow-y:auto;padding:6px 4px 24px}.tree-item{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;white-space:nowrap}.tree-item:hover{background:var(--accent-wash);color:var(--text)}.tree-item.is-active{background:var(--accent);color:var(--on-accent);font-weight:600}.tree-item.is-active .twisty,.tree-item.is-active .star{color:var(--on-accent)}.tree-item.is-active.folder>.label{color:var(--on-accent)}.tree-item.is-drop-target{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tree-item.is-selected{background:var(--accent-soft);color:var(--text)}.tree-item.is-selected.is-active{background:var(--accent);color:var(--on-accent)}.tree-item.is-selected:not(.is-active){box-shadow:inset 2px 0 0 var(--accent)}.tree-item .twisty{width:14px;text-align:center;font-size:9px;color:var(--text-faint);transition:transform .12s;flex-shrink:0}.tree-item .twisty.is-open{transform:rotate(90deg)}.tree-item .label{overflow:hidden;text-overflow:ellipsis;flex:1}.tree-item .star{color:var(--accent);font-size:11px}.tree-item.folder>.label{font-weight:500;color:var(--text)}.tree-item .canvas-mark{color:var(--accent);font-size:11px}.tree-children{margin-left:10px;border-left:1px solid var(--border);padding-left:2px}.empty-hint{color:var(--text-faint);font-size:12px;padding:14px;text-align:center}.result{padding:6px 8px;border-radius:4px;cursor:pointer}.result:hover{background:var(--bg-hover)}.result .result-title{color:var(--text);font-weight:500}.result .result-snippet{color:var(--text-muted);font-size:12px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result mark{background:var(--accent-soft);color:inherit;border-radius:2px}.tag-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:4px;cursor:pointer;color:var(--text-muted)}.tag-item:hover{background:var(--bg-hover);color:var(--text)}.tag-item .count{font-size:11px;color:var(--text-faint)}.flat-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;cursor:pointer;color:var(--text-muted)}.flat-item:hover{background:var(--bg-hover);color:var(--text)}.flat-item .label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flat-item .mini-btn{opacity:0;background:none;border:0;color:var(--text-faint);cursor:pointer;font-size:12px;padding:0 3px}.flat-item:hover .mini-btn{opacity:1}.flat-item .mini-btn:hover{color:var(--text)}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--bg);padding:10px 10px 10px 0;gap:10px}.tabbar{display:flex;align-items:stretch;gap:1px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);min-height:34px;overflow-x:auto;overflow-y:hidden;flex-shrink:0}.tabbar::-webkit-scrollbar{height:0}.tab{display:flex;align-items:center;gap:6px;padding:0 8px 0 12px;max-width:200px;background:transparent;color:var(--text-faint);border-right:1px solid var(--border);cursor:pointer;white-space:nowrap;font-size:13px}.tab:hover{color:var(--text)}.tab.is-active{background:var(--bg-active);color:var(--text)}.tab:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tab .tab-label{overflow:hidden;text-overflow:ellipsis}.tab .tab-close{opacity:0;border:0;background:none;color:inherit;cursor:pointer;border-radius:3px;padding:0 3px}.tab:hover .tab-close,.tab.is-active .tab-close{opacity:.7}.tab .tab-close:hover{background:var(--bg-hover);opacity:1}.tab .dirty-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.view{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius)}.empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-faint)}.empty-icon{width:46px;height:46px;opacity:.4}.empty-actions{display:flex;flex-direction:column;gap:6px}.empty-actions button{background:none;border:0;color:var(--text-muted);cursor:pointer;display:flex;gap:10px;align-items:center;padding:4px 8px;border-radius:4px}.empty-actions button:hover{background:var(--bg-hover);color:var(--text)}.note-view{height:100%;display:flex;flex-direction:column}.note-head{display:flex;align-items:center;gap:8px;padding:10px 26px 6px}.note-title{flex:1;min-width:0;background:none;border:0;outline:none;font-size:26px;font-weight:700;font-family:var(--font-text);padding:2px 0}.note-title:focus{border-bottom:1px solid var(--accent)}.note-tools{display:flex;align-items:center;gap:4px}.save-state{font-size:11px;color:var(--text-faint);min-width:56px;text-align:right}.note-body{flex:1;display:flex;min-height:0}.editor-wrap{flex:1;min-width:0;display:flex}.preview{flex:1;min-width:0;overflow-y:auto;padding:4px 26px 40vh;max-width:calc(var(--reading-width, 800px) + 52px);margin-inline:auto;width:100%}.note-view[data-mode=edit] .preview,.note-view[data-mode=preview] .editor-wrap{display:none}.note-view[data-mode=split] .preview{border-left:1px solid var(--border)}.editor{flex:1;background:none;border:0;outline:none;resize:none;padding:4px 26px 40vh;font-family:var(--font-mono);font-size:calc(var(--reading-size, 16px) - 2px);line-height:var(--reading-line, 1.7);color:var(--text);tab-size:4;max-width:calc(var(--reading-width, 800px) + 52px);margin-inline:auto;width:100%}.note-foot{display:flex;gap:16px;justify-content:flex-end;padding:8px 26px;font-size:11px;color:var(--text-faint);border-top:1px solid var(--border)}.right-panel{background:var(--bg-sidebar);border-left:1px solid var(--border);overflow-y:auto;min-width:0;position:relative}.panel-chrome{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 12px;background:var(--bg-sidebar);border-bottom:1px solid var(--border)}.panel-chrome-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.panel-layout-menu{position:absolute;top:36px;right:8px;left:8px;z-index:4;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px}.panel-layout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.panel-layout-head strong{font-size:13px;color:var(--text)}.panel-layout-head .btn{padding:2px 8px;font-size:11.5px}.panel-layout-hint{margin:0 0 8px;font-size:11.5px;color:var(--text-faint);line-height:1.35}.panel-layout-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:min(60vh,420px);overflow-y:auto}.panel-layout-row{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:5px}.panel-layout-row:hover{background:var(--bg-hover)}.panel-layout-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;font-size:12.5px;color:var(--text)}.panel-layout-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-layout-move{display:flex;gap:1px;flex-shrink:0}.panel-layout-move .icon-btn:disabled{opacity:.25;cursor:default}.panel-section{border-bottom:1px solid var(--border)}.panel-section[hidden]{display:none!important}.panel-head{padding:8px 12px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;justify-content:space-between;align-items:center}.panel-head .count{background:var(--bg-hover);border-radius:10px;padding:0 6px;font-size:11px;letter-spacing:0}.outline,.link-list,.tag-chips,.panel-body{padding:2px 6px 10px}.outline-item{padding:3px 8px;border-radius:4px;cursor:pointer;color:var(--text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-item:hover{background:var(--bg-hover);color:var(--text)}.link-entry{padding:6px 8px;border-radius:4px;cursor:pointer}.link-entry:hover{background:var(--bg-hover)}.link-entry .link-title{color:var(--accent);font-size:13px}.link-entry .link-context{color:var(--text-faint);font-size:11.5px;margin-top:2px;line-height:1.4}.link-entry.is-unresolved .link-title{color:var(--unresolved)}.tag-chips{display:flex;flex-wrap:wrap;gap:4px}.chip{background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:1px 8px;font-size:12px;cursor:pointer}.graph-view{position:absolute;inset:0;background:var(--bg-graph);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.graph-toolbar{display:flex;align-items:center;gap:14px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted)}.graph-toolbar label{display:flex;align-items:center;gap:5px}.graph-toolbar input[type=range]{width:90px;accent-color:var(--accent)}.graph-toolbar button:last-child{margin-left:auto}#graph-canvas{flex:1;width:100%;min-height:0;min-width:0;display:block;cursor:grab;touch-action:none}#graph-canvas.is-dragging{cursor:grabbing}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;padding-top:14vh;z-index:100}.modal{width:min(640px,92vw);background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;height:fit-content}.modal-input{width:100%;padding:14px 18px;background:none;border:0;border-bottom:1px solid var(--border);outline:none;font-size:16px}.modal-list{max-height:46vh;overflow-y:auto;padding:6px}.modal-item{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:5px;cursor:pointer;color:var(--text-muted)}.modal-item .modal-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-item .modal-item-sub{font-size:11.5px;color:var(--text-faint)}.modal-item.is-selected{background:var(--accent-soft);color:var(--text)}.modal-item mark{background:none;color:var(--accent)}.modal-hint{padding:7px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint);display:flex;gap:6px;align-items:center}.dialog-backdrop{z-index:150;align-items:flex-start}.dialog{padding:18px 20px 16px}.dialog-title{font-size:15px;font-weight:600;margin-bottom:10px}.dialog-body{color:var(--text-muted);font-size:13px;line-height:1.5}.dialog-body p{margin:0 0 6px}.dialog-body code{font-family:var(--font-mono);font-size:12px;background:var(--code-bg);padding:1px 5px;border-radius:4px}.dialog-fields{display:flex;flex-direction:column;gap:12px;margin:14px 0 4px}.dialog-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.dialog-field em{font-style:normal;font-size:11.5px;color:var(--text-faint)}.dialog-field textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;outline:none;resize:vertical}.dialog-field textarea:focus{border-color:var(--accent)}.dialog-check{display:flex;align-items:center;gap:8px;font-size:13px}.dialog-check input{accent-color:var(--accent)}.dialog-check.is-muted{opacity:.55}.dialog-check small{color:var(--text-muted);font-size:11px}.dialog-check-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow:auto;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated, var(--bg))}.project-vault-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.settings-backdrop{align-items:flex-start}.settings{width:min(680px,94vw);padding:0;display:flex;flex-direction:column;max-height:80vh}.settings-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px}.settings-tabs{display:flex;gap:4px;padding:0 14px;border-bottom:1px solid var(--border)}.settings-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--text-muted);padding:8px 12px;cursor:pointer;font-size:13px}.settings-tab:hover{color:var(--text)}.settings-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}.settings-body{padding:16px 18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.settings-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.settings-hint{margin:0;font-size:12px;color:var(--text-faint);line-height:1.5}.settings-actions{display:flex;justify-content:flex-end;gap:8px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.theme-card{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:10px;cursor:pointer;background:var(--bg);display:flex;flex-direction:column;gap:8px}.theme-card:hover{border-color:var(--accent)}.theme-card.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.theme-swatches{display:flex;height:26px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.theme-swatches span{flex:1}.theme-name{font-size:13px;color:var(--text)}.theme-tag{position:absolute;top:10px;right:10px;font-size:10px;color:var(--text-faint)}.theme-actions{position:absolute;top:6px;right:6px;display:flex;gap:2px}.theme-actions .mini-btn{opacity:1;background:var(--bg-alt);border-radius:4px;border:0;color:var(--text-muted);cursor:pointer;padding:2px 5px}.theme-actions .mini-btn:hover{color:var(--text);background:var(--bg-hover)}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.color-row{display:flex;align-items:center;gap:8px;font-size:12.5px}.color-row input[type=color]{width:34px;height:26px;padding:0;border:1px solid var(--border);border-radius:5px;background:none;cursor:pointer;flex-shrink:0}.color-label{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-hex{width:88px;font-family:var(--font-mono);font-size:11.5px;padding:4px 6px}.settings-body input[type=range]{accent-color:var(--accent);width:100%}.settings-body select.text-input{cursor:pointer}.status-bar{display:flex;gap:12px;margin-right:auto}.status-item{color:var(--text-faint);white-space:nowrap}.status-item.is-clickable{cursor:pointer}.status-item.is-clickable:hover{color:var(--accent)}.settings-section-title{display:flex;align-items:center;gap:8px}.settings-section-title .icon-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);font-family:var(--font-text);font-size:11.5px;font-style:italic;line-height:1}.plugin-search{display:flex;gap:8px;flex-wrap:wrap}.plugin-search .text-input{flex:1;min-width:130px}.plugin-search select{flex:0 1 160px;cursor:pointer}.plugin-list{display:flex;flex-direction:column;gap:8px}.plugin-row{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--bg)}.plugin-row.is-on{border-color:var(--accent)}.plugin-row.is-broken{border-color:var(--unresolved)}.plugin-head{display:flex;align-items:center;gap:8px}.plugin-head .dialog-check{flex:1;min-width:0}.plugin-name{font-size:14px;color:var(--text);font-weight:600}.plugin-description{margin:4px 0 0 26px;font-size:12.5px;color:var(--text-muted);line-height:1.5}.plugin-meta{margin:3px 0 0 26px;font-size:11px;color:var(--text-faint)}.plugin-error{margin:6px 0 0 26px;font-size:12px;color:var(--unresolved)}.plugin-tags{display:flex;gap:4px;flex-wrap:wrap}.plugin-tag{font-size:10px;padding:2px 7px;border-radius:999px;background:var(--bg-hover);color:var(--text-faint);white-space:nowrap}.plugin-tag.is-custom{background:var(--accent-wash);color:var(--accent)}.plugin-row-actions{display:flex;gap:2px}.plugin-row-actions .icon-btn{width:26px;height:26px}.guide-dialog{width:min(760px,94vw);max-height:86vh;display:flex;flex-direction:column;padding:0}.guide-body{overflow-y:auto;padding:4px 20px 20px;font-size:13px;line-height:1.6;color:var(--text-muted)}.guide-body h3{margin:16px 0 6px;font-size:16px;color:var(--text)}.guide-body h4{margin:18px 0 6px;font-size:13px;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.guide-body p,.guide-body li{color:var(--text-muted)}.guide-body code{font-family:var(--font-mono);font-size:12px;background:var(--code-bg);padding:1px 5px;border-radius:4px;color:var(--text)}.guide-body pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;overflow-x:auto}.guide-body pre code{background:none;padding:0;font-size:12px;line-height:1.55}.guide-table{width:100%;border-collapse:collapse;margin:6px 0}.guide-table td{padding:5px 8px;border-top:1px solid var(--border);vertical-align:top;font-size:12.5px}.guide-table td:first-child{width:46%}.emoji-dialog{width:min(420px,94vw)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;max-height:300px;overflow-y:auto;margin-top:10px}.emoji-grid button{font-size:20px;line-height:1;padding:6px 0;border:0;border-radius:6px;background:none;cursor:pointer}.emoji-grid button:hover{background:var(--bg-hover)}.slides-stage{position:fixed;inset:0;z-index:400;background:var(--bg);display:grid;place-items:center;padding:6vh 8vw;cursor:pointer;overflow:auto}.slides-slide{max-width:900px;font-size:clamp(16px,2.2vw,26px);line-height:1.5;color:var(--text)}.slides-slide h1,.slides-slide h2{font-size:1.6em;margin-top:0}.slides-count{position:fixed;right:20px;bottom:16px;color:var(--text-faint);font-size:13px}.prop-table{width:100%;border-collapse:collapse}.prop-table th{text-align:left;font-size:11.5px;color:var(--text-faint);font-weight:600;padding:4px 6px 4px 0;white-space:nowrap;vertical-align:middle}.prop-table td{padding:3px 0}.prop-table .prop-drop{width:26px}.prop-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:4px 7px;color:var(--text);font-size:12.5px;outline:none}.prop-input:focus{border-color:var(--accent)}.orphan-list,.recent-list{display:flex;flex-direction:column;gap:2px}.orphan-list h4{margin:10px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.orphan-list a,.recent-list a{color:var(--text-muted);text-decoration:none;font-size:12.5px;padding:3px 6px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orphan-list a:hover,.recent-list a:hover{background:var(--bg-hover);color:var(--text)}.orphan-list a.is-unresolved{color:var(--unresolved)}.task-view{display:flex;flex-direction:column;gap:6px;max-width:760px}.task-group{margin-top:12px}.task-group h3{margin:0 0 4px;font-size:13px}.task-group h3 a{color:var(--accent);text-decoration:none}.task-line{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:13px;line-height:1.5}.task-line input{accent-color:var(--accent);margin-top:3px}.task-line.is-done span{color:var(--text-faint);text-decoration:line-through}.plugin-settings{margin:10px 0 0 26px;display:flex;flex-direction:column;gap:10px}.plugin-settings textarea{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;color:var(--text);font-family:var(--font-mono);font-size:12px;outline:none}.cal-head{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text);padding:0 4px 6px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-name{font-size:10px;color:var(--text-faint);text-align:center;padding-bottom:2px}.cal-day{aspect-ratio:1;border:0;border-radius:4px;background:none;color:var(--text-muted);font-size:11.5px;cursor:pointer}.cal-day:hover{background:var(--accent-wash);color:var(--text)}.cal-day.is-empty{visibility:hidden}.cal-day.has-note{background:var(--accent-soft);color:var(--accent);font-weight:600}.cal-day.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.mirror-block{border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px}.mirror-block.is-on{border-color:var(--accent)}.mirror-block .settings-hint{margin:0}.mirror-block .git-actions{margin-top:2px}.plugin-view{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg-alt);border-radius:var(--radius);overflow:hidden}.plugin-view-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px;flex-shrink:0}.plugin-view-actions{display:flex;gap:6px;margin-left:auto}.plugin-view-actions .btn{padding:4px 10px;font-size:12.5px}.plugin-view-body{flex:1;min-height:0;overflow:auto;padding:14px}.kanban-board{display:flex;gap:12px;align-items:flex-start;min-height:100%;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:8px}.kanban-column{width:280px;flex-shrink:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;max-height:100%;scroll-snap-align:start}.kanban-column.is-drop{border-color:var(--accent);background:var(--accent-wash)}.kanban-column-head{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.kanban-column-title{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font-size:13.5px;font-weight:600;padding:2px 4px;border-radius:4px}.kanban-column-title:focus{background:var(--bg-alt)}.kanban-count{font-size:11px;color:var(--text-faint)}.kanban-cards{padding:8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:40px}.kanban-card{display:flex;align-items:flex-start;gap:7px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 9px;font-size:13px;color:var(--text);cursor:grab}.kanban-card:hover{border-color:var(--accent)}.kanban-card.is-dragging{opacity:.4}.kanban-card.is-done .kanban-card-text{text-decoration:line-through;color:var(--text-faint)}.kanban-card input[type=checkbox]{margin-top:2px;accent-color:var(--accent)}.kanban-card-text{flex:1;min-width:0;line-height:1.45;word-break:break-word}.kanban-card-remove{opacity:0;background:none;border:0;color:var(--text-faint);cursor:pointer;font-size:12px}.kanban-card:hover .kanban-card-remove{opacity:1}.kanban-card-remove:hover{color:var(--unresolved)}.kanban-card-editor{flex:1;min-height:54px;resize:vertical;background:var(--bg);border:1px solid var(--accent);border-radius:4px;color:var(--text);font:inherit;padding:4px 6px;outline:none}.kanban-tag{background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:0 6px;font-size:11.5px}.kanban-date{color:var(--text-muted);font-family:var(--font-mono);font-size:11.5px}.kanban-add,.kanban-add-column{background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:7px;margin:0 8px 8px;font-size:12.5px}.kanban-add:hover,.kanban-add-column:hover{border-color:var(--accent);color:var(--accent)}.kanban-add-column{width:180px;flex-shrink:0;margin:0;padding:12px}.markdown-body code.is-highlighted .tok-key{color:var(--accent)}.markdown-body code.is-highlighted .tok-str{color:#7fb98a}.markdown-body code.is-highlighted .tok-num{color:#d9a05b}.markdown-body code.is-highlighted .tok-com{color:var(--text-faint);font-style:italic}.markdown-body code.is-highlighted .tok-var{color:#8bb8d8}.print-frame{position:fixed;right:0;bottom:0;width:0;height:0;border:0;visibility:hidden}.canvas-view{position:absolute;inset:0;background:var(--bg-graph);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.canvas-toolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted);flex-shrink:0;flex-wrap:wrap}.canvas-toolbar .btn{padding:4px 10px;font-size:12.5px}.canvas-zoom{display:flex;gap:2px}.canvas-state{margin-left:auto;font-size:11px;color:var(--text-faint)}.canvas-toolbar>.icon-btn:last-child{margin-left:0}.canvas-board{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr)}.canvas-tools{grid-row:1 / span 2;grid-column:1;display:flex;flex-direction:column;gap:2px;padding:6px;border-right:1px solid var(--border);background:var(--bg-sidebar);overflow-y:auto}.canvas-tool{width:32px;height:32px;display:grid;place-items:center;background:none;border:0;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:15px}.canvas-tool:hover{background:var(--accent-wash);color:var(--text)}.canvas-tool.is-active{background:var(--accent);color:var(--on-accent)}.canvas-options{grid-column:2;grid-row:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted)}.canvas-swatches{display:flex;gap:4px}.canvas-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent}.canvas-swatch.is-active{border-color:var(--text)}.canvas-swatch[data-tone=default]{background:var(--text-muted)}.canvas-swatch[data-tone=amber]{background:var(--accent)}.canvas-swatch[data-tone=green]{background:#4caf7d}.canvas-swatch[data-tone=blue]{background:#4b9fd8}.canvas-swatch[data-tone=red]{background:var(--unresolved)}.canvas-swatch[data-tone=violet]{background:#9b7bd4}.canvas-width{display:flex;align-items:center;gap:6px}.canvas-width input{width:90px;accent-color:var(--accent)}.canvas-option-group{display:flex;gap:2px}.canvas-snap{display:flex;align-items:center;gap:5px}.canvas-snap input{accent-color:var(--accent)}.canvas-options>[data-layers-toggle]{margin-left:auto}.canvas-layers{grid-column:3;grid-row:1 / span 2;width:220px;border-left:1px solid var(--border);background:var(--bg-sidebar);padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.canvas-layers-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.canvas-layer-list{display:flex;flex-direction:column;gap:2px}.canvas-layer{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-sm);cursor:pointer}.canvas-layer:hover{background:var(--bg-hover)}.canvas-layer.is-active{background:var(--accent-wash);box-shadow:inset 2px 0 0 var(--accent)}.canvas-layer button{background:none;border:0;color:var(--text-muted);cursor:pointer;font-size:11px;padding:2px}.canvas-layer button:hover{color:var(--text)}.canvas-layer-name{flex:1;min-width:0;background:none;border:0;color:var(--text);font-size:12.5px;outline:none;padding:2px 4px;border-radius:4px}.canvas-layer-name:focus{background:var(--bg)}.canvas-layer-count{font-size:10.5px;color:var(--text-faint)}.canvas-stage{grid-column:2;grid-row:2;position:relative;overflow:hidden;background:var(--bg-graph);touch-action:none}.canvas-stage[data-tool=hand]{cursor:grab}.canvas-stage[data-tool=ink],.canvas-stage[data-tool=eraser],.canvas-stage[data-tool=rect],.canvas-stage[data-tool=ellipse],.canvas-stage[data-tool=line],.canvas-stage[data-tool=arrow],.canvas-stage[data-tool=group],.canvas-stage[data-tool=card],.canvas-stage[data-tool=label],.canvas-stage[data-tool=note]{cursor:crosshair}.canvas-stage.is-panning{cursor:grabbing}.canvas-stage.is-connecting{cursor:crosshair}.canvas-marquee{position:absolute;z-index:5;border:1px solid var(--accent);background:var(--accent-wash);pointer-events:none}.canvas-surface{position:absolute;top:0;left:0;transform-origin:0 0}.canvas-grid{position:absolute;left:-6000px;top:-6000px;width:12000px;height:12000px;background-image:radial-gradient(circle,color-mix(in srgb,var(--text-muted) 55%,transparent) 1.25px,transparent 1.25px);background-size:20px 20px;pointer-events:none;z-index:0;opacity:0;transition:opacity .12s ease}.canvas-grid.is-on{opacity:1}.canvas-edges{position:absolute;overflow:visible;width:1px;height:1px;color:var(--accent);pointer-events:none;z-index:1}.canvas-edge{fill:none;stroke:var(--accent);stroke-width:2;opacity:.75}.canvas-edge-label{fill:var(--text-muted);font-size:11px;font-family:var(--font-ui)}.canvas-elements{position:absolute;inset:0;z-index:2}.canvas-item{position:absolute}.canvas-item.is-locked{pointer-events:none;opacity:.7}.canvas-item[data-tone=default]{--tone: var(--text-muted)}.canvas-item[data-tone=amber]{--tone: var(--accent)}.canvas-item[data-tone=green]{--tone: #4caf7d}.canvas-item[data-tone=blue]{--tone: #4b9fd8}.canvas-item[data-tone=red]{--tone: var(--unresolved)}.canvas-item[data-tone=violet]{--tone: #9b7bd4}.canvas-item.is-card,.canvas-item.is-note{background:var(--bg-alt);border:1px solid var(--border);border-left:4px solid var(--tone);border-radius:var(--radius);box-shadow:0 4px 14px #00000040;overflow:hidden;cursor:grab;display:flex}.canvas-item.is-label{cursor:grab;color:var(--tone)}.canvas-item.is-label .canvas-item-body{padding:2px 4px;font-size:18px;font-weight:600}.canvas-item.is-rect,.canvas-item.is-ellipse{border:2px solid var(--tone);background:color-mix(in srgb,var(--tone) 10%,transparent);cursor:grab}.canvas-item.is-ellipse{border-radius:50%}.canvas-item.is-line,.canvas-item.is-arrow{color:var(--tone);overflow:visible;cursor:grab}.canvas-item.is-line svg,.canvas-item.is-arrow svg{width:100%;height:100%;overflow:visible}.canvas-item.is-line line,.canvas-item.is-arrow line{stroke:var(--tone)}.canvas-item.is-ink{color:var(--tone);pointer-events:none}.canvas-item.is-ink svg{width:100%;height:100%;overflow:visible;pointer-events:none;stroke-width:inherit}.canvas-item.is-ink path{stroke:var(--tone);fill:none;pointer-events:stroke;cursor:pointer}.canvas-item.is-group{border:2px dashed var(--tone);border-radius:var(--radius);background:color-mix(in srgb,var(--tone) 6%,transparent);cursor:grab}.canvas-group-title{position:absolute;top:-10px;left:10px;background:var(--bg-graph);padding:0 6px;font-size:12px;color:var(--tone)}.canvas-group-input{position:absolute;top:-12px;left:8px;background:var(--bg-alt);border:1px solid var(--accent);border-radius:4px;color:var(--text);font-size:12px;padding:1px 5px;outline:none}.canvas-item.is-selected{box-shadow:0 0 0 2px var(--accent),0 4px 14px #0000004d}.canvas-item-body{flex:1;padding:10px 12px;overflow:auto;font-size:14px}.canvas-item-body>*:first-child{margin-top:0}.canvas-card-empty{color:var(--text-faint);font-style:italic}.canvas-card-note{font-weight:600;color:var(--accent);cursor:pointer;border-bottom:1px dashed rgba(230,154,42,.5);display:inline-block;margin-bottom:6px}.canvas-card-preview{font-size:13px;color:var(--text-muted)}.canvas-card-editor{width:100%;height:100%;resize:none;border:0;outline:none;background:none;color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.6}.canvas-item .canvas-port{position:absolute;right:-7px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-graph);cursor:crosshair;padding:0;opacity:0;transition:opacity .12s}.canvas-item:hover .canvas-port,.canvas-item.is-selected .canvas-port{opacity:1}.canvas-resize{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--border) 50%)}.canvas-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--text-faint);font-size:13px;text-align:center;pointer-events:none;max-width:60%}@media(max-width:760px){.canvas-tools{flex-direction:row;grid-row:1;grid-column:1 / span 3;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto}.canvas-options{grid-column:1 / span 3;grid-row:2}.canvas-stage{grid-column:1 / span 3;grid-row:3}.canvas-layers{grid-column:1 / span 3;grid-row:4;width:auto;border-left:0;border-top:1px solid var(--border)}.canvas-board{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto}}.welcome{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow-y:auto}.welcome-card{width:min(560px,100%);text-align:center}.welcome-logo{filter:drop-shadow(0 0 14px var(--accent-soft))}.welcome-card h1{margin:12px 0 6px;font-size:26px}.welcome-lead{margin:0 auto 22px;color:var(--text-muted);max-width:420px;line-height:1.55}.welcome-options{display:flex;flex-direction:column;gap:8px;text-align:left}.welcome-option{display:flex;flex-direction:column;gap:3px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer}.welcome-option:hover{border-color:var(--accent);background:var(--accent-wash)}.welcome-option-title{font-size:15px;color:var(--text);font-weight:600}.welcome-option-note{font-size:12.5px;color:var(--text-muted);line-height:1.5}.welcome-option-note code{font-family:var(--font-mono);font-size:11.5px}.welcome-existing{margin-top:22px;text-align:left}.welcome-existing-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:6px}.welcome-vault{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.welcome-vault:hover{background:var(--bg-hover);border-color:var(--border)}.welcome-vault-name{color:var(--text);font-size:14px}.welcome-vault-path{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-backdrop{align-items:flex-start}.help{width:min(940px,96vw);height:min(78vh,760px);padding:0;display:flex;flex-direction:column}.help-body{flex:1;display:flex;min-height:0;border-top:1px solid var(--border)}.help-nav{width:210px;flex-shrink:0;border-right:1px solid var(--border);padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.help-tab{text-align:left;background:none;border:0;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;color:var(--text-muted);font-size:13px}.help-tab:hover{background:var(--accent-wash);color:var(--text)}.help-tab.is-active{background:var(--accent);color:var(--on-accent);font-weight:600}.help-content{flex:1;min-width:0;overflow-y:auto;padding:4px 26px 30px}.help-content h1{margin-top:.8em}@media(max-width:760px){.help{height:88vh}.help-body{flex-direction:column}.help-nav{width:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.help-tab{white-space:nowrap}.help-content{padding:4px 16px 30px}}.path-row{display:flex;gap:6px;align-items:center}.path-row .text-input{flex:1;min-width:0}.path-row .btn{white-space:nowrap}.folder-picker{width:min(560px,94vw)}.folder-path{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;margin:10px 0 8px;overflow-x:auto;white-space:nowrap}.folder-list{max-height:46vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.folder-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:4px;padding:6px 8px;cursor:pointer;color:var(--text-muted);font-size:13px}.folder-item:hover{background:var(--accent-wash);color:var(--text)}.folder-icon{color:var(--accent);font-size:11px}.choice-list{display:flex;flex-direction:column;gap:6px;margin-top:14px}.choice{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;cursor:pointer}.choice:hover,.choice:focus{border-color:var(--accent);background:var(--bg-hover);outline:none}.choice-label{font-size:13.5px;color:var(--text)}.choice-description{font-size:12px;color:var(--text-muted)}.git-pane{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:12px}.git-status{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-muted)}.git-row{display:flex;justify-content:space-between;gap:10px}.git-row span:last-child{color:var(--text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-badges{display:flex;gap:6px;flex-wrap:wrap}.git-badge{background:var(--bg-hover);border-radius:10px;padding:1px 8px;font-size:11.5px;color:var(--text-muted)}.git-badge.is-dirty{background:var(--accent-soft);color:var(--accent)}.git-badge.is-ahead{background:#5a8c6e2e;color:var(--accent)}.git-badge.is-behind{background:#5a78b42e;color:#6b8fc4}.git-badge.is-conflict{background:#d977572e;color:var(--unresolved)}.git-hint{margin:4px 0 0;padding:8px 10px;border-radius:var(--radius);background:var(--bg-hover);color:var(--text);font-size:12.5px;line-height:1.4}.git-hint.is-ok{color:var(--text-muted)}.git-hint.is-warn{background:#d977571f;color:var(--unresolved)}.git-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.git-actions .btn-block{grid-column:1 / -1}.git-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:4px}.git-changes,.git-log{display:flex;flex-direction:column;gap:2px;font-size:12px}.git-change{display:flex;gap:7px;color:var(--text-muted)}.git-change code{font-family:var(--font-mono);color:var(--accent);font-size:11px}.git-change span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-commit{display:flex;flex-direction:column;padding:4px 0;border-bottom:1px solid var(--border)}.git-commit .subject{color:var(--text)}.git-commit .meta{color:var(--text-faint);font-size:11px}.git-conflict{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:4px;cursor:pointer;background:#d977571f;color:var(--unresolved);font-size:12.5px}.git-conflict:hover{background:#d9775733}.git-output{font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--text-faint);background:var(--code-bg);border-radius:var(--radius);padding:8px;max-height:140px;overflow:auto;white-space:pre-wrap;word-break:break-word}.conflict-bar{display:flex;align-items:center;gap:12px;margin:0 26px 6px;padding:7px 12px;border:1px solid var(--unresolved);border-radius:var(--radius);background:#d977571f;color:var(--unresolved);font-size:13px}.conflict-bar .btn{margin-left:auto}.context-menu{position:fixed;z-index:200;background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:4px;min-width:180px}.context-menu button{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:none;border:0;border-radius:4px;padding:6px 10px;cursor:pointer;color:var(--text-muted);font-size:13px}.context-menu button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.context-menu button:disabled{opacity:.4;cursor:default}.context-menu .menu-hint{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.context-menu .danger:hover{background:#d9775729;color:var(--unresolved)}.context-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:300}.toast{background:var(--bg-alt);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:9px 14px;box-shadow:var(--shadow);font-size:13px;max-width:320px;animation:toast-in .16s ease-out}.toast.is-error{border-left-color:var(--unresolved)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.markdown-body{font-family:var(--reading-font, var(--font-text));font-size:var(--reading-size, 16px);line-height:var(--reading-line, 1.65)}.markdown-body>*:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.3;margin:1.4em 0 .5em;font-weight:700}.markdown-body h1{font-size:1.75em}.markdown-body h2{font-size:1.4em;border-bottom:1px solid var(--border);padding-bottom:.2em}.markdown-body h3{font-size:1.2em}.markdown-body h4{font-size:1.05em;color:var(--text-muted)}.markdown-body p{margin:.7em 0}.markdown-body ul,.markdown-body ol{margin:.5em 0;padding-left:1.6em}.markdown-body li{margin:.2em 0}.markdown-body li.task{list-style:none;margin-left:-1.3em;display:flex;gap:7px;align-items:flex-start}.markdown-body li.task input{margin-top:5px;accent-color:var(--accent);cursor:pointer}.markdown-body li.task.is-done>span{color:var(--text-faint);text-decoration:line-through}.markdown-body blockquote{margin:.8em 0;padding:.1em 0 .1em 1em;border-left:3px solid var(--border);color:var(--text-muted)}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:1.6em 0}.markdown-body code{font-family:var(--font-mono);font-size:.87em;background:var(--code-bg);border-radius:4px;padding:.15em .35em}.markdown-body pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;overflow-x:auto;margin:.9em 0}.markdown-body pre code{background:none;padding:0;font-size:.85em;line-height:1.55}.markdown-body table{border-collapse:collapse;margin:.9em 0;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:6px 11px;text-align:left}.markdown-body th{background:var(--bg-alt);font-weight:600}.markdown-body img{max-width:100%;border-radius:var(--radius)}.markdown-body mark{background:#ffd25047;color:inherit;border-radius:2px;padding:0 2px}.markdown-body mark.note-comment-mark{background:color-mix(in oklab,var(--accent) 22%,transparent);border-bottom:1px solid color-mix(in oklab,var(--accent) 55%,transparent)}.note-comment-badge{display:inline-grid;place-items:center;width:1.35em;height:1.35em;margin:0 .15em;padding:0;border:0;border-radius:999px;background:var(--accent);color:#111;font-size:10px;font-weight:700;line-height:1;cursor:pointer;vertical-align:super}.note-comment-badge.is-orphaned{background:var(--text-muted);color:var(--bg)}.note-comment-badge:hover{filter:brightness(1.08)}.note-comment-bubble{position:fixed;z-index:260;display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-alt);color:var(--text);box-shadow:var(--shadow)}.note-comment-bubble-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.note-comment-bubble-head strong{display:block;font-size:13px}.note-comment-bubble-head time{display:block;margin-top:2px;font-size:11px;color:var(--text-muted)}.note-comment-quote{margin:0;padding:6px 8px;border-left:3px solid var(--accent);background:color-mix(in oklab,var(--text) 4%,transparent);color:var(--text-muted);font-size:12px}.note-comment-bubble-body{margin:0;font-size:13px;white-space:pre-wrap;word-break:break-word}.note-comment-bubble-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.note-comment-list-item.is-orphaned .link-title{color:var(--text-muted)}.markdown-body a{color:var(--accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body a.internal-link{border-bottom:1px dashed rgba(230,154,42,.6);padding-bottom:1px}.markdown-body a.internal-link:hover{background:var(--accent-soft);border-bottom-style:solid;text-decoration:none;border-radius:2px}.markdown-body a.internal-link.is-unresolved{color:var(--unresolved);border-bottom-color:#c9663d99}.markdown-body a.tag{background:var(--accent-soft);border-radius:10px;padding:.05em .55em;font-size:.85em;text-decoration:none}.markdown-body .callout{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:var(--radius);padding:10px 14px;margin:.9em 0}.markdown-body .callout-title{font-weight:600;margin-bottom:4px;text-transform:capitalize}.markdown-body .callout[data-callout=warning],.markdown-body .callout[data-callout=danger]{border-left-color:var(--unresolved)}.markdown-body .callout[data-callout=note],.markdown-body .callout[data-callout=info]{border-left-color:#4b9fd8}.markdown-body .callout[data-callout=tip],.markdown-body .callout[data-callout=success]{border-left-color:#4caf7d}.markdown-body .embed{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin:.8em 0;background:var(--bg-alt)}.markdown-body .embed-title{font-size:12px;color:var(--text-muted);margin-bottom:4px}.view.is-split{display:flex;gap:10px;background:none;border:0;border-radius:0}.view.is-split>.note-view,.view.is-split>.empty-state{flex:1 1 50%;min-width:0;min-height:0;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.view.is-split>.graph-view{position:relative;inset:auto;flex:1 1 50%;min-width:0;min-height:0;border:1px solid var(--border)}.scrim{position:fixed;inset:0;background:#00000073;z-index:55;border:0;pointer-events:none}.app.sidebar-open .scrim,.app.right-open .scrim{pointer-events:auto}@media(pointer:coarse){.resizer{display:none}.tree-item,.flat-item,.tag-item,.result{padding-top:8px;padding-bottom:8px}.icon-btn,.ribbon-btn{width:34px;height:34px}.tab{padding:0 10px 0 14px}.tab .tab-close{opacity:.7;min-width:28px;min-height:28px}.flat-item .mini-btn,.kanban-card-remove{opacity:.85;padding:4px 6px}.canvas-item .canvas-port{opacity:.55;width:14px;height:14px}.canvas-item.is-selected .canvas-port{opacity:1}.canvas-tool{min-width:44px;min-height:44px}.kanban-card{padding:12px 11px;min-height:44px}.sidebar-tab{min-height:44px;padding-top:10px;padding-bottom:8px}.menu-item{padding:10px 12px;min-height:40px}}@media(max-width:1100px){.app,.app.right-hidden{grid-template-columns:44px var(--sidebar-width) 4px 1fr}.app.sidebar-hidden,.app.sidebar-hidden.right-hidden{grid-template-columns:44px 0 0 1fr}.ribbon{grid-column:1}.sidebar{grid-column:2}.resizer[data-resize=sidebar]{grid-column:3}.workspace{grid-column:4}.right-panel{display:block;position:fixed;top:0;right:0;bottom:0;width:min(320px,88vw);z-index:60;transform:translate(101%);transition:transform .2s ease;box-shadow:var(--shadow)}.app.right-open .right-panel{transform:none}.app.right-hidden .right-panel{display:block}.resizer[data-resize=right]{display:none}}@media(max-width:760px){html,body,.app{height:100dvh}.app,.app.sidebar-hidden,.app.right-hidden,.app.sidebar-hidden.right-hidden{grid-template-columns:44px 1fr}.ribbon{grid-column:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.workspace{grid-column:2}.resizer{display:none}.app.sidebar-hidden .sidebar,.app.right-hidden .right-panel{display:flex}.sidebar{display:flex;position:fixed;top:0;bottom:0;left:44px;width:min(300px,calc(100vw - 44px));z-index:60;transform:translate(-102%);transition:transform .2s ease;box-shadow:var(--shadow);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.app.sidebar-open .sidebar{transform:none}.ribbon{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.workspace,.app.sidebar-hidden .workspace{padding:6px;gap:6px}.note-head{padding:8px 14px 4px;gap:4px;flex-wrap:wrap}.note-title{font-size:20px}.note-title,.text-input,.editor,.search-input input,.pane input[type=text],.pane input[type=search]{font-size:16px}.save-state{min-width:0}.preview,.editor{padding:4px 14px 50vh}.conflict-bar{margin:0 14px 6px;flex-wrap:wrap}.note-foot{padding:8px 14px 6px;gap:10px;font-size:10px}.graph-toolbar{flex-wrap:wrap;gap:8px 12px}.view.is-split{flex-direction:column}.view.is-split>.note-view,.view.is-split>.graph-view{flex:1 1 50%}.modal{width:94vw}.modal-backdrop{padding-top:8vh}.settings{width:94vw}.color-grid{grid-template-columns:1fr}.toasts{left:12px;right:12px;bottom:12px}.toast{max-width:none}}@media(max-width:420px){.ribbon{padding:6px 0}.note-tools .save-state{display:none}}:root{--card-radius: 18px;--card-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 10px 26px rgba(0, 0, 0, .06);--rail-width: 62px}[data-theme=dark]{--card-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 30px rgba(0, 0, 0, .35);--card-line: rgba(255, 255, 255, .05);--tint-1: rgba(230, 154, 42, .1);--tint-2: rgba(138, 154, 91, .12);--tint-3: rgba(176, 125, 58, .1);--tint-4: rgba(107, 112, 92, .14)}[data-theme=light]{--card-line: rgba(60, 50, 20, .07);--tint-1: rgba(230, 154, 42, .13);--tint-2: rgba(138, 154, 91, .16);--tint-3: rgba(176, 125, 58, .12);--tint-4: rgba(107, 112, 92, .1)}.gate-body{height:100%}.gate{display:grid;place-items:center;min-height:100%;padding:24px;overflow:auto;background:radial-gradient(900px 500px at 15% -10%,var(--accent-wash),transparent 60%),radial-gradient(700px 500px at 110% 110%,rgba(138,154,91,.16),transparent 60%),var(--bg)}.gate-card{width:min(400px,100%);background:var(--bg-alt);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:30px 28px;display:flex;flex-direction:column;gap:12px}.gate-logo{align-self:center;border-radius:12px}.gate-card h1{margin:4px 0 0;font-size:21px;text-align:center}.gate-lead{margin:0 0 6px;text-align:center;color:var(--text-muted);font-size:13px;line-height:1.5}.gate-card .btn-block{margin-top:6px;padding:10px}.gate-foot{margin:4px 0 0;text-align:center;font-size:12.5px;color:var(--text-muted)}.gate-foot a,a.link{color:var(--accent);text-decoration:none}.gate-foot a:hover,a.link:hover{text-decoration:underline}.gate-error,.panel-flash.is-error{background:#c9663d29;border:1px solid var(--unresolved);color:var(--text);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.panel-body{height:100%;background:var(--bg-alt)}.shell{height:100%;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);background:var(--bg-alt);overflow:hidden}.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail-width);display:flex;flex-direction:column;gap:4px;padding:14px 12px 16px;background:var(--bg);border-right:1px solid var(--card-line);overflow:visible;z-index:30}.rail-brand{position:relative;display:flex;align-items:center;justify-content:center;height:38px;padding:0;margin-bottom:10px;border-radius:12px;background:var(--bg-active);color:var(--text);text-decoration:none;font-weight:700;font-size:14px;flex:none}.rail-brand img{border-radius:50%;flex:none}.rail-brand:after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);padding:7px 12px;border-radius:10px;background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-weight:600;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:40}.rail-brand:hover:after,.rail-brand:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.rail-nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow:visible}.rail-btn{position:relative;display:flex;align-items:center;justify-content:center;height:38px;flex:none;padding:0;border-radius:12px;color:var(--text-faint);text-decoration:none}.rail-btn svg{width:19px;height:19px;flex:none}.rail-btn:hover{background:var(--bg-hover);color:var(--text)}.rail-btn.is-active{background:var(--accent);color:var(--on-accent)}.rail-btn>span{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);padding:7px 12px;border-radius:10px;background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:40}.rail-btn:hover>span,.rail-btn:focus-visible>span{opacity:1;transform:translateY(-50%) translate(0)}.rail-version{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:6px;padding-top:10px;border-top:1px solid var(--card-line);flex:none}.rail-version-label{font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--text-faint);line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-version-link{appearance:none;border:0;background:transparent;color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.01em;line-height:1.2;padding:2px 4px;border-radius:6px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-version-link:hover,.rail-version-link:focus-visible{color:var(--accent);background:var(--bg-hover);outline:none}@media(hover:none)and (min-width:901px){.rail-version{align-items:flex-start;padding-left:9px;padding-right:9px}.rail-version-label{font-size:11px}.rail-version-link{font-size:11px;padding:2px 0}}.stage{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;background:radial-gradient(900px 520px at 0% 0%,var(--accent-wash),transparent 60%),radial-gradient(700px 520px at 100% 8%,var(--tint-2),transparent 60%),var(--bg-alt)}.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:12px 20px;background:color-mix(in srgb,var(--bg-alt) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--card-line)}.topbar-brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:700;font-size:15px;letter-spacing:-.01em}.topbar-brand img{border-radius:7px}.topbar-mid{flex:1 1 220px;display:flex;justify-content:center;min-width:0}.topbar-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rail-toggle{display:none}.segmented{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:999px}.segmented a{padding:6px 14px;border-radius:999px;font-size:12.5px;color:var(--text-muted);text-decoration:none;white-space:nowrap}.segmented a:hover{color:var(--text)}.segmented a.is-active{background:var(--text);color:var(--bg-alt);font-weight:600}.round-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--card-line);background:var(--bg);color:var(--text-muted);cursor:pointer;text-decoration:none}.round-btn:hover{color:var(--text);border-color:var(--accent)}.round-btn svg{width:16px;height:16px}.lang-switch{position:relative}.lang-switch-btn{display:flex;align-items:center;gap:7px;height:34px;padding:0 10px 0 6px;border:1px solid var(--card-line);background:var(--bg);border-radius:999px;color:inherit;cursor:pointer;font:inherit}.lang-switch-btn:hover{border-color:var(--accent)}.lang-switch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-switch-btn .chev{width:14px;height:14px;color:var(--text-faint);flex:none}.lang-flag{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent-wash);color:var(--accent);font-size:9.5px;font-weight:800;letter-spacing:.02em;flex:none}.lang-label{font-size:12.5px;font-weight:600;color:var(--text-muted);max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:60}.lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;color:var(--text-muted);font:inherit;font-size:13px;text-align:left;cursor:pointer}.lang-option:hover{background:var(--bg-hover);color:var(--text)}.lang-option.is-active{background:var(--accent-wash);color:var(--text);font-weight:600}.lang-option .lang-check{width:15px;height:15px;margin-left:auto;color:var(--accent);flex:none}.user-chip{position:relative}.user-chip-btn{display:flex;align-items:center;gap:9px;padding:4px 10px 4px 4px;border:1px solid var(--card-line);background:var(--bg);border-radius:999px;cursor:pointer;color:inherit}.user-chip-btn:hover{border-color:var(--accent)}.user-chip-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.user-chip-text strong{font-size:12.5px}.user-chip-text small{font-size:10.5px;color:var(--text-faint)}.user-chip-btn .chev{width:14px;height:14px;color:var(--text-faint)}.avatar{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%/60% 60% 40% 40%;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:13px}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;z-index:60}.user-menu a,.user-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text-muted);font-size:13px;text-decoration:none;cursor:pointer}.user-menu a:hover,.user-menu button:hover{background:var(--bg-hover);color:var(--text)}.user-menu form{margin-top:4px;border-top:1px solid var(--card-line);padding-top:4px}.user-menu form button{color:var(--unresolved)}.page-head{display:flex;align-items:flex-end;gap:16px 20px;padding:18px 20px 16px;flex-wrap:wrap}.page-title{flex:1;min-width:220px}.page-title>span{font-size:12.5px;color:var(--text-muted)}.page-title h1{margin:2px 0 0;font-size:27px;letter-spacing:-.02em}.page-title p{margin:4px 0 0;font-size:12.5px;color:var(--text-faint)}.page-search{display:flex;align-items:center;gap:10px;width:min(420px,100%);padding:10px 16px;background:var(--bg);border:1px solid var(--card-line);border-radius:999px}.page-search:focus-within{border-color:var(--accent)}.page-search svg{width:17px;height:17px;color:var(--text-faint);flex:none}.page-search input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--text);font-size:13px}.panel-flash{margin:0 20px 12px;background:var(--accent-wash);border:1px solid var(--accent-soft);border-radius:12px;padding:9px 14px;font-size:12.5px}.panel-content{padding:0 20px 24px;display:flex;flex-direction:column;gap:16px;min-width:0}.card{background:var(--bg);border:1px solid var(--card-line);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:16px 18px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card-head h2{margin:0;font-size:14px}.card-head .spacer{flex:1}.card-sub{font-size:12px;color:var(--text-muted)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-side{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.board-grid{display:grid;grid-template-columns:minmax(220px,258px) minmax(0,1fr) minmax(230px,272px);gap:16px;align-items:start;min-width:0}.board-grid-mid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;min-width:0}.board-grid-mid>.card-wide{grid-column:1 / -1}.board-grid-side{display:flex;flex-direction:column;gap:16px;min-width:0}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:11.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat-value small{font-size:13px;font-weight:500;color:var(--text-muted);margin-left:2px}.stat-foot{font-size:12px;color:var(--text-faint)}.donut{display:grid;place-items:center;padding:6px 0 2px}.donut svg{width:172px;height:172px}.donut-hole{text-align:center}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:12px;color:var(--text-muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.spark{width:100%;height:150px;display:block}.spark-months{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-faint);padding-top:4px}.mini-tasks{display:flex;flex-direction:column;gap:10px}.mini-task{position:relative;display:block;padding:12px 34px 12px 12px;border-radius:14px;background:var(--tint-4);color:inherit;text-decoration:none}.mini-task:nth-child(4n+1){background:var(--tint-1)}.mini-task:nth-child(4n+2){background:var(--tint-2)}.mini-task:nth-child(4n+3){background:var(--tint-3)}.mini-task:hover{outline:1px solid var(--accent)}.mini-task-badge{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:#fff;font-size:11px;font-weight:700;margin-bottom:8px}.mini-task strong{display:block;font-size:12.5px;line-height:1.35}.mini-task small{display:block;margin-top:4px;font-size:11px;color:var(--text-faint);line-height:1.45}.mini-task-check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--text-faint);display:grid;place-items:center;font-size:10px;color:transparent}.mini-task.is-done .mini-task-check{border-color:var(--accent);color:var(--accent)}.mini-task.is-done strong{text-decoration:line-through;color:var(--text-faint)}.chip-select{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--card-line);background:var(--bg-alt);font-size:12px;color:var(--text-muted)}.chip-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700}.rows{display:flex;flex-direction:column}.rows>*{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--card-line);font-size:13px}.rows>*:last-child{border-bottom:0}.rows a{color:inherit;text-decoration:none}.rows a:hover{color:var(--accent)}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-main strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main small{font-size:11.5px;color:var(--text-faint)}.tile{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:14px;background:var(--bg-alt);border:1px solid var(--card-line);color:inherit;text-decoration:none}.tile+.tile{margin-top:8px}.tile:hover{border-color:var(--accent)}.tile-main{flex:1;min-width:0}.tile-main strong{display:block;font-size:12.5px}.tile-main small{display:block;font-size:11px;color:var(--text-faint);margin-top:2px;line-height:1.45}.tile-when{font-size:11.5px;font-weight:700;color:var(--accent);white-space:nowrap}.tile-go{color:var(--text-faint);font-size:13px}.card-more{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:12px;color:var(--text-muted);text-decoration:none}.card-more:hover{color:var(--accent)}.empty{color:var(--text-faint);font-size:12.5px;padding:10px 0}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;background:var(--bg-hover);color:var(--text-muted);white-space:nowrap}.pill.is-accent{background:var(--accent-wash);color:var(--accent)}.pill.is-danger{background:#c9663d2e;color:var(--unresolved)}.pill.is-ok{background:#4f794233;color:#7ea86a}.dot{width:8px;height:8px;border-radius:50%;flex:none}.bar-track{height:6px;border-radius:999px;background:var(--bg-hover);overflow:hidden}.bar-track i{display:block;height:100%;background:var(--accent);border-radius:999px}.meter-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(0,2fr) auto auto;align-items:center;gap:8px 16px;padding:9px 0;font-size:12.5px;color:inherit;text-decoration:none}.meter-row+.meter-row{border-top:1px solid var(--card-line)}.meter-row:hover .meter-name{color:var(--accent)}.meter-name{display:flex;align-items:center;gap:8px;min-width:0}.meter-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meter-track{height:9px;border-radius:999px;background:var(--bg-hover);overflow:hidden}.meter-track i{display:block;height:100%;border-radius:999px}.meter-count{color:var(--text-faint)}.meter-value{font-weight:600;white-space:nowrap}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:0 10px 8px;font-weight:600}.table td{padding:9px 10px;border-top:1px solid var(--card-line);vertical-align:middle}.table tr:hover td{background:var(--bg-hover)}.table .right,.right{text-align:right}.table-wrap{overflow-x:auto}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters .text-input{min-width:140px}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:10px;min-height:60vh;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.board-col{width:288px;flex:none;background:var(--bg);border:1px solid var(--card-line);box-shadow:var(--card-shadow);border-radius:var(--card-radius);display:flex;flex-direction:column;max-height:calc(100vh - 260px);scroll-snap-align:start}.board-col.is-over{border-color:var(--accent);background:var(--accent-wash)}.board-col-head{display:flex;align-items:center;gap:8px;padding:12px 14px 10px}.board-col-head strong{font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-col-head .count{font-size:11px;color:var(--text-faint)}.board-col-body{flex:1;min-height:40px;overflow-y:auto;padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.board-col-foot{padding:8px 10px 10px}.board-col-foot .btn{width:100%;justify-content:center;color:var(--text-muted)}.board-add{width:288px;flex:none}.task-card{background:var(--bg-alt);border:1px solid var(--card-line);border-left:3px solid var(--text-faint);border-radius:12px;padding:10px 12px;cursor:grab;display:flex;flex-direction:column;gap:8px}.task-card:hover{border-color:var(--accent)}.task-card.is-dragging{opacity:.4}.task-card.p-low{border-left-color:#6b705c}.task-card.p-normal{border-left-color:#8a9a5b}.task-card.p-high{border-left-color:var(--accent)}.task-card.p-urgent{border-left-color:var(--unresolved)}.task-card.is-done{opacity:.55}.task-card.is-done .task-title{text-decoration:line-through}.task-title{font-size:13px;line-height:1.35}.task-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task-meta .spacer{flex:1}.avatar-sm{width:22px;height:22px;display:grid;place-items:center;border-radius:50%/60% 60% 40% 40%;background:var(--bg-active);color:var(--text);font-size:10.5px;font-weight:700}.timer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timer-clock{font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:.02em}.timer.is-running .timer-clock{color:var(--accent)}.timer .text-input{flex:1;min-width:160px}.sheet[hidden]{display:none!important}.sheet{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#00000073}.sheet-card{width:min(560px,100%);max-height:88vh;overflow-y:auto;background:var(--bg-alt);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px 22px}.sheet-card-wide{width:min(720px,100%)}.sheet-card h2{margin:0 0 4px;font-size:16px}.sheet-card .dialog-fields{margin-top:14px}.sheet-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.sheet-foot .spacer{flex:1}.project-ai-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}.project-ai-sheet-head .card-sub{margin:4px 0 0;max-width:52ch}.project-ai-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}.project-ai-section{padding:12px 14px;border:1px solid var(--card-line);border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,transparent)}.project-ai-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.project-ai-section-head h3{margin:0;font-size:13px;font-weight:650;letter-spacing:.02em}.project-ai-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.project-ai-toggle>span{display:flex;flex-direction:column;gap:2px;min-width:0}.project-ai-toggle strong{font-size:13px}.project-ai-toggle input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.project-ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.project-ai-grid-span{grid-column:1 / -1}.project-ai-credentials{display:flex;flex-direction:column;gap:6px}.project-ai-credential{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bg-alt) 80%,transparent);border:1px solid var(--card-line)}.project-ai-credential-badge{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.project-ai-credential-info{display:flex;flex-direction:column;gap:1px;min-width:0}.project-ai-credential-name{font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-ai-credential-meta{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-ai-credential-meta .pill{margin-left:6px;vertical-align:middle}.project-ai-credentials-empty{margin:2px 0 8px}.project-ai-credential-add{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1fr) minmax(0,1.1fr) auto;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--card-line)}.project-ai-usage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.project-ai-usage-stat{padding:10px 12px;border-radius:10px;border:1px solid var(--card-line);background:color-mix(in srgb,var(--bg-alt) 75%,transparent);display:flex;flex-direction:column;gap:4px;min-width:0}.project-ai-usage-stat small{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.project-ai-usage-stat strong{font-size:15px;font-variant-numeric:tabular-nums;line-height:1.2}.project-ai-usage-stat .card-sub{margin:0;font-size:11px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.perm-group{border:1px solid var(--card-line);border-radius:12px;padding:10px 12px}.perm-group h4{margin:0 0 8px;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.perm-group label{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;padding:4px 0}.perm-group input{accent-color:var(--accent);margin-top:2px}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.inline-form .dialog-field{min-width:150px}@media(hover:none)and (min-width:901px){:root{--rail-width: 212px}.rail{width:212px;overflow:hidden}.rail-brand,.rail-btn{justify-content:flex-start;gap:12px;padding:0 9px}.rail-btn>span,.rail-brand:after{position:static;transform:none;opacity:1;padding:0;border:0;box-shadow:none;background:transparent;color:inherit;pointer-events:auto}}@media(max-width:1240px){.board-grid{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.board-grid-side{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}.board-grid-side>*{flex:1 1 260px}}@media(max-width:980px){.board-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.stage{grid-column:1}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid-2,.grid-side,.board-grid,.board-grid-mid{grid-template-columns:minmax(0,1fr)}.board-grid-side{flex-direction:column}.rail-toggle{display:grid;place-items:center}.topbar{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.topbar-mid{display:none}.topbar-tools{gap:6px}.topbar-tools .btn,.topbar-tools .icon-btn,.rail-toggle{min-height:40px;min-width:40px}.page-head{padding:4px 16px 14px}.page-head .btn{min-height:40px}.page-search input{font-size:16px}.panel-content{padding:0 16px max(18px,env(safe-area-inset-bottom));min-width:0}.filters{width:100%}.filters .text-input,.filters select{font-size:16px;max-width:100%}.table-wrap{max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}.panel-flash{margin:0 16px 12px}.user-chip-text,.lang-label{display:none}.lang-switch-btn{padding:0 8px 0 6px}.rail{width:244px;padding:16px 12px;overflow:hidden;transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow)}.rail.is-open{transform:none;z-index:70}.rail-brand,.rail-btn{justify-content:flex-start;gap:12px;padding:0 9px;height:40px}.rail-btn>span,.rail-brand:after{position:static;transform:none;opacity:1;padding:0;border:0;box-shadow:none;background:transparent;color:inherit;pointer-events:auto}.board-col{max-height:none}}@media(max-width:560px){.grid-4{grid-template-columns:minmax(0,1fr)}.page-title h1{font-size:22px}.board-col,.board-add{width:82vw}.meter-row{grid-template-columns:minmax(0,1fr) auto}.meter-row .meter-track{grid-column:1 / -1}}.stage:has(.work-hub),.stage:has(.chat-shell){overflow:hidden}.stage:has(.work-hub)>.topbar,.stage:has(.work-hub)>.page-head,.stage:has(.work-hub)>.panel-flash,.stage:has(.chat-shell)>.topbar,.stage:has(.chat-shell)>.page-head,.stage:has(.chat-shell)>.panel-flash{flex:none}.stage:has(.work-hub) .panel-content,.stage:has(.chat-shell) .panel-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-bottom:12px}.work-hub{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:stretch;flex:1;min-height:0;min-width:0}.work-tree{position:sticky;top:0;align-self:start;max-height:100%;overflow:auto;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-alt)}.work-tree-all{display:block;margin-bottom:10px;font-size:12px;color:var(--text-muted)}.work-tree-group{margin-bottom:8px}.work-tree-group>summary{cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:4px}.work-tree-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:var(--text);font-size:13px}.work-tree-item.is-active,.work-tree-item:hover{background:var(--accent-wash)}.work-main{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.work-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.work-summary>.stat{padding:12px 14px;gap:2px;border-right:1px solid var(--card-line);min-width:0}.work-summary>.stat:last-child{border-right:0}.work-summary .stat-value{font-size:22px}.work-summary .stat-value-date{font-size:17px}.work-summary .stat-foot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-summary .bar-track{margin-top:4px}.work-members{padding:14px 16px}.work-members .card-head{margin-bottom:10px}.work-members-list{display:flex;flex-direction:column;gap:6px}.work-member-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(110px,140px) auto;align-items:center;gap:10px 12px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bg) 72%,transparent);border:1px solid var(--card-line)}.work-member-info{display:flex;flex-direction:column;gap:1px;min-width:0}.work-member-name{font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-member-email{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-member-role{width:100%;min-width:0}.work-member-remove{flex-shrink:0}.work-members-empty{margin:4px 0 8px}.work-members-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,150px) auto;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--card-line)}.work-action{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(0,1fr);gap:12px;align-items:stretch}.work-action.is-single{grid-template-columns:minmax(0,1fr)}.work-timer{min-width:0}.work-timer .card-head{margin-bottom:8px}.work-timer .timer-clock{font-size:20px}.work-desc{min-width:0;padding:12px 14px}.work-desc-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline;cursor:pointer;list-style:none}.work-desc-summary::-webkit-details-marker{display:none}.work-desc-label{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.work-desc-preview{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-desc[open] .work-desc-preview{display:none}.work-desc-full{margin:10px 0 0;font-size:13px;color:var(--text-muted);white-space:pre-wrap;line-height:1.45}.work-toolbar{display:flex;flex-direction:column;gap:10px;padding:10px 12px;flex:none;position:sticky;top:0;z-index:5;background:var(--bg)}.work-toolbar-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.view-switch{display:flex;gap:6px;flex-wrap:wrap}.work-filters{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.work-filters .text-input{width:auto;min-width:120px;max-width:180px;flex:1 1 120px}.work-ai-bar{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.work-workspace{flex:1;min-height:0;min-width:0;overflow:auto}.work-workspace>#workspace-view{min-width:0;width:100%}.work-workspace>.board{min-height:100%;height:100%;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding-bottom:0}.work-workspace>.board .board-col{max-height:none;height:100%}.avatar-sm.avatar-empty{background:transparent;border:1px dashed var(--border);color:var(--text-faint);font-weight:500}.pill.p-low{background:var(--bg-hover);color:var(--text-muted)}.pill.p-medium{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.pill.p-high{background:var(--accent-wash);color:var(--accent)}.pill.p-urgent{background:#c9663d2e;color:var(--unresolved)}.work-list{display:flex;flex-direction:column;gap:12px;width:100%}.list-section{border:1px solid var(--border);border-radius:12px;background:var(--bg);overflow:hidden;width:100%}.list-section-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-alt)}.list-section-head strong{font-size:13px;flex:1;min-width:0}.list-section-head .count{font-size:11px;color:var(--text-faint);background:var(--bg-hover);border-radius:999px;padding:1px 8px}.list-section-body{width:100%}.list-section-body>.empty{padding:12px;margin:0}.list-section>.btn{width:100%;justify-content:center;border-radius:0;border:0;border-top:1px solid var(--border);color:var(--text-muted);background:transparent}.list-section>.btn:hover{color:var(--accent);background:var(--accent-wash)}.list-row{display:grid;grid-template-columns:28px minmax(0,1fr) 100px 110px 40px;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;width:100%}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--accent-wash)}.list-section.is-over{border-color:var(--accent);background:var(--accent-wash)}.list-section.is-over .list-section-body{outline:2px dashed var(--accent);outline-offset:-6px}.list-row.is-dragging{opacity:.4}.list-row[draggable=true]{cursor:grab}.list-row[draggable=true]:active{cursor:grabbing}.list-row.is-done .list-row-title{text-decoration:line-through;color:var(--text-faint)}.list-row-check{margin:0;cursor:pointer}.list-row-main{display:flex;align-items:center;gap:8px;min-width:0}.list-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.list-row-priority,.list-row-due{display:flex;justify-content:flex-start;min-width:0}.list-row-due .pill,.list-row-priority .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row-assignee{display:flex;justify-content:flex-end}.list-row-muted{font-size:12px;color:var(--text-faint)}.work-table{width:100%;border-collapse:collapse;background:var(--bg-alt);border-radius:12px;overflow:hidden}.work-table th,.work-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}.work-table th{font-size:11px;color:var(--text-muted);cursor:pointer}.work-table tr{cursor:pointer}.work-table tr:hover td{background:var(--accent-wash)}.task-drawer[hidden]{display:none!important}.task-drawer{position:fixed;inset:0;z-index:80;background:#00000059;display:flex;justify-content:flex-end}.task-drawer-panel{width:min(480px,100vw);height:100%;background:var(--bg-alt);border-left:1px solid var(--border);overflow:auto;padding:16px 18px max(28px,env(safe-area-inset-bottom));padding-top:max(16px,env(safe-area-inset-top));padding-right:max(18px,env(safe-area-inset-right));box-shadow:-12px 0 40px #0003}.task-drawer-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.task-drawer-head h2{margin:0;flex:1;font-size:16px}.drawer-section{margin-top:18px}.drawer-section h3{margin:0;font-size:13px}.drawer-inline-add{display:flex;gap:8px;margin-top:8px}.drawer-comments,.drawer-activity{display:flex;flex-direction:column;gap:8px;margin:8px 0}.drawer-comment,.drawer-activity-item{padding:8px 10px;border-radius:8px;background:var(--bg);font-size:13px}.drawer-ai-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.subtask-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.notif-wrap{position:relative}.notif-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--unresolved);color:#fff;font-size:10px;line-height:16px;text-align:center}.notif-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,90vw);max-height:420px;overflow:auto;background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);z-index:60}.notif-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--card-line);background:var(--bg-alt)}.notif-list{padding:6px}.notification-item{display:block;padding:10px;border-radius:8px;color:inherit}.notification-item.is-unread{background:var(--accent-wash)}.notification-item strong{display:block;font-size:13px}.notification-item p{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.notif-pref-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:6px 0}@media(max-width:980px){.stage:has(.work-hub){overflow-y:auto}.stage:has(.work-hub) .panel-content{overflow:visible;flex:none}.work-hub{grid-template-columns:minmax(0,1fr);flex:none;min-height:0}.work-tree{position:static;max-height:none}.work-main{min-height:0}.work-workspace{flex:none;overflow:visible;min-height:0}.work-toolbar{position:static}.work-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.work-summary>.stat:nth-child(2n){border-right:0}.work-summary>.stat:nth-child(-n+2){border-bottom:1px solid var(--card-line)}.work-member-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar info remove" "role role role"}.work-member-row .avatar-sm{grid-area:avatar}.work-member-info{grid-area:info}.work-member-role{grid-area:role;max-width:none}.work-member-remove{grid-area:remove}.work-members-add,.work-action{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.work-summary{grid-template-columns:minmax(0,1fr)}.work-summary>.stat{border-right:0;border-bottom:1px solid var(--card-line)}.work-summary>.stat:last-child{border-bottom:0}.list-row{grid-template-columns:28px minmax(0,1fr) auto 40px}.list-row-due{display:none}}.translator-layout{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:14px;align-items:stretch;min-height:calc(100vh - 220px)}.translator-side{display:flex;flex-direction:column;gap:12px;min-height:0}.translator-new{display:grid;gap:8px}.translator-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:end}.translator-pair label{display:grid;gap:4px;min-width:0}.translator-pair label>span,.pack-toggle span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.translator-pair .text-input,.translator-new .text-input,.translator-compose .text-input,.pack-create-form .text-input{width:100%;min-width:0;color:var(--text);background:var(--bg)}.pack-classic-item span,.pack-row-title strong{color:var(--text)}.translator-chat-list{display:flex;flex-direction:column;gap:4px;overflow:auto;min-height:0;flex:1}.translator-chat-item{display:grid;gap:2px;padding:8px 10px;border-radius:10px;color:inherit;text-decoration:none;border:1px solid transparent}.translator-chat-item strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.translator-chat-item span{font-size:11.5px;color:var(--text-muted)}.translator-chat-item:hover{background:var(--bg-hover)}.translator-chat-item.is-active{background:var(--accent-wash);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.translator-stage{display:flex;flex-direction:column;min-height:0;min-width:0}.translator-stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.translator-stage-head h2{margin:0;font-size:16px}.translator-stage-head p{margin:2px 0 0;font-size:12px}.translator-progress{margin-bottom:8px;font-size:12px;color:var(--accent)}.translator-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px;min-height:180px}.translator-bubble{max-width:min(88%,720px);display:grid;gap:8px}.translator-bubble.is-user{align-self:flex-end}.translator-bubble.is-assistant{align-self:flex-start}.translator-bubble-body{white-space:pre-wrap;border:1px solid var(--card-line);border-radius:14px;padding:10px 12px;font-size:13.5px;line-height:1.45;background:var(--bg)}.translator-bubble.is-user .translator-bubble-body{background:var(--accent-wash);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.translator-meta{border-top:1px solid var(--card-line);padding-top:8px;font-size:12.5px;white-space:pre-wrap}.translator-meta>span{display:block;margin-bottom:3px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.translator-meta pre{margin:0;white-space:pre-wrap;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.translator-meta.is-warn{color:var(--unresolved);border-top:0;padding-top:0}.translator-usage{font-size:11px;color:var(--text-faint)}.translator-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:12px}.translator-empty{margin:auto;text-align:center;padding:40px 16px;display:grid;gap:6px}.translator-empty strong{font-size:15px}.pack-create-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:8px;align-items:center}.pack-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--card-line)}.pack-row:first-of-type{border-top:0;padding-top:2px}.pack-row-main{display:grid;gap:10px;min-width:0;flex:1}.pack-row-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pack-row-title strong{font-size:14px}.pack-row-title code{font-size:11.5px;color:var(--text-muted);background:var(--bg-hover);padding:2px 6px;border-radius:6px}.pack-docs{display:flex;flex-wrap:wrap;gap:6px}.pack-row-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.pack-toggle{display:inline-flex;gap:6px;align-items:center;font-size:12px;cursor:pointer}.pack-classic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pack-classic-item{margin:0;border:1px solid var(--card-line);border-radius:10px;background:var(--bg-hover)}.pack-classic-item.is-off{opacity:.55}.pack-classic-item label{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:8px 10px;cursor:pointer}.pack-classic-item input{grid-row:1 / span 2}.pack-classic-item span{font-size:13px;font-weight:600}.pack-classic-item code{font-size:11px;color:var(--text-muted)}.ai-accordion-card{padding:0;overflow:hidden}.ai-accordion{margin:0}.ai-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 16px;-webkit-user-select:none;user-select:none}.ai-accordion>summary::-webkit-details-marker{display:none}.ai-accordion-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ai-accordion-title strong{font-size:15px;font-weight:650}.ai-accordion>summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);transition:transform .15s ease;flex-shrink:0;margin-right:4px}.ai-accordion[open]>summary{border-bottom:1px solid var(--card-line)}.ai-accordion[open]>summary:after{transform:rotate(-135deg);margin-top:4px}.ai-accordion-body{padding:14px 16px 16px}.ai-defaults-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.ai-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-provider{border:1px solid var(--card-line);border-radius:var(--card-radius);background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:14px}.ai-provider.is-enabled{border-color:color-mix(in srgb,var(--accent) 28%,var(--card-line))}.ai-provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-provider-title h3{margin:0 0 6px;font-size:16px;font-weight:650}.ai-provider-meta{display:flex;flex-wrap:wrap;gap:6px}.ai-provider-fields{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end}.ai-provider-enabled{white-space:nowrap;padding-bottom:8px}.ai-provider-default{padding-top:12px;border-top:1px solid var(--card-line)}.ai-provider-default .card-sub{margin:6px 0 0}.ai-provider-default-row{display:flex;gap:8px}.ai-provider-keys{padding-top:12px;border-top:1px solid var(--card-line);display:flex;flex-direction:column;gap:10px}.ai-provider-keys-head{font-size:13px}.ai-credential,.ai-credential-add{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;border:1px solid var(--card-line)}.ai-credential-add{background:color-mix(in srgb,var(--bg-hover) 65%,transparent);border-style:dashed}.ai-credential-main{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:8px}.ai-credential-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ai-model-filters{margin:0 0 12px;padding:0;border:0;box-shadow:none;background:transparent}.ai-model-actions{white-space:nowrap}.ai-model-actions form,.ai-model-actions .btn,.ai-model-actions .icon-btn{vertical-align:middle}@media(max-width:900px){.translator-layout{grid-template-columns:1fr;min-height:0}.translator-stage{min-height:55vh}.pack-create-form{grid-template-columns:1fr}.pack-row{flex-direction:column}.pack-row-actions{align-items:stretch;flex-direction:row;justify-content:space-between}.translator-compose{grid-template-columns:1fr}.ai-defaults-grid,.ai-provider-grid,.ai-provider-fields,.ai-credential-main,.project-ai-grid,.project-ai-credential-add,.project-ai-usage{grid-template-columns:minmax(0,1fr)}.project-ai-credential{grid-template-columns:auto minmax(0,1fr) auto}}.history-totals{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--text-muted)}.history-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--card-line)}.history-row:first-of-type{border-top:0;padding-top:2px}.history-row-main{display:grid;gap:6px;min-width:0;flex:1}.history-line{margin:0;font-size:13px}.history-line span{color:var(--text-muted)}.history-details{font-size:12.5px}.history-details summary{cursor:pointer;color:var(--text-muted)}.history-details pre{margin:6px 0 0;white-space:pre-wrap;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.history-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--text-muted);flex-shrink:0}.standup-dialog{width:min(580px,94vw);padding:0;display:flex;flex-direction:column;max-height:min(78vh,720px);overflow:hidden}.standup-dialog-title{margin:0;padding:16px 20px 12px;border-bottom:1px solid var(--border);border-left:3px solid var(--accent);background:var(--accent-wash, var(--accent-soft));font-size:15px;font-weight:600;color:var(--text)}.standup-report{flex:1;overflow-y:auto;padding:14px 20px 8px;font-size:13.5px;line-height:1.55;color:var(--text);max-height:none}.standup-report h1,.standup-report h2,.standup-report h3{margin:1.1em 0 .45em;padding-bottom:.2em;border-bottom:1px solid var(--border);color:var(--text)}.standup-report h1:first-child,.standup-report h2:first-child,.standup-report h3:first-child,.standup-report>*:first-child{margin-top:0}.standup-report h3{font-size:1.05em;border-bottom:0;color:var(--accent)}.standup-report strong{color:var(--text)}.standup-report ul,.standup-report ol{margin:.4em 0 .9em}.standup-report li{margin:.25em 0;color:var(--text-muted)}.standup-report p{margin:.55em 0;color:var(--text-muted)}.standup-dialog .dialog-actions{margin:0;padding:12px 20px 14px;border-top:1px solid var(--border);background:var(--bg-alt)}@media(max-width:900px){.history-row{flex-direction:column}.history-row-meta{align-items:flex-start;flex-direction:row;gap:12px}}.chat-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) auto;gap:0;flex:1;min-height:0;height:100%;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg)}.chat-list-pane,.chat-main-pane,.chat-thread-pane,.chat-details-pane,.chat-empty-pane{min-height:0}.chat-list-pane{border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-alt)}.chat-list-toolbar{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.chat-list-actions{display:flex;gap:6px;flex-wrap:nowrap;align-items:stretch}.chat-list-actions .chat-action-btn{flex:1 1 0;min-width:0;justify-content:center;padding-left:8px;padding-right:8px}.chat-list-actions .chat-action-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-action-btn{display:inline-flex;align-items:center;gap:6px}.panel-empty{margin:0;padding:16px 12px;color:var(--text-muted);font-size:13px;line-height:1.45}.chat-conversation-list .panel-empty{padding:16px 12px}.chat-action-btn svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chat-conversation-list{overflow:auto;flex:1}.chat-conversation-row{width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:12px;display:grid;gap:4px;cursor:pointer}.chat-conversation-row:hover,.chat-conversation-row.is-active{background:var(--accent-soft, color-mix(in oklab, var(--accent) 14%, transparent))}.chat-conversation-title{font-weight:600;font-size:14px}.chat-conversation-preview{color:var(--text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-conversation-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--text-muted);font-size:11px}.chat-unread{min-width:1.4em;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;text-align:center;font-weight:600}.chat-main-pane{display:grid;min-width:0;min-height:0;height:100%;position:relative}.chat-thread-pane{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;grid-area:1 / 1}.chat-thread-pane[hidden]{display:none!important}.chat-thread-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.chat-thread-head-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.chat-thread-head-main>div{min-width:0}.chat-back-btn{display:none;flex-shrink:0}.chat-thread-meta{margin:2px 0 0;color:var(--text-muted);font-size:12px}.chat-messages{flex:1;overflow:auto;min-height:0;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}.chat-bubble{max-width:min(72%,540px);padding:10px 12px;border-radius:12px;background:var(--bg-alt);border:1px solid var(--border)}.chat-bubble.is-mine{align-self:flex-end;background:color-mix(in oklab,var(--accent) 18%,var(--bg))}.chat-bubble header{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px;font-size:12px;color:var(--text-muted)}.chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.chat-attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chat-attachment{font-size:12px;color:var(--accent)}.chat-attachment.is-image{padding:0;border:0;background:transparent;cursor:zoom-in}.chat-attachment.is-image img{display:block;max-width:min(280px,100%);max-height:220px;border-radius:8px;border:1px solid var(--border)}.chat-typing{min-height:1.4em;padding:0 16px 8px;color:var(--text-muted);font-size:12px;font-style:italic}.chat-composer{border-top:1px solid var(--border);padding:12px;display:grid;gap:8px}.chat-composer-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:end}.chat-composer-field{position:relative;min-width:0}.chat-mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:220px;overflow:auto;z-index:20;border:1px solid var(--border);border-radius:10px;background:var(--bg);box-shadow:var(--shadow)}.chat-mention-item{display:grid;gap:2px;width:100%;text-align:left;padding:10px 12px;border:0;background:transparent;color:var(--text);cursor:pointer}.chat-mention-item:hover,.chat-mention-item.is-active{background:var(--bg-hover)}.chat-mention-item span{color:var(--text-muted);font-size:12px}.chat-bubble a.chat-note-mention{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.chat-composer-input{resize:none;height:44px;min-height:44px;max-height:160px;padding:11px 12px;line-height:20px;font-size:16px;box-sizing:border-box;overflow-y:auto;field-sizing:content}.chat-attach-btn,.chat-send-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;cursor:pointer;flex-shrink:0;box-sizing:border-box}.chat-attach-btn{border:1px solid var(--border);background:var(--bg-alt);color:var(--text-muted)}.chat-attach-btn:hover{color:var(--text);border-color:color-mix(in oklab,var(--accent) 40%,var(--border))}.chat-send-btn{border:0;background:var(--accent);color:#111}.chat-send-btn:hover{filter:brightness(1.05)}.chat-send-btn:disabled{opacity:.55;cursor:not-allowed}.chat-attach-btn svg,.chat-send-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chat-composer-files{display:flex;flex-wrap:wrap;gap:10px}.chat-selected-users{display:flex;flex-wrap:wrap;gap:6px}.chat-file-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--bg-alt);border:1px solid var(--border);font-size:12px}.chat-file-chip button{border:0;background:transparent;cursor:pointer;color:var(--text-muted)}.chat-file-preview-card{position:relative;width:96px;border-radius:10px;border:1px solid var(--border);background:var(--bg-alt);overflow:hidden}.chat-file-preview-card.is-file{width:auto;min-width:120px;max-width:220px;padding:8px 10px;display:flex;align-items:center;gap:8px}.chat-file-preview-thumb{display:block;width:96px;height:96px;object-fit:cover;background:color-mix(in oklab,var(--text) 6%,transparent)}.chat-file-preview-name{display:block;padding:4px 8px 6px;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-file-preview-card.is-file .chat-file-preview-name{padding:0;flex:1;min-width:0}.chat-file-preview-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px}.chat-file-preview-card.is-file .chat-file-preview-actions{position:static}.chat-file-preview-actions button{width:26px;height:26px;border:0;border-radius:6px;background:color-mix(in oklab,#000 55%,transparent);color:#fff;cursor:pointer;display:grid;place-items:center;font-size:13px;line-height:1}.chat-file-preview-actions button:hover{background:color-mix(in oklab,#000 75%,transparent)}.chat-file-preview-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chat-image-edit-dialog{width:min(720px,96vw);border:1px solid var(--border);border-radius:12px;padding:0;background:var(--bg);color:var(--text)}.chat-image-edit-dialog::backdrop{background:#0000008c}.chat-image-edit-form{display:grid;gap:12px;padding:14px}.chat-image-edit-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-image-edit-stage{position:relative;display:grid;place-items:center;min-height:240px;max-height:min(60vh,520px);background:color-mix(in oklab,var(--text) 4%,var(--bg-alt));border:1px solid var(--border);border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.chat-image-edit-stage img,.chat-image-edit-stage canvas{max-width:100%;max-height:min(60vh,520px);display:block}.chat-image-edit-stage canvas{cursor:crosshair;touch-action:none}.chat-image-edit-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chat-image-edit-tools .btn.is-active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,var(--bg))}.chat-image-edit-color input{width:40px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent}.chat-lightbox-dialog{width:min(900px,96vw);border:1px solid var(--border);border-radius:12px;padding:0;background:var(--bg);color:var(--text)}.chat-lightbox-dialog::backdrop{background:#000000a6}.chat-lightbox-form{display:grid;gap:12px;padding:14px}.chat-lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-lightbox-stage{display:grid;place-items:center;min-height:240px;max-height:min(70vh,640px);overflow:auto;border:1px solid var(--border);border-radius:10px;background:color-mix(in oklab,var(--text) 4%,var(--bg-alt))}.chat-lightbox-stage img{max-width:100%;max-height:min(70vh,640px);display:block}.chat-lightbox-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.chat-lightbox-actions a.btn{text-decoration:none}.chat-image-edit-crop{position:absolute;border:2px solid var(--accent);box-shadow:0 0 0 9999px #00000073;cursor:move}.chat-image-edit-handle{position:absolute;width:12px;height:12px;border-radius:2px;background:var(--accent);border:1px solid #111}.chat-image-edit-handle[data-handle=nw]{top:-6px;left:-6px;cursor:nwse-resize}.chat-image-edit-handle[data-handle=ne]{top:-6px;right:-6px;cursor:nesw-resize}.chat-image-edit-handle[data-handle=sw]{bottom:-6px;left:-6px;cursor:nesw-resize}.chat-image-edit-handle[data-handle=se]{bottom:-6px;right:-6px;cursor:nwse-resize}.chat-image-edit-hint{color:var(--text-muted);font-size:12px}.chat-empty-pane{grid-area:1 / 1;display:grid;place-items:center;padding:32px 24px;background:var(--bg)}.chat-empty-pane[hidden]{display:none!important}.chat-empty-card{display:grid;justify-items:center;gap:10px;max-width:320px;text-align:center;color:var(--text-muted)}.chat-empty-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--accent);margin-bottom:4px}.chat-empty-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chat-empty-card strong{color:var(--text);font-size:16px}.chat-empty-card p{margin:0;font-size:13px;line-height:1.45}.chat-empty-actions{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;margin-top:8px;width:100%}.chat-empty-actions .chat-action-btn{flex:1 1 0;min-width:0;justify-content:center}.chat-empty-actions .chat-action-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-details-pane{width:min(280px,40vw);border-left:1px solid var(--border);padding:12px;background:var(--bg-alt);overflow:auto}.chat-details-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chat-participant-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.chat-details-add{margin-top:16px;display:grid;gap:8px}.chat-details-add-hint{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.chat-details-add[hidden]{display:none!important}.chat-user-results,.chat-user-result{display:grid;gap:4px}.chat-user-result{width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:8px;border-radius:8px;cursor:pointer}.chat-user-result:hover{background:var(--accent-soft, color-mix(in oklab, var(--accent) 14%, transparent))}.chat-user-result span{color:var(--text-muted);font-size:12px}.chat-dialog{width:min(480px,94vw);border:1px solid var(--border);border-radius:12px;padding:0;background:var(--bg);color:var(--text)}.chat-dialog-form{padding:16px;display:grid;gap:12px}.chat-dialog::backdrop{background:#00000073}@media(max-width:960px){.chat-shell{grid-template-columns:1fr;min-height:0;height:100%;position:relative}.chat-back-btn{display:inline-flex}.chat-list-pane,.chat-main-pane{grid-column:1;grid-row:1;min-height:0;height:100%}.chat-list-pane{border-right:0;z-index:1}.chat-main-pane{z-index:2;background:var(--bg)}.chat-shell:not(.is-thread-open) .chat-main-pane{visibility:hidden;pointer-events:none;position:absolute;inset:0}.chat-shell.is-thread-open .chat-list-pane{visibility:hidden;pointer-events:none;position:absolute;inset:0}.chat-shell.is-thread-open .chat-main-pane{visibility:visible;pointer-events:auto;position:relative}.chat-details-pane{position:absolute;inset:0;width:auto;z-index:5;border-left:0;border-top:0;background:var(--bg);box-shadow:none}.chat-details-pane[hidden]{display:none!important}.chat-list-toolbar .text-input,.chat-dialog .text-input{font-size:16px}.chat-thread-head .chat-action-btn{min-height:44px}}
