:root{color-scheme:light dark;--bg: #f5f5f7;--surface: #ffffff;--surface-secondary: #fafafa;--text: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--border: #d2d2d7;--border-strong: #b8b8be;--fill: #f5f5f7;--accent: #0071e3;--accent-hover: #0077ed;--accent-soft: #e8f0fe;--accent-2: #bf5af2;--on-accent: #ffffff;--success: #34c759;--success-soft: #e3f1e6;--success-ink: #1c7c3e;--warning: #ff9500;--warning-soft: #fff7e6;--warning-ink: #8a6d00;--error: #ff3b30;--error-soft: #ffe5e3;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--ease: cubic-bezier(.25, .1, .25, 1);--duration-micro: .15s;--duration-entrance: .3s;--duration-page: .15s}[data-theme=dark]{--bg: #1c1c1e;--surface: #2c2c2e;--surface-secondary: #2a2a2c;--text: #ebebeb;--text-secondary: #98989d;--text-tertiary: #6e6e73;--border: #3a3a3c;--border-strong: #48484a;--fill: #3a3a3c;--accent: #478cd1;--accent-hover: #70a6db;--accent-soft: rgba(71, 140, 209, .16);--success: #30d158;--success-soft: rgba(52, 199, 89, .16);--success-ink: #30d158;--warning: #ff9f0a;--warning-soft: rgba(255, 149, 0, .16);--warning-ink: #ffb340;--error: #ff6b60;--error-soft: rgba(255, 59, 48, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #1c1c1e;--surface: #2c2c2e;--surface-secondary: #2a2a2c;--text: #ebebeb;--text-secondary: #98989d;--text-tertiary: #6e6e73;--border: #3a3a3c;--border-strong: #48484a;--fill: #3a3a3c;--accent: #478cd1;--accent-hover: #70a6db;--accent-soft: rgba(71, 140, 209, .16);--success: #30d158;--success-soft: rgba(52, 199, 89, .16);--success-ink: #30d158;--warning: #ff9f0a;--warning-soft: rgba(255, 149, 0, .16);--warning-ink: #ffb340;--error: #ff6b60;--error-soft: rgba(255, 59, 48, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}.auth-gate{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 18% 12%,rgba(10,132,255,.12),transparent 38%),radial-gradient(ellipse at 84% 88%,rgba(191,90,242,.1),transparent 36%),var(--bg)}.auth-card{width:min(100%,410px);display:grid;gap:16px;padding:36px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 24px 70px #141e321f}.auth-brand{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em}.auth-card h1{margin:0;font-size:26px;letter-spacing:-.03em}.auth-card>p{margin:-10px 0 4px;color:var(--text-secondary)}.auth-card label{display:grid;gap:7px;font-size:13px;font-weight:600}.auth-card input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit}.auth-card input:focus-visible,.auth-card button:focus-visible,.type-logout-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px}.auth-card button{min-height:44px;border:0;border-radius:9px;background:var(--accent);color:var(--on-accent);font-weight:650}.auth-card button:disabled{cursor:wait;opacity:.65}.auth-card .auth-error{margin:0;color:var(--error)}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 14px;cursor:pointer;font-weight:500;transition:background var(--duration-micro) var(--ease),border-color var(--duration-micro) var(--ease),transform var(--duration-micro) var(--ease)}button:hover:not(:disabled){background:var(--fill)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{background:transparent;border:1px solid transparent;color:var(--text-secondary)}button.ghost:hover:not(:disabled){background:var(--fill);color:var(--text)}button.danger{background:var(--surface);color:var(--error);border-color:var(--border)}button.danger:hover:not(:disabled){background:var(--error-soft);border-color:var(--error);color:var(--error)}button.text-btn{background:transparent;border:none;color:var(--accent);padding:4px 8px}button.text-btn:hover:not(:disabled){background:var(--accent-soft)}textarea,input[type=text],input[type=password],input[type=number]{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;width:100%;transition:border-color var(--duration-micro) var(--ease),box-shadow var(--duration-micro) var(--ease)}select{font:inherit;color:inherit;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 32px 8px 10px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:border-color var(--duration-micro) var(--ease),box-shadow var(--duration-micro) var(--ease)}select:hover{border-color:var(--border-strong)}textarea:focus,input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0071e31a}textarea{resize:vertical}::placeholder{color:var(--text-tertiary)}.app-shell{display:grid;grid-template-rows:44px 1fr;height:100%}.app-header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid var(--border);background:var(--surface);height:44px}.app-header .brand{font-weight:600;font-size:var(--text-sm);color:var(--text);letter-spacing:-.01em}.app-header .nav{margin-left:auto;display:flex;gap:var(--space-1);align-items:center}.app-header .nav button{background:transparent;border:none;padding:5px 12px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);font-weight:400}.app-header .nav button:hover:not(:disabled){background:var(--fill);color:var(--text)}.app-header .nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.app-body{padding:var(--space-5);overflow-y:auto;overflow-x:hidden}.conversation-home{display:flex;flex-direction:column;gap:var(--space-5);max-width:720px;margin:0 auto;width:100%;min-height:100%}.conversation-session-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:var(--space-3)}.conversation-session-shell .conversation-thread{flex:1 1 auto;overflow-y:auto;padding-bottom:var(--space-3);min-height:0}.composer-sticky{flex-shrink:0;position:sticky;bottom:0;background:var(--bg);padding-top:var(--space-2);border-top:1px solid var(--border);margin:0 calc(var(--space-4) * -1);padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:var(--space-3)}.conversation-empty{padding:var(--space-6) 0 var(--space-4) 0;animation:fadeInUp var(--duration-entrance) var(--ease) both}.conversation-empty h1{margin:0 0 var(--space-2) 0;font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em;color:var(--text)}.conversation-empty .hint{margin:0 0 var(--space-5) 0;color:var(--text-secondary);font-size:var(--text-lg)}.conversation-header{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3)}.conversation-header .active-account{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.conversation-header .active-account select{width:auto;padding:4px 8px;font-size:var(--text-sm);background:var(--surface)}.starter-prompts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.starter-prompt{font:inherit;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--duration-micro) var(--ease)}.starter-prompt:hover:not(:disabled){background:var(--fill);border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.starter-prompt:active:not(:disabled){transform:translateY(0)}.starter-prompt-direct{border-style:dashed}.composer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--duration-micro) var(--ease),box-shadow var(--duration-micro) var(--ease)}.composer:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #0071e31a}.composer textarea{width:100%;border:none;outline:none;resize:vertical;min-height:80px;font:inherit;background:transparent;padding:var(--space-2);font-size:var(--text-lg);line-height:1.6}.composer textarea:focus{box-shadow:none;border:none}.composer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.composer button.primary{padding:7px 18px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.voice-input{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.voice-mic{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--fill);color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:var(--text-xs);line-height:1;transition:all var(--duration-micro) var(--ease)}.voice-mic:hover:not(:disabled){background:var(--border);color:var(--text)}.voice-mic-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--text-tertiary)}.voice-mic.recording{background:var(--error-soft);border-color:var(--error);color:var(--error)}.voice-mic.recording .voice-mic-dot{background:var(--error);animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{transform:scale(.85);opacity:.6}to{transform:scale(1.15);opacity:1}}.voice-interim{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-error{margin:0;font-size:var(--text-xs);color:var(--error)}.conversation-thread{list-style:none;margin:0;padding:0 0 var(--space-5) 0;display:flex;flex-direction:column;gap:var(--space-3)}.conv-thinking{list-style:none;color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;padding:var(--space-2) 0}.user-msg{background:var(--accent-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);align-self:flex-end;max-width:80%;font-size:var(--text-base);line-height:1.6;animation:fadeInUp var(--duration-entrance) var(--ease) both}.assistant-msg{background:var(--surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);white-space:pre-wrap;line-height:1.7;font-size:var(--text-base);animation:fadeInUp var(--duration-entrance) var(--ease) both}.tool-call,.tool-result{background:transparent;border:none;padding:0;font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);opacity:1}.tool-call-loading{color:var(--text-secondary);padding:var(--space-2) 0}.tool-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:tool-pulse 1.5s ease-in-out infinite}@keyframes tool-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.tool-loading-text{font-size:var(--text-sm)}.tool-result-error{color:var(--danger);padding:var(--space-2) 0}.tool-error-text{font-size:var(--text-sm)}.system-event{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic}.format-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-2) 0}.format-preset-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.format-preview-html{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--bg);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-3)}.format-preview-html h1,.format-preview-html h2,.format-preview-html h3{margin:var(--space-3) 0 var(--space-2) 0}.format-preview-html p{margin:0 0 var(--space-2) 0}.format-preview-card .artifact-apply{width:100%}.editor-layout{position:relative}.preview-panel{position:fixed;top:60px;right:16px;width:390px;max-width:calc(100vw - 32px);max-height:calc(100vh - 92px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:30;overflow:hidden}.preview-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-sm)}.preview-panel-header strong{font-weight:600}.preview-close{background:transparent;border:none;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.preview-close:hover{background:var(--fill)}.preset-switcher{display:flex;gap:4px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.preset-tab{flex:1;padding:4px 0;font-size:var(--text-xs);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.preset-tab:hover{background:var(--fill)}.preset-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.preview-loading{padding:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.preview-html{overflow-y:auto;padding:var(--space-4);font-size:15px;line-height:1.75;color:var(--text);background:var(--surface)}.preview-html h1{font-size:var(--text-xl);font-weight:700;margin:var(--space-4) 0 var(--space-2)}.preview-html h2{font-size:var(--text-lg);font-weight:700;margin:var(--space-4) 0 var(--space-2)}.preview-html h3{font-size:var(--text-base);font-weight:600;margin:var(--space-3) 0 var(--space-2)}.preview-html p{margin:0 0 var(--space-3)}.preview-html ul,.preview-html ol{margin:0 0 var(--space-3);padding-left:1.5em}.preview-html li{margin-bottom:var(--space-1)}.preview-html blockquote{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--border);color:var(--text-secondary);background:var(--bg)}.recent-articles{border-top:1px solid var(--border);padding-top:var(--space-4);margin-top:var(--space-2)}.recent-articles h3{margin:0 0 var(--space-3) 0;font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.recent-articles ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.recent-article-link{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:var(--space-3) var(--space-2);background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;cursor:pointer;font:inherit;transition:background var(--duration-micro) var(--ease)}.recent-article-link:hover{background:var(--fill)}.recent-article-link:last-child{border-bottom:none}.recent-article-link .title{font-weight:500;color:var(--text);font-size:var(--text-base)}.recent-article-link .meta{color:var(--text-tertiary);font-size:var(--text-xs)}.artifact-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--surface);animation:fadeInUp var(--duration-entrance) var(--ease) both;transition:border-color var(--duration-micro) var(--ease),box-shadow var(--duration-micro) var(--ease),transform var(--duration-micro) var(--ease)}.artifact-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.artifact-card.is-stale{opacity:.6;border-style:dashed}.artifact-card.is-resolved{opacity:.75}.artifact-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.artifact-kind-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.artifact-status-badge{font-size:var(--text-xs);padding:2px 8px;border-radius:999px}.artifact-status-badge.stale{background:var(--error-soft);color:var(--error)}.artifact-status-badge.resolved{background:var(--success-soft);color:var(--success-ink)}.artifact-apply,.artifact-ignore{margin-top:var(--space-3);padding:6px 14px;border-radius:var(--radius-sm);font:inherit;cursor:pointer;font-size:var(--text-sm);transition:all var(--duration-micro) var(--ease)}.artifact-apply{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);font-weight:500}.artifact-apply:hover:not(:disabled){background:var(--accent-hover)}.artifact-apply:disabled{opacity:.45;cursor:not-allowed}.artifact-ignore{background:transparent;border:1px solid var(--border);color:var(--text-secondary);margin-left:var(--space-2)}.artifact-ignore:hover:not(:disabled){background:var(--fill);color:var(--text)}.topic-candidates{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.topic-candidate{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);transition:border-color var(--duration-micro) var(--ease),background var(--duration-micro) var(--ease)}.topic-candidate:hover{border-color:var(--accent);background:var(--accent-soft)}.topic-title{font-weight:600;font-size:var(--text-base);margin-bottom:2px}.topic-angle,.topic-value,.topic-why{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.outline-title{font-weight:600;margin-bottom:var(--space-2);font-size:var(--text-base)}.outline-sections{margin:0;padding-left:var(--space-4);display:grid;gap:4px}.outline-heading{font-weight:500;font-size:var(--text-base)}.outline-purpose{color:var(--text-secondary);font-size:var(--text-sm);margin-left:6px}.article-artifact-title{font-weight:600;font-size:var(--text-lg)}.article-artifact-meta{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.suggestion-title{font-weight:600;font-size:var(--text-base)}.suggestion-explanation{font-size:var(--text-sm);margin-top:var(--space-1);color:var(--text-secondary)}.suggestion-replacement{background:var(--fill);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:pre-wrap;font-size:var(--text-sm);margin-top:var(--space-2);max-height:200px;overflow-y:auto}.article-page{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);min-height:100%}.split-workbench{display:flex;align-items:stretch;gap:var(--space-4);padding:var(--space-4);height:calc(100vh - 44px);box-sizing:border-box;overflow:hidden}.split-workbench .split-left{flex:1 1 auto;min-width:0;overflow-y:auto;position:relative}.split-workbench .article-page{max-width:none;padding-right:36px}.article-conversation-panel{flex:0 0 420px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);height:calc(100vh - 92px);min-height:0;position:sticky;top:60px;overflow:hidden;transition:flex-basis var(--duration-entrance) var(--ease),opacity var(--duration-entrance) var(--ease)}.split-workbench.panel-collapsed .article-conversation-panel{flex:0 0 56px}.article-conversation-panel.acp-collapsed{flex:0 0 56px;padding:var(--space-2) 0;align-items:center;justify-content:flex-start;gap:var(--space-2)}.acp-expand-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-secondary);padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:color var(--duration-micro) var(--ease),background var(--duration-micro) var(--ease)}.acp-expand-btn:hover{color:var(--accent);background:var(--accent-soft)}.acp-expand-label{font-size:11px;font-weight:500;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:2px}.acp-header{flex:0 0 auto;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.acp-header-left{display:flex;flex-direction:column;gap:2px;min-width:0}.acp-collapse-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;padding:0;transition:color var(--duration-micro) var(--ease),background var(--duration-micro) var(--ease)}.acp-collapse-btn:hover{color:var(--text);background:var(--fill)}.acp-title{font-size:var(--text-sm);font-weight:600;color:var(--text)}.acp-sub{font-size:var(--text-xs);color:var(--text-tertiary)}.acp-thread{flex:1 1 0;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-4)}.acp-thread .conversation-thread{margin:0;padding:0}.acp-quick-actions{flex:0 0 auto;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4) 0}.acp-quick-action{flex:1;padding:6px 0;font-size:var(--text-xs);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.acp-quick-action:hover{background:var(--fill);color:var(--text)}.acp-quick-action.is-running{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);cursor:progress}.acp-composer{flex:0 0 auto;display:flex;gap:var(--space-2);align-items:flex-end;padding:var(--space-2) var(--space-4) var(--space-3);background:var(--surface);border-top:1px solid var(--border)}.acp-composer textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);font-size:var(--text-sm);font-family:var(--font-sans);background:var(--surface);color:var(--text)}.acp-composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0071e31a}.review-confirm{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;background:var(--accent-soft);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.review-confirm-text{font-size:var(--text-xs);color:var(--text-secondary);flex:1 1 auto}.annotation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.annotation-anchor-wrap{position:absolute;right:-28px;transform:translateY(2px);pointer-events:auto;z-index:2}.annotation-anchor-wrap.off-screen{display:none}.inline-anchor{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--text-xs);border-radius:999px;background:var(--fill);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.inline-anchor:hover,.inline-anchor.highlighted{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.inline-anchor-glyph{font-size:12px;line-height:1}.inline-anchor-label{font-weight:500}.inline-anchor.sev-must_fix{border-color:#ff3b3073;color:var(--error)}.inline-anchor.sev-must_fix:hover,.inline-anchor.sev-must_fix.highlighted{background:#ff3b3014;border-color:var(--error)}.inline-anchor.sev-suggestion{border-color:var(--accent);color:var(--accent)}.mini-diff{margin:var(--space-2) 0;background:var(--fill);border-radius:var(--radius-sm);padding:var(--space-2);font-size:var(--text-sm);line-height:1.55}.mini-diff.compact{padding:var(--space-2)}.mini-diff-title{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-1)}.mini-diff-pair{display:flex;flex-direction:column;gap:var(--space-2)}.mini-diff-side{border-radius:var(--radius-sm);padding:var(--space-2);position:relative}.mini-diff-side .mini-diff-label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px}.mini-diff-side.before{background:#ff3b3012;border:1px solid rgba(255,59,48,.25)}.mini-diff-side.before .mini-diff-text{color:var(--text-tertiary);text-decoration:line-through;text-decoration-color:#ff3b3066}.mini-diff-side.after{background:#34c7591a;border:1px solid rgba(52,199,89,.35)}.mini-diff-side.after .mini-diff-text{color:var(--text);font-weight:500}.mini-diff-text{margin:0;white-space:pre-wrap;word-break:break-word}.mini-diff-toggle{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);background:transparent;border:none;padding:2px 0;cursor:pointer}.mini-diff-toggle:hover{color:var(--accent)}.suggestion-card{transition:box-shadow .12s ease,border-color .12s ease}.suggestion-card.highlighted{box-shadow:0 0 0 2px var(--accent-soft);border-color:var(--accent)}.review-summary{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-2)}.review-issue-row{background:var(--fill);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-2);cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.review-issue-row.sev-must_fix{border-color:#ff3b3059}.review-issue-row.sev-suggestion{border-color:var(--accent)}.review-issue-row.highlighted{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft);border-color:var(--accent)}.review-issue-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.issue-sev{font-size:10px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.issue-sev.sev-must_fix{color:var(--error);border-color:var(--error)}.issue-sev.sev-suggestion{color:var(--accent);border-color:var(--accent)}.issue-title{font-weight:500}.review-issue-explain{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0}.review-issue-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.review-issue-actions .artifact-apply,.review-issue-actions .artifact-ignore{flex:0 0 auto}@media (max-width: 1080px){.split-workbench{flex-direction:column;height:auto;min-height:calc(100vh - 44px);overflow:visible}.split-workbench .split-left{overflow:visible}.article-conversation-panel{flex:0 0 auto;position:static;height:auto;max-height:60vh}.preview-panel{left:16px;right:16px;width:auto;max-height:55vh}}.article-header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.article-header .back-btn{background:transparent;border:none;color:var(--accent);padding:4px 8px;font-size:var(--text-sm);cursor:pointer}.article-header .back-btn:hover{background:var(--accent-soft)}.article-title-input{flex:1;min-width:200px;font-size:var(--text-2xl);font-weight:700;border:none;background:transparent;padding:var(--space-1) 0;color:var(--text)}.article-title-input:focus{outline:none;box-shadow:none;border:none}.article-actions{display:flex;gap:var(--space-2);align-items:center}.article-actions .publish-quick{background:var(--success);border-color:var(--success)}.article-actions .publish-quick:hover:not(:disabled){background:var(--success-ink);border-color:var(--success-ink)}.primary-action{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.primary-action .label{font-size:var(--text-lg);font-weight:600;color:var(--text);margin-bottom:var(--space-1)}.primary-action .sub{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.autosave-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-tertiary)}.autosave-badge.saving{color:var(--accent)}.autosave-badge.saved{color:var(--text-tertiary)}.autosave-badge.error{color:var(--error)}.autosave-badge .autosave-retry{margin-left:6px;padding:0 6px;font-size:inherit;color:var(--accent);background:none;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer}.autosave-badge .autosave-retry:hover{background:var(--accent-weak, transparent)}.title-save-error{margin-left:10px;font-size:var(--text-xs);color:var(--error);white-space:nowrap}.title-save-error button{margin-left:4px;padding:0 6px;font-size:inherit;color:var(--error);background:none;border:1px solid var(--error);border-radius:var(--radius-sm);cursor:pointer}.tiptap-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.tiptap-toolbar{display:flex;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);background:var(--surface-secondary)}.tiptap-toolbar button{background:transparent;border:1px solid transparent;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--duration-micro) var(--ease)}.tiptap-toolbar button:hover:not(:disabled){background:var(--surface);border-color:var(--border);color:var(--text)}.tiptap-toolbar button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tiptap-toolbar button:disabled{opacity:.4;cursor:not-allowed}.tiptap-toolbar .toolbar-spacer{flex:1}.tiptap-editor .tiptap-editor-surface{outline:none;white-space:pre-wrap;word-break:break-word;font-family:var(--font-sans);font-size:var(--text-lg);line-height:1.75;min-height:300px;padding:var(--space-4) var(--space-5);color:var(--text)}.tiptap-editor .tiptap-editor-surface p{margin:0 0 var(--space-3)}.tiptap-editor .tiptap-editor-surface h1{font-size:var(--text-2xl);margin:var(--space-4) 0 var(--space-2);font-weight:700}.tiptap-editor .tiptap-editor-surface h2{font-size:var(--text-xl);margin:var(--space-4) 0 var(--space-2);font-weight:600}.tiptap-editor .tiptap-editor-surface h3{font-size:var(--text-lg);margin:var(--space-3) 0 var(--space-2);font-weight:600}.tiptap-editor .tiptap-editor-surface blockquote{border-left:3px solid var(--border);margin:var(--space-3) 0;padding-left:var(--space-3);color:var(--text-secondary)}.tiptap-editor .tiptap-editor-surface ul,.tiptap-editor .tiptap-editor-surface ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.tiptap-editor .tiptap-editor-surface li{margin:var(--space-1) 0}.tiptap-editor .tiptap-editor-surface:focus{outline:none}.selection-action-bar{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:var(--space-2)}.selection-action-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.selection-hint{font-size:var(--text-xs);color:var(--text-secondary);margin-right:var(--space-2)}.selection-preset{padding:4px 12px;font-size:var(--text-sm);border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all var(--duration-micro) var(--ease)}.selection-preset.active,.selection-preset:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.selection-ask-row{display:grid;gap:var(--space-2);grid-template-columns:1fr auto auto}.selection-ask-row textarea{resize:vertical;min-height:36px}.version-history{padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:var(--space-2)}.version-history>header{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);font-weight:500}.version-list{list-style:none;padding:0;margin:0;display:grid;gap:2px}.version-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--fill)}.version-item:last-child{border-bottom:none}.version-row{display:flex;align-items:center;gap:var(--space-3);flex:1;background:none;border:none;text-align:left;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm)}.version-row:hover{background:var(--fill)}.version-item.current .version-row{background:var(--accent-soft)}.version-row .vno{font-weight:600;min-width:30px}.version-row .when{color:var(--text-tertiary);font-size:var(--text-xs);margin-left:auto}.settings-page{max-width:680px;margin:0 auto;padding:var(--space-5) 0;display:flex;flex-direction:column;gap:var(--space-5)}.settings-page h1{margin:0;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.settings-section h2{margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.005em}.settings-section h3{margin:0;font-size:var(--text-base);font-weight:600}.settings-section .section-desc,.settings-section .hint{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.form-row:last-child{margin-bottom:0}.form-row label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.form-row input,.form-row select,.form-row textarea{font-size:var(--text-base)}.form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--fill)}.account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.account-list li{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);transition:border-color var(--duration-micro) var(--ease);background:var(--surface)}.account-list li.active{border-color:var(--accent);background:var(--accent-soft)}.account-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.account-name{font-size:var(--text-base);font-weight:600}.meta-id{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--fill);padding:2px 6px;border-radius:var(--radius-sm);color:var(--text-secondary)}.account-actions{display:flex;gap:var(--space-2);flex-shrink:0}.account-actions button{padding:4px 12px;font-size:var(--text-xs)}.account-test-result{margin-top:var(--space-2);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--text-xs)}.account-test-result.success{background:var(--success-soft);color:var(--success-ink)}.account-test-result.error{background:var(--error-soft);color:var(--error)}.settings-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.settings-header h2{margin:0;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em}.settings-header .back{background:transparent;border:none;color:var(--accent);padding:4px 8px;font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm)}.settings-header .back:hover{background:var(--accent-soft)}.profile-scope-banner{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0 0 var(--space-3) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--accent-soft);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:var(--text-sm)}.profile-scope-banner .profile-scope-label{color:var(--text-secondary)}.profile-scope-banner .profile-scope-name{color:var(--text);font-weight:600}.profile-scope-banner .profile-scope-tip{margin-left:auto;font-size:var(--text-xs);color:var(--text-secondary)}.settings-form{display:flex;flex-direction:column;gap:var(--space-3)}.settings-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.settings-form label>span{font-size:var(--text-sm)}.settings-form label>input,.settings-form label>select,.settings-form label>textarea{font-size:var(--text-base);color:var(--text);padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--duration-micro) var(--ease),box-shadow var(--duration-micro) var(--ease)}.settings-form label>input:hover,.settings-form label>select:hover,.settings-form label>textarea:hover{border-color:var(--border-strong)}.settings-form label>input:focus,.settings-form label>select:focus,.settings-form label>textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.settings-actions{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--fill)}.settings-actions .hint{margin:0;font-size:var(--text-xs)}.test-result{margin:var(--space-2) 0 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.test-result.ok{background:var(--success-soft);color:var(--success-ink)}.test-result.fail{background:var(--error-soft);color:var(--error)}.status{font-size:var(--text-xs);padding:2px 8px;border-radius:999px;background:var(--fill);color:var(--text-secondary)}.status-missing{background:var(--error-soft);color:var(--error)}.status-configured,.status-ready{background:var(--success-soft);color:var(--success-ink)}.status-blocked_env{background:var(--warning-soft);color:var(--warning-ink)}.settings-form .row{display:flex;gap:var(--space-3);align-items:flex-end}.settings-form .row label{flex:1}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn var(--duration-page) var(--ease) both}.dialog{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-5);width:90%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-md);animation:scaleIn var(--duration-entrance) var(--ease) both}.dialog h3{margin:0;font-size:var(--text-lg);font-weight:600}.dialog label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary)}.dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}.error-banner{padding:var(--space-2) var(--space-3);background:var(--error-soft);border:1px solid var(--error);color:var(--error);border-radius:var(--radius-sm);font-size:var(--text-sm)}.loading-pill{padding:var(--space-2) var(--space-3);color:var(--text-secondary);font-size:var(--text-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width: 1024px){.app-body{padding:var(--space-4)}.conversation-home,.article-page,.settings-page{max-width:100%}}@media (max-width: 768px){.app-header{padding:0 var(--space-3)}.app-body{padding:var(--space-3)}.conversation-empty h1{font-size:var(--text-2xl)}.composer textarea{font-size:var(--text-base);min-height:60px}.tiptap-editor .tiptap-editor-surface{padding:var(--space-3);font-size:var(--text-base)}.selection-ask-row{grid-template-columns:1fr}.article-actions{width:100%;justify-content:flex-end}.onboarding-modal{width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow-y:auto}.onboarding-options{grid-template-columns:1fr}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.onboarding-modal{position:relative;background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);width:560px;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);overflow-y:auto;box-shadow:0 24px 80px #0000004d;animation:scaleIn .25s cubic-bezier(.16,1,.3,1)}.onboarding-close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);font-size:20px;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.onboarding-close:hover{background:var(--surface-secondary);color:var(--text-primary)}.onboarding-progress{height:4px;background:var(--border);border-radius:2px;margin-bottom:var(--space-2);overflow:hidden}.onboarding-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width .3s cubic-bezier(.16,1,.3,1)}.onboarding-step-indicator{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-4);font-weight:500}.onboarding-title{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.02em}.onboarding-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-5);line-height:1.6}.onboarding-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.onboarding-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.onboarding-option:hover{border-color:var(--accent);background:var(--accent-soft)}.onboarding-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.option-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.onboarding-option.selected .option-radio{border-color:var(--accent)}.radio-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.option-content{display:flex;flex-direction:column;gap:2px;min-width:0}.option-label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.option-badge{font-size:10px;font-weight:600;padding:2px 6px;background:var(--accent);color:#fff;border-radius:4px;letter-spacing:.02em}.option-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.onboarding-custom{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.onboarding-custom-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-primary);font-size:var(--text-sm);outline:none;transition:all .15s ease}.onboarding-custom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.onboarding-custom-input::placeholder{color:var(--text-tertiary)}.onboarding-custom-btn{padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.onboarding-custom-btn:hover{background:var(--accent-hover)}.onboarding-error{padding:var(--space-2) var(--space-3);background:var(--error-soft);border:1px solid var(--error);color:var(--error);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-3)}.onboarding-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.onboarding-skip-btn{padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-tertiary);border:none;font-size:var(--text-sm);cursor:pointer;transition:color .15s ease}.onboarding-skip-btn:hover{color:var(--text-secondary)}.onboarding-primary-btn{padding:var(--space-2) var(--space-5);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.onboarding-primary-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.onboarding-primary-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-done{text-align:center;padding:var(--space-6) var(--space-4)}.onboarding-done-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);box-shadow:0 8px 24px #2997ff4d}.onboarding-done h2{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.onboarding-done p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-5);max-width:360px;margin-left:auto;margin-right:auto}.onboarding-answers-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.answer-tag{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-2) var(--space-3);background:var(--surface-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs)}.answer-tag span{color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.answer-tag:not(span){color:var(--text-primary);font-weight:500}.agent-panel-toggle{position:fixed;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:0 4px 24px #0000001f;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);z-index:100;font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.agent-panel-toggle:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000029;border-color:var(--accent)}.agent-panel-toggle-icon{font-size:16px}.agent-panel{position:fixed;right:24px;bottom:24px;width:360px;max-height:calc(100vh - 48px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 48px #00000026;display:flex;flex-direction:column;overflow:hidden;z-index:100;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.agent-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.agent-panel-title{display:flex;align-items:center;gap:8px;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.agent-panel-icon{font-size:16px}.agent-panel-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary);font-size:18px;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.agent-panel-close:hover{background:var(--surface-secondary);color:var(--text-primary)}.agent-panel-article-info{padding:var(--space-3) var(--space-4);background:var(--surface-secondary);border-bottom:1px solid var(--border)}.agent-panel-article-title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.agent-panel-article-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.agent-panel-section{padding:var(--space-4);border-bottom:1px solid var(--border)}.agent-panel-section:last-child{border-bottom:none}.agent-panel-section-title{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.agent-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.agent-panel-action{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--surface-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.agent-panel-action:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.agent-panel-action-label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.agent-panel-action-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.agent-panel-custom{display:flex;flex-direction:column;gap:var(--space-2)}.agent-panel-custom-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;resize:none;outline:none;transition:all .15s ease}.agent-panel-custom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.agent-panel-custom-input::placeholder{color:var(--text-tertiary)}.agent-panel-custom-btn{align-self:flex-end;padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.agent-panel-custom-btn:hover:not(:disabled){background:var(--accent-hover)}.agent-panel-custom-btn:disabled{opacity:.4;cursor:not-allowed}.agent-panel-custom-hint{font-size:var(--text-xs);color:var(--text-tertiary);text-align:right}.agent-panel-loading{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);gap:var(--space-3)}.agent-panel-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.agent-panel-loading-text{font-size:var(--text-base);font-weight:500;color:var(--text-primary)}.agent-panel-loading-hint{font-size:var(--text-sm);color:var(--text-tertiary)}.agent-panel-sent{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);gap:var(--space-3);text-align:center}.agent-panel-sent-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center}.agent-panel-sent-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.agent-panel-sent-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.agent-panel-primary-btn{width:100%;padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease;margin-top:var(--space-2)}.agent-panel-primary-btn:hover{background:var(--accent-hover)}.agent-panel-secondary-btn{width:100%;padding:var(--space-2) var(--space-4);background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.agent-panel-secondary-btn:hover{background:var(--surface-secondary);color:var(--text-primary)}.agent-panel-error{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);gap:var(--space-3);text-align:center}.agent-panel-error-icon{width:48px;height:48px;border-radius:50%;background:var(--error-soft);color:var(--error);font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center}.agent-panel-error-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.agent-panel-error-message{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;max-width:280px}@media (max-width: 768px){.agent-panel{right:12px;bottom:12px;width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.agent-panel-toggle{right:12px;bottom:12px}.agent-panel-actions{grid-template-columns:1fr}}.ip-whitelist-guide{margin-top:var(--space-3);padding:var(--space-4);background:var(--fill);border-radius:var(--radius-md)}.ip-whitelist-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.ip-whitelist-title{font-size:var(--text-sm);font-weight:600;color:var(--warning)}.ip-whitelist-refresh{padding:0;font-size:var(--text-xs);color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--duration-micro) var(--ease)}.ip-whitelist-refresh:hover:not(:disabled){color:var(--accent)}.ip-whitelist-refresh:disabled{opacity:.5;cursor:not-allowed}.ip-whitelist-desc{margin:0 0 var(--space-3) 0;font-size:var(--text-xs);line-height:1.5;color:var(--text-secondary)}.ip-display-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.ip-display-label{font-size:var(--text-xs);color:var(--text-tertiary);flex-shrink:0}.ip-address{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-family:var(--font-mono);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all}.ip-copy-btn{padding:0;font-size:var(--text-xs);font-weight:500;color:var(--accent);background:transparent;border:none;cursor:pointer;transition:opacity var(--duration-micro) var(--ease)}.ip-copy-btn:hover{opacity:.7}.ip-steps{margin:0;padding-left:var(--space-4);font-size:var(--text-xs);line-height:1.6;color:var(--text-secondary);list-style:decimal}.ip-steps li{margin:0 0 var(--space-1) 0;padding:0;border:none;border-radius:0;background:transparent;display:list-item;flex-wrap:nowrap;align-items:initial;justify-content:initial;gap:0;transition:none}.ip-steps li:last-child{margin-bottom:0}@media (max-width: 640px){.ip-whitelist-guide{padding:var(--space-3)}.ip-display-row{flex-wrap:wrap}}.article-artifact-actions{display:flex;gap:8px;flex-wrap:wrap}.article-artifact-actions .artifact-apply.primary{background:var(--accent);border:1px solid var(--accent)}.publish-ip-whitelist{margin-top:var(--space-3);padding:var(--space-3);border:1px dashed var(--accent);border-radius:var(--radius-sm);background:var(--surface-weak, rgba(0, 0, 0, .02))}.ip-whitelist-title{font-size:var(--text-sm);font-weight:600;margin-bottom:6px}.ip-whitelist-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ip-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);padding:3px 8px;border-radius:var(--radius-sm);background:var(--fill)}.admin-users-container{max-width:960px}.admin-users-header{margin:28px 0 24px}.admin-users-header h1{margin:0 0 8px;font-size:28px}.admin-users-header p,.admin-user-create>p,.admin-reset-dialog>p{color:var(--text-secondary);line-height:1.6}.admin-users-eyebrow{margin:0 0 8px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em}.admin-user-create,.admin-users-list{padding:20px;margin:18px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-user-create h2,.admin-users-list h2{margin:0 0 8px;font-size:17px}.admin-user-form-row{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:end;gap:12px;margin-top:16px}.admin-user-form-row label,.admin-reset-dialog label{display:grid;gap:7px;font-size:13px;font-weight:600}.admin-user-form-row input,.admin-reset-dialog input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface);font:inherit}.admin-users-list-heading,.admin-user-row,.admin-user-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-users-list-heading{margin-bottom:8px}.admin-user-row{min-height:72px;padding:12px 0;border-top:1px solid var(--border)}.admin-user-identity{display:grid;gap:5px}.admin-user-identity span{color:var(--text-secondary);font-size:12px}.admin-user-actions{justify-content:flex-end;flex-wrap:wrap}.admin-users-message{padding:10px 12px;border-radius:8px;background:var(--surface-weak);color:var(--text)}.type-btn-danger{border:1px solid #c85151;color:#b83e3e;background:transparent}.admin-reset-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#00000073}.admin-reset-dialog{display:grid;gap:14px;width:min(100%,440px);padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 20px 70px #00000040}.admin-reset-dialog h2{margin:0;font-size:20px}.admin-reset-dialog .admin-user-actions{margin-top:6px}@media (max-width: 640px){.admin-users-shell .type-sidebar{display:none}.admin-users-shell .type-main{overflow-y:auto}.admin-users-page{width:100%;min-height:100%;padding:16px;overflow-y:auto}.admin-users-container{width:100%}.admin-user-create,.admin-users-list{padding:14px}.admin-user-form-row{grid-template-columns:1fr}.admin-user-row{align-items:flex-start;flex-direction:column}.admin-user-actions{justify-content:flex-start}}.ip-whitelist-guide{margin:6px 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6}:root{color-scheme:light dark;--type-space-1: 4px;--type-space-2: 8px;--type-space-3: 12px;--type-space-4: 16px;--type-space-5: 24px;--type-space-6: 32px;--type-space-8: 48px;--type-space-10: 64px;--type-font-sans: "Inter var", "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;--type-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--type-text-xs: 12px;--type-text-sm: 13px;--type-text-base: 14px;--type-text-lg: 16px;--type-text-xl: 18px;--type-text-2xl: 24px;--type-text-3xl: 32px;--type-weight-light: 350;--type-weight-regular: 400;--type-weight-medium: 500;--type-weight-semibold: 600;--type-weight-bold: 700;--type-leading-tight: 1.25;--type-leading-snug: 1.33;--type-leading-normal: 1.5;--type-leading-relaxed: 1.5;--type-radius-xs: 4px;--type-radius-sm: 6px;--type-radius-md: 8px;--type-radius-lg: 14px;--type-radius-pill: 9999px;--type-sidebar-width: 350px;--type-topbar-height: 48px;--type-toolbar-height: 48px;--type-rightpanel-width: 380px;--type-editor-content-width: 665px;--type-input-height: 36px;--type-icon-button-size: 32px;--type-nav-item-height: 32px;--type-ease: cubic-bezier(.25, .1, .25, 1);--type-duration-fast: .15s;--type-duration-normal: .2s;--type-duration-slow: .35s;--type-z-base: 1;--type-z-sidebar: 10;--type-z-toolbar: 20;--type-z-dropdown: 100;--type-z-modal: 1000;--type-z-toast: 2000;--type-accent: #478cd1;--type-accent-hover: #70a6db;--type-accent-soft: rgba(71, 140, 209, .1);--type-focus: rgba(19, 124, 189, .6);--type-success: #34c759;--type-warning: #ff9500;--type-error: #ff3b30}:root,[data-theme=light]{color-scheme:light;--type-bg: #ffffff;--type-surface: #f5f5f7;--type-surface-hover: #ececec;--type-border: #e5e7eb;--type-border-strong: #d9d9d9;--type-input-border: #d1d1d6;--type-text: #312f2b;--type-text-bright: #312f2b;--type-text-muted: #86868b;--type-text-tertiary: #aeaeb2;--type-shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--type-shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--type-shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--type-shadow-modal: rgba(0, 0, 0, .12) 0px 8px 30px 0px;--type-diff-remove-bg: rgba(255, 59, 48, .1);--type-diff-remove-text: #d70015;--type-diff-add-bg: rgba(52, 199, 89, .15);--type-diff-add-text: #248a3d;--type-diff-pending-bg: rgba(52, 199, 89, .08)}[data-theme=dark]{color-scheme:dark;--type-bg: #1c1c1e;--type-surface: #2c2c2e;--type-surface-hover: #3a3a3c;--type-border: #3a3a3c;--type-border-strong: #48484a;--type-input-border: #3a3a3c;--type-text: #ebebeb;--type-text-bright: #f7f7f7;--type-text-muted: #98989d;--type-text-tertiary: #6e6e73;--type-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--type-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--type-shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--type-shadow-modal: rgba(0, 0, 0, .5) 0px 8px 30px 0px;--type-diff-remove-bg: rgba(255, 59, 48, .18);--type-diff-remove-text: #ff6b60;--type-diff-add-bg: rgba(52, 199, 89, .25);--type-diff-add-text: #30d158;--type-diff-pending-bg: rgba(52, 199, 89, .12)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--type-bg: #1c1c1e;--type-surface: #2c2c2e;--type-surface-hover: #3a3a3c;--type-border: #3a3a3c;--type-border-strong: #48484a;--type-input-border: #3a3a3c;--type-text: #ebebeb;--type-text-bright: #f7f7f7;--type-text-muted: #98989d;--type-text-tertiary: #6e6e73;--type-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--type-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--type-shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--type-shadow-modal: rgba(0, 0, 0, .5) 0px 8px 30px 0px;--type-diff-remove-bg: rgba(255, 59, 48, .18);--type-diff-remove-text: #ff6b60;--type-diff-add-bg: rgba(52, 199, 89, .25);--type-diff-add-text: #30d158;--type-diff-pending-bg: rgba(52, 199, 89, .12)}}.type-app *,.type-app *:before,.type-app *:after{box-sizing:border-box}.type-app{margin:0;padding:0;background:var(--type-bg);color:var(--type-text);font-family:var(--type-font-sans);font-size:var(--type-text-base);line-height:var(--type-leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden}.type-app button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}.type-app input,.type-app textarea{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:none;outline:none;resize:none}.type-app input::placeholder,.type-app textarea::placeholder{color:var(--type-text-muted)}.type-app button:focus-visible,.type-app input:focus-visible,.type-app textarea:focus-visible,.type-app [tabindex]:focus-visible{outline:2px solid var(--type-focus);outline-offset:2px;border-radius:var(--type-radius-xs)}.type-shell{display:flex;height:100vh;width:100%;overflow:hidden}.type-sidebar{width:var(--type-sidebar-width);min-width:var(--type-sidebar-width);height:100%;background:var(--type-bg);border-right:1px solid var(--type-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex-shrink:0;position:relative;transition:width .2s var(--type-ease),min-width .2s var(--type-ease)}.type-sidebar.collapsed{overflow:visible}.type-sidebar.collapsed .type-sidebar-item span:last-child,.type-sidebar.collapsed .type-sidebar-section-title,.type-sidebar.collapsed .type-sidebar-email,.type-sidebar.collapsed .type-sidebar-plan{display:none}.type-sidebar.collapsed .type-sidebar-item{justify-content:center;padding:0}.type-sidebar.collapsed .type-sidebar-nav{align-items:center}.type-sidebar.collapsed .type-sidebar-footer{justify-content:center;padding:var(--type-space-2);flex-direction:column;gap:var(--type-space-2);align-items:center}.type-sidebar.collapsed .type-sidebar-footer .type-icon-btn{width:36px;height:36px}.type-sidebar-collapse-btn{position:absolute;top:8px;right:4px;width:24px;height:24px;border-radius:4px;background:transparent;color:var(--type-text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;border:none}.type-sidebar-collapse-btn:hover{background:var(--type-surface-hover);color:var(--type-text)}.type-sidebar.collapsed .type-sidebar-collapse-btn{right:50%;transform:translate(50%)}.type-sidebar-drag-handle{width:4px;height:100%;cursor:col-resize;background:transparent;flex-shrink:0;position:relative;z-index:5;transition:background .15s var(--type-ease)}.type-sidebar-drag-handle:hover,.type-sidebar-drag-handle.dragging{background:var(--type-accent)}.type-sidebar-drag-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;background:var(--type-border);border-radius:1px;opacity:0;transition:opacity .15s var(--type-ease)}.type-sidebar-drag-handle:hover:after,.type-sidebar-drag-handle.dragging:after{opacity:1;background:var(--type-accent)}.type-sidebar-account{display:flex;align-items:center;gap:var(--type-space-2);padding:var(--type-space-2) var(--type-space-2);min-height:44px}.type-sidebar-avatar{width:32px;height:32px;border-radius:50%;background:var(--type-surface-hover);display:flex;align-items:center;justify-content:center;font-size:var(--type-text-xs);font-weight:var(--type-weight-semibold);color:var(--type-text);flex-shrink:0}.type-sidebar-email{font-size:var(--type-text-xs);color:var(--type-text);font-weight:var(--type-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.type-sidebar-nav{display:flex;flex-direction:column;gap:0;padding:var(--type-space-1) var(--type-space-2)}.type-sidebar-section-title{font-size:var(--type-text-xs);font-weight:var(--type-weight-semibold);color:var(--type-text-muted);text-transform:uppercase;letter-spacing:.02em;padding:var(--type-space-3) var(--type-space-2) var(--type-space-1)}.type-sidebar-item{display:flex;align-items:center;gap:var(--type-space-2);height:var(--type-nav-item-height);padding:0 var(--type-space-2);border-radius:var(--type-radius-xs);font-size:var(--type-text-xs);color:var(--type-text);cursor:pointer;transition:background var(--type-duration-fast) var(--type-ease);text-decoration:none;width:100%}.type-sidebar-item:hover{background:var(--type-surface-hover)}.type-sidebar-item.active{background:var(--type-surface-hover);font-weight:var(--type-weight-medium)}.type-sidebar-item-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.type-sidebar-divider{height:1px;background:var(--type-border);margin:var(--type-space-2) var(--type-space-2)}.type-sidebar-footer{margin-top:auto;padding:var(--type-space-3) var(--type-space-2);display:flex;align-items:center;gap:var(--type-space-2);border-top:1px solid var(--type-border)}.type-sidebar-plan{flex:1}.type-sidebar-plan-name{font-size:var(--type-text-xs);font-weight:var(--type-weight-semibold);color:var(--type-text)}.type-sidebar-plan-usage{font-size:11px;color:var(--type-text-muted)}.type-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.type-topbar{height:var(--type-topbar-height);min-height:var(--type-topbar-height);display:flex;align-items:center;padding:0 var(--type-space-2);gap:var(--type-space-2);border-bottom:1px solid var(--type-border);background:var(--type-bg);flex-shrink:0}.type-topbar-title{flex:1;font-size:var(--type-text-sm);font-weight:var(--type-weight-medium);color:var(--type-text);background:transparent;border:none;outline:none;padding:var(--type-space-1) var(--type-space-2);border-radius:var(--type-radius-xs);min-width:0}.type-topbar-title:hover{background:var(--type-surface)}.type-topbar-title:focus{background:var(--type-surface)}.type-toolbar{height:var(--type-toolbar-height);min-height:var(--type-toolbar-height);display:flex;align-items:center;gap:0;padding:0 var(--type-space-2);border-bottom:1px solid var(--type-border);background:var(--type-bg);flex-shrink:0;overflow-x:auto}.type-toolbar-group{display:flex;align-items:center;gap:0}.type-toolbar-sep{width:1px;height:24px;background:var(--type-border);margin:0 var(--type-space-1)}.type-workspace{flex:1;display:flex;overflow:hidden;min-height:0}.type-editor-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.type-editor-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.type-editor-content{max-width:var(--type-editor-content-width);margin:0 auto;padding:var(--type-space-10) var(--type-space-8) var(--type-space-10);min-height:100%}.type-right-panel{width:var(--type-rightpanel-width);min-width:var(--type-rightpanel-width);border-left:1px solid var(--type-border);display:flex;flex-direction:column;background:var(--type-bg);flex-shrink:0;overflow:hidden}.type-right-panel-header{height:var(--type-topbar-height);min-height:var(--type-topbar-height);display:flex;align-items:center;border-bottom:1px solid var(--type-border);flex-shrink:0;padding:0 var(--type-space-2)}.type-right-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.type-right-panel-footer{flex-shrink:0;border-top:1px solid var(--type-border);padding:var(--type-space-3)}.type-home{flex:1;overflow-y:auto;padding:var(--type-space-8) var(--type-space-6)}.type-home-container{max-width:725px;margin:0 auto}.type-home-title{font-size:var(--type-text-2xl);font-weight:var(--type-weight-semibold);color:var(--type-text-bright);text-align:center;margin:0 0 var(--type-space-5);line-height:var(--type-leading-snug)}.type-word-count{position:absolute;bottom:var(--type-space-3);left:var(--type-space-4);font-size:var(--type-text-sm);color:var(--type-text-muted);background:var(--type-bg);padding:var(--type-space-1) var(--type-space-2);border-radius:var(--type-radius-xs);z-index:var(--type-z-base)}@media (max-width: 780px){.type-sidebar{position:fixed;left:0;top:0;z-index:var(--type-z-modal);transform:translate(-100%);transition:transform var(--type-duration-normal) var(--type-ease)}.type-sidebar.open{transform:translate(0)}.type-right-panel{position:fixed;right:0;top:0;z-index:var(--type-z-modal);transform:translate(100%);transition:transform var(--type-duration-normal) var(--type-ease)}.type-right-panel.open{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.type-app *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.type-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--type-space-1);height:var(--type-input-height);padding:0 var(--type-space-3);border-radius:var(--type-radius-xs);font-size:var(--type-text-xs);font-weight:var(--type-weight-medium);white-space:nowrap;transition:background var(--type-duration-fast) var(--type-ease),color var(--type-duration-fast) var(--type-ease),border-color var(--type-duration-fast) var(--type-ease);border:1px solid transparent;-webkit-user-select:none;user-select:none}.type-btn:disabled{opacity:.4;cursor:not-allowed}.type-btn-primary{background:var(--type-accent);color:#fff}.type-btn-primary:hover:not(:disabled){background:var(--type-accent-hover)}.type-btn-secondary{background:transparent;color:var(--type-text);border-color:var(--type-border-strong)}.type-btn-secondary:hover:not(:disabled){background:var(--type-surface-hover);border-color:var(--type-text-muted)}.type-btn-ghost{background:transparent;color:var(--type-text)}.type-btn-ghost:hover:not(:disabled){background:var(--type-surface-hover)}.type-btn-pill{border-radius:var(--type-radius-pill);border:1px solid var(--type-border-strong);background:transparent;color:var(--type-text);padding:0 var(--type-space-4);height:32px}.type-btn-pill:hover{background:var(--type-surface-hover);border-color:var(--type-text-muted)}.type-icon-btn{width:var(--type-icon-button-size);height:var(--type-icon-button-size);border-radius:var(--type-radius-pill);display:inline-flex;align-items:center;justify-content:center;color:var(--type-text-muted);transition:background var(--type-duration-fast) var(--type-ease),color var(--type-duration-fast) var(--type-ease);flex-shrink:0}.type-icon-btn:hover,.type-icon-btn.active{background:var(--type-surface-hover);color:var(--type-text)}.type-send-btn{width:32px;height:32px;border-radius:50%;background:var(--type-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--type-duration-fast) var(--type-ease)}.type-send-btn:hover{background:var(--type-accent-hover)}.type-send-btn:disabled{background:var(--type-surface);color:var(--type-text-muted);cursor:not-allowed}.type-input{width:100%;height:var(--type-input-height);padding:0 var(--type-space-3);background:var(--type-surface);border:1px solid var(--type-border);border-radius:var(--type-radius-xs);font-size:var(--type-text-sm);color:var(--type-text);transition:border-color var(--type-duration-fast) var(--type-ease)}.type-input:focus{border-color:var(--type-accent)}.type-textarea{width:100%;min-height:54px;padding:var(--type-space-2) var(--type-space-3);background:transparent;border:none;font-size:var(--type-text-sm);color:var(--type-text);line-height:var(--type-leading-normal);resize:none}.type-composer{background:var(--type-bg);border:1px solid var(--type-border);border-radius:var(--type-radius-sm);padding:var(--type-space-3);transition:border-color var(--type-duration-fast) var(--type-ease);margin-bottom:var(--type-space-4)}.type-composer:focus-within{border-color:var(--type-accent)}.type-composer textarea{width:100%;min-height:72px;background:transparent;border:none;font-size:var(--type-text-base);color:var(--type-text);line-height:var(--type-leading-normal);resize:none;outline:none}.type-composer-footer{display:flex;align-items:center;gap:var(--type-space-2);margin-top:var(--type-space-2)}.type-card{background:var(--type-bg);border:1px solid var(--type-border);border-radius:var(--type-radius-xs);padding:var(--type-space-3) var(--type-space-4);cursor:pointer;transition:background var(--type-duration-fast) var(--type-ease),border-color var(--type-duration-fast) var(--type-ease);display:flex;align-items:center;gap:var(--type-space-3)}.type-card:hover{background:var(--type-surface);border-color:var(--type-border-strong)}.type-card-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--type-text-muted);flex-shrink:0}.type-card-content{flex:1;min-width:0}.type-card-title{font-size:var(--type-text-sm);color:var(--type-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-card-meta{font-size:var(--type-text-xs);color:var(--type-text-muted);margin-top:2px}.type-section-label{font-size:var(--type-text-xs);font-weight:var(--type-weight-semibold);color:var(--type-text-muted);margin:var(--type-space-5) 0 var(--type-space-2);text-transform:uppercase;letter-spacing:.02em}.type-tabs{display:flex;gap:0;width:100%}.type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--type-space-1);height:var(--type-topbar-height);font-size:var(--type-text-xs);color:var(--type-text-muted);border-bottom:2px solid transparent;transition:color var(--type-duration-fast) var(--type-ease),border-color var(--type-duration-fast) var(--type-ease);cursor:pointer;background:transparent}.type-tab:hover{color:var(--type-text)}.type-tab.active{color:var(--type-accent);border-bottom-color:var(--type-accent)}.type-message-list{display:flex;flex-direction:column;gap:var(--type-space-4);padding:var(--type-space-4)}.type-message{display:flex;flex-direction:column;max-width:85%}.type-message.user{align-items:flex-end;align-self:flex-end}.type-message.ai{align-items:flex-start;align-self:flex-start}.type-message-bubble{padding:var(--type-space-2);border-radius:var(--type-radius-xs);font-size:var(--type-text-sm);line-height:var(--type-leading-normal);word-break:break-word}.type-message.user .type-message-bubble{background:var(--type-accent);color:#fff}.type-message.ai .type-message-bubble{background:transparent;color:var(--type-text);padding:0}.type-message-actions{display:flex;gap:var(--type-space-1);margin-top:var(--type-space-1);opacity:0;transition:opacity var(--type-duration-fast) var(--type-ease)}.type-message.ai:hover .type-message-actions{opacity:1}.type-starter-chips{display:flex;flex-wrap:wrap;gap:var(--type-space-2);padding:var(--type-space-4)}.type-chip{display:inline-flex;align-items:center;gap:var(--type-space-1);padding:var(--type-space-1) var(--type-space-3);border:1px solid var(--type-border);border-radius:var(--type-radius-pill);font-size:var(--type-text-xs);color:var(--type-text);background:transparent;cursor:pointer;transition:background var(--type-duration-fast) var(--type-ease),border-color var(--type-duration-fast) var(--type-ease)}.type-chip:hover{background:var(--type-surface-hover);border-color:var(--type-text-muted)}.type-edit-actions{display:flex;flex-direction:column;gap:var(--type-space-1);padding:var(--type-space-3)}.type-edit-action{display:flex;flex-direction:column;gap:2px;padding:var(--type-space-3);border-radius:var(--type-radius-xs);cursor:pointer;transition:background var(--type-duration-fast) var(--type-ease);text-align:left;width:100%}.type-edit-action:hover{background:var(--type-surface-hover)}.type-edit-action-title{font-size:var(--type-text-sm);font-weight:var(--type-weight-medium);color:var(--type-text)}.type-edit-action-desc{font-size:var(--type-text-xs);color:var(--type-text-muted);line-height:var(--type-leading-normal)}.type-diff-item{padding:var(--type-space-3);border-bottom:1px solid var(--type-border)}.type-diff-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--type-space-2)}.type-diff-original{text-decoration:line-through;color:var(--type-diff-remove-text);background:var(--type-diff-remove-bg);padding:1px 4px;border-radius:3px;font-size:var(--type-text-sm)}.type-diff-replacement{color:var(--type-diff-add-text);background:var(--type-diff-add-bg);padding:1px 4px;border-radius:3px;font-size:var(--type-text-sm)}.type-diff-actions{display:flex;gap:var(--type-space-2);margin-top:var(--type-space-2)}.type-edits-pending{position:absolute;bottom:var(--type-space-4);right:var(--type-space-4);display:flex;align-items:center;gap:var(--type-space-2);background:var(--type-surface);border:1px solid var(--type-border);border-radius:var(--type-radius-md);padding:var(--type-space-2) var(--type-space-3);box-shadow:var(--type-shadow-md);z-index:var(--type-z-dropdown)}.type-edits-pending-label{font-size:var(--type-text-xs);color:var(--type-text-muted)}.type-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--type-z-modal)}.type-modal{width:640px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);background:var(--type-bg);border-radius:var(--type-radius-md);box-shadow:var(--type-shadow-modal);display:flex;flex-direction:column;overflow:hidden}.type-modal-header{padding:var(--type-space-4) var(--type-space-5);border-bottom:1px solid var(--type-border);font-size:var(--type-text-lg);font-weight:var(--type-weight-semibold);color:var(--type-text-bright)}.type-modal-body{padding:var(--type-space-5);overflow-y:auto;flex:1}.type-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--type-space-2);padding:var(--type-space-3) var(--type-space-5);border-top:1px solid var(--type-border)}.type-select{display:inline-flex;align-items:center;gap:var(--type-space-1);height:32px;padding:0 var(--type-space-2);border:1px solid var(--type-border-strong);border-radius:var(--type-radius-pill);font-size:var(--type-text-xs);color:var(--type-text-muted);background:transparent;cursor:pointer;transition:border-color var(--type-duration-fast) var(--type-ease)}.type-select:hover{border-color:var(--type-text-muted)}.type-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--type-space-8) var(--type-space-4);text-align:center;gap:var(--type-space-2)}.type-empty-title{font-size:var(--type-text-sm);font-weight:var(--type-weight-medium);color:var(--type-text)}.type-empty-desc{font-size:var(--type-text-xs);color:var(--type-text-muted);line-height:var(--type-leading-normal)}.type-spinner{width:16px;height:16px;border:2px solid var(--type-border);border-top-color:var(--type-accent);border-radius:50%;animation:type-spin .8s linear infinite}.type-editor .diff-remove{text-decoration:line-through;color:var(--type-diff-remove-text);background:var(--type-diff-remove-bg)}.type-editor .diff-add{background:var(--type-diff-add-bg);color:var(--type-diff-add-text)}.type-editor .diff-pending{background:var(--type-diff-pending-bg)}.type-editor .tiptap-editor{background:transparent!important;color:var(--type-text)}.type-editor .ProseMirror{background:transparent;color:var(--type-text);font-family:var(--type-font-sans);font-size:var(--type-text-lg);line-height:var(--type-leading-relaxed);outline:none;min-height:400px}.type-editor .ProseMirror h1{font-size:var(--type-text-3xl);font-weight:var(--type-weight-bold);color:var(--type-text-bright);line-height:var(--type-leading-tight);margin:0 0 var(--type-space-4)}.type-editor .ProseMirror h2{font-size:var(--type-text-2xl);font-weight:var(--type-weight-semibold);color:var(--type-text-bright);line-height:var(--type-leading-snug);margin:var(--type-space-6) 0 var(--type-space-3)}.type-editor .ProseMirror h3{font-size:var(--type-text-xl);font-weight:var(--type-weight-semibold);color:var(--type-text-bright);margin:var(--type-space-5) 0 var(--type-space-2)}.type-editor .ProseMirror p{margin:0 0 var(--type-space-4);color:var(--type-text)}.type-editor .ProseMirror ul,.type-editor .ProseMirror ol{margin:0 0 var(--type-space-4);padding-left:var(--type-space-6);color:var(--type-text)}.type-editor .ProseMirror li{margin-bottom:var(--type-space-1)}.type-editor .ProseMirror blockquote{border-left:3px solid var(--type-border-strong);padding-left:var(--type-space-4);margin:0 0 var(--type-space-4);color:var(--type-text-muted);font-style:italic}.type-editor .ProseMirror code{background:var(--type-surface);padding:2px 6px;border-radius:var(--type-radius-xs);font-family:var(--type-font-mono);font-size:var(--type-text-sm)}.type-editor .ProseMirror pre{background:var(--type-surface);border-radius:var(--type-radius-sm);padding:var(--type-space-4);overflow-x:auto;margin:0 0 var(--type-space-4)}.type-editor .ProseMirror pre code{background:transparent;padding:0}.type-editor .ProseMirror a{color:var(--type-accent);text-decoration:underline}.type-editor .ProseMirror img{max-width:100%;border-radius:var(--type-radius-sm)}.type-editor .ProseMirror hr{border:none;border-top:1px solid var(--type-border);margin:var(--type-space-6) 0}.type-editor .ProseMirror ::selection{background:var(--type-accent-soft)}.type-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--type-text-tertiary);pointer-events:none;height:0;float:left}.type-app ::-webkit-scrollbar{width:8px;height:8px}.type-app ::-webkit-scrollbar-track{background:transparent}.type-app ::-webkit-scrollbar-thumb{background:var(--type-border);border-radius:4px}.type-app ::-webkit-scrollbar-thumb:hover{background:var(--type-text-muted)}.type-app .tiptap-toolbar{display:none!important}.type-right-panel .article-conversation-panel{background:var(--type-bg);color:var(--type-text);height:100%;display:flex;flex-direction:column}.type-right-panel .acp-header{background:var(--type-bg);border-bottom:1px solid var(--type-border);color:var(--type-text);padding:12px 16px}.type-right-panel .acp-header-left{color:var(--type-text)}.type-right-panel .acp-thread{background:var(--type-bg);flex:1;overflow-y:auto;padding:16px}.type-right-panel .conversation-thread{background:var(--type-bg)}.type-right-panel .conversation-thread .message{background:transparent;color:var(--type-text)}.type-right-panel .conversation-thread .message.user{background:var(--type-accent);color:#fff;border-radius:8px;padding:8px 12px}.type-right-panel .acp-quick-actions{padding:8px 16px;gap:8px}.type-right-panel .acp-quick-action{background:var(--type-surface);border:1px solid var(--type-border);color:var(--type-text);border-radius:6px;padding:6px 12px;font-size:12px}.type-right-panel .acp-quick-action:hover{background:var(--type-surface-hover)}.type-right-panel .acp-composer{background:var(--type-bg);border-top:1px solid var(--type-border);padding:12px 16px}.type-right-panel .acp-composer textarea{background:var(--type-surface);border:1px solid var(--type-border);color:var(--type-text);border-radius:6px;padding:8px 12px;width:100%;min-height:60px;resize:none;font-size:13px}.type-right-panel .acp-composer textarea:focus{border-color:var(--type-accent);outline:none}.type-right-panel .acp-composer .primary{background:var(--type-accent);color:#fff;border-radius:6px;padding:6px 16px;font-size:12px;border:none;cursor:pointer}.type-right-panel .acp-composer .primary:hover{background:var(--type-accent-hover)}.type-right-panel .acp-composer .primary:disabled{opacity:.4;cursor:not-allowed}.type-right-panel .artifact-card,.type-right-panel .suggestion-card,.type-right-panel .review-card{background:var(--type-surface);border:1px solid var(--type-border);border-radius:8px;color:var(--type-text);padding:12px;margin:8px 0}.type-right-panel .acp-collapse-btn{color:var(--type-text-muted);background:transparent;border:none;cursor:pointer}.type-right-panel .acp-collapse-btn:hover{color:var(--type-text)}.type-edit-actions{padding:var(--type-space-3);display:flex;flex-direction:column;gap:var(--type-space-2)}.type-edit-loading{display:flex;align-items:center;gap:var(--type-space-2);padding:var(--type-space-4);color:var(--type-text-muted);font-size:var(--type-text-sm)}.type-spinner{width:16px;height:16px;border:2px solid var(--type-border);border-top-color:var(--type-accent);border-radius:50%;animation:type-spin .8s linear infinite;flex-shrink:0}@keyframes type-spin{to{transform:rotate(360deg)}}.type-edit-error{padding:var(--type-space-2) var(--type-space-3);background:var(--type-danger-bg, rgba(220, 38, 38, .08));color:var(--type-danger, #dc2626);border-radius:var(--type-radius-xs);font-size:var(--type-text-sm)}.type-edit-result{display:flex;flex-direction:column;gap:var(--type-space-3)}.type-edit-result-header{display:flex;justify-content:space-between;align-items:center}.type-edit-result-title{font-size:var(--type-text-sm);font-weight:var(--type-weight-semibold);color:var(--type-text)}.type-edit-result-subtitle{font-size:var(--type-text-xs);color:var(--type-text-muted)}.type-edit-diff{max-height:400px;overflow-y:auto;border:1px solid var(--type-border);border-radius:var(--type-radius-xs);padding:var(--type-space-2);font-family:var(--type-font-mono, ui-monospace, monospace);font-size:12px;line-height:1.6;background:var(--type-surface, #f9fafb)}.type-diff-line{display:flex;gap:6px;padding:1px 4px;border-radius:2px;white-space:pre-wrap;word-break:break-word}.type-diff-marker{flex-shrink:0;width:12px;text-align:center;font-weight:700}.type-diff-text{flex:1}.type-diff-removed{background:#dc262614;color:#b91c1c}.type-diff-removed .type-diff-text{text-decoration:line-through}.type-diff-added{background:#16a34a14;color:#15803d}.type-diff-same{color:var(--type-text-muted)}.type-edit-result-actions{display:flex;gap:var(--type-space-2)}.type-edit-custom{display:flex;flex-direction:column;gap:var(--type-space-2);padding:var(--type-space-2);background:var(--type-surface, #f9fafb);border-radius:var(--type-radius-xs)}.type-edit-custom textarea{width:100%;padding:var(--type-space-2);border:1px solid var(--type-border);border-radius:var(--type-radius-xs);font-size:var(--type-text-sm);font-family:inherit;resize:vertical;background:var(--type-bg);color:var(--type-text)}.type-edit-custom textarea:focus{outline:none;border-color:var(--type-accent);box-shadow:0 0 0 2px var(--type-accent-ring, rgba(71, 140, 209, .2))}.type-btn-sm{height:28px;padding:0 var(--type-space-2);font-size:var(--type-text-xs)}.type-btn-primary{background:var(--type-accent, #478CD1);color:#fff;border:1px solid var(--type-accent, #478CD1)}.type-btn-primary:hover:not(:disabled){background:var(--type-accent-hover, #70A6DB);border-color:var(--type-accent-hover, #70A6DB)}.type-btn-primary:disabled{opacity:.5;cursor:not-allowed}.type-btn-ghost{background:transparent;color:var(--type-text-muted);border:1px solid var(--type-border)}.type-btn-ghost:hover:not(:disabled){background:var(--type-surface-hover, #f3f4f6);color:var(--type-text)}.type-edits-pending-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(90deg,#16a34a14,#16a34a05);border-bottom:1px solid rgba(22,163,74,.2);animation:type-edits-slide-in .3s ease}@keyframes type-edits-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.type-edits-pending-info{display:flex;align-items:center;gap:8px}.type-edits-pending-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;animation:type-pulse 1.5s ease-in-out infinite}@keyframes type-pulse{0%,to{opacity:1}50%{opacity:.4}}.type-edits-pending-text{font-size:13px;font-weight:500;color:#15803d}.type-edits-pending-actions{display:flex;gap:8px}.type-editor-scroll.has-pending-edits .ProseMirror{background:#16a34a05;border-radius:8px;transition:background .3s ease}.type-editor-scroll.has-pending-edits .ProseMirror p,.type-editor-scroll.has-pending-edits .ProseMirror h1,.type-editor-scroll.has-pending-edits .ProseMirror h2,.type-editor-scroll.has-pending-edits .ProseMirror h3,.type-editor-scroll.has-pending-edits .ProseMirror li,.type-editor-scroll.has-pending-edits .ProseMirror blockquote{position:relative}.type-edit-review-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;gap:12px}.type-edit-review-icon{font-size:32px;margin-bottom:4px}.type-edit-review-title{font-size:15px;font-weight:600;color:var(--type-text)}.type-edit-review-desc{font-size:13px;color:var(--type-text-muted);line-height:1.5}.type-edit-review-stats{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--type-text-muted);padding:6px 12px;background:var(--type-surface, #f9fafb);border-radius:6px}.type-edit-review-actions{display:flex;gap:8px;margin-top:8px}.type-toolbar .type-icon-btn.active{background:var(--type-accent, #478CD1);color:#fff}.type-toolbar .type-icon-btn:disabled{opacity:.4;cursor:not-allowed}.type-toolbar-select{height:28px;padding:0 8px;border:1px solid var(--type-border, #e5e7eb);border-radius:4px;background:var(--type-bg, #fff);color:var(--type-text, #312f2b);font-size:13px;cursor:pointer;outline:none}.type-toolbar-select:hover{border-color:var(--type-accent, #478CD1)}.type-toolbar-select:focus{border-color:var(--type-accent, #478CD1);box-shadow:0 0 0 2px var(--type-accent-ring, rgba(71, 140, 209, .2))}.type-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:type-fade-in .15s ease}@keyframes type-fade-in{0%{opacity:0}to{opacity:1}}.type-modal{background:var(--type-bg, #fff);border-radius:12px;box-shadow:0 24px 64px #00000040;display:flex;flex-direction:column;max-height:90vh;animation:type-modal-in .2s ease}@keyframes type-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.type-modal-style{width:640px;max-width:92vw}.type-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--type-border, #e5e7eb)}.type-modal-title{font-size:17px;font-weight:600;color:var(--type-text, #312f2b);margin:0}.type-modal-close{width:32px;height:32px;border:none;background:transparent;color:var(--type-text-secondary, #6b7280);font-size:14px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.type-modal-close:hover{background:var(--type-hover, #f3f4f6);color:var(--type-text, #312f2b)}.type-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.type-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--type-border, #e5e7eb)}.type-form-group{margin-bottom:18px}.type-form-group-flex{display:flex;flex-direction:column}.type-form-label{display:block;font-size:13px;font-weight:500;color:var(--type-text, #312f2b);margin-bottom:6px}.type-form-input{width:100%;height:38px;padding:0 12px;border:1px solid var(--type-border, #e5e7eb);border-radius:8px;background:var(--type-surface, #fafafa);color:var(--type-text, #312f2b);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.type-form-input:focus{border-color:var(--type-accent, #478CD1);box-shadow:0 0 0 3px var(--type-accent-ring, rgba(71, 140, 209, .15));background:var(--type-bg, #fff)}.type-form-input::placeholder{color:var(--type-text-placeholder, #9ca3af)}.type-form-textarea{width:100%;padding:10px 12px;border:1px solid var(--type-border, #e5e7eb);border-radius:8px;background:var(--type-surface, #fafafa);color:var(--type-text, #312f2b);font-size:14px;line-height:1.6;outline:none;resize:vertical;min-height:140px;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;font-family:inherit}.type-form-textarea:focus{border-color:var(--type-accent, #478CD1);box-shadow:0 0 0 3px var(--type-accent-ring, rgba(71, 140, 209, .15));background:var(--type-bg, #fff)}.type-form-textarea::placeholder{color:var(--type-text-placeholder, #9ca3af)}.type-form-hint{font-size:12px;color:var(--type-text-secondary, #6b7280);margin-top:4px;text-align:right}.type-generate-row{display:flex;gap:8px}.type-generate-row .type-form-input{flex:1}.type-slash-menu{position:absolute;z-index:900;width:320px;max-height:360px;background:var(--type-bg, #fff);border:1px solid var(--type-border, #e5e7eb);border-radius:10px;box-shadow:0 12px 40px #00000026;overflow:hidden;display:flex;flex-direction:column;animation:type-modal-in .12s ease}.type-slash-menu-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:12px;font-weight:600;color:var(--type-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--type-border, #e5e7eb)}.type-slash-menu-count{background:var(--type-hover, #f3f4f6);padding:2px 8px;border-radius:10px;font-size:11px}.type-slash-menu-list{overflow-y:auto;flex:1;padding:4px}.type-slash-menu-empty{padding:24px;text-align:center;color:var(--type-text-secondary, #6b7280);font-size:13px}.type-slash-menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s}.type-slash-menu-item:hover,.type-slash-menu-item.active{background:var(--type-hover, #f3f4f6)}.type-slash-menu-item-icon{width:28px;height:28px;border-radius:6px;background:var(--type-accent-bg, rgba(71, 140, 209, .1));color:var(--type-accent, #478CD1);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.type-slash-menu-item-new .type-slash-menu-item-icon{background:var(--type-hover, #f3f4f6);color:var(--type-text-secondary, #6b7280)}.type-slash-menu-item-content{flex:1;min-width:0}.type-slash-menu-item-name{font-size:13px;font-weight:500;color:var(--type-text, #312f2b);margin-bottom:2px}.type-slash-menu-item-desc{font-size:12px;color:var(--type-text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-style-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--type-accent-bg, rgba(71, 140, 209, .1));color:var(--type-accent, #478CD1);border-radius:12px;font-size:12px;font-weight:500}.type-style-tag button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:11px;padding:0;opacity:.7}.type-style-tag button:hover{opacity:1}.type-sentence-diff-list{margin-top:16px;border-top:1px solid var(--type-border, #e5e7eb);padding-top:12px}.type-sentence-diff-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--type-text, #312f2b);margin-bottom:10px}.type-sentence-diff-count{font-size:12px;font-weight:400;color:var(--type-text-secondary, #6b7280);background:var(--type-hover, #f3f4f6);padding:2px 8px;border-radius:10px}.type-sentence-diff-item{padding:10px 12px;border-radius:8px;margin-bottom:8px;background:var(--type-surface, #fafafa)}.type-sentence-diff-deleted{border-left:3px solid #ef4444}.type-sentence-diff-added{border-left:3px solid #22c55e}.type-sentence-diff-modified{border-left:3px solid #f59e0b}.type-sentence-diff-label{margin-bottom:6px}.type-diff-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.type-diff-tag-deleted{background:#ef44441a;color:#ef4444}.type-diff-tag-added{background:#22c55e1a;color:#22c55e}.type-diff-tag-modified{background:#f59e0b1a;color:#f59e0b}.type-sentence-diff-old{font-size:13px;color:var(--type-text-secondary, #6b7280);text-decoration:line-through;text-decoration-color:#ef444480;margin-bottom:4px;line-height:1.5}.type-sentence-diff-new{font-size:13px;color:var(--type-text, #312f2b);background:#22c55e14;padding:4px 8px;border-radius:4px;line-height:1.5}.type-sentence-diff-actions{margin-top:8px;display:flex;justify-content:flex-end}.type-sentence-diff-more{text-align:center;font-size:12px;color:var(--type-text-secondary, #6b7280);padding:8px}.type-btn-xs{height:26px;padding:0 10px;font-size:12px}.typewriter-cursor{display:inline-block;width:8px;color:var(--type-accent, #478CD1);animation:typewriter-blink .8s step-end infinite;margin-left:1px}@keyframes typewriter-blink{0%,to{opacity:1}50%{opacity:0}}.selection-action-bar{position:absolute;z-index:100;background:var(--type-bg, #fff);border:1px solid var(--type-border, #e5e7eb);border-radius:10px;box-shadow:0 8px 32px #0000001f;padding:8px 12px;animation:type-modal-in .15s ease}.selection-action-bar-row{display:flex;align-items:center;gap:6px}.selection-hint{font-size:12px;color:var(--type-text-secondary, #6b7280);margin-right:8px;white-space:nowrap}.selection-preset{padding:6px 12px;border:1px solid var(--type-border, #e5e7eb);border-radius:6px;background:var(--type-surface, #fafafa);color:var(--type-text, #312f2b);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.selection-preset:hover:not(:disabled){background:var(--type-accent, #478CD1);color:#fff;border-color:var(--type-accent, #478CD1)}.selection-preset.active{background:var(--type-accent, #478CD1);color:#fff;border-color:var(--type-accent, #478CD1)}.selection-preset:disabled{opacity:.5;cursor:not-allowed}.selection-ask-row{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--type-border, #e5e7eb)}.selection-ask-row textarea{flex:1;padding:8px 10px;border:1px solid var(--type-border, #e5e7eb);border-radius:6px;background:var(--type-surface, #fafafa);color:var(--type-text, #312f2b);font-size:13px;resize:none;outline:none;font-family:inherit}.selection-ask-row textarea:focus{border-color:var(--type-accent, #478CD1);box-shadow:0 0 0 2px var(--type-accent-ring, rgba(71, 140, 209, .15))}.selection-ask-row button{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--type-border, #e5e7eb);background:var(--type-surface, #fafafa);color:var(--type-text, #312f2b)}.selection-ask-row button.primary{background:var(--type-accent, #478CD1);color:#fff;border-color:var(--type-accent, #478CD1)}.selection-ask-row button:disabled{opacity:.5;cursor:not-allowed}.proposal-card{position:absolute;z-index:100;background:var(--type-bg, #fff);border:1px solid var(--type-border, #e5e7eb);border-radius:12px;box-shadow:0 12px 40px #00000026;padding:16px;max-width:480px;animation:type-modal-in .15s ease}.proposal-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.proposal-card-title{font-size:14px;font-weight:600;color:var(--type-text, #312f2b)}.proposal-card-stale{font-size:12px;color:#f59e0b}.proposal-card-body{font-size:13px;color:var(--type-text, #312f2b);line-height:1.6;max-height:200px;overflow-y:auto;padding:10px;background:var(--type-surface, #fafafa);border-radius:8px;margin-bottom:12px}.proposal-card-actions{display:flex;gap:8px;justify-content:flex-end}.proposal-card-actions button{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--type-border, #e5e7eb);background:var(--type-surface, #fafafa);color:var(--type-text, #312f2b)}.proposal-card-actions button.primary{background:var(--type-accent, #478CD1);color:#fff;border-color:var(--type-accent, #478CD1)}.proposal-card-actions button:disabled{opacity:.5;cursor:not-allowed}.type-onboarding-modal{width:420px;max-width:90vw;background:var(--type-bg, #fff);border-radius:16px;box-shadow:0 24px 64px #00000040;padding:32px 28px 24px;text-align:center;animation:type-modal-in .25s ease}.type-onboarding-icon{font-size:48px;margin-bottom:16px}.type-onboarding-title{font-size:20px;font-weight:600;color:var(--type-text, #312f2b);margin:0 0 10px}.type-onboarding-desc{font-size:14px;color:var(--type-text-secondary, #6b7280);line-height:1.6;margin:0 0 24px}.type-onboarding-dots{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.type-onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--type-border, #e5e7eb);transition:all .2s}.type-onboarding-dot.active{width:24px;border-radius:4px;background:var(--type-accent, #478CD1)}.type-onboarding-actions{display:flex;align-items:center;gap:8px}.type-command-palette{width:560px;max-width:92vw;max-height:80vh;background:var(--type-bg, #fff);border-radius:12px;box-shadow:0 24px 64px #00000040;overflow:hidden;display:flex;flex-direction:column;animation:type-modal-in .15s ease}.type-command-input-wrap{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--type-border, #e5e7eb)}.type-command-input-icon{font-size:16px;color:var(--type-text-secondary, #6b7280)}.type-command-input{flex:1;border:none;outline:none;font-size:15px;background:transparent;color:var(--type-text, #312f2b);font-family:inherit}.type-command-input::placeholder{color:var(--type-text-placeholder, #9ca3af)}.type-command-kbd{padding:2px 6px;background:var(--type-hover, #f3f4f6);border-radius:4px;font-size:11px;color:var(--type-text-secondary, #6b7280);font-family:inherit}.type-command-list{overflow-y:auto;flex:1;padding:8px}.type-command-empty{padding:32px;text-align:center;color:var(--type-text-secondary, #6b7280);font-size:14px}.type-command-group{margin-bottom:8px}.type-command-group-label{font-size:11px;font-weight:600;color:var(--type-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;padding:6px 10px}.type-command-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s}.type-command-item:hover,.type-command-item.active{background:var(--type-hover, #f3f4f6)}.type-command-item-icon{font-size:16px;width:24px;text-align:center}.type-command-item-content{flex:1;min-width:0}.type-command-item-label{font-size:14px;color:var(--type-text, #312f2b);font-weight:500}.type-command-item-desc{font-size:12px;color:var(--type-text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-command-item-shortcut{padding:2px 6px;background:var(--type-surface, #fafafa);border:1px solid var(--type-border, #e5e7eb);border-radius:4px;font-size:11px;color:var(--type-text-secondary, #6b7280);font-family:inherit}.type-editor-statusbar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:6px 24px;font-size:12px;color:var(--type-text-secondary, #6b7280);background:var(--type-bg, #fff);border-top:1px solid var(--type-border, #e5e7eb);z-index:10}.type-statusbar-sep{opacity:.5}.type-quality-score{background:var(--type-surface, #fafafa);border-radius:10px;padding:16px;margin-bottom:16px}.type-quality-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.type-quality-score-circle{width:56px;height:56px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0}.type-quality-score-num{font-size:22px;font-weight:700}.type-quality-info{flex:1}.type-quality-level{font-size:16px;font-weight:600;margin-bottom:2px}.type-quality-meta{font-size:12px;color:var(--type-text-secondary, #6b7280)}.type-quality-dimensions{display:flex;flex-direction:column;gap:10px}.type-quality-dimension{display:flex;flex-direction:column;gap:4px}.type-quality-dimension-header{display:flex;justify-content:space-between;font-size:12px}.type-quality-dimension-name{color:var(--type-text, #312f2b);font-weight:500}.type-quality-dimension-score{color:var(--type-text-secondary, #6b7280)}.type-quality-bar{height:4px;background:var(--type-border, #e5e7eb);border-radius:2px;overflow:hidden}.type-quality-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.type-quality-dimension-hint{font-size:11px;color:var(--type-text-secondary, #6b7280)}.type-title-suggestions{position:absolute;top:100%;left:0;width:320px;background:var(--type-bg, #fff);border:1px solid var(--type-border, #e5e7eb);border-radius:10px;box-shadow:0 12px 40px #00000026;z-index:200;margin-top:4px;overflow:hidden;animation:type-modal-in .15s ease}.type-title-suggestions-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:13px;font-weight:600;color:var(--type-text, #312f2b);border-bottom:1px solid var(--type-border, #e5e7eb)}.type-title-suggestions-loading{display:flex;align-items:center;gap:8px;padding:16px;font-size:13px;color:var(--type-text-secondary, #6b7280)}.type-title-suggestion-item{display:block;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--type-text, #312f2b);font-size:13px;text-align:left;cursor:pointer;transition:background .1s;line-height:1.4}.type-title-suggestion-item:hover{background:var(--type-hover, #f3f4f6)}.type-card-with-actions{cursor:pointer;position:relative}.type-card-delete{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:transparent;color:var(--type-text-secondary, #6b7280);font-size:12px;cursor:pointer;border-radius:4px;opacity:0;transition:opacity .15s,background .15s;display:flex;align-items:center;justify-content:center}.type-card-with-actions:hover .type-card-delete{opacity:1}.type-card-delete:hover{background:#ef44441a;color:#ef4444}.type-app .admin-users-page .admin-user-form-row input,.type-app .admin-users-page .admin-reset-dialog input{border:1px solid var(--type-border, #e5e7eb);border-radius:8px;background:var(--type-bg, #fff);color:var(--type-text, #312f2b)}.type-app .admin-users-page .type-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--type-input-height, 38px);padding:0 12px;border:1px solid var(--type-border-strong, #d9d9d9);border-radius:var(--type-radius-xs, 6px);background:var(--type-surface, #f5f5f7);color:var(--type-text, #312f2b)}.type-app .admin-users-page .type-btn-primary{border-color:var(--type-accent, #478cd1);background:var(--type-accent, #478cd1);color:#fff}.type-app .admin-users-page .type-btn-danger{border-color:#c85151;background:transparent;color:#b83e3e}.type-toolbar-ai-btn{background:var(--type-accent-bg, rgba(71, 140, 209, .1));color:var(--type-accent, #478CD1);font-weight:600}.type-toolbar-ai-btn:hover:not(:disabled){background:var(--type-accent, #478CD1);color:#fff}
