:root{--bg: #f6f7f9;--surface: #ffffff;--white: #ffffff;--surface-2: #f0f2f5;--surface-3: #fafbfc;--border: #e4e8ed;--border-strong: #c9d1da;--hover-border: #b6c0cb;--rail-bg: #fcfcfd;--avatar-bg: #eef2f7;--tab-hover: #e9edf2;--pdf-bg: #e2e8f0;--scroll-thumb: #d3d9e0;--scroll-thumb-hover: #b9c2cd;--text: #16202b;--text-2: #4b5765;--text-3: #7b8794;--text-inverse: #ffffff;--brand: #1e5aa8;--brand-hover: #174a8c;--brand-grad-a: #2c6cbd;--brand-weak: #e8f0fa;--brand-line: #c7d9f0;--badge-on: #d8e6f8;--ok: #0f7b4f;--ok-weak: #e7f4ec;--warn: #b45309;--warn-weak: #fbf2e4;--warn-line: #ecd8b8;--danger: #c0342b;--danger-weak: #faeae8;--experience: #6d3bbf;--exp-weak: #f2ecfb;--neutral: #5b6774;--neutral-weak: #eef1f4;--danger-line: #e8c0bc;--danger-surface: #fffafa;--danger-border: #e3b7b2;--quote-bg: #fffdf6;--quote-line: #e0b872;--serif-ink: #2b2f33;--hl-bg: #fef9c3;--hl-line: #f59e0b;--hl-current: #ea580c;--toast-bg: #1d2733;--toast-ok: #7ee2b8;--toast-warn: #fcd48a;--toast-err: #f6a7a1;--toast-info: #9cc3f5;--font-sans: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-serif: "Songti SC", "SimSun", "Noto Serif SC", serif;--font-mono: "Cascadia Mono", Consolas, ui-monospace, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-full: 999px;--sh-1: 0 1px 2px rgba(16, 24, 40, .05);--sh-2: 0 4px 12px rgba(16, 24, 40, .08);--sh-3: 0 16px 48px rgba(16, 24, 40, .18);--t-fast: .12s ease-out;--t-panel: .2s cubic-bezier(.2, .8, .2, 1);--chrome-h: 56px;--topbar-h: 56px;--statusbar-h: 30px;--rail-w: 220px;--rail-w-collapsed: 64px;--chat-pct: 36%}*{box-sizing:border-box}html{color-scheme:light}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}svg{display:block;flex:none}.spacer{flex:1}.mono{font-family:var(--font-mono)}.muted{color:var(--text-3)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid transparent;background-clip:content-box;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.rotate-90{transform:rotate(90deg)}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.app-body{flex:1;min-height:0;display:flex}.split{flex:1;min-width:0;min-height:0;display:flex}.pane{min-width:0;min-height:0;display:flex;flex-direction:column}.pane-chat{flex:0 0 auto;width:var(--chat-pct);min-width:340px;background:var(--surface)}.pane-workspace{flex:1;background:var(--bg)}.split.is-right-collapsed .pane-chat{flex:1 1 auto;width:auto;min-width:0}.pane.is-collapsed{flex:0 0 0!important;width:0!important;min-width:0!important;visibility:hidden;overflow:hidden;border:none!important}.topbar{flex:0 0 var(--topbar-h);height:var(--topbar-h);display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--border);z-index:20}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand-mark{width:30px;height:30px;border-radius:9px;color:var(--white);background:linear-gradient(145deg,var(--brand-grad-a),var(--brand-hover));display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #174a8c59}.brand-name{font-size:14.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.brand-env{font-size:10.5px;line-height:1;padding:3px 7px;border-radius:var(--r-full);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap}.topbar-conn{display:inline-flex;align-items:center;gap:6px;margin-right:2px;font-size:11.5px;color:var(--text-2);white-space:nowrap}.avatar{width:29px;height:29px;border-radius:50%;margin-left:4px;background:var(--avatar-bg);color:var(--text-2);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border)}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);min-height:0;display:flex;flex-direction:column;background:var(--rail-bg);border-right:1px solid var(--border);transition:width var(--t-panel),flex-basis var(--t-panel)}.app-shell.rail-collapsed .rail{width:var(--rail-w-collapsed);flex-basis:var(--rail-w-collapsed)}.rail-brand{flex:0 0 var(--chrome-h);height:var(--chrome-h);display:flex;align-items:center;gap:9px;padding:0 12px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden}.rail-brand-mark{width:30px;height:30px;border-radius:8px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--white);background:linear-gradient(145deg,var(--brand-grad-a),var(--brand));box-shadow:var(--sh-1)}.rail-brand-text{display:flex;flex-direction:column;min-width:0;gap:1px}.rail-brand-text strong{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis}.rail-brand-text span{font-size:10.5px;color:var(--text-3)}.rail-nav{flex:1;min-height:0;overflow-y:auto;padding:12px 10px 6px}.rail-group+.rail-group{margin-top:8px}.rail-group-title{font-size:11px;color:var(--text-3);letter-spacing:.08em;padding:10px 10px 6px;white-space:nowrap}.rail-item{position:relative;width:100%;height:36px;margin:1px 0;padding:0 10px;display:flex;align-items:center;gap:10px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-2);font-size:13.5px;text-align:left;transition:background var(--t-fast),color var(--t-fast)}.rail-item:hover{background:var(--surface-2);color:var(--text)}.rail-item.is-active{background:var(--brand-weak);color:var(--brand);font-weight:500}.rail-item.is-active:before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.rail-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-badge{min-width:19px;height:19px;padding:0 5px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:11px;line-height:19px;text-align:center;font-variant-numeric:tabular-nums}.rail-item.is-active .rail-badge{background:var(--badge-on);color:var(--brand)}.rail-foot{padding:4px 10px 10px;border-top:0}.rail-collapse{width:100%;height:32px;padding:0 10px;border:0;border-radius:var(--r-md);display:flex;align-items:center;gap:8px;background:transparent;color:var(--text-3);font-size:12.5px;text-align:left}.rail-collapse:hover{background:var(--surface-2);color:var(--text-2)}.rail-utils{flex:0 0 auto;display:flex;flex-direction:column;gap:1px;padding:6px 10px 4px;border-top:1px solid var(--border)}.rail-util{width:100%;height:30px;padding:0 9px;border:0;border-radius:var(--r-md);display:flex;align-items:center;gap:9px;background:transparent;color:var(--text-2);font-size:12.5px;text-align:left}.rail-util:hover{background:var(--surface-2);color:var(--text)}.rail-util-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-user{height:34px;padding:0 9px;display:flex;align-items:center;gap:9px;color:var(--text-2);font-size:12.5px}.rail-avatar{width:23px;height:23px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);background:var(--brand-weak);font-size:10.5px;font-weight:600}.rail-conn{display:flex;align-items:center;gap:7px;padding:5px 9px 3px;color:var(--text-3);font-size:11px;white-space:nowrap}.rail-meta{padding:1px 9px 4px;color:var(--text-3);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.rail-collapsed .rail-group-title{height:10px;padding:0;opacity:0;overflow:hidden}.app-shell.rail-collapsed .rail-item{justify-content:center;padding:0}.app-shell.rail-collapsed .rail-label,.app-shell.rail-collapsed .rail-collapse span{display:none}.app-shell.rail-collapsed .rail-item .rail-badge{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:3px;right:6px;z-index:1;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-full);background:var(--brand);color:var(--white);font-size:9.5px;line-height:1;text-align:center;box-shadow:0 0 0 2px var(--rail-bg)}.app-shell.rail-collapsed .rail-collapse{justify-content:center;padding:0}.app-shell.rail-collapsed .rail-item.is-active:before{left:-10px}.app-shell.rail-collapsed .rail-brand{justify-content:center;padding:0}.app-shell.rail-collapsed .rail-brand-text{display:none}.app-shell.rail-collapsed .rail-utils{padding:6px 6px 4px}.app-shell.rail-collapsed .rail-util{justify-content:center;padding:0}.app-shell.rail-collapsed .rail-util-label,.app-shell.rail-collapsed .rail-user .rail-util-label,.app-shell.rail-collapsed .rail-conn .rail-util-label,.app-shell.rail-collapsed .rail-meta{display:none}.app-shell.rail-collapsed .rail-user,.app-shell.rail-collapsed .rail-conn{justify-content:center;padding:0}.statusbar{flex:0 0 var(--statusbar-h);height:var(--statusbar-h);display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--surface);border-top:1px solid var(--border);font-size:10.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.status-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.status-divider{width:1px;height:12px;background:var(--border)}.status-muted{color:var(--text-3)}.splitter{flex:0 0 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:col-resize;background:var(--surface-2);border-right:1px solid var(--border)}.splitter:hover,.splitter.dragging,body.splitting .splitter{background:var(--brand-weak)}.splitter .grip{width:2px;height:28px;border-radius:2px;background:var(--border-strong)}.splitter button{width:16px;height:20px;padding:0;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1}.splitter button:hover{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand)}body.splitting{-webkit-user-select:none;user-select:none;cursor:col-resize}body.splitting iframe{pointer-events:none}.chat-panel{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.chat-head{flex:0 0 var(--chrome-h);height:var(--chrome-h);display:flex;align-items:flex-end;gap:6px;padding:0 10px;background:var(--surface-2);border-bottom:1px solid var(--border)}.chat-tabs-strip{flex:1;min-width:0;display:flex;align-items:flex-end;gap:2px;overflow-x:auto;padding-right:4px}.chat-tabs-strip::-webkit-scrollbar{height:0}.chat-tab{position:relative;height:34px;max-width:220px;flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:0 6px 0 11px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;background:transparent;color:var(--text-2);font-size:12.5px;white-space:nowrap;cursor:pointer;scroll-margin-inline:12px;overflow:hidden;transition:background var(--t-fast),color var(--t-fast)}.chat-tab:hover{background:var(--tab-hover);color:var(--text)}.chat-tab.is-active{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:500}.chat-tab.is-active:after{content:"";position:absolute;left:9px;right:9px;top:-1px;height:2px;background:var(--brand);border-radius:0 0 2px 2px}.chat-tab>svg{color:var(--text-3);flex:none}.chat-tab-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tab .ui-chip{height:18px;padding:0 5px;font-size:10px;flex:none}.chat-tab-close{width:17px;height:17px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-3);opacity:0;flex:none;display:inline-flex;align-items:center;justify-content:center}.chat-tab:hover .chat-tab-close,.chat-tab.is-active .chat-tab-close,.chat-tab:focus-within .chat-tab-close{opacity:1}.chat-tab-close:hover{background:var(--surface-2);color:var(--text)}.chat-head-main{flex:1;min-width:0}.chat-title{margin:0;font-size:15px;font-weight:600;line-height:1.35}.chat-meta{display:flex;align-items:center;gap:7px;margin-top:3px;min-width:0}.chat-meta .ui-chip-plain{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.chat-hint{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-head-actions{display:flex;align-items:center;align-self:center;gap:1px;margin-left:0;flex:none}.session-pop{position:absolute;top:64px;left:12px;width:360px;max-height:52%;overflow-y:auto;padding:6px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh-2)}.session-pop-head{display:flex;align-items:center;gap:8px;padding:7px 8px 6px;font-size:11px;color:var(--text-3);letter-spacing:.04em}.session-pop-head span{color:var(--text-3)}.session-pop-head .session-count{color:var(--text-3);font-variant-numeric:tabular-nums}.session-view-toggle{height:22px;padding:0 7px;border:1px solid var(--border);border-radius:5px;background:var(--surface-3);color:var(--text-2);font-size:10.5px}.session-view-toggle:hover{border-color:var(--brand-line);color:var(--brand)}.session-view-toggle.is-active{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand)}.session-empty{padding:14px 8px;font-size:12.5px;color:var(--text-3);text-align:center}.session-row{display:flex;align-items:center;gap:2px;border-radius:7px}.session-row:hover,.session-row.is-active{background:var(--brand-weak)}.session-item{flex:1;min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:7px 8px;border:0;border-radius:7px;background:transparent;text-align:left}.session-item:hover{background:transparent}.session-item:disabled{opacity:.6}.session-item-title{font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row.is-active .session-item-title{color:var(--brand);font-weight:500}.session-channel{display:inline-block;margin-right:5px;padding:0 4px;border-radius:4px;background:var(--brand-weak);color:var(--brand);font-size:10px;font-weight:600;vertical-align:1px}.session-item-meta{font-size:10.5px;color:var(--text-3);white-space:nowrap}.session-item-actions{display:flex;align-items:center;gap:0;padding-right:4px;opacity:0;transition:opacity var(--t-fast)}.session-row:hover .session-item-actions,.session-row:focus-within .session-item-actions{opacity:1}.session-rename-input{flex:1;min-width:0;height:30px;margin:2px 6px;padding:0 8px;border:1px solid var(--brand);border-radius:6px;background:var(--surface);color:var(--text);font-size:12.5px;outline:none}.messages{flex:1;min-height:0;overflow-y:auto;padding:18px 18px 8px;display:flex;flex-direction:column;gap:16px}.msg-user{align-self:flex-end;max-width:84%;padding:9px 13px;background:var(--brand);color:var(--white);border-radius:12px 12px 3px;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word;box-shadow:var(--sh-1)}.msg-assistant{display:flex;gap:9px;max-width:100%}.msg-avatar{flex:0 0 26px;width:26px;height:26px;margin-top:2px;border-radius:8px;background:var(--brand-weak);color:var(--brand);display:flex;align-items:center;justify-content:center}.msg-body{flex:1;min-width:0}.msg-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:11px 13px;box-shadow:var(--sh-1)}.msg-card.is-receipt{background:var(--surface-3)}.msg-card.is-error{border-color:var(--danger-line);background:var(--danger-surface)}.msg-receipt{display:flex;gap:8px;align-items:flex-start}.msg-receipt-icon{flex:0 0 22px;width:22px;height:22px;border-radius:6px;background:var(--brand-weak);color:var(--brand);display:flex;align-items:center;justify-content:center}.msg-error{display:flex;gap:8px;align-items:flex-start}.msg-error-icon{color:var(--danger);margin-top:2px}.msg-error-title{font-size:12px;font-weight:600;color:var(--danger);margin-bottom:3px}.msg-aborted{display:inline-flex;align-items:center;gap:4px;margin-top:7px;padding:2px 7px;border-radius:5px;background:var(--surface-2);color:var(--text-3);font-size:11px}.msg-actions{display:flex;align-items:center;gap:2px;margin-top:5px;opacity:0;transition:opacity var(--t-fast)}.msg-assistant:hover .msg-actions,.msg-assistant:focus-within .msg-actions{opacity:1}.msg-actions button{height:22px;padding:0 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-3);font-size:11px;display:inline-flex;align-items:center;gap:4px}.msg-actions button:hover{background:var(--surface-2);color:var(--text-2)}.msg-link{display:inline-flex;align-items:center;gap:4px;margin-top:7px;margin-right:8px;height:24px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--text-2);font-size:11.5px}.msg-link:hover{border-color:var(--brand-line);background:var(--brand-weak);color:var(--brand)}.msg-link .rotate-90{transform:rotate(90deg)}.process-action{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin-bottom:6px;padding:2px 7px;border-radius:5px;background:var(--surface-2);color:var(--text-2);font-size:11px}.process-action span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.process-action.is-ok{color:var(--ok);background:var(--ok-weak)}.process-action.is-error{color:var(--danger);background:var(--danger-weak)}.process-panel{margin-top:9px;border-top:1px solid var(--border);padding-top:8px}.process-block{margin:0 0 8px;font-size:11.5px}.process-block summary{cursor:pointer;color:var(--text-2);padding:2px 0}.process-block pre{margin:4px 0 0;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:7px 8px;font-family:var(--font-mono);font-size:11px;color:var(--text-2)}.process-steps{list-style:none;margin:0;padding:0}.process-step{position:relative;padding:0 0 8px 18px}.process-step:before{content:"";position:absolute;left:4px;top:16px;bottom:0;width:1px;background:var(--border)}.process-step:last-child:before{display:none}.process-dot{position:absolute;left:0;top:5px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--surface)}.process-step.is-done .process-dot{background:var(--ok);border-color:var(--ok)}.process-step.is-error .process-dot{background:var(--danger);border-color:var(--danger)}.process-step.is-running .process-dot{border-color:var(--brand)}.process-step-main{min-width:0}.process-step-head{display:flex;align-items:baseline;gap:6px}.process-step-head code{font-family:var(--font-mono);font-size:11.5px;color:var(--text)}.process-ms{font-size:10.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.process-flag{font-size:10px;color:var(--danger)}.process-step details{margin-top:3px;font-size:10.5px;color:var(--text-3)}.process-step details summary{cursor:pointer}.process-step details pre{margin:4px 0 0;padding:6px 7px;border-radius:5px;background:var(--surface-3);border:1px solid var(--border);font-family:var(--font-mono);font-size:10.5px;white-space:pre-wrap;word-break:break-all;max-height:140px;overflow:auto}.typing{display:inline-flex;gap:4px;padding:10px 12px}.msg-status{align-items:center}.msg-status-text{margin-left:4px;font-size:12px;color:var(--text-3)}.typing span{width:5px;height:5px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.example-chips{display:flex;flex-direction:column;gap:6px;width:min(420px,100%)}.example-chip{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);font-size:12.5px;text-align:left}.example-chip:hover{border-color:var(--brand-line);background:var(--brand-weak);color:var(--brand)}.composer-wrap{padding:8px 16px 14px}.composer{border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);padding:8px 8px 6px 12px;box-shadow:var(--sh-1);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.composer:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #1e5aa81f}.composer textarea{width:100%;min-height:42px;max-height:220px;padding:2px 2px 4px;border:0;outline:0;resize:none;background:transparent;overflow-y:hidden;font-size:14px;line-height:1.6}.composer textarea::placeholder{color:var(--text-3)}.composer-files{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 2px 6px}.composer-file{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:2px 4px 2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);font-size:11.5px;color:var(--text-2)}.composer-file-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-file-size{color:var(--text-3);font-size:10.5px}.composer-file-remove{border:0;background:transparent;color:var(--text-3);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.composer-file-remove:hover{color:var(--danger)}.composer-files-hint{font-size:10.5px;color:var(--text-3)}.composer-mic{flex:none}.composer-mic.is-unavailable{opacity:.45}.composer-mic.is-listening{color:var(--danger);background:var(--danger-surface);border-color:var(--danger-line);animation:voice-pulse 1.6s ease-out infinite}@keyframes voice-pulse{0%{box-shadow:0 0 #c0342b47}70%{box-shadow:0 0 0 6px #c0342b00}to{box-shadow:0 0 #c0342b00}}.composer-voice{display:flex;align-items:center;gap:6px;padding:2px 2px 6px;font-size:11.5px}.composer-voice-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--danger);animation:voice-blink 1s steps(2,start) infinite}.composer-voice-label{flex:none;font-weight:500;color:var(--danger)}.composer-voice-text{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes voice-blink{to{opacity:.25}}@media (prefers-reduced-motion: reduce){.composer-mic.is-listening,.composer-voice-dot{animation:none}}.composer-bar{display:flex;align-items:center;gap:4px}.composer-hint{margin-left:4px;font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn{height:30px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:12.5px;font-weight:500;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast)}.btn:hover{background:var(--surface-3);border-color:var(--hover-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--white)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn-stop{background:var(--danger-surface);border-color:var(--danger-line);color:var(--danger)}.btn-stop:hover{background:var(--danger-weak);border-color:var(--danger-line)}.btn-sm{height:26px;padding:0 9px;font-size:12px}.btn .spin{width:14px;height:14px}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#1e5aa817;border:2px dashed var(--brand);color:var(--brand)}.drop-overlay strong{font-size:17px}.drop-overlay span{font-size:12px;color:var(--brand);opacity:.8}.workspace{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg);position:relative}.page-tabs{flex:0 0 var(--chrome-h);height:var(--chrome-h);display:flex;align-items:flex-end;gap:6px;padding:0 10px;background:var(--surface-2);border-bottom:1px solid var(--border)}.page-tabs-strip{flex:1;min-width:0;display:flex;align-items:flex-end;gap:2px;overflow-x:auto;padding-right:8px}.page-tabs-strip::-webkit-scrollbar{height:0}.page-tab{position:relative;height:34px;max-width:210px;flex:none;display:flex;align-items:center;gap:7px;padding:0 6px 0 11px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;color:var(--text-2);font-size:12.5px;white-space:nowrap;cursor:pointer;scroll-margin-inline:12px;transition:background var(--t-fast),color var(--t-fast)}.page-tab:hover{background:var(--tab-hover);color:var(--text)}.page-tab.is-active{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:500}.page-tab.is-active:after{content:"";position:absolute;left:9px;right:9px;top:-1px;height:2px;background:var(--brand);border-radius:0 0 2px 2px}.page-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-tab-close{width:17px;height:17px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-3);opacity:0;display:inline-flex;align-items:center;justify-content:center}.page-tab:hover .page-tab-close,.page-tab.is-active .page-tab-close,.page-tab:focus-within .page-tab-close{opacity:1}.page-tab-close:hover{background:var(--surface-2);color:var(--text)}.page-tabs-actions{align-self:center;display:flex;align-items:center;gap:4px}.page-tabs-restore{height:26px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-3);font-size:11px;display:inline-flex;align-items:center;gap:4px}.page-tabs-restore:hover{background:var(--surface);color:var(--text-2)}.page-tabs-fav{height:26px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-3);font-size:11px;display:inline-flex;align-items:center;gap:4px}.page-tabs-fav:hover{background:var(--surface);color:var(--text-2)}.page-tabs-fav.is-open{background:var(--surface);color:var(--brand);border-color:var(--brand)}.page-tabs-fav-count{min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:10px;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.page-tabs-fav.is-open .page-tabs-fav-count{background:var(--brand-weak);color:var(--brand)}.displays-pop{position:fixed;z-index:80;width:340px;max-width:calc(100vw - 24px);max-height:min(60vh,520px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden}.displays-pop-head{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--text)}.displays-pop-head>span:first-of-type{flex:1}.displays-pop-count{color:var(--text-3);font-weight:500;font-size:11px}.displays-pop-close{width:22px;height:22px;border:0;border-radius:5px;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center}.displays-pop-close:hover{background:var(--surface-2);color:var(--text)}.displays-search{display:flex;align-items:center;gap:6px;margin:8px 10px 0;padding:0 8px;height:30px;border:1px solid var(--border);border-radius:6px;color:var(--text-3)}.displays-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:12px;color:var(--text)}.displays-list{overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.displays-row{display:flex;align-items:center;gap:2px;border-radius:var(--r-md)}.displays-row:hover{background:var(--surface-2)}.displays-row.is-current{background:var(--brand-weak)}.displays-row.is-missing .displays-row-title{color:var(--text-3);text-decoration:line-through}.displays-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:7px 8px;border:0;background:transparent;text-align:left;color:var(--text)}.displays-row-main:disabled{cursor:default}.displays-row-icon{width:26px;height:26px;border-radius:7px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-2)}.displays-row.is-current .displays-row-icon{background:var(--surface);color:var(--brand)}.displays-row-text{min-width:0;display:flex;flex-direction:column;gap:1px}.displays-row-title{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.displays-row-meta{font-size:10.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.displays-row-remove{width:24px;height:24px;margin-right:4px;border:0;border-radius:5px;background:transparent;color:var(--text-3);opacity:0;display:inline-flex;align-items:center;justify-content:center}.displays-row:hover .displays-row-remove,.displays-row-remove:focus-visible{opacity:1}.displays-row-remove:hover{background:var(--surface);color:var(--danger)}.displays-empty{padding:22px 18px;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:6px}.displays-empty strong{font-size:12.5px;color:var(--text-2);font-weight:600}.displays-empty span{font-size:11.5px;line-height:1.5}.displays-pop-foot{padding:7px 12px;border-top:1px solid var(--border);font-size:10.5px;color:var(--text-3)}@media (max-width: 900px){.page-tabs-fav-label{display:none}}.page-header{flex:0 0 auto;display:flex;align-items:flex-start;gap:14px;padding:13px 20px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.page-header-main{flex:1;min-width:0}.page-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-title-icon{width:28px;height:28px;border-radius:8px;flex:none;background:var(--brand-weak);color:var(--brand);display:flex;align-items:center;justify-content:center}.page-title{margin:0;font-size:17px;font-weight:600;line-height:1.3}.page-subtitle{margin:4px 0 0;font-size:12px;color:var(--text-3)}.page-header-actions{display:flex;align-items:center;gap:6px;padding-top:2px}.page-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 28px}.page-body>.block{max-width:1100px;margin-left:auto;margin-right:auto}.page-body.is-flush{padding:0;overflow:hidden;display:flex;flex-direction:column}.page-body.is-flush>.block{max-width:none;margin:0}.page-body.is-inbox{padding-top:10px;display:flex;flex-direction:column;overflow:hidden}.inbox-bar{flex:0 0 auto;align-self:stretch;display:flex;align-items:center;gap:8px;width:100%;margin:0 0 8px}.inbox-bar-count{font-size:12px;color:var(--text-3)}.page-body.is-inbox>.block{flex:1;min-height:0;max-width:none;margin:0;border:0;background:transparent;box-shadow:none;display:flex;flex-direction:column}.page-body.is-inbox .block-content{flex:1;min-height:0;padding:0;display:flex;flex-direction:column}.page-body.is-inbox .table-scroll{flex:1;min-height:0;max-height:none;background:var(--surface);border-radius:10px}.block{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh-1);overflow:hidden}.block+.block{margin-top:14px}.block-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.block-head-icon{color:var(--text-3)}.block-head h3{margin:0;font-size:13px;font-weight:600}.block-content{padding:14px}.block-empty{margin:0;padding:8px 0;font-size:12.5px;color:var(--text-3)}.table-scroll{max-height:58vh;overflow:auto;border:1px solid var(--border);border-radius:8px}.bt{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.bt th{position:sticky;top:0;z-index:2;text-align:left;font-weight:600;font-size:12px;color:var(--text-2);background:var(--surface-2);padding:8px 10px;white-space:nowrap;border-bottom:1px solid var(--border)}.bt td{padding:8px 10px;border-bottom:1px solid var(--surface-2);vertical-align:top}.bt tbody tr:hover{background:var(--surface-3)}.bt tbody tr:last-child td{border-bottom:0}.bt .dim{font-weight:600;white-space:nowrap;color:var(--text-2)}.file-link{display:inline-flex;align-items:flex-start;gap:5px;padding:0;border:0;background:none;color:var(--brand);text-align:left;font-size:inherit;line-height:1.5}.file-link:hover{text-decoration:underline}.file-link.deep-link-highlight{background:var(--brand-weak);outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.file-link svg{margin-top:2px}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.task-list li{display:flex;align-items:flex-start;gap:7px;font-size:13px}.task-list li svg{color:var(--text-3);margin-top:2px}.task-list li.is-done svg{color:var(--ok)}.task-list li.is-done span{color:var(--text-3);text-decoration:line-through}.diff-view{display:flex;flex-direction:column;gap:5px;font-size:13px}.diff-line{display:flex;align-items:flex-start;gap:7px;padding:3px 0}.diff-line svg{margin-top:3px}.diff-line.is-added{color:var(--ok)}.diff-line.is-removed{color:var(--danger)}.diff-line.is-changed{color:var(--warn)}.html-view{width:100%;height:480px;border:1px solid var(--border);border-radius:8px;background:var(--white)}.review-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.review-row-title{width:130px;flex:none;font-size:12.5px;font-weight:600;color:var(--text-2)}.review-row-md{flex:1;min-width:0;max-height:220px;overflow-y:auto;font-size:13px}.notice{display:flex;align-items:flex-start;gap:7px;margin:6px 0;padding:7px 10px;border-radius:8px;font-size:12.5px;border:1px solid var(--border);background:var(--surface-3);color:var(--text-2)}.notice svg{margin-top:2px}.notice-warn{background:var(--warn-weak);border-color:var(--warn-line);color:var(--warn)}.tip{font-size:12.5px;color:var(--text-2)}.warn{font-size:12.5px;color:var(--danger)}.md{font-size:14px;line-height:1.78;color:var(--text);overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin:14px 0 6px;line-height:1.4;font-weight:600}.md h1{font-size:18px}.md h2{font-size:15px;padding-bottom:4px;border-bottom:1px solid var(--border)}.md h3{font-size:14px}.md p{margin:0 0 8px}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md li{margin:3px 0}.md strong{font-weight:600}.md code{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.md pre{background:var(--surface-3);border:1px solid var(--border);padding:8px 10px;border-radius:6px;overflow-x:auto}.md pre code{background:none;padding:0}.md blockquote{margin:6px 0;padding-left:10px;border-left:3px solid var(--border-strong);color:var(--text-2)}.md table{border-collapse:collapse;margin:6px 0;font-size:12.5px}.md th,.md td{border:1px solid var(--border);padding:4px 8px;text-align:left}.md th{background:var(--surface-2);font-weight:600}.md img{max-width:100%}.msg-md{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.msg-md>:first-child{margin-top:0}.msg-md>:last-child{margin-bottom:0}.msg-md p{margin:0 0 8px}.msg-md ul,.msg-md ol{margin:4px 0 8px;padding-left:20px}.msg-md li{margin:3px 0}.msg-md strong{font-weight:600}.msg-md code{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.msg-md pre{background:var(--surface-3);border:1px solid var(--border);padding:8px;border-radius:6px;overflow-x:auto}.msg-md pre code{background:none;padding:0}.msg-md blockquote{margin:6px 0;padding-left:10px;border-left:3px solid var(--border-strong);color:var(--text-2)}.msg-md table{border-collapse:collapse;margin:6px 0;font-size:12.5px}.msg-md th,.msg-md td{border:1px solid var(--border);padding:4px 8px;text-align:left}.msg-md th{background:var(--surface-2)}.cite-chip{display:inline-flex;align-items:center;gap:4px;max-width:220px;height:22px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--text-2);font-size:11px;white-space:nowrap;overflow:hidden;flex:none}.cite-chip:hover{border-color:var(--brand-line);background:var(--brand-weak);color:var(--brand)}.cite-chip-text{overflow:hidden;text-overflow:ellipsis}.cite-chip.is-compact{height:20px;padding:0 6px;font-size:10.5px;max-width:180px}.ui-btn{height:30px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:12.5px;font-weight:500;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast)}.ui-btn:hover{background:var(--surface-3);border-color:var(--hover-border)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn-primary{background:var(--brand);border-color:var(--brand);color:var(--white)}.ui-btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.ui-btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.ui-btn-ghost:hover{background:var(--surface-2);color:var(--text)}.ui-btn-danger{color:var(--danger);border-color:var(--danger-border);background:var(--surface)}.ui-btn-sm{height:26px;padding:0 9px;font-size:12px}.ui-icon-btn{width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center}.ui-icon-btn:hover{background:var(--surface-2);color:var(--text)}.ui-icon-btn-sm{width:28px;height:28px}.ui-icon-btn.is-active{background:var(--brand-weak);color:var(--brand)}.ui-chip{display:inline-flex;align-items:center;gap:4px;height:21px;padding:0 7px;border-radius:var(--r-full);font-size:11px;line-height:1;white-space:nowrap;background:var(--neutral-weak);color:var(--neutral)}.ui-chip-ok{background:var(--ok-weak);color:var(--ok)}.ui-chip-warn{background:var(--warn-weak);color:var(--warn)}.ui-chip-danger{background:var(--danger-weak);color:var(--danger)}.ui-chip-info{background:var(--brand-weak);color:var(--brand)}.ui-chip-exp{background:var(--exp-weak);color:var(--experience)}.ui-chip-neutral{background:var(--neutral-weak);color:var(--neutral)}.ui-chip-plain{background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.ui-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--text-3)}.ui-dot-ok{background:var(--ok)}.ui-dot-warn{background:var(--warn)}.ui-dot-danger{background:var(--danger)}.ui-dot-idle{background:var(--text-3)}.ui-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;text-align:center}.ui-empty-icon{width:46px;height:46px;border-radius:12px;background:var(--surface-2);color:var(--text-3);display:flex;align-items:center;justify-content:center}.ui-empty h3{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--text)}.ui-empty p{margin:0;max-width:440px;font-size:12.5px;line-height:1.7;color:var(--text-3)}.ui-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}.empty-actions{display:flex;gap:8px}.ui-toasts{position:fixed;right:16px;bottom:calc(var(--statusbar-h) + 14px);z-index:500;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.ui-toast{pointer-events:auto;display:flex;align-items:center;gap:8px;min-height:38px;max-width:400px;padding:8px 10px 8px 12px;border-radius:9px;background:var(--toast-bg);color:var(--white);font-size:12.5px;box-shadow:var(--sh-2);animation:toast-in .16s ease-out}.ui-toast svg{color:var(--toast-ok)}.ui-toast.is-warn svg{color:var(--toast-warn)}.ui-toast.is-error svg{color:var(--toast-err)}.ui-toast.is-info svg{color:var(--toast-info)}.ui-toast-close{width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:#fff9;display:flex;align-items:center;justify-content:center}.ui-toast-close:hover{background:#ffffff1f;color:var(--white)}@keyframes toast-in{0%{transform:translateY(6px)}}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:#1018281f;cursor:default}@keyframes drawer-in{0%{transform:translate(24px)}}.drawer-head{flex:0 0 56px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--border)}.drawer-head h2{flex:1;min-width:0;margin:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:16px}.drawer-file{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.drawer-file svg{color:var(--text-3)}.drawer-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-file-page{color:var(--text-3);font-size:11px;white-space:nowrap}.drawer-excerpt-label{margin:14px 0 6px;font-size:11px;color:var(--text-3)}.drawer-quote{margin:0;padding:11px 13px;border:1px solid var(--warn-line);border-left:3px solid var(--quote-line);border-radius:0 8px 8px 0;background:var(--quote-bg);color:var(--serif-ink);font-family:var(--font-serif);font-size:13px;line-height:1.95}.drawer-verify{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.drawer-verify-note{font-size:10.5px;color:var(--text-3)}.drawer-meta{display:grid;grid-template-columns:64px minmax(0,1fr);gap:7px 10px;margin:16px 0 0;padding-top:12px;border-top:1px solid var(--border);font-size:11.5px}.drawer-meta dt{color:var(--text-3)}.drawer-meta dd{margin:0;color:var(--text-2);overflow-wrap:anywhere}.drawer-note{margin:14px 0 0;font-size:10.5px;line-height:1.7;color:var(--text-3)}.drawer-foot{flex:0 0 52px;display:flex;align-items:center;gap:8px;padding:0 14px;border-top:1px solid var(--border)}.drawer-hint{font-size:10.5px;color:var(--text-3)}.pdf-viewer{position:fixed;right:0;top:var(--topbar-h);bottom:var(--statusbar-h);width:52vw;min-width:460px;z-index:60;display:flex;flex-direction:column;background:var(--surface);box-shadow:-8px 0 28px #10182829}.pdf-bar{flex:0 0 44px;display:flex;align-items:center;gap:7px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface);font-size:12px;min-width:0}.pdf-bar strong{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-bar .spacer{flex:1}.pdf-bar button,.pdf-bar a{height:26px;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text-2);font-size:11.5px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.pdf-bar button:hover,.pdf-bar a:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.pdf-host{flex:1;min-height:0;overflow:auto;position:relative;background:var(--surface-2);padding:12px}.pdf-host canvas{display:block;margin:0 auto;background:var(--white);box-shadow:var(--sh-2)}.pdf-host img{max-width:100%}.hl{position:absolute;width:14px;border-radius:2px;pointer-events:none;background:#f59e0be6;box-shadow:0 0 0 1px #f59e0b40}.ptip{display:block;max-width:52%;font-size:10.5px;color:var(--warn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block.confirm-split{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px;background:var(--surface);border:0;border-radius:0;box-shadow:none}.cf-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:2px 4px 8px}.cf-bar h3{flex:1;min-width:0;margin:0;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-cov{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:500}.cf-confirm,.cf-issues{height:28px;padding:0 10px;border:1px solid var(--brand);border-radius:6px;background:var(--brand);color:var(--white);font-size:12px;display:inline-flex;align-items:center;gap:5px}.cf-confirm:hover{background:var(--brand-hover)}.cf-issues{background:var(--warn-weak);border-color:var(--warn-line);color:var(--warn)}.cf-ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-size:12px;font-weight:600}.cf-gap{display:flex;align-items:flex-start;gap:6px;margin:4px 0;padding:5px 8px;background:var(--warn-weak);border:1px solid var(--warn-line);border-radius:6px;font-size:11.5px;color:var(--warn)}.cf-tip{font-size:11.5px;color:var(--warn);margin:2px 0}.cf-body{display:flex;gap:10px;flex:1;min-height:0;margin-top:4px}.cf-left{flex:1;min-width:0;overflow-y:auto;border-right:1px solid var(--border);padding-right:10px}.cf-page{position:relative;padding:6px 30px 10px 6px;border-bottom:1px dashed var(--border);content-visibility:auto;contain-intrinsic-size:auto 600px}.cf-page:hover{background:var(--surface-3)}.cf-page.seg-issue{background:var(--warn-weak);border-radius:6px}.cf-page-no{margin:4px 0;font-size:12px;font-weight:600;color:var(--text-2)}.cf-segbar{position:absolute;right:4px;top:6px;opacity:0;transition:opacity var(--t-fast)}.cf-page:hover .cf-segbar,.cf-page.seg-issue .cf-segbar{opacity:1}.cf-chip{padding:1px 6px;border:0;border-radius:var(--r-full);background:var(--brand-weak);color:var(--brand);font-size:10.5px;cursor:pointer}.cf-chip.warn{background:var(--warn-weak);color:var(--warn)}.cf-right{flex:0 0 46%;min-width:280px;display:flex;flex-direction:column;min-height:0}.cf-pdfbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:3px 0 6px;border-bottom:1px solid var(--border);font-size:11.5px}.cf-pdfbar a{font-size:11px}.cf-find{display:inline-flex;align-items:center;gap:4px;max-width:60%;padding:1px 7px;background:var(--hl-bg);border:1px solid var(--hl-line);border-radius:var(--r-full)}.cf-find button{border:0;background:none;padding:0 2px;font-size:10px;line-height:1}.cf-scrollhost{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;background:var(--pdf-bg);border-radius:6px}.cf-pdf-error{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;text-align:center}.cf-pdf-error-icon{width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);background:var(--surface)}.cf-pdf-error strong{font-size:14px;color:var(--text)}.cf-pdf-error p{margin:0;max-width:280px;font-size:12px;line-height:1.6;color:var(--text-3)}.cf-pdf-error a{font-size:12px;color:var(--brand)}.cf-pagebox{position:absolute;left:50%;transform:translate(-50%);background:var(--white);box-shadow:0 1px 4px #0000002e;overflow:hidden}.cf-canvas-host,.cf-hl-host{position:absolute;top:0;right:0;bottom:0;left:0}.cf-canvas-host{z-index:1}.cf-hl-host{z-index:2;pointer-events:none}.cf-ph{z-index:0;display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-3);font-size:13px}.cf-pagebox canvas{display:block}.cf-hl{position:absolute;pointer-events:none;border-radius:2px;background:#f59e0bd9}.cf-hl-cur{background:#f59e0bd9;border:0;box-shadow:none}.cf-hint{color:var(--text-3)}.cf-page .md h1,.cf-page .md h2,.cf-page .md h3,.cf-page .md h4,.cf-page .md h5,.cf-page .md h6{cursor:pointer}.cf-page .md h1:hover,.cf-page .md h2:hover,.cf-page .md h3:hover,.cf-page .md h4:hover,.cf-page .md h5:hover,.cf-page .md h6:hover{color:var(--brand);text-decoration:underline}.modal{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;z-index:300;width:480px;max-width:calc(100vw - 40px);height:fit-content;max-height:86vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:10px;background:var(--surface);border-radius:12px;box-shadow:0 0 0 100vmax #10182852,var(--sh-3)}.modal.wide{width:760px;height:80vh}.modal h2{margin:0;font-size:16px;font-weight:600}.modal p{margin:0}.modal fieldset{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:8px}.modal legend{padding:0 4px;font-size:11.5px;color:var(--text-2)}.modal label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text-2)}.modal input,.modal select,.modal textarea{width:100%;min-height:32px;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);font-size:13.5px;color:var(--text)}.modal textarea{padding:7px 8px;line-height:1.6;resize:vertical}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 2px #1e5aa81f}.modal input[type=checkbox]{width:15px;min-height:15px;height:15px;accent-color:var(--brand)}.modal .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.modal button{height:30px;padding:0 11px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.modal button:hover{background:var(--surface-3)}.modal button.primary{background:var(--brand);border-color:var(--brand);color:var(--white)}.modal button.primary:hover{background:var(--brand-hover)}.modal button.on{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand)}.reconcile-modal{gap:12px}.reconcile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reconcile-head h2{display:flex;align-items:center;gap:6px;margin:0}.reconcile-sub{margin:4px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.6}.reconcile-actions{display:flex;gap:8px;flex:none}.reconcile-actions button{display:inline-flex;align-items:center;gap:5px}.reconcile-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2)}.reconcile-stats b{color:var(--text)}.reconcile-chip{padding:2px 8px;border-radius:999px;background:var(--surface-3);font-size:11.5px}.reconcile-chip.kind-content_changed,.reconcile-chip.kind-missing,.reconcile-chip.kind-conflict{background:#fef3c7;color:#92400e}.reconcile-chip.kind-unindexed{background:#e0f2fe;color:#075985}.reconcile-chip.kind-bad_name{background:#ede9fe;color:#5b21b6}.reconcile-error{padding:8px 10px;border-radius:7px;background:#fef2f2;color:#b91c1c;font-size:12.5px}.reconcile-empty{margin:20px 0;text-align:center;color:var(--text-3);font-size:13px}.reconcile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.reconcile-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.reconcile-item-main{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.reconcile-kind{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-2);flex:none}.reconcile-item code{font-size:12px;color:var(--text);overflow-wrap:anywhere}.reconcile-type{font-size:11px;color:var(--text-3);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.reconcile-candidate{width:100%;font-size:11.5px;color:var(--text-3);padding-left:20px;overflow-wrap:anywhere}.reconcile-classify{display:inline-flex;align-items:center;gap:6px;width:100%;padding-left:20px}.reconcile-classify select{min-height:26px;font-size:12px;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.reconcile-classify button{padding:4px 8px;font-size:12px}.reconcile-item-actions{display:flex;gap:6px;flex:none}.reconcile-item-actions button{padding:4px 9px;font-size:12px}.modal button:disabled{opacity:.5;cursor:not-allowed}.modal pre{margin:0;padding:8px 10px;max-height:160px;overflow:auto;background:var(--surface-3);border:1px solid var(--border);border-radius:7px;font-family:var(--font-mono);font-size:11px;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.modal .tip{font-size:11.5px;color:var(--text-2)}.modal .hint{font-size:12px;color:var(--text-3);line-height:1.7}.modal .warn{font-size:12px;color:var(--danger)}.pdf-counter{font-size:11.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.file-preview-meta{font-size:13px}.file-preview-meta pre{max-height:none}.modal .meta-text{margin-left:8px;font-size:11.5px;color:var(--text-3)}.modal-list{max-height:260px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:8px}.modal .notes-list{max-height:140px;overflow:auto;font-size:12px;color:var(--text-2)}.modal-history{margin-top:8px;padding-top:8px;max-height:220px;overflow:auto;border-top:1px solid var(--border)}.modal-patch{margin:6px 0 0;padding:8px;max-height:260px;overflow:auto;background:var(--surface-3);border:1px solid var(--border);border-radius:7px;font-family:var(--font-mono);font-size:11px;white-space:pre-wrap}.cf-cov{display:inline-flex;align-items:center;gap:4px}.cf-cov-pipeline{background:var(--brand-weak);color:var(--brand)}.cf-cov-vision{background:var(--exp-weak);color:var(--experience)}.cf-cov-legacy{background:var(--ok-weak);color:var(--ok)}.cf-cov-degraded{background:var(--danger-weak);color:var(--danger)}.cf-chip{display:inline-flex;align-items:center;gap:3px}.cf-pdfbar{font-size:11.5px}@media (max-width: 1400px){.brand-env{display:none}.topbar-conn span:last-child{display:none}}@media (max-width: 1140px){.pane-chat{min-width:300px}.pdf-viewer{width:64vw;min-width:380px}.page-body{padding:12px 16px 22px}.chat-hint{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.messages{scroll-behavior:auto}}.audit-panel{border:1px solid #fcd34d;background:#fffbeb;border-radius:8px;padding:8px 10px;max-height:38vh;overflow:auto}.audit-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.audit-verdict{font-size:11px;padding:1px 6px;border-radius:999px;background:#fef3c7;color:#92400e;text-transform:uppercase}.audit-verdict.fail{background:#fee2e2;color:#b91c1c}.audit-verdict.pass{background:#dcfce7;color:#15803d}.audit-filter{font-size:12px;display:inline-flex;align-items:center;gap:4px}.audit-apply{margin-left:auto;font-size:12px}.audit-list{display:flex;flex-direction:column;gap:8px}.audit-card{border:1px solid #fde68a;border-radius:6px;padding:6px 8px;background:#fff}.audit-card-head{display:flex;align-items:center;gap:6px;font-size:12px}.audit-sev{font-size:10px;padding:0 5px;border-radius:999px;background:#e2e8f0}.audit-sev.high{background:#fee2e2;color:#b91c1c}.audit-sev.medium{background:#fef3c7;color:#92400e}.audit-sev.low{background:#e0f2fe;color:#075985}.audit-locate{margin-left:auto;font-size:11px}.audit-quote{font-size:12px;margin-top:4px;word-break:break-word}.audit-quote.after{background:#f8fafc;border-left:2px solid #94a3b8;padding-left:6px}.audit-choices{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-top:5px}.audit-choices label.disabled{color:#94a3b8}.audit-edit{width:100%;min-height:54px;font-size:12px;margin-top:5px}.audit-note{font-size:11px;color:#64748b;margin-top:4px}.audit-chip{margin-left:6px;font-size:10px;padding:0 5px;border-radius:999px;border:1px solid #f59e0b;background:#fef3c7;color:#92400e;cursor:pointer}.audit-chip.high{border-color:#ef4444;background:#fee2e2;color:#b91c1c}.audit-card.active{border-color:#f59e0b;box-shadow:0 0 0 2px #fde68a}.audit-focus{outline:2px solid #f59e0b;outline-offset:-2px;background:#fffbeb}.audit-apply-one{font-size:11px;margin-left:4px}.cf-refresh{font-size:12px;margin-left:6px}.block.clause-index{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px;background:var(--surface);border:0;border-radius:0;box-shadow:none}.ci-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:2px 4px 6px}.ci-bar h3{flex:1;min-width:0;margin:0;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-count{font-size:11.5px;color:var(--text-3)}.ci-doc{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-3);font-size:11px;font-weight:500}.ci-doc.running{background:var(--warn-weak);color:var(--warn)}.ci-doc.done{background:var(--brand-weak);color:var(--brand)}.ci-doc.failed{background:var(--danger-weak);color:var(--danger)}.ci-add-btn{height:28px;padding:0 10px;border:1px solid var(--brand);border-radius:6px;background:var(--brand);color:var(--white);font-size:12px}.ci-add-btn:disabled{opacity:.5}.ci-hint{font-size:11px;color:var(--text-3)}.ci-suggest{flex:0 0 auto;max-height:28vh;overflow:auto;margin:0 2px 6px;border:1px solid var(--warn-line);background:var(--warn-weak);border-radius:8px;padding:7px 9px}.ci-suggest-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;font-size:12px}.ci-suggest-hint{font-size:11px;color:var(--text-3)}.ci-suggest-empty{font-size:12px;color:var(--text-2);padding:3px 2px}.ci-suggest-list{display:flex;flex-direction:column;gap:6px}.ci-sug{border:1px solid var(--border);border-left:3px solid var(--text-3);border-radius:6px;background:var(--surface);padding:6px 8px}.ci-sug.high{border-left-color:var(--danger)}.ci-sug.medium{border-left-color:var(--warn)}.ci-sug.low{border-left-color:var(--brand-line)}.ci-sug-head{display:flex;align-items:center;gap:6px;font-size:12px}.ci-sug-source{font-size:10px;padding:0 5px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-3)}.ci-sug-source.llm{background:var(--brand-weak);color:var(--brand)}.ci-sug-detail{font-size:12px;line-height:1.55;margin-top:4px;color:var(--text-2)}.ci-sug-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.ci-sug-actions button,.ci-entry-actions button,.ci-add-actions button{font-size:11.5px;padding:2px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-2)}.ci-sug-actions button:hover,.ci-entry-actions button:hover,.ci-add-actions button:hover{border-color:var(--brand-line);color:var(--brand)}.ci-sug-actions button:disabled,.ci-entry-actions button:disabled,.ci-add-actions button:disabled{opacity:.5}.ci-add{flex:0 0 auto;margin:0 2px 6px;padding:8px 9px;border:1px solid var(--brand-line);background:var(--brand-weak);border-radius:8px}.ci-add-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.ci-add-row label,.ci-entry-edit label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-2)}.ci-add-row input,.ci-add-row select,.ci-entry-edit input{min-width:140px;height:28px;padding:0 7px;font-size:12px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);color:var(--text)}.ci-add-row label.ci-whole{flex-direction:row;align-items:center;gap:6px;font-size:11px;color:var(--text-2)}.ci-add-row label.ci-whole input{min-width:0;width:14px;height:14px}.ci-add-actions{display:flex;gap:6px;margin-top:6px}.ci-body{display:flex;gap:10px;flex:1;min-height:0;margin-top:4px}.ci-left{flex:1;min-width:0;overflow-y:auto;border-right:1px solid var(--border);padding-right:12px}.ci-empty{padding:20px 12px;color:var(--text-2);font-size:13px;line-height:1.7}.ci-section{padding:6px 2px 2px}.ci-section h2{display:flex;align-items:baseline;gap:8px;margin:6px 4px;font-size:13px;font-weight:600;color:var(--text)}.ci-section-count{font-size:11px;font-weight:400;color:var(--text-3)}.ci-entry{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border-top:1px solid var(--surface-2);border-left:2px solid transparent;border-radius:6px;cursor:pointer}.ci-entry:hover{background:var(--surface-3)}.ci-entry.active{background:var(--brand-weak);border-left-color:var(--brand)}.ci-entry-main{flex:1;min-width:0}.ci-entry-title{display:flex;align-items:center;gap:6px;font-size:13px}.ci-entry-id{font-size:10px;color:var(--text-3);font-family:var(--font-mono)}.ci-entry-meta{display:flex;align-items:center;gap:3px;margin-top:2px;font-size:10.5px;color:var(--text-3)}.ci-entry-src{margin-top:1px;font-size:10px;color:var(--text-3);opacity:.85}.ci-entry-actions{display:flex;gap:4px;flex-wrap:wrap;padding-top:2px}.ci-entry-edit{flex-basis:100%;display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.ci-sourcebar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 4px 0;border-top:1px solid var(--border);font-size:10.5px;color:var(--text-3)}.mi-right{flex:0 0 48%;min-width:300px;display:flex;flex-direction:column;min-height:0}.mi-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:3px 0 6px;border-bottom:1px solid var(--border);font-size:11.5px}.mi-file{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mi-heading{font-size:11px;color:var(--text-3);max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mi-scroll{flex:1;min-height:0;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 14px 20px}.mi-md{max-width:860px;margin:0 auto}.mi-md .md-target{background:var(--hl-bg);outline:2px solid var(--hl-line);outline-offset:2px;border-radius:4px;padding:2px 4px;scroll-margin-top:10px}.mi-notfound{font-size:12px;color:var(--warn);background:var(--warn-weak);border:1px solid var(--warn-line);padding:6px 8px;border-radius:6px}.mi-filecard{display:flex;gap:12px;align-items:flex-start;max-width:680px;margin:18px auto;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.mi-filecard>svg{color:var(--brand);flex:none;margin-top:2px}.mi-filecard strong{font-size:14px;word-break:break-all}.mi-filecard p{margin:8px 0 0;font-size:12.5px;line-height:1.75;color:var(--text-2)}.view-page-pane{position:relative;inset:auto;z-index:auto;display:flex;flex-direction:column;flex:1;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden}.page-body.is-view{padding:0;overflow:hidden;display:flex}.view-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.view-page-head-actions{display:flex;align-items:center;gap:6px;flex:none}.view-page-title{font-size:15px;font-weight:650;color:var(--text)}.view-page-path{font-size:11.5px;color:var(--text-2);margin-top:3px;word-break:break-all}.view-page-body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.view-page-error{margin:12px 16px 0;padding:8px 10px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:12.5px}.view-page-note{margin:12px 16px 0;padding:8px 10px;border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:12.5px}.view-block-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px}.view-block-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.view-block-path{font-size:12.5px;color:var(--text);word-break:break-all;flex:1;min-width:160px}.view-block-sub{font-size:11.5px;color:var(--text-2);line-height:1.6}.view-source-card.is-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.view-source-card.is-clickable:hover{border-color:var(--brand);background:var(--surface);box-shadow:0 2px 8px #2563eb14}.view-source-card.is-clickable:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.view-block-actions{display:flex;align-items:center}.view-block-link{font-size:12px;color:var(--brand);font-weight:500}.view-table-wrap{overflow:auto}.view-table{width:100%;border-collapse:collapse;font-size:12px}.view-table th,.view-table td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.view-table th{color:var(--text-2);font-weight:600;background:var(--surface);position:sticky;top:0}.view-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}.view-source-card.is-active{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 2px var(--brand-weak)}.page-body.is-view.is-split{align-items:stretch}.view-split-left{flex:1 1 auto;min-width:0;min-height:0;display:flex}.view-split-right{flex:0 1 48%;min-width:320px;min-height:0;display:flex;border-left:1px solid var(--border);background:var(--surface)}.page-body.is-source{padding:0;overflow:hidden;display:flex}.source-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.source-pane-bar{flex:0 0 42px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border);font-size:12px;min-width:0}.source-pane-title{display:inline-flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-pane-heading{color:var(--text-2);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-pane-bar .spacer{flex:1}.source-pane-bar a,.source-pane-bar button{height:26px;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text-2);font-size:11.5px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.source-pane-bar a:hover,.source-pane-bar button:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.source-pane-note{max-width:46%;font-size:10.5px;color:var(--warn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-pane-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.source-pane-body .cf-right{flex:1 1 auto;min-width:0;width:100%}.source-text-scroll{flex:1;min-height:0;overflow:auto;padding:14px 16px}.source-pre{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.source-image-wrap{flex:1;min-height:0;overflow:auto;padding:14px;display:flex;align-items:flex-start;justify-content:center;background:var(--surface-2)}.source-image-wrap img{max-width:100%;height:auto;background:var(--white);box-shadow:var(--sh-2)}.source-media-wrap{flex:1;min-height:0;overflow:auto;padding:24px;display:flex;align-items:center;justify-content:center;background:var(--surface-2)}.source-media-wrap audio,.source-media-wrap video{max-width:100%}.source-file-card{flex:1;display:flex;align-items:flex-start;gap:12px;padding:24px;color:var(--text-2);font-size:12.5px;line-height:1.8}.source-file-card strong{display:block;color:var(--text);font-size:13.5px}.cf-hl-title,.cf-hl-fallback{background:#f59e0bd9;border:0;box-shadow:none}.msg-md a.cite-link{color:var(--brand);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}.msg-md a.cite-link:hover{background:var(--brand-weak);border-radius:3px}.external-edit-banner{display:flex;align-items:center;gap:10px;margin:0 12px 8px;padding:10px 12px;border:1px solid #f59e0b;border-radius:10px;background:#fffbeb;color:#92400e}.external-edit-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px}.external-edit-text strong{font-size:12.5px}.external-edit-text span{color:#a16207;word-break:break-all}.task-modal{width:min(860px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 60px));overflow:auto}.task-modal button.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}.task-list{display:flex;flex-direction:column;gap:4px;margin-top:10px}.task-row{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.task-row.is-done .task-content{text-decoration:line-through;color:var(--text-3)}.task-content{font-size:13px;line-height:1.5;word-break:break-word}.task-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.task-cal-head{text-align:center;font-size:11px;color:var(--text-3);padding:3px 0}.task-cal-cell{min-height:76px;border:1px solid var(--border);border-radius:6px;padding:4px;background:var(--surface);overflow:hidden}.task-cal-cell.is-empty{background:transparent;border-color:transparent}.task-cal-day{font-size:11px;color:var(--text-3)}.task-cal-item{margin-top:3px;font-size:10.5px;line-height:1.35;padding:2px 3px;border-radius:3px;background:var(--brand-weak, #eff6ff);color:var(--brand);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-cal-more{font-size:10px;color:var(--text-3);margin-top:2px}.task-schedule-form{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.task-schedule-form input:first-child{flex:1 1 260px}.chat-mobile-session,.chat-new-session,.chat-menu-btn,.mobile-page-bar,.mobile-nav,.mobile-sheet-backdrop,.chat-result-bar,.cf-mobile-tabs{display:none}.session-close{width:28px;height:28px;padding:0;border:0;border-radius:6px;display:none;align-items:center;justify-content:center;color:var(--text-3);background:transparent;flex:none}.session-close:hover{background:var(--surface-2);color:var(--text)}.session-new-row{width:100%;height:36px;margin:2px 0 4px;padding:0 10px;display:flex;align-items:center;gap:7px;border:0;border-radius:7px;background:transparent;color:var(--brand);font-size:12.5px;text-align:left}.session-new-row:hover,.session-new-row:active{background:var(--brand-weak)}@media (max-width: 767px){.app-shell.is-mobile{height:100dvh}.app-shell.is-mobile .app-body{flex:1;min-height:0}.app-shell.is-mobile .rail{display:none}.app-shell.is-mobile .split{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.app-shell.is-mobile .pane-chat{flex:1 1 auto;width:100%!important;min-width:0;height:100%}.app-shell.is-mobile .splitter,.app-shell.is-mobile .pane-workspace.is-mobile-root{display:none}.app-shell.is-mobile .pane-workspace.is-mobile-open{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;width:100%;height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.mobile-page-bar{flex:0 0 calc(52px + env(safe-area-inset-top));height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;display:flex;align-items:center;gap:8px;background:var(--surface);border-bottom:1px solid var(--border)}.mobile-page-back{width:40px;height:40px;padding:0;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);background:transparent;flex:none}.mobile-page-back:active{background:var(--surface-2)}.mobile-page-heading{min-width:0;display:flex;flex-direction:column;gap:1px}.mobile-page-heading strong{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-page-heading span{font-size:10.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell.is-mobile .pane-workspace .page-body{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.app-shell.is-mobile .pane-workspace .page-body.is-flush{padding:0}.app-shell.is-mobile .pane-workspace .block{max-width:none}.app-shell.is-mobile .chat-head{flex:0 0 44px;height:44px;align-items:center;padding:0 4px;gap:2px}.app-shell.is-mobile .chat-tabs-strip{display:none}.app-shell.is-mobile .chat-new-session{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text);flex:none}.app-shell.is-mobile .chat-new-session:active{background:var(--surface-2)}.app-shell.is-mobile .chat-mobile-session{display:flex;align-items:center;gap:3px;min-width:0;flex:0 1 auto;max-width:150px;height:32px;padding:0 6px;border:1px solid transparent;border-radius:8px;background:var(--surface-2);color:var(--text);font-size:12.5px;text-align:left}.app-shell.is-mobile .chat-mobile-session>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0}.app-shell.is-mobile .chat-mobile-session>svg{color:var(--text-3);flex:none}.app-shell.is-mobile .chat-head-actions{flex:none;margin-left:auto;gap:0;height:36px}.app-shell.is-mobile .chat-head-actions .ui-icon-btn{width:36px;height:36px}.app-shell.is-mobile .chat-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-2);flex:none}.app-shell.is-mobile .chat-menu-btn:active{background:var(--surface-2)}.app-shell.is-mobile:has(.composer textarea:focus) .mobile-nav{display:none}.app-shell.is-mobile .session-pop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-height:none;height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));border-radius:0;z-index:110;background:var(--surface);box-shadow:none}.app-shell.is-mobile .session-pop-head{height:44px}.app-shell.is-mobile .session-close{display:inline-flex}.app-shell.is-mobile .chat-result-bar{display:flex;flex-direction:row;gap:6px;align-items:stretch;padding:7px 12px 0;background:var(--bg);border-top:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.app-shell.is-mobile .chat-result-bar::-webkit-scrollbar{height:0}.chat-result-item{min-width:258px;max-width:300px;flex:0 0 auto;width:auto;display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-align:left}.chat-result-item:active{background:var(--surface-2)}.chat-result-icon{width:27px;height:27px;border-radius:7px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);background:var(--brand-weak)}.chat-result-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.chat-result-main strong{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-result-main em{font-size:10.5px;font-style:normal;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-result-open{flex:none;font-size:11.5px;color:var(--brand)}.chat-result-item>svg{color:var(--text-3);flex:none}.mobile-nav{flex:0 0 calc(56px + env(safe-area-inset-bottom));height:calc(56px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--border);z-index:50}.mobile-nav-item{position:relative;min-width:0;height:56px;padding:4px 2px 3px;border:0;background:transparent;color:var(--text-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.mobile-nav-item.is-active{color:var(--brand)}.mobile-nav-icon{position:relative;width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center}.mobile-nav-label{font-size:10.5px;line-height:1.2;white-space:nowrap}.mobile-nav-badge{position:absolute;top:-5px;right:-9px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--r-full);background:var(--brand);color:var(--white);font-size:9px;line-height:15px;text-align:center;box-shadow:0 0 0 1.5px var(--surface)}.mobile-sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#10182852;display:flex;align-items:flex-end}.mobile-sheet{width:100%;max-height:78dvh;overflow-y:auto;padding:7px 14px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-radius:16px 16px 0 0;box-shadow:0 -8px 28px #1018282e}.mobile-sheet-grab{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto 6px}.mobile-sheet-head{display:flex;align-items:center;gap:8px;height:40px}.mobile-sheet-head strong{font-size:15px;font-weight:600;flex:1}.mobile-sheet-close{width:36px;height:36px;padding:0;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-2)}.mobile-sheet-close:active{background:var(--surface-2)}.mobile-sheet-list{display:flex;flex-direction:column;gap:2px}.mobile-sheet-row{width:100%;min-height:52px;padding:7px 4px;border:0;border-radius:9px;background:transparent;display:flex;align-items:center;gap:9px;text-align:left}.mobile-sheet-row:active{background:var(--surface-2)}.mobile-sheet-row-icon{width:32px;height:32px;border-radius:8px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);background:var(--brand-weak)}.mobile-sheet-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mobile-sheet-row-main strong{font-size:13px;font-weight:500;color:var(--text)}.mobile-sheet-row-main em{font-size:10.5px;font-style:normal;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sheet-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--brand);color:var(--white);font-size:9.5px;line-height:18px;text-align:center}.mobile-sheet-chevron{color:var(--text-3);flex:none}.mobile-sheet-meta{margin-top:7px;padding:10px 4px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:5px;font-size:10.5px;color:var(--text-3)}.mobile-sheet-conn{display:inline-flex;align-items:center;gap:5px}.cf-mobile-tabs{display:flex;align-items:center;gap:4px;padding:5px 8px;border-bottom:1px solid var(--border);background:var(--surface)}.cf-mobile-tabs button{flex:1;height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-3);font-size:12px}.cf-mobile-tabs button.is-active{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand);font-weight:500}.app-shell.is-mobile .confirm-split .cf-body{flex-direction:column}.app-shell.is-mobile .confirm-split .cf-left{flex:1;border-right:0;padding-right:0}.app-shell.is-mobile .confirm-split .cf-right{display:none;flex:1;min-height:0}.app-shell.is-mobile .confirm-split .cf-body.is-mobile-pdf .cf-left{display:none}.app-shell.is-mobile .confirm-split .cf-body.is-mobile-pdf .cf-right{display:flex}.app-shell.is-mobile .confirm-split .cf-page{padding-right:12px}.app-shell.is-mobile .confirm-split .cf-bar h3,.app-shell.is-mobile .source-pane.is-pdf .source-pane-bar{display:none}.app-shell.is-mobile .cf-find-label{display:inline-block;max-width:8.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.app-shell.is-mobile .modal{width:100%!important;max-width:none!important;height:100dvh;max-height:none;border-radius:0}.app-shell.is-mobile .modal-body{max-height:none}}.chat-results-btn,.composer-plus,.composer-plus-layer{display:none}@media (max-width: 767px){.app-shell.is-mobile .chat-results-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-2);flex:none}.app-shell.is-mobile .chat-results-btn.is-active{background:var(--brand-weak);color:var(--brand)}.app-shell.is-mobile .chat-task-btn{position:relative}.chat-task-badge,.chat-results-count{position:absolute;top:1px;right:1px;min-width:13px;height:13px;padding:0 3px;border-radius:999px;background:var(--brand);color:var(--white);font-size:8px;line-height:13px;text-align:center;box-shadow:0 0 0 1.5px var(--surface)}.chat-results-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:115}.chat-results-pop{position:absolute;top:calc(46px + env(safe-area-inset-top));left:8px;right:8px;max-height:58dvh;overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-3)}.chat-results-head{display:flex;align-items:center;gap:8px;height:38px;padding:0 7px}.chat-results-head strong{flex:1;font-size:13px;font-weight:600}.chat-results-head button{width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center}.chat-results-head button:active{background:var(--surface-2)}.chat-results-list{display:flex;flex-direction:column;gap:2px}.chat-results-row{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:8px 6px;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--text)}.chat-results-row:active{background:var(--surface-2)}.chat-results-icon{width:28px;height:28px;border-radius:7px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-weak);color:var(--brand)}.chat-results-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.chat-results-main strong{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-results-main em{font-size:10.5px;font-style:normal;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-results-row>svg{color:var(--text-3);flex:none}.chat-results-empty{padding:22px 8px;text-align:center;color:var(--text-3);font-size:12px}.app-shell.is-mobile .composer-wrap{padding:5px 8px calc(7px + env(safe-area-inset-bottom))}.app-shell.is-mobile .composer{position:relative;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-shell.is-mobile .composer:focus-within{border-color:transparent;box-shadow:none}.app-shell.is-mobile .composer-main{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.app-shell.is-mobile .composer-main .composer-bar{display:contents}.app-shell.is-mobile .composer-main .composer-voice,.app-shell.is-mobile .composer-main .composer-files{flex:0 0 100%;order:0}.app-shell.is-mobile .composer-voice-toggle{order:1;display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-2)}.app-shell.is-mobile .composer-voice-toggle.is-active{color:var(--brand);border-color:var(--brand-line);background:var(--brand-weak)}.app-shell.is-mobile .composer-voice-toggle.is-unavailable{opacity:.55}.app-shell.is-mobile .composer-main .composer-input{order:2;flex:1 1 auto;width:auto;min-width:0;min-height:40px;max-height:120px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;outline:0;background:var(--surface);resize:none;font-size:15px;line-height:22px}.app-shell.is-mobile .composer-main .composer-input:focus{border-color:var(--brand)}.app-shell.is-mobile .voice-hold{order:2;flex:1 1 auto;min-width:0;height:40px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:15px;font-weight:500;letter-spacing:.5px;touch-action:none;user-select:none;-webkit-user-select:none}.app-shell.is-mobile .voice-hold.is-holding{border-color:var(--brand);background:var(--brand-weak);color:var(--brand)}.app-shell.is-mobile .voice-hold.is-busy{color:var(--text-3)}.app-shell.is-mobile .voice-draft{margin-bottom:6px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.voice-draft-text{font-size:14px;line-height:1.55;color:var(--text);max-height:120px;overflow-y:auto}.voice-draft-actions{display:flex;justify-content:flex-end;gap:6px}.voice-draft-actions button{height:28px;padding:0 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text-2);font-size:12px}.voice-draft-actions button.is-primary{background:var(--brand);border-color:var(--brand);color:var(--white)}.app-shell.is-mobile .composer-main .composer-plus{order:3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-2);flex:none}.app-shell.is-mobile .composer-main .composer-plus.is-active{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand)}.app-shell.is-mobile .composer-main .composer-send{order:4;flex:none;height:34px;padding:0 10px}.app-shell.is-mobile .composer-main .composer-attach,.app-shell.is-mobile .composer-main .composer-hint,.app-shell.is-mobile .composer-main .composer-bar>.spacer{display:none}.app-shell.is-mobile .composer-main .composer-files{padding-bottom:2px}.composer-plus-layer{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;background:transparent}.composer-plus-menu{position:fixed;right:12px;bottom:calc(env(safe-area-inset-bottom) + 64px);min-width:154px;padding:5px;z-index:131;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-3)}.composer-plus-menu button{width:100%;height:42px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text);display:flex;align-items:center;gap:9px;font-size:13px;text-align:left}.composer-plus-menu button:active{background:var(--surface-2)}.composer-plus-menu button>span{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand)}}.vault-browser{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.vault-bar{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border)}.vault-bar-icon{width:30px;height:30px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--brand-weak);color:var(--brand)}.vault-bar-title{min-width:0}.vault-bar-title h2{margin:0;font-size:14.5px;font-weight:600;line-height:1.3}.vault-bar-title p{margin:2px 0 0;font-size:11px;color:var(--text-3)}.vault-body{flex:1;min-height:0;display:flex;container-type:inline-size}.vault-side{flex:0 0 39%;min-width:240px;max-width:430px;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.vault-side-head{flex:0 0 auto;padding:8px 10px 6px;border-bottom:1px solid var(--border)}.vault-search{position:relative;display:flex;align-items:center}.vault-search>svg{position:absolute;left:8px;color:var(--text-3);pointer-events:none}.vault-search input{width:100%;height:28px;padding:0 26px 0 27px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);font-size:12px;outline:none}.vault-search input:focus{border-color:var(--brand);background:var(--surface)}.vault-search-clear{position:absolute;right:4px;width:20px;height:20px;border:0;border-radius:4px;background:transparent;color:var(--text-3);display:flex;align-items:center;justify-content:center}.vault-search-clear:hover{background:var(--surface-2);color:var(--text)}.vault-side-hint{margin-top:6px;font-size:10.5px;color:var(--text-3)}.vault-tree{flex:1;min-height:0;overflow:auto;padding:5px 5px 14px}.vault-row{width:100%;height:26px;display:flex;align-items:center;gap:4px;padding:0 6px;border:0;border-radius:5px;background:transparent;color:var(--text-2);font-size:12.5px;text-align:left}.vault-row:hover{background:var(--surface-2)}.vault-row.is-dir{color:var(--text)}.vault-row.is-selected{background:var(--brand-weak);color:var(--brand);font-weight:500}.vault-chevron{width:13px;height:13px;flex:none;color:var(--text-3);display:flex;align-items:center;justify-content:center}.vault-row-icon{flex:none;color:var(--text-3)}.vault-row.is-dir .vault-row-icon{color:var(--brand);opacity:.75}.vault-row.is-selected .vault-row-icon{color:var(--brand);opacity:1}.vault-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-hit{width:100%;display:flex;flex-direction:column;gap:1px;align-items:flex-start;padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--text-2);text-align:left}.vault-hit:hover{background:var(--surface-2)}.vault-hit.is-selected{background:var(--brand-weak)}.vault-hit-name{display:flex;align-items:center;gap:5px;max-width:100%;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-hit-name svg{color:var(--text-3)}.vault-hit-path{max-width:100%;font-size:10px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-empty{padding:10px;font-size:11.5px;color:var(--text-3)}.vault-error{display:flex;align-items:center;gap:6px;margin:6px;padding:8px;border:1px solid var(--danger-border);border-radius:6px;background:var(--danger-weak);color:var(--danger);font-size:11.5px}.vault-error span{flex:1;overflow-wrap:anywhere}.vault-error button{padding:2px 7px;border:1px solid var(--danger-border);border-radius:5px;background:var(--surface);color:var(--danger);font-size:11px}.vault-preview{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.vault-preview-empty{justify-content:center}.vault-preview-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.vault-preview-back{display:none;width:26px;height:26px;flex:none;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-2)}.vault-preview-back:hover{background:var(--surface-2);color:var(--text)}.vault-preview-icon{width:26px;height:26px;flex:none;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-2)}.vault-preview-head{flex:1;min-width:0}.vault-file-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-file-path{margin-top:1px;font-size:10.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-preview-actions{display:flex;align-items:center;gap:4px;flex:none}.vault-icon-action,.vault-action{height:26px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text-2);font-size:11.5px;text-decoration:none}.vault-icon-action{width:26px;padding:0;justify-content:center}.vault-icon-action:hover,.vault-action:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.vault-action.is-primary{background:var(--brand);border-color:var(--brand);color:var(--white)}.vault-action.is-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--white)}.vault-preview-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.vault-preview-body.is-pdf{overflow:hidden}.vault-doc{width:min(860px,calc(100% - 32px));margin:16px auto 28px;padding:24px 28px 30px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh-1)}.vault-props{display:grid;grid-template-columns:96px minmax(0,1fr);gap:5px 10px;margin:0 0 16px;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:11.5px}.vault-props dt{color:var(--text-3)}.vault-props dd{margin:0;color:var(--text-2);overflow-wrap:anywhere}.vault-notice{display:flex;align-items:flex-start;gap:7px;margin:10px 12px 0;padding:8px 10px;border:1px solid var(--warn-line);border-radius:7px;background:var(--warn-weak);color:var(--warn);font-size:11.5px}.vault-loading{display:flex;align-items:center;gap:8px;padding:20px;color:var(--text-3);font-size:12px}.vault-preview-fail{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:20px;padding:16px;border:1px solid var(--danger-border);border-radius:8px;background:var(--danger-weak);color:var(--danger);font-size:12.5px}.vault-preview-fail p{margin:0}.vault-code{margin:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.vault-code-bar{display:flex;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.vault-code-bar button{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--text-3);font-size:10.5px}.vault-code-bar button:hover{color:var(--brand)}.vault-code pre{margin:0;padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;-moz-tab-size:2;tab-size:2}.vault-code pre.is-zoom{font-size:13.5px}.vault-table-wrap{flex:1;min-height:0;display:flex;flex-direction:column;margin:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.vault-table-bar{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden}.vault-table-bar span{overflow:hidden;text-overflow:ellipsis}.vault-table-bar button{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--brand);font-size:10.5px}.vault-table-scroll{flex:1;min-height:0;overflow:auto}.vault-table-scroll table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11.5px}.vault-table-scroll th,.vault-table-scroll td{border:1px solid var(--border);padding:4px 8px;text-align:left;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-table-scroll th{position:sticky;top:0;z-index:1;background:var(--surface-2);font-weight:600}.vault-table-scroll tr:nth-child(2n) td{background:var(--surface-3)}.vault-raw{flex:1;min-height:0;margin:0;padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}.vault-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:20px}.vault-image img{max-width:100%;max-height:100%;object-fit:contain;background:var(--white);border-radius:4px;box-shadow:var(--sh-2)}.vault-pdf-wrap{flex:1;min-height:0;display:flex;background:var(--pdf-bg)}.vault-pdf{flex:1;width:100%;min-height:0;border:0;display:block;background:var(--white)}.vault-meta-card{max-width:460px;margin:28px auto;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh-1)}.vault-meta-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-weak);color:var(--brand)}.vault-meta-card h3{margin:12px 0 6px;font-size:14px;overflow-wrap:anywhere}.vault-meta-card .tip{margin:0 0 12px;font-size:12px;line-height:1.7;color:var(--text-3)}.vault-meta{display:grid;grid-template-columns:74px minmax(0,1fr);gap:5px 10px;margin:0 0 14px;padding-top:12px;border-top:1px solid var(--border);font-size:11.5px}.vault-meta dt{color:var(--text-3)}.vault-meta dd{margin:0;color:var(--text-2);overflow-wrap:anywhere}@container (max-width: 680px){.vault-side{flex:1 1 auto;min-width:0;max-width:none;border-right:0}.vault-browser.has-preview .vault-side{display:none}.vault-browser:not(.has-preview) .vault-preview{display:none}.vault-preview-back{display:inline-flex}}
