@font-face{font-family:Home Video;src:url(../fonts/HomeVideo-Regular.woff2) format("woff2"),url(../fonts/HomeVideo-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Home Video;src:url(../fonts/HomeVideo-Bold.woff2) format("woff2"),url(../fonts/HomeVideo-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #060610;--bg-secondary: #0e0e1a;--bg-tertiary: #161625;--surface: #1a1a2e;--surface-hover: #222240;--border: #252540;--border-light: #303055;--text: #eaeaf5;--text-muted: #7878a0;--text-dim: #555580;--accent: #7c6cf0;--accent-light: #a8a0ff;--accent-dim: #5a4fc8;--accent-glow: rgba(124, 108, 240, .2);--accent-glow-strong: rgba(124, 108, 240, .35);--user-bubble: linear-gradient(135deg, #7c6cf0, #6c5ce7);--bot-bubble: #151528;--danger: #f04060;--danger-bg: rgba(240, 64, 96, .08);--danger-border: rgba(240, 64, 96, .25);--success: #00d68f;--warning: #ffaa33;--overlay-subtle: rgba(255, 255, 255, .02);--overlay-light: rgba(255, 255, 255, .04);--overlay-medium: rgba(255, 255, 255, .06);--overlay-strong: rgba(255, 255, 255, .08);--overlay-border: rgba(255, 255, 255, .1);--overlay-border-hover:rgba(255, 255, 255, .2);--overlay-text: rgba(255, 255, 255, .55);--overlay-text-strong: rgba(255, 255, 255, .7);--overlay-text-bright: #fff;--overlay-backdrop: rgba(0, 0, 0, .55);--shadow-color: rgba(0, 0, 0, .4);--shadow-heavy: rgba(0, 0, 0, .5);--code-bg: #0d0d18;--announcement-bg: linear-gradient(90deg, #1a1a3e, #2a1a4e);--announcement-border: rgba(139, 92, 246, .3);--announcement-text: #c4b5fd;--header-bg: rgba(14, 14, 26, .85);--composer-bg: rgba(14, 14, 26, .9);--font-display: "Home Video", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sidebar-width: 240px;--font-size-scale: 1;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);color-scheme:dark}[data-theme=light]{color-scheme:light;--bg: #f5f5fa;--bg-secondary: #ffffff;--bg-tertiary: #f0f0f6;--surface: #ffffff;--surface-hover: #f5f5fa;--border: #d8d8e8;--border-light: #e0e0ee;--text: #111118;--text-muted: #4a4a68;--text-dim: #6e6e8a;--accent: #6c5ce7;--accent-light: #7c6cf0;--accent-dim: #5a4fc8;--accent-glow: rgba(108, 92, 231, .1);--accent-glow-strong: rgba(108, 92, 231, .18);--user-bubble: linear-gradient(135deg, #7c6cf0, #6c5ce7);--bot-bubble: #ffffff;--danger: #dc2626;--danger-bg: rgba(220, 38, 38, .06);--danger-border: rgba(220, 38, 38, .2);--success: #16a34a;--warning: #d97706;--overlay-subtle: rgba(0, 0, 0, .02);--overlay-light: rgba(0, 0, 0, .03);--overlay-medium: rgba(0, 0, 0, .05);--overlay-strong: rgba(0, 0, 0, .08);--overlay-border: rgba(0, 0, 0, .12);--overlay-border-hover:rgba(0, 0, 0, .2);--overlay-text: rgba(0, 0, 0, .7);--overlay-text-strong: rgba(0, 0, 0, .85);--overlay-text-bright: #1a1a2e;--overlay-backdrop: rgba(0, 0, 0, .35);--shadow-color: rgba(0, 0, 0, .08);--shadow-heavy: rgba(0, 0, 0, .14);--code-bg: #f0f0f6;--announcement-bg: linear-gradient(90deg, #ede8ff, #f0e8ff);--announcement-border: rgba(108, 92, 231, .25);--announcement-text: #5b4cdb;--header-bg: rgba(255, 255, 255, .95);--composer-bg: rgba(255, 255, 255, .96)}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;height:100%;position:relative;overflow:hidden}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:80;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:85;flex-shrink:0;transition:transform .35s var(--ease)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:calc(var(--sat) + 20px) 20px 18px;border-bottom:1px solid var(--border)}.sidebar-logo.sidebar-logo--brand{width:60px;height:60px;box-sizing:border-box;object-fit:contain;border-radius:11px;background:#16162a;flex-shrink:0}[data-theme=light] .sidebar-logo.sidebar-logo--brand{background:transparent}.sidebar-logo.sidebar-logo--simple,.sidebar-logo.sidebar-logo--circle{width:60px;height:60px;box-sizing:border-box;object-fit:contain;border-radius:11px;background:#16162a;flex-shrink:0}[data-theme=light] .sidebar-logo.sidebar-logo--circle{background:var(--surface-hover)}.sidebar-brand-text{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:.5px;background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:12px 10px;gap:4px}.sidebar-nav-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:14px;font-weight:400;font-family:inherit;cursor:pointer;transition:all .2s var(--ease)}.sidebar-nav-btn:hover{background:var(--bg-tertiary);color:var(--text)}.sidebar-nav-btn.active{background:var(--accent-glow);color:var(--accent-light)}.vscode-nav-btn{position:relative}.vscode-connected-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#4ec9b0;box-shadow:0 0 6px #4ec9b066}.sidebar-nav-icon{font-size:18px;line-height:1}.sidebar-nav-label{line-height:1}.sidebar-footer{padding:14px 20px calc(var(--sab) + 14px);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sidebar-status{display:flex;align-items:center;gap:8px}.sidebar-status-text{font-size:12px;color:var(--text-muted)}.sidebar-version{font-size:11px;color:var(--text-dim);letter-spacing:.5px}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);z-index:90;box-shadow:4px 0 24px var(--shadow-color)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block}.sidebar-backdrop.open{opacity:1;pointer-events:auto}}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;max-width:960px;margin:0 auto;width:100%}.app-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--sat) + 8px) 12px 8px;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.hamburger-btn{display:none;width:36px;height:36px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}.hamburger-btn:hover{color:var(--text)}@media(max-width:768px){.hamburger-btn{display:flex}}.logo-mark{height:28px;width:auto;max-width:120px;border-radius:0;object-fit:contain;flex-shrink:0}.header-title h1{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.3px;line-height:1.2;color:var(--text)}.header-sub{font-size:11.5px;color:var(--text-muted);display:block;line-height:1.4}.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;transition:background .3s var(--ease),box-shadow .3s var(--ease)}.status-dot.online{background:var(--success);box-shadow:0 0 8px var(--success)}.status-dot.offline{background:var(--danger);opacity:.5}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--bg-tertiary);border-radius:10px;color:var(--text-muted);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.icon-btn:hover{background:var(--surface);color:var(--text)}.chat-area{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:6px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media(min-width:769px){.chat-area{padding:24px 28px}}@media(min-width:1280px){.chat-area{padding:28px 36px}}.chat-area::-webkit-scrollbar{width:4px}.chat-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.announcement-banner{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:var(--announcement-bg);border-bottom:1px solid var(--announcement-border);color:var(--announcement-text);font-size:.82rem;font-weight:600;line-height:1.3;cursor:pointer;gap:10px;flex-shrink:0;position:relative;z-index:5}.announcement-stamp-link{flex-shrink:0;display:flex;align-items:center}.announcement-stamp{height:22px;width:auto;object-fit:contain;opacity:.5;transition:opacity .3s ease}.announcement-stamp:hover{opacity:.85}.announcement-close{opacity:.5;font-size:1rem;background:none;border:none;color:inherit;cursor:pointer;padding:4px 6px;line-height:1;flex-shrink:0}.announcement-banner:hover .announcement-close{opacity:1}@media(max-width:480px){.announcement-banner{padding:5px 10px;font-size:.78rem;gap:6px}.announcement-stamp{height:18px}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:20px}.empty-state.empty-direct{gap:8px}.empty-provider{font-family:var(--font-body);font-size:1.3rem;font-weight:600;color:var(--text);letter-spacing:.5px}.empty-logo-wrap{position:relative;margin-bottom:8px;padding:28px;overflow:visible}.empty-logo-img{width:220px;height:auto;max-width:70vw;border-radius:0;object-fit:contain;position:relative;z-index:1}.empty-logo-glow{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;border-radius:40px;background:radial-gradient(circle,var(--accent-glow-strong) 0%,transparent 70%);animation:pulseGlow 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}.empty-state h2{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:3px;color:var(--text)}.empty-tagline{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;font-family:var(--font-display);font-size:.85rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;text-align:center;color:var(--text-muted)}.empty-dot{margin:0 10px;opacity:.45}.empty-divider{width:140px;height:2px;border:none;border-radius:2px;background:linear-gradient(90deg,var(--accent),#6366f1);margin:4px 0}.empty-subtitle{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;font-family:var(--font-display);font-size:.75rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-align:center;color:var(--text-muted)}.empty-state p{color:var(--text-muted);font-size:13px;max-width:340px}.empty-hint{color:var(--accent-light)!important}.empty-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:6px}.suggestion-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s var(--ease)}.suggestion-chip:hover{border-color:var(--accent);color:var(--accent-light);background:var(--accent-glow)}@media(max-width:480px){.empty-state{gap:6px;padding:12px 16px}.empty-logo-wrap{margin-bottom:4px}.empty-logo-img{width:160px;height:auto;border-radius:0}.empty-logo-glow{top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:24px}.empty-state h2{font-size:1.5rem;letter-spacing:2px}.empty-tagline{font-size:.7rem;letter-spacing:1.5px}.empty-dot{margin:0 6px}.empty-divider{width:100px}.empty-subtitle{font-size:.65rem;letter-spacing:1.5px}.empty-state p{font-size:12px;max-width:280px}.suggestion-chip{font-size:11px;padding:5px 10px}.empty-suggestions{gap:5px}.empty-provider{font-size:1.2rem}}.bubble-row{display:flex;align-items:flex-end;gap:8px;max-width:92%;animation:bubbleIn .35s var(--ease-spring) both}.bubble-row.user{align-self:flex-end;flex-direction:row-reverse}.bubble-row.assistant{align-self:flex-start}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;margin-bottom:2px}.bot-avatar{object-fit:contain;background:transparent}.bubble{padding:12px 16px;border-radius:var(--radius-md);font-size:calc(14.5px * var(--font-size-scale, 1));line-height:1.55;position:relative;word-break:break-word;color:var(--text)}.bubble.user{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 12px #6c5ce72e}.bubble.assistant{background:var(--bot-bubble);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble.assistant.error{background:#f040600f;border:1px solid rgba(240,64,96,.22);border-left:3px solid rgba(240,64,96,.65);box-shadow:0 2px 16px #f0406014;padding:16px 18px}.bubble.assistant.error .md-content h3{margin:0 0 10px;font-size:15px;color:var(--danger);font-weight:700;letter-spacing:.2px;line-height:1.3}.bubble.assistant.error .md-content h3:before{content:""}.bubble.assistant.error .md-content p{font-size:13.5px;line-height:1.55;color:var(--text);margin:0 0 4px}.bubble.assistant.error .md-content em{display:block;margin-top:8px;font-size:12.5px;color:var(--text-muted);opacity:.85;line-height:1.5}.bubble.assistant.error .md-content .md-code-block{margin-top:10px;font-size:11px;max-height:120px;overflow:auto;opacity:.6}.bubble p{margin:0;white-space:pre-wrap}.bubble-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.bubble time{font-size:10px;color:var(--text-dim)}.bubble.assistant time{color:var(--text-dim)}.copy-btn{border:none;background:transparent;color:var(--text-dim);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s;font-size:12px}.copy-btn:hover{color:var(--accent-light);background:var(--accent-glow)}.bubble-actions{display:flex;gap:6px;align-items:center}.md-content{display:flex;flex-direction:column;gap:2px}.md-content .md-p{margin:0;line-height:1.6;color:var(--text)}.md-content strong{font-family:var(--font-display);font-size:1.08em;font-weight:700;letter-spacing:.3px}.md-content .md-blank{height:6px}.md-content .md-h1{font-family:var(--font-display);font-size:18px;font-weight:700;margin:8px 0 4px;color:var(--text)}.md-content .md-h2{font-size:16px;font-weight:700;margin:6px 0 3px;color:var(--text)}.md-content .md-h3{font-size:14.5px;font-weight:700;margin:4px 0 2px;color:var(--text)}.md-content .md-li{list-style:disc;margin-left:18px;line-height:1.6;margin-bottom:2px;color:var(--text)}.md-content .md-li.md-ol{list-style:decimal}.md-content .md-blockquote{border-left:3px solid var(--accent);padding:4px 12px;color:var(--text-muted);font-style:italic;margin:4px 0;background:#7c6cf00a;border-radius:0 var(--radius-xs) var(--radius-xs) 0}.md-content .md-hr{border:none;border-top:1px solid var(--border);margin:8px 0}.md-inline-code{background:#7c6cf01f;color:var(--accent-light);padding:1px 6px;border-radius:4px;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,monospace;font-size:13px}.md-code-block{position:relative;margin:6px 0;border-radius:var(--radius-sm);background:var(--code-bg);border:1px solid var(--border);overflow:hidden}.md-code-block .md-code-lang{display:block;padding:4px 12px;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);background:var(--overlay-subtle)}.md-code-block pre{margin:0;padding:12px;overflow-x:auto;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,monospace;font-size:13px;line-height:1.5;color:var(--text)}.md-code-block pre::-webkit-scrollbar{height:4px}.md-code-block pre::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.md-link{color:var(--accent-light);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.md-link:hover{border-bottom-color:var(--accent-light)}.bubble.typing{display:flex;gap:4px;padding:14px 20px}.bubble.typing .dot{width:7px;height:7px;background:var(--text-muted);border-radius:50%;animation:typingBounce 1.2s ease-in-out infinite}.bubble.typing .dot:nth-child(2){animation-delay:.15s}.bubble.typing .dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-6px);opacity:1}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px calc(var(--sab) + 10px);background:var(--composer-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);flex-shrink:0}@media(min-width:769px){.composer{padding:12px 24px calc(var(--sab) + 12px);gap:10px}}.file-input-hidden{display:none}.attach-btn{width:42px;height:42px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .2s var(--ease),background .2s var(--ease)}.attach-btn:hover:not(:disabled){color:var(--accent);background:var(--bg-tertiary)}.attach-btn:disabled{opacity:.3;cursor:default}.composer-input-wrap{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.file-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 12px;font-size:13px;color:var(--text-muted);max-width:100%;animation:bubbleIn .2s ease-out}.file-badge-icon{flex-shrink:0}.file-badge-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-badge-remove{border:none;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;padding:0 2px;flex-shrink:0;transition:color .15s}.file-badge-remove:hover{color:var(--accent)}.composer-actions{display:flex;flex-direction:column;gap:2px;align-items:center}.image-btn{color:var(--text-muted)}.image-preview-row{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0}.image-preview-thumb{position:relative;width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);flex-shrink:0;animation:bubbleIn .2s ease-out}.image-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-preview-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.image-preview-thumb:hover .image-preview-remove{opacity:1}.bubble-images{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.bubble-image{max-width:min(280px,100%);max-height:240px;border-radius:var(--radius-sm);object-fit:contain;cursor:pointer;transition:transform .15s var(--ease)}.bubble-image:hover{transform:scale(1.02)}.composer-input{flex:1;resize:none;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text);padding:10px 16px;font-size:calc(16px * var(--font-size-scale, 1));font-family:inherit;line-height:1.4;max-height:160px;outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.composer-input::placeholder{color:var(--text-dim)}.composer-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.send-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s var(--ease),transform .15s var(--ease-spring),opacity .2s;box-shadow:0 2px 12px var(--accent-glow)}.send-btn:hover:not(:disabled){background:var(--accent-light);transform:scale(1.06)}.send-btn:active:not(:disabled){transform:scale(.93)}.send-btn:disabled{opacity:.3;cursor:default;box-shadow:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:90;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--bg-secondary);border-left:1px solid var(--border);z-index:100;display:flex;flex-direction:column;transform:translate(100%);transition:transform .35s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch}.drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--sat) + 18px) 22px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-header h2{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text)}.drawer-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-tertiary);color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s var(--ease),color .2s}.drawer-close:hover{background:var(--surface);color:var(--text)}.drawer-body{flex:1;padding:22px;display:flex;flex-direction:column;gap:26px}.drawer-label{display:block;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px}.api-key-row{display:flex;align-items:center;gap:10px}.drawer-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text);font-size:16px;font-family:inherit;outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.drawer-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.drawer-input::placeholder{color:var(--text-dim)}.key-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);opacity:.5;flex-shrink:0;transition:background .3s,opacity .3s,box-shadow .3s}.key-dot.active{background:var(--success);opacity:1;box-shadow:0 0 8px var(--success)}.drawer-hint{margin-top:6px;font-size:12px;color:var(--text-muted);line-height:1.4}.mode-cards{display:flex;flex-direction:column;gap:10px}.mode-card{text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease);font-family:inherit}.mode-card:hover{border-color:var(--accent);color:var(--text)}.mode-card.selected{background:var(--accent-glow);border-color:var(--accent);color:var(--text);box-shadow:0 0 12px var(--accent-glow)}.mode-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mode-card-icon{font-size:20px}.mode-card-title{font-size:14px;font-weight:700;color:inherit}.mode-card-badge{display:inline-block;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:var(--radius-full);background:var(--accent);color:#fff;margin-left:6px;vertical-align:middle}.mode-card-desc{font-size:12.5px;line-height:1.5;margin:0 0 8px;color:var(--text-muted)}.mode-card.selected .mode-card-desc{color:var(--text)}.mode-card-desc strong{color:var(--accent-light)}.mode-card-desc em{display:block;margin-top:4px;font-size:11.5px;opacity:.7}.mode-card-features{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--text-muted)}.mode-card.selected .mode-card-features{color:var(--text)}.toggle-group{display:flex;gap:8px;flex-wrap:wrap}.toggle-chip{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);font-size:13px;font-weight:400;cursor:pointer;transition:all .2s var(--ease);font-family:inherit}.toggle-chip:hover{border-color:var(--accent);color:var(--text)}.toggle-chip.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light);box-shadow:0 0 8px var(--accent-glow)}.chip-icon{font-size:14px}.accent-swatch-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.accent-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease);flex-shrink:0;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;outline:none}.accent-swatch:hover{transform:scale(1.15)}.accent-swatch.active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--text)}.accent-swatch:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-light)}.font-size-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);font-weight:500;cursor:pointer;transition:all .2s var(--ease);font-family:inherit}.font-size-chip:hover{border-color:var(--accent);color:var(--text)}.font-size-chip.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light);box-shadow:0 0 8px var(--accent-glow)}.font-size-chip[data-size=small]{font-size:11.5px}.font-size-chip[data-size=medium]{font-size:13px}.font-size-chip[data-size=large]{font-size:15px}.bubble-style-row{display:flex;gap:10px;flex-wrap:wrap}.bubble-style-preview{flex:1;min-width:80px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;transition:all .2s var(--ease);display:flex;flex-direction:column;align-items:center;gap:6px}.bubble-style-preview:hover{border-color:var(--accent)}.bubble-style-preview.active{background:var(--accent-glow);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.bubble-style-preview .preview-bubbles{display:flex;flex-direction:column;gap:3px;width:100%}.bubble-style-preview .mini-bubble{height:8px;background:var(--accent);opacity:.5}.bubble-style-preview .mini-bubble.bot{width:75%;background:var(--surface-hover);align-self:flex-start}.bubble-style-preview .mini-bubble.user{width:60%;align-self:flex-end}.bubble-style-preview[data-style=rounded] .mini-bubble{border-radius:4px}.bubble-style-preview[data-style=rounded] .mini-bubble.user{border-bottom-right-radius:1px}.bubble-style-preview[data-style=rounded] .mini-bubble.bot{border-bottom-left-radius:1px}.bubble-style-preview[data-style=minimal] .mini-bubble{border-radius:0}.bubble-style-preview[data-style=minimal] .mini-bubble.user{border-left:2px solid var(--accent)}.bubble-style-preview[data-style=minimal] .mini-bubble.bot{border-left:2px solid var(--border-light)}.bubble-style-label{font-size:11px;color:var(--text-muted);font-weight:500;letter-spacing:.3px}.bubble-style-preview.active .bubble-style-label{color:var(--accent-light)}[data-bubble-style=minimal] .bubble{border-radius:0;border-left:3px solid transparent}[data-bubble-style=minimal] .bubble.user{border-radius:0;border-left:none;border-right:3px solid var(--accent);background:var(--bg-tertiary);color:var(--text);box-shadow:none}[data-bubble-style=minimal] .bubble.assistant{border-radius:0;border-left:3px solid var(--border-light)}.model-picker{position:relative;width:100%}.model-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);font-size:13.5px;font-family:inherit;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);text-align:left;min-height:42px}.model-picker-trigger:hover{border-color:var(--accent)}.model-picker-trigger.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.model-picker-value{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.model-picker-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-picker-label.model-default{color:var(--text-muted);font-weight:400}.model-picker-label.model-custom{color:var(--accent-light);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12.5px}.model-picker-meta{display:flex;align-items:center;gap:4px;flex-shrink:0;font-size:11.5px;color:var(--text-muted)}.model-picker-chevron{font-size:10px;color:var(--text-dim);flex-shrink:0;transition:transform .15s var(--ease)}.model-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 32px var(--shadow-heavy),0 2px 8px var(--shadow-color);max-height:360px;display:flex;flex-direction:column;animation:modelPickerIn .15s var(--ease) both}@keyframes modelPickerIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-picker-search-wrap{padding:8px 8px 4px;flex-shrink:0}.model-picker-search{width:100%;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s var(--ease)}.model-picker-search:focus{border-color:var(--accent)}.model-picker-search::placeholder{color:var(--text-dim)}.model-picker-groups{overflow-y:auto;flex:1;padding:4px 0;overscroll-behavior:contain}.model-picker-groups::-webkit-scrollbar{width:4px}.model-picker-groups::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.model-group{padding:0 4px}.model-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px;position:sticky;top:0;background:var(--bg-secondary);z-index:1}.model-group-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.model-group-badges{display:flex;align-items:center;gap:4px}.model-badge{display:inline-flex;align-items:center;font-size:10px;padding:1px 5px;border-radius:var(--radius-full);font-weight:600;letter-spacing:.3px;line-height:1.6;white-space:nowrap}.model-badge.free{background:#22c55e1f;color:var(--success);border:1px solid rgba(34,197,94,.25)}.model-badge.detected{background:var(--accent-glow);color:var(--accent-light);border:1px solid rgba(124,108,240,.25)}.model-badge.vision,.model-badge.reasoning{background:transparent;font-size:12px;padding:0 1px}.model-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:background .1s var(--ease);text-align:left;border-radius:var(--radius-xs);margin:0 4px;width:calc(100% - 8px)}.model-option:hover{background:var(--surface-hover)}.model-option.selected{background:var(--accent-glow);color:var(--accent-light)}.model-option.is-default{color:var(--text-muted);font-style:italic}.model-option.default-option{padding:10px 12px;border-bottom:1px solid var(--border);border-radius:0;margin:0;width:100%}.model-option-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.model-option-sublabel{font-size:11.5px;color:var(--text-dim);font-family:SF Mono,Fira Code,Consolas,monospace}.model-option-info{display:flex;align-items:center;gap:4px;flex-shrink:0}.model-context{font-size:11px;color:var(--text-dim);font-weight:500;font-variant-numeric:tabular-nums}.model-picker-empty{padding:16px;text-align:center;color:var(--text-dim);font-size:13px}.model-picker-custom{border-top:1px solid var(--border);padding:6px 8px;flex-shrink:0}.model-custom-toggle{width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);font-size:12.5px;font-family:inherit;cursor:pointer;text-align:left;transition:color .15s var(--ease),background .15s var(--ease)}.model-custom-toggle:hover{color:var(--accent-light);background:var(--surface-hover)}.model-custom-input-row{display:flex;gap:6px;align-items:center}.model-custom-input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-tertiary);color:var(--text);font-size:12.5px;font-family:SF Mono,Fira Code,Consolas,monospace;outline:none;transition:border-color .15s var(--ease)}.model-custom-input:focus{border-color:var(--accent)}.model-custom-input::placeholder{color:var(--text-dim)}.model-custom-cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-dim);font-size:14px;cursor:pointer;border-radius:var(--radius-xs);transition:color .15s var(--ease),background .15s var(--ease)}.model-custom-cancel:hover{color:var(--text);background:var(--surface-hover)}[data-theme=light] .model-picker-dropdown{background:var(--bg-secondary);border-color:var(--border)}[data-theme=light] .model-group-header{background:var(--bg-secondary)}[data-theme=light] .model-option.selected{background:var(--accent-glow);color:var(--accent)}.btn-danger{width:100%;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);font-size:13px;font-weight:400;cursor:pointer;font-family:inherit;transition:background .2s var(--ease)}.btn-danger:hover{background:#f0406029}.btn-ghost{width:100%;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:13px;font-weight:400;cursor:pointer;font-family:inherit;transition:background .2s var(--ease)}.btn-ghost:hover{background:var(--bg-tertiary)}.clear-confirm{display:flex;flex-direction:column;gap:10px}.clear-confirm-text{font-size:12px;color:var(--danger);margin:0;line-height:1.4}.clear-confirm-actions{display:flex;gap:8px}.drawer-footer{padding:14px 22px calc(var(--sab) + 14px);border-top:1px solid var(--border);text-align:center;flex-shrink:0}.version-tag{font-size:11px;color:var(--text-dim);letter-spacing:.5px}.personality-mode-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.personality-current{font-size:13px;color:var(--accent-light);font-weight:600}.personality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:280px;overflow-y:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.personality-grid::-webkit-scrollbar{width:3px}.personality-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.personality-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .2s var(--ease);min-height:68px}.personality-card:hover{border-color:var(--accent);color:var(--text);background:var(--surface)}.personality-card.selected{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light);box-shadow:0 0 14px var(--accent-glow)}.personality-card.active-auto{border-color:#7c6cf059;background:#7c6cf00f}.personality-card-icon{font-size:22px;line-height:1}.personality-card-label{font-size:10px;font-weight:400;text-align:center;line-height:1.2;letter-spacing:.3px}.plugin-marketplace{display:flex;flex-direction:column;gap:10px}.pm-summary{display:flex;gap:14px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border)}.pm-summary-stat{font-size:12px;color:var(--text-muted);white-space:nowrap}.pm-search-row{position:relative}.pm-search{padding-left:14px!important}.pm-filters{display:flex;gap:6px;flex-wrap:wrap}.pm-filter-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-weight:400;cursor:pointer;font-family:inherit;transition:all .2s var(--ease);white-space:nowrap}.pm-filter-pill:hover{border-color:var(--accent);color:var(--text)}.pm-filter-pill.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light)}.pm-plugin-list{display:flex;flex-direction:column;gap:6px}.pm-empty{text-align:center;padding:24px 12px;color:var(--text-dim);font-size:13px}.plugin-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.plugin-card:hover{border-color:var(--border-light)}.plugin-card.installed{border-color:#7c6cf040}.plugin-card.expanded{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.plugin-card-header{display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;background:transparent;border:none;color:inherit;font-family:inherit;cursor:pointer;text-align:left}.plugin-icon{font-size:24px;flex-shrink:0;line-height:1}.plugin-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.plugin-name-row{display:flex;align-items:center;gap:6px}.plugin-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-full);font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0}.plugin-badge.new{background:var(--accent);color:#fff}.plugin-badge.featured{background:#ffaa3326;color:#fa3}.plugin-author{font-size:11px;color:var(--text-dim)}.plugin-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.plugin-status{font-size:11px;font-weight:600;white-space:nowrap}.plugin-status.enabled{color:var(--success)}.plugin-status.disabled{color:var(--text-dim)}.expand-arrow{font-size:12px;color:var(--text-dim);transition:transform .2s var(--ease)}.expand-arrow.open{transform:rotate(180deg)}.plugin-card-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px;animation:fadeSlideDown .2s var(--ease)}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.plugin-desc{font-size:12.5px;color:var(--text-muted);line-height:1.5;white-space:pre-line}.plugin-perms{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.perms-label{font-size:11px;color:var(--text-dim);font-weight:500}.perm-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--radius-full);background:#ffaa3314;border:1px solid rgba(255,170,51,.2);color:var(--warning);font-size:10px;font-weight:500}.plugin-tags{display:flex;gap:4px;flex-wrap:wrap}.plugin-tag{font-size:10px;color:var(--text-dim);background:var(--surface);padding:2px 7px;border-radius:var(--radius-full)}.plugin-stats{display:flex;align-items:center;gap:6px}.star-rating{display:inline-flex;gap:1px}.star{color:var(--text-dim);transition:color .15s;-webkit-user-select:none;user-select:none}.star.filled{color:#fa3}.stat-text{font-size:11px;color:var(--text-muted)}.stat-sep{font-size:11px;color:var(--text-dim)}.plugin-actions{display:flex;gap:8px}.btn-plugin-install{padding:6px 18px;border-radius:var(--radius-full);border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s var(--ease)}.btn-plugin-install:hover{background:var(--accent-light);box-shadow:0 0 12px var(--accent-glow)}.btn-plugin-toggle{padding:6px 16px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s var(--ease)}.btn-plugin-toggle.active{border-color:var(--success);color:var(--success)}.btn-plugin-toggle:hover{border-color:var(--accent);color:var(--text)}.btn-plugin-uninstall{padding:6px 16px;border-radius:var(--radius-full);border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s var(--ease)}.btn-plugin-uninstall:hover{background:#f0406026;border-color:var(--danger)}.plugin-config-form{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border)}.config-field{display:flex;flex-direction:column;gap:4px}.config-label{font-size:11px;font-weight:500;color:var(--text-muted)}.config-select{padding:7px 10px!important;font-size:12.5px!important;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.plugin-user-rating{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.rate-label{font-size:11px;color:var(--text-dim)}[data-theme=light] .plugin-card{background:var(--surface);border-color:var(--border)}[data-theme=light] .plugin-card.installed{border-color:#6c5ce74d}[data-theme=light] .pm-summary,[data-theme=light] .plugin-config-form{background:var(--bg-secondary)}[data-theme=light] .perm-badge{background:#ffaa330f}[data-theme=light] .plugin-tag{background:var(--bg-tertiary)}.vscode-status{margin:10px 0 6px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#00000026;font-size:12px}.vscode-status.connected{border-color:#2ed57359;background:#2ed5730f}.vscode-status.disconnected{border-color:#ff6b6b40;background:#ff6b6b0a}.vscode-status-row{display:flex;align-items:center;gap:8px}.vscode-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.vscode-dot.on{background:#2ed573;box-shadow:0 0 6px #2ed57380;animation:vsc-pulse 2s ease-in-out infinite}.vscode-dot.off{background:#666}@keyframes vsc-pulse{0%,to{box-shadow:0 0 4px #2ed5734d}50%{box-shadow:0 0 10px #2ed57399}}.vscode-label{font-weight:600;color:var(--text)}.vscode-refresh-btn{margin-left:auto;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:14px;cursor:pointer;padding:2px 6px;line-height:1;transition:color .15s,border-color .15s}.vscode-refresh-btn:hover{color:var(--accent);border-color:var(--accent)}.vscode-details{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.vscode-detail{font-size:11px;color:var(--text-dim)}.vscode-port{opacity:.6}.vscode-hint{margin:6px 0 0;font-size:11px;color:var(--text-dim);opacity:.8;line-height:1.4}.vscode-hint strong{color:var(--accent)}[data-theme=light] .vscode-status{background:#00000008}[data-theme=light] .vscode-status.connected{background:#2ed5730a}[data-theme=light] .vscode-status.disconnected{background:#ff6b6b08}[data-theme=light] .vscode-details{border-top-color:#00000014}.vscode-panel{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto;overflow-x:hidden;font-size:13px}.vscode-spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;color:var(--text-muted)}.vscode-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.vscode-disconnected{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;padding:24px;text-align:center;color:var(--text-muted)}.vscode-disconnected-icon{font-size:40px;opacity:.5}.vscode-disconnected h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.vscode-disconnected p{margin:0;font-size:13px;line-height:1.5;max-width:280px}.vscode-disconnected-hint{font-size:11px;color:var(--text-dim);font-family:var(--font-mono, monospace)}.vscode-retry-btn{margin-top:8px;padding:8px 20px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:background .2s var(--ease)}.vscode-retry-btn:hover{background:var(--accent-glow);color:var(--accent-light)}.vscode-connection-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:#4ec9b014;border:1px solid rgba(78,201,176,.2);font-size:12px;color:var(--text-muted);flex-shrink:0}.vscode-conn-dot{width:7px;height:7px;border-radius:50%;background:#4ec9b0;box-shadow:0 0 6px #4ec9b066;flex-shrink:0}.vscode-conn-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.vscode-refresh-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:16px;padding:0 2px;line-height:1;transition:color .2s}.vscode-refresh-btn:hover{color:var(--accent)}.vscode-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.vscode-card-empty{color:var(--text-dim);font-size:12px;align-items:center;padding:14px}.vscode-card-header{display:flex;flex-direction:column;gap:4px}.vscode-card-title{display:flex;align-items:center;gap:8px}.vscode-lang-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;color:#fff;flex-shrink:0;text-transform:lowercase;letter-spacing:.3px}.vscode-filename{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vscode-card-meta{font-size:11px;color:var(--text-dim);font-family:var(--font-mono, monospace)}.vscode-selection-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:#a29bfe1f;border:1px solid rgba(162,155,254,.25);border-radius:100px;font-size:11px;color:#a29bfe;width:fit-content}.vscode-file-preview{margin:0;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:auto;max-height:240px;font-size:11px;font-family:var(--font-mono, "Courier New", monospace);line-height:1.5;color:var(--text);white-space:pre;-moz-tab-size:2;tab-size:2}.vscode-section-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.vscode-card-actions{display:flex;gap:8px;flex-wrap:wrap}.vscode-action-btn{flex:1;min-width:80px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}.vscode-action-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text);border-color:var(--accent)}.vscode-action-btn.primary{background:var(--accent-glow);color:var(--accent-light);border-color:var(--accent)}.vscode-action-btn.primary:hover:not(:disabled){background:var(--accent);color:#fff}.vscode-action-btn:disabled{opacity:.4;cursor:not-allowed}.vscode-action-btn.ok{color:#4ec9b0;border-color:#4ec9b0}.vscode-action-btn.err{color:#f44747;border-color:#f44747}.vscode-tab-list{display:flex;flex-direction:column;gap:2px}.vscode-tab-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s}.vscode-tab-item:hover{background:var(--bg-tertiary);color:var(--text)}.vscode-tab-item.active{color:var(--text);background:#ffffff0a}.vscode-tab-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vscode-tab-active-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-left:8px}.vscode-code-input{width:100%;box-sizing:border-box;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-family:var(--font-mono, "Courier New", monospace);line-height:1.5;resize:vertical;min-height:80px;transition:border-color .2s}.vscode-code-input:focus{outline:none;border-color:var(--accent)}.vscode-terminal-row{display:flex;gap:8px}.vscode-terminal-input{flex:1;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-family:var(--font-mono, "Courier New", monospace);transition:border-color .2s}.vscode-terminal-input:focus{outline:none;border-color:var(--accent)}.vscode-terminal-row .vscode-action-btn{flex:0 0 auto;padding:8px 14px}.vscode-chat-composer{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0}.vscode-composer-context-hint{font-size:11px;color:var(--accent);opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vscode-composer-row{display:flex;gap:8px;align-items:flex-end}.vscode-composer-input{flex:1;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;line-height:1.5;resize:none;min-height:60px;transition:border-color .2s}.vscode-composer-input:focus{outline:none;border-color:var(--accent)}.vscode-composer-send{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:18px;font-weight:700;line-height:1;cursor:pointer;transition:background .2s,opacity .2s;display:flex;align-items:center;justify-content:center}.vscode-composer-send:hover:not(.disabled){background:var(--accent-light)}.vscode-composer-send.disabled{opacity:.35;cursor:not-allowed;background:var(--border)}.vscode-composer-hint{font-size:10px;color:var(--text-dim);line-height:1.3}[data-theme=light] .vscode-connection-bar{background:#007acc0f;border-color:#007acc33}[data-theme=light] .vscode-conn-dot{background:#007acc;box-shadow:0 0 6px #007acc44}[data-theme=light] .vscode-card{background:#fff}[data-theme=light] .vscode-code-input,[data-theme=light] .vscode-terminal-input{background:#f5f5f5}[data-theme=light] .vscode-file-preview{background:#f8f8f8}.agent-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.agent-tabs{display:flex;gap:2px;padding:8px 16px 0;border-bottom:1px solid var(--border);flex-shrink:0}.agent-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;margin-bottom:-1px}.agent-tab:hover{color:var(--text)}.agent-tab.active{color:var(--accent-light);border-bottom-color:var(--accent)}.agent-tab-icon{font-size:16px}.agent-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}@media(min-width:769px){.agent-content{padding:20px 28px}}@media(max-width:480px){.agent-content{padding:12px}.agent-tab{padding:10px 12px;font-size:13px}.goal-header{padding:10px 12px}.goal-actions{gap:4px}.goal-action-btn{padding:6px 10px;font-size:11px}}.agent-content::-webkit-scrollbar{width:4px}.agent-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.agent-error{display:flex;align-items:center;gap:8px;padding:10px 16px;margin:8px 16px 0;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);color:var(--danger);font-size:13px}.agent-error-dismiss{margin-left:auto;border:none;background:transparent;color:var(--danger);font-size:16px;cursor:pointer;padding:0 4px}.agent-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:14px;text-align:center;padding:40px 20px}.agent-placeholder-icon{font-size:40px;opacity:.5}.goal-create{display:flex;gap:8px}.goal-create-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.goal-create-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.goal-create-input::placeholder{color:var(--text-dim)}.goal-create-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s var(--ease-spring);box-shadow:0 2px 10px var(--accent-glow)}.goal-create-btn:hover:not(:disabled){background:var(--accent-light);transform:scale(1.06)}.goal-create-btn:disabled{opacity:.3;cursor:default}.goal-filter{display:flex;align-items:center;justify-content:space-between}.goal-filter-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer}.goal-filter-label input[type=checkbox]{accent-color:var(--accent)}.goal-refresh-btn{border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);transition:color .2s,background .2s}.goal-refresh-btn:hover{color:var(--accent-light);background:var(--accent-glow)}.goal-list{display:flex;flex-direction:column;gap:8px}.goal-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);overflow:hidden;transition:border-color .2s,box-shadow .2s}.goal-card:hover{border-color:var(--border-light)}.goal-card.expanded{border-color:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.goal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;gap:10px}.goal-header-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.goal-status-icon{font-size:18px;flex-shrink:0}.goal-info{display:flex;flex-direction:column;gap:2px;min-width:0}.goal-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-meta{font-size:11px;color:var(--text-dim)}.goal-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.goal-progress{width:60px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.goal-progress-fill{height:100%;background:var(--success);border-radius:2px;transition:width .4s var(--ease)}.goal-expand-arrow{font-size:18px;color:var(--text-dim);transition:transform .2s var(--ease);line-height:1}.goal-expand-arrow.open{transform:rotate(90deg)}.goal-detail{padding:0 14px 14px;animation:slideDown .25s var(--ease)}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.goal-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.goal-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s var(--ease)}.goal-action-btn:hover{border-color:var(--accent);color:var(--text)}.goal-action-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.goal-action-btn.primary:hover{background:var(--accent-light)}.goal-action-btn.danger{color:var(--danger);border-color:var(--danger-border)}.goal-action-btn.danger:hover{background:var(--danger-bg)}.goal-action-btn:disabled{opacity:.4;cursor:default}.goal-stats-bar{display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px;background:var(--overlay-subtle);border-radius:var(--radius-xs);border:1px solid var(--border);margin-bottom:10px;font-size:12px;font-weight:600}.goal-stat{display:flex;align-items:center;gap:3px;color:var(--text-muted)}.step-list{display:flex;flex-direction:column;gap:2px}.step-row{border-radius:var(--radius-xs);transition:background .2s}.step-row:hover{background:var(--overlay-subtle)}.step-row-header{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font-size:13px}.step-status-icon{font-size:14px;flex-shrink:0;font-weight:700}.step-number{color:var(--text-dim);font-size:12px;font-weight:600;flex-shrink:0}.step-desc{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-row.succeeded .step-desc{color:var(--text-muted)}.step-row.skipped .step-desc{color:var(--text-dim);text-decoration:line-through}.step-time{font-size:11px;color:var(--text-dim);flex-shrink:0}.step-retries{font-size:11px;color:var(--warning);flex-shrink:0}.step-tools-badge{font-size:11px;color:var(--accent-light);flex-shrink:0}.step-detail{padding:4px 10px 10px 34px;animation:slideDown .2s var(--ease)}.step-detail-label{display:block;font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.step-result pre,.step-tc-result{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 10px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:12px;line-height:1.4;overflow-x:auto;white-space:pre-wrap;color:var(--text);margin-top:4px}.step-tool-calls{margin-top:8px}.step-tool-call{margin-bottom:8px}.step-tc-name{font-size:12px;font-weight:700;color:var(--accent-light);margin-right:6px}.step-tool-call code{font-size:11px;color:var(--text-muted);background:#7c6cf014;padding:2px 6px;border-radius:3px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.tool-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);cursor:pointer;font-family:inherit;text-align:left;transition:all .2s var(--ease)}.tool-card:hover{border-color:var(--accent);background:var(--surface)}.tool-card.selected{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 12px var(--accent-glow)}.tool-card-name{font-size:13px;font-weight:700;color:var(--text)}.tool-card-desc{font-size:11px;color:var(--text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-runner{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);animation:bubbleIn .25s var(--ease)}.tool-runner-header{display:flex;align-items:center;gap:6px}.tool-runner-name{font-size:14px;font-weight:700;color:var(--accent-light)}.tool-runner-args{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--code-bg);color:var(--text);padding:10px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:13px;outline:none;min-height:60px;transition:border-color .2s}.tool-runner-args:focus{border-color:var(--accent)}.tool-runner-result{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-xs);padding:10px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:12px;line-height:1.4;overflow-x:auto;white-space:pre-wrap;color:var(--text);max-height:300px;overflow-y:auto}.memory-panel{padding:20px;max-width:720px;margin:0 auto}.memory-panel h2{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:16px}.memory-panel ul{list-style:none;display:flex;flex-direction:column;gap:8px}.memory-panel li{padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;line-height:1.5}.memory-panel li b{color:var(--accent-light)}@media(min-width:769px){.bubble-row{max-width:72%}.personality-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:320px}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.mode-cards{flex-direction:row}.mode-card{flex:1}.drawer{width:min(420px,80vw)}}@media(min-width:1024px){.hamburger-btn{display:none!important}.logo-mark{display:block}.drawer{width:min(440px,70vw)}}@media(min-width:1440px){.main-content{max-width:1040px}.bubble-row{max-width:65%}.chat-area{padding:32px 40px}}.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;padding:10px 20px;background:var(--accent);color:#fff;font-weight:700;font-size:14px;border-radius:var(--radius-sm);text-decoration:none;transition:top .2s var(--ease)}.skip-link:focus{top:12px}*:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}*:focus:not(:focus-visible){outline:none}.composer-input:focus-visible,.drawer-input:focus-visible,.goal-create-input:focus-visible,.tool-runner-args:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.mode-card:focus-visible,.personality-card:focus-visible,.toggle-chip:focus-visible,.suggestion-chip:focus-visible,.sidebar-nav-btn:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.icon-btn:focus-visible,.send-btn:focus-visible,.attach-btn:focus-visible,.copy-btn:focus-visible,.drawer-close:focus-visible,.hamburger-btn:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bubble-row,.typing .dot,.empty-logo-glow{animation:none!important}}@media(prefers-contrast:more){[data-theme=dark]{--bg: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #111111;--surface: #1a1a1a;--surface-hover: #2a2a2a;--border: #555555;--border-light: #666666;--text: #ffffff;--text-muted: #bbbbbb;--text-dim: #999999;--accent: #9b8aff;--accent-light: #c4bbff;--bot-bubble: #111111}[data-theme=light]{--bg: #ffffff;--bg-secondary: #ffffff;--bg-tertiary: #f0f0f0;--surface: #ffffff;--surface-hover: #f0f0f0;--border: #999999;--border-light: #aaaaaa;--text: #000000;--text-muted: #333333;--text-dim: #555555;--accent: #5a4ac8;--accent-light: #5a4ac8;--bot-bubble: #ffffff}.bubble.user{background:#7c6cf0}.bubble.assistant,.mode-card,.personality-card,.toggle-chip,.drawer-input,.composer-input{border-width:2px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(pointer:coarse){.icon-btn,.hamburger-btn,.drawer-close,.send-btn,.attach-btn,.goal-create-btn,.copy-btn,.agent-error-dismiss,.goal-refresh-btn{min-width:44px;min-height:44px}.sidebar-nav-btn{min-height:44px}.toggle-chip{min-height:40px}.personality-card{min-height:72px}.suggestion-chip{min-height:40px}.goal-action-btn{min-height:38px}}@media(max-width:380px){.app-header{padding-left:10px;padding-right:10px}.header-sub{font-size:10.5px}.composer{padding-left:8px;padding-right:8px}.composer-input{font-size:calc(16px * var(--font-size-scale, 1));padding:8px 12px}.bubble{font-size:calc(13.5px * var(--font-size-scale, 1));padding:10px 12px}.drawer{width:100vw}}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(var(--sat) + 24px) 24px calc(var(--sab) + 24px);background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(139 92 246 / .08),transparent)}.login-announcement{position:fixed;top:0;left:0;right:0;z-index:50;border-radius:0}.login-card{display:flex;flex-direction:column;align-items:center;max-width:380px;width:100%;padding:36px 28px 28px;border-radius:20px;background:var(--surface);border:1px solid var(--overlay-border);box-shadow:0 8px 40px var(--shadow-heavy);animation:login-card-in .4s ease}@keyframes login-card-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{width:180px;height:auto;max-width:70%;margin-bottom:18px;padding:12px 18px;border-radius:16px;background:#1e203af2;filter:drop-shadow(0 0 22px rgba(168 85 247 / .6)) drop-shadow(0 0 48px rgba(168 85 247 / .3));animation:login-logo-glow 3s ease-in-out infinite alternate}@keyframes login-logo-glow{0%{filter:drop-shadow(0 0 22px rgba(168 85 247 / .6)) drop-shadow(0 0 48px rgba(168 85 247 / .3))}to{filter:drop-shadow(0 0 30px rgba(168 85 247 / .75)) drop-shadow(0 0 60px rgba(168 85 247 / .4))}}.login-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:6px}.login-subtitle{font-size:.82rem;color:var(--overlay-text);text-align:center;line-height:1.5;margin-bottom:24px}.login-sync-note{font-size:.78rem;opacity:.85;margin-bottom:20px}.login-error{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;margin-bottom:16px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239 68 68 / .25);color:#fca5a5;font-size:13px;line-height:1.4;animation:login-error-in .25s ease}.login-error span{flex:1}.login-error-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:2px 4px;opacity:.6;transition:opacity .15s}.login-error-dismiss:hover{opacity:1}@keyframes login-error-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.login-card{padding:28px 20px 24px}.login-logo{width:140px;height:auto;margin-bottom:12px}.login-title{font-size:1.2rem}.login-subtitle{font-size:.78rem;margin-bottom:18px}}@media(max-width:380px){.login-card{padding:22px 16px 20px;max-width:100%}.login-logo{width:120px;height:auto;margin-bottom:8px}.login-title{font-size:1.1rem}.login-subtitle{font-size:.74rem;margin-bottom:14px}.login-btn{padding:10px 14px;font-size:13px}.login-skip{font-size:12px;padding:8px 14px}.login-guest-note{font-size:11px}.author-stamp-img{height:30px}}.login-providers{display:flex;flex-direction:column;gap:10px;width:100%;margin-bottom:16px}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 18px;border:1px solid var(--overlay-border);border-radius:12px;background:var(--overlay-light);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.login-btn:hover{background:var(--overlay-strong);border-color:var(--overlay-border-hover)}.login-btn:active{transform:scale(.98)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@keyframes spin{to{transform:rotate(360deg)}}.login-btn-github:hover{border-color:#8b5cf6;background:#8b5cf61a}.login-btn-github:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.login-btn-google:hover{border-color:#4285f4;background:#4285f414}.login-btn-apple:hover{border-color:#a3a3a3;background:var(--overlay-medium)}.login-btn-device{border-color:var(--overlay-border);color:var(--overlay-text);font-size:13px}.login-btn-device:hover{border-color:#3b82f6;background:#3b82f614;color:var(--text)}.device-flow-section{display:flex;flex-direction:column;align-items:center;width:100%;gap:4px}.device-flow-instruction{font-size:.82rem;color:var(--overlay-text);text-align:center;line-height:1.5;margin:0 0 10px}.device-code-display{font-family:var(--font-mono, "Courier New", monospace);font-size:2rem;font-weight:700;letter-spacing:.18em;color:var(--text);background:var(--overlay-subtle, rgba(255 255 255 / .06));border:2px solid rgba(139 92 246 / .3);border-radius:12px;padding:14px 24px;margin:4px 0 12px;-webkit-user-select:all;user-select:all;cursor:text;text-align:center;width:100%;box-sizing:border-box;transition:border-color .2s}.device-code-display:hover{border-color:#8b5cf68c}.device-flow-hint{font-size:.78rem;color:var(--overlay-text);text-align:center;line-height:1.55;margin:0 0 14px;opacity:.8}.device-flow-actions{display:flex;flex-direction:column;gap:8px;width:100%}.device-flow-open-btn{text-decoration:none}.device-flow-waiting{font-size:.78rem;color:var(--overlay-text);margin:10px 0 0;opacity:.65}@media(max-width:480px){.device-code-display{font-size:1.6rem;padding:10px 16px}}.login-skip{background:none;border:1px solid var(--overlay-border);border-radius:10px;color:var(--overlay-text);font-size:13px;cursor:pointer;padding:9px 20px;width:100%;transition:color .15s,border-color .15s,background .15s}.login-skip:hover{color:var(--overlay-text-strong);border-color:var(--overlay-border-hover);background:var(--overlay-subtle)}.login-divider{display:flex;align-items:center;width:100%;gap:12px;margin:4px 0 16px;color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--overlay-border)}.login-guest-note{margin-top:10px;font-size:12px;color:var(--text-dim);text-align:center}.login-loading,.login-no-providers{color:var(--text-muted);font-size:14px;margin-bottom:20px}.user-menu{position:relative}.user-avatar-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--overlay-border);border-radius:99px;padding:4px 12px 4px 4px;cursor:pointer;color:var(--text);transition:border-color .15s,background .15s}.user-avatar-btn:hover{border-color:var(--overlay-border-hover);background:var(--overlay-light)}.user-avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover}.user-avatar-fallback{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}.user-name{font-size:13px;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--surface);border:1px solid var(--overlay-border);border-radius:12px;box-shadow:0 12px 40px var(--shadow-heavy);padding:8px 0;z-index:200;animation:fadeSlideIn .15s ease-out}.user-dropdown-item{display:block;width:100%;padding:10px 16px;background:none;border:none;color:var(--overlay-text-strong);font-size:14px;text-align:left;cursor:pointer;transition:background .1s,color .1s}.user-dropdown-item:hover{background:var(--overlay-medium);color:var(--text)}.user-dropdown-item.danger{color:#f87171}.user-dropdown-item.danger:hover{background:#f871711a}.user-dropdown-header{padding:12px 16px 8px;display:flex;flex-direction:column;gap:2px}.user-dropdown-name{font-size:14px;font-weight:600;color:var(--text)}.user-dropdown-email{font-size:12px;color:var(--text-muted)}.user-dropdown-divider{height:1px;background:var(--overlay-border);margin:4px 0}.user-signin-btn{background:none;border:1px solid var(--overlay-border);border-radius:99px;padding:6px 14px;color:var(--overlay-text);font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.user-signin-btn:hover{color:var(--text);border-color:var(--overlay-border-hover);background:var(--overlay-light)}@media(max-width:480px){.user-name{display:none}.user-avatar-btn{padding:3px}.user-avatar-img{width:26px;height:26px}.user-avatar-fallback{width:26px;height:26px;font-size:11px}.user-signin-btn{padding:5px 10px;font-size:12px}.header-right{gap:6px}.icon-btn{width:32px;height:32px}.status-dot{width:6px;height:6px}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.author-stamp{display:flex;align-items:center;justify-content:center;margin-top:16px;opacity:.35;transition:opacity .3s ease}.author-stamp:hover{opacity:.65}.author-stamp-img{height:48px;width:auto;object-fit:contain}.sidebar-author-stamp{height:32px;width:auto;object-fit:contain;opacity:.3;transition:opacity .3s ease;flex-shrink:0;cursor:pointer}.sidebar-author-stamp:hover{opacity:.6}@media(max-width:480px){.author-stamp{margin-top:10px}.author-stamp-img{height:36px}}[data-theme=light] .bubble.assistant{background:var(--bot-bubble);border:1px solid var(--border);box-shadow:0 1px 6px var(--shadow-color);color:var(--text)}[data-theme=light] .bubble.user{box-shadow:0 2px 10px #6c5ce72e}[data-theme=light] .chat-area,[data-theme=light] .empty-state{background:#fff}[data-theme=light] .empty-logo-glow{filter:blur(50px);opacity:.12}[data-theme=light] .md-content .md-p,[data-theme=light] .md-content .md-h1,[data-theme=light] .md-content .md-h2,[data-theme=light] .md-content .md-h3,[data-theme=light] .md-content .md-li{color:var(--text)}[data-theme=light] .md-inline-code{background:#6c5ce714;color:#5b4cdb}[data-theme=light] .md-code-block{background:var(--code-bg);border-color:var(--border)}[data-theme=light] .md-code-block .md-code-lang{background:#00000008;border-bottom-color:var(--border);color:var(--text-muted)}[data-theme=light] .md-code-block pre{color:var(--text)}[data-theme=light] .md-blockquote{border-left-color:var(--accent);background:#6c5ce70a}[data-theme=light] .app-header{background:#fffffff2;border-bottom-color:var(--border)}[data-theme=light] .icon-btn{background:#0000000d;color:var(--text-muted)}[data-theme=light] .icon-btn:hover{background:#00000014;color:var(--text)}[data-theme=light] .sidebar{background:#fff;border-right-color:var(--border)}[data-theme=light] .sidebar-brand{border-bottom-color:var(--border)}[data-theme=light] .sidebar-footer{border-top-color:var(--border)}[data-theme=light] .sidebar-status-text{color:var(--text-muted)}[data-theme=light] .sidebar-version{color:var(--text-dim)}[data-theme=light] .sidebar-nav-btn{color:var(--text-muted)}[data-theme=light] .sidebar-nav-btn:hover{background:#0000000a;color:var(--text)}[data-theme=light] .sidebar-nav-btn.active{background:var(--accent-glow);color:var(--accent)}[data-theme=light] .composer{background:#fffffff5;border-top-color:var(--border)}[data-theme=light] .composer-input{background:#fff;border-color:var(--border);color:var(--text)}[data-theme=light] .composer-input::placeholder{color:var(--text-dim)}[data-theme=light] .attach-btn{color:var(--text-muted)}[data-theme=light] .attach-btn:hover:not(:disabled){color:var(--accent);background:#0000000a}[data-theme=light] .drawer{background:#fff;border-left-color:var(--border)}[data-theme=light] .drawer-header h2{color:var(--text)}[data-theme=light] .drawer-close{background:#0000000f;color:var(--text-muted)}[data-theme=light] .drawer-close:hover{background:#0000001a;color:var(--text)}[data-theme=light] .drawer-label{color:var(--text-muted)}[data-theme=light] .drawer-input{background:#fff;border-color:var(--border);color:var(--text)}[data-theme=light] .drawer-hint{color:var(--text-muted)}[data-theme=light] .mode-card{background:#fff;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .mode-card:hover{border-color:var(--accent);color:var(--text)}[data-theme=light] .mode-card.selected{background:#6c5ce70f;border-color:var(--accent);color:var(--text)}[data-theme=light] .mode-card-desc{color:var(--text-muted)}[data-theme=light] .mode-card.selected .mode-card-desc{color:var(--text)}[data-theme=light] .toggle-chip{background:#fff;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .toggle-chip:hover{border-color:var(--accent);color:var(--text)}[data-theme=light] .toggle-chip.active{background:#6c5ce714;border-color:var(--accent);color:var(--accent)}[data-theme=light] .personality-card{background:#fff;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .personality-card:hover{border-color:var(--accent);color:var(--text);background:var(--surface-hover)}[data-theme=light] .personality-card.selected{background:#6c5ce714;border-color:var(--accent);color:var(--accent)}[data-theme=light] .agent-tab{color:var(--text-muted)}[data-theme=light] .agent-tab:hover{color:var(--text)}[data-theme=light] .agent-tab.active{color:var(--accent);border-bottom-color:var(--accent)}[data-theme=light] .agent-placeholder{color:var(--text-muted)}[data-theme=light] .goal-card{background:#fff;border-color:var(--border)}[data-theme=light] .goal-card:hover{border-color:var(--border-light)}[data-theme=light] .goal-title{color:var(--text)}[data-theme=light] .goal-action-btn{background:#fff;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .goal-action-btn:hover{border-color:var(--accent);color:var(--text)}[data-theme=light] .goal-stats-bar{background:#00000008;border-color:var(--border)}[data-theme=light] .tool-card{background:#fff;border-color:var(--border)}[data-theme=light] .tool-card:hover{border-color:var(--accent);background:var(--surface-hover)}[data-theme=light] .tool-card-name{color:var(--text)}[data-theme=light] .tool-runner,[data-theme=light] .memory-panel li{background:#fff;border-color:var(--border)}[data-theme=light] .file-badge{background:#fff;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .image-preview-thumb{border-color:var(--border)}[data-theme=light] .image-preview-remove{background:#00000080}[data-theme=light] .login-card{background:#fff;border-color:var(--border);box-shadow:0 4px 28px var(--shadow-color)}[data-theme=light] .login-logo{background:transparent;filter:drop-shadow(0 0 14px rgba(108 92 231 / .18))}[data-theme=light] .login-subtitle{color:var(--text-muted)}[data-theme=light] .login-btn{background:var(--bg-tertiary);border-color:var(--border);color:var(--text)}[data-theme=light] .login-btn:hover{background:var(--surface-hover);border-color:var(--border-light)}[data-theme=light] .login-btn-github:hover{border-color:#8b5cf6;background:#8b5cf60f}[data-theme=light] .login-btn-apple:hover{border-color:#999;background:#00000008}[data-theme=light] .login-skip{color:var(--text-muted);border-color:var(--border)}[data-theme=light] .login-skip:hover{color:var(--text);background:var(--bg-tertiary);border-color:var(--border-light)}[data-theme=light] .login-divider{color:var(--text-dim)}[data-theme=light] .login-divider:before,[data-theme=light] .login-divider:after{background:var(--border)}[data-theme=light] .login-guest-note{color:var(--text-muted)}[data-theme=light] .user-avatar-btn{border-color:var(--border)}[data-theme=light] .user-avatar-btn:hover{border-color:var(--border-light);background:#00000008}[data-theme=light] .user-name{color:var(--text)}[data-theme=light] .user-dropdown{background:#fff;border-color:var(--border);box-shadow:0 8px 32px var(--shadow-heavy)}[data-theme=light] .user-dropdown-item{color:var(--text)}[data-theme=light] .user-dropdown-item:hover{background:#0000000a;color:var(--text)}[data-theme=light] .user-dropdown-item.danger{color:#dc2626}[data-theme=light] .user-dropdown-item.danger:hover{background:#dc26260f}[data-theme=light] .user-dropdown-divider{background:var(--border)}[data-theme=light] .user-signin-btn{border-color:var(--border);color:var(--text-muted)}[data-theme=light] .user-signin-btn:hover{color:var(--text);border-color:var(--border-light);background:#00000008}[data-theme=light] .author-stamp-img,[data-theme=light] .sidebar-author-stamp{filter:invert(.15)}[data-theme=light] .announcement-banner{background:var(--announcement-bg);border-color:var(--announcement-border);color:var(--announcement-text)}[data-theme=light] .btn-danger{background:#dc26260f;border-color:#dc262633;color:#dc2626}[data-theme=light] .btn-danger:hover{background:#dc26261f}[data-theme=light] .suggestion-chip{background:#fff;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .suggestion-chip:hover{border-color:var(--accent);color:var(--text)}[data-theme=light] body,[data-theme=light] .bubble,[data-theme=light] .bubble p,[data-theme=light] .bubble.assistant,[data-theme=light] .md-content,[data-theme=light] .md-content .md-p,[data-theme=light] .md-content .md-h1,[data-theme=light] .md-content .md-h2,[data-theme=light] .md-content .md-h3,[data-theme=light] .md-content .md-li,[data-theme=light] .md-code-block pre,[data-theme=light] .header-title h1,[data-theme=light] .drawer-header h2,[data-theme=light] .empty-state h2,[data-theme=light] .goal-title,[data-theme=light] .step-desc,[data-theme=light] .tool-card-name,[data-theme=light] .memory-panel li,[data-theme=light] .agent-placeholder,[data-theme=light] .drawer-input,[data-theme=light] .composer-input,[data-theme=light] .mode-card-title,[data-theme=light] .mode-card.selected,[data-theme=light] .mode-card:hover{color:#111118}[data-theme=light] .bubble.user,[data-theme=light] .bubble.user p{color:#fff}.streaming-cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:cursorBlink .8s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.bubble.streaming{min-height:2em}.mic-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s,background .2s,box-shadow .2s;flex-shrink:0}.mic-btn:hover{color:var(--accent);background:var(--surface-hover)}.mic-btn.listening{color:#ef4444;background:#ef44441f;animation:micPulse 1.5s ease-in-out infinite}@keyframes micPulse{0%{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 12px #ef444400}to{box-shadow:0 0 #ef444400}}.mic-btn:disabled{opacity:.4;cursor:not-allowed}.export-wrap{position:relative;display:inline-flex}.export-dropdown{position:absolute;top:100%;right:0;margin-top:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px;display:flex;flex-direction:column;min-width:150px;box-shadow:0 8px 24px #00000040;z-index:200;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.export-dropdown button{display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;border-radius:8px;cursor:pointer;transition:background .15s;white-space:nowrap}.export-dropdown button:hover{background:var(--surface-hover)}.bubble-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.bubble-row:hover .bubble-actions,.bubble-actions:focus-within{opacity:1}.bubble-actions .delete-btn{font-size:12px;font-weight:600;color:var(--text-secondary)}.bubble-actions .delete-btn:hover{color:#ef4444}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.edit-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;width:90%;max-width:540px;box-shadow:0 16px 48px #0000004d;animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-modal h3{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary)}.edit-textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:.95rem;font-family:inherit;color:var(--text-primary);resize:vertical;min-height:80px;box-sizing:border-box}.edit-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.edit-cancel{padding:8px 18px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:background .15s}.edit-cancel:hover{background:var(--surface-hover)}.edit-submit{padding:8px 18px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.edit-submit:disabled{opacity:.5;cursor:not-allowed}.edit-submit:not(:disabled):hover{opacity:.9}.shortcuts-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;width:90%;max-width:420px;box-shadow:0 16px 48px #0000004d;animation:modalSlideIn .25s ease-out}.shortcuts-modal h3{margin:0 0 20px;font-size:1.15rem;color:var(--text-primary)}.shortcuts-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.shortcut-row{display:flex;align-items:center;gap:6px}.shortcut-row span{margin-left:auto;color:var(--text-secondary);font-size:.9rem}.shortcut-row span.shortcut-span-wide{margin-left:auto}.shortcut-row kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-primary);font-family:inherit;font-size:.8rem;font-weight:600;box-shadow:0 1px 2px #0000001a}.shortcuts-hint{color:var(--text-secondary);font-size:.8rem;margin:0 0 16px}.shortcuts-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);font-family:inherit;font-size:.75rem;font-weight:600}[data-theme=light] .edit-textarea{background:#f8f9fb;color:#111118}[data-theme=light] .edit-modal,[data-theme=light] .shortcuts-modal,[data-theme=light] .export-dropdown{background:#fff;border-color:#ddd}[data-theme=light] .export-dropdown button:hover{background:#f0f1f3}[data-theme=light] .shortcut-row kbd{background:#f0f1f3;border-color:#ddd;color:#111}[data-theme=light] .mic-btn.listening{background:#ef444414}.gate-form{display:flex;flex-direction:column;gap:14px;width:100%;margin-top:18px}.gate-input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--overlay-border);background:var(--bg);color:var(--text);font-size:15px;outline:none;transition:border-color .2s}.gate-input:focus{border-color:var(--accent, #8b5cf6);box-shadow:0 0 0 2px #8b5cf626}.gate-submit{padding:12px 0;border-radius:10px;border:none;background:var(--accent, #8b5cf6);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}.gate-submit:hover{opacity:.9}.gate-submit:active{transform:scale(.98)}.gate-submit:disabled{opacity:.5;cursor:not-allowed}.cloud-storage{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0}.cloud-header{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--overlay-border);flex-shrink:0}.cloud-title{margin:0;font-size:18px;font-weight:700;color:var(--text);flex:1}.cloud-actions{display:flex;gap:8px}.cloud-upload-btn,.cloud-refresh-btn{padding:7px 14px;border-radius:8px;border:1px solid var(--overlay-border);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.cloud-upload-btn:hover,.cloud-refresh-btn:hover{background:var(--input-bg, rgba(255 255 255 / .06));border-color:var(--accent, #8b5cf6)}.cloud-upload-btn:disabled,.cloud-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.cloud-error{display:flex;align-items:center;gap:8px;margin:8px 20px 0;padding:10px 14px;border-radius:8px;background:#ef44441f;color:#f87171;font-size:13px}.cloud-error-dismiss{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0 4px}.cloud-body{display:flex;flex:1;overflow:hidden;transition:background .2s}.cloud-body.drag-over{background:#8b5cf60f}.cloud-file-list{width:280px;min-width:220px;border-right:1px solid var(--overlay-border);overflow-y:auto;padding:8px 0;flex-shrink:0}.cloud-loading,.cloud-empty-list{padding:28px 20px;text-align:center;color:var(--text-muted, #888);font-size:13px}.cloud-hint{margin-top:8px;font-size:12px;color:var(--text-muted, #888);opacity:.7}.cloud-file-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .12s;border-left:3px solid transparent}.cloud-file-item:hover{background:var(--input-bg, rgba(255 255 255 / .04))}.cloud-file-item.selected{background:#8b5cf61a;border-left-color:var(--accent, #8b5cf6)}.cloud-file-icon{font-size:20px;flex-shrink:0}.cloud-file-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cloud-file-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-file-meta{font-size:11px;color:var(--text-muted, #888)}.cloud-file-actions{display:flex;gap:4px;opacity:0;transition:opacity .12s}.cloud-file-item:hover .cloud-file-actions{opacity:1}.cloud-file-action{background:none;border:none;padding:2px 4px;cursor:pointer;font-size:14px;border-radius:4px;color:var(--text-muted, #888);text-decoration:none;transition:background .1s}.cloud-file-action:hover{background:var(--input-bg, rgba(255 255 255 / .08))}.cloud-delete-btn:hover{color:#f87171}.cloud-delete-confirm{color:#f87171;font-weight:700}.cloud-preview-pane{flex:1;display:flex;flex-direction:column;overflow:hidden}.cloud-preview-header{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--overlay-border);font-size:13px;flex-shrink:0}.cloud-preview-name{font-weight:600;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-preview-size{color:var(--text-muted, #888);font-size:12px;flex-shrink:0}.cloud-preview-close{background:none;border:none;color:var(--text-muted, #888);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px}.cloud-preview-close:hover{background:var(--input-bg, rgba(255 255 255 / .08))}.cloud-preview{flex:1;overflow:auto;padding:18px}.cloud-preview-loading{padding:28px;text-align:center;color:var(--text-muted, #888);font-size:13px}.cloud-preview-image img{max-width:100%;max-height:70vh;border-radius:8px;object-fit:contain}.cloud-preview-video video{max-width:100%;max-height:70vh;border-radius:8px}.cloud-preview-audio{display:flex;align-items:center;justify-content:center;padding:40px 20px}.cloud-preview-audio audio{width:100%;max-width:480px}.cloud-preview-pdf iframe{width:100%;height:calc(100vh - 200px);border:none;border-radius:8px}.cloud-preview-markdown{line-height:1.7;font-size:14px;color:var(--text)}.cloud-preview-markdown h1,.cloud-preview-markdown h2,.cloud-preview-markdown h3{margin:16px 0 8px;color:var(--text)}.cloud-preview-markdown code{background:var(--input-bg, rgba(255 255 255 / .06));padding:2px 6px;border-radius:4px;font-size:13px}.cloud-preview-markdown a{color:var(--accent, #8b5cf6)}.cloud-preview-code pre,.cloud-preview-text pre{margin:0;padding:16px;background:var(--input-bg, rgba(255 255 255 / .04));border-radius:8px;overflow:auto;font-size:13px;line-height:1.6;color:var(--text)}.cloud-preview-code code{font-family:JetBrains Mono,Fira Code,monospace}.cloud-preview-binary{display:flex;align-items:center;justify-content:center;padding:40px 20px}.cloud-download-link{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:10px;background:var(--accent, #8b5cf6);color:#fff;text-decoration:none;font-weight:600;font-size:15px;transition:opacity .15s}.cloud-download-link:hover{opacity:.85}.cloud-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px 24px;color:var(--text-muted, #888);text-align:center}.cloud-empty p{margin:4px 0}@media(max-width:700px){.cloud-body{flex-direction:column}.cloud-file-list{width:100%;border-right:none;border-bottom:1px solid var(--overlay-border);max-height:35vh}.cloud-file-actions{opacity:1}.hide-mobile{display:none!important}}[data-theme=light] .cloud-upload-btn,[data-theme=light] .cloud-refresh-btn{background:#f8f8fa}[data-theme=light] .cloud-file-item:hover{background:#f0f1f3}[data-theme=light] .cloud-file-item.selected{background:#8b5cf614}[data-theme=light] .cloud-preview-code pre,[data-theme=light] .cloud-preview-text pre{background:#f5f5f8}[data-theme=light] .gate-input{background:#f8f8fa}
