:root{--bg-primary: #12161f;--bg-secondary: #1a202c;--bg-tertiary: #2d3748;--bg-panel: #1f2737;--border-color: #3e4c63;--text-main: #edf2f7;--text-muted: #a0aec0;--accent: #3182ce;--accent-hover: #4299e1;--accent-bright: #63b3ed;--warning: #f6e05e;--success: #68d391;--danger: #fc8181}*{box-sizing:border-box;margin:0;padding:0}html,body{box-sizing:border-box;margin:0;padding:0;width:100%;max-width:100vw;height:100%;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;overscroll-behavior:none;-webkit-overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-main)}#app{width:100%;max-width:100vw;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-overscroll-behavior:none;display:flex;flex-direction:column}.btn{background-color:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color);padding:5px 9px;font-size:12px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;transition:all .15s ease}.btn:hover{background-color:var(--bg-tertiary);border-color:var(--accent)}.btn.active,.btn-primary{background-color:var(--accent);color:#fff;border-color:var(--accent-bright)}.btn-primary:hover{background-color:var(--accent-hover)}.main-container{flex:1;display:flex;width:100%;max-width:100vw;overflow:hidden;position:relative}.sidebar{background-color:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;position:relative;height:100%;overflow:hidden;transition:width .12s ease,opacity .12s ease}.sidebar.right{border-right:none;border-left:1px solid var(--border-color)}.sidebar.collapsed{width:0!important;min-width:0!important;max-width:0!important;opacity:0!important;pointer-events:none!important;border:none!important;padding:0!important;margin:0!important;visibility:hidden}.sidebar-top-bar{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background-color:#171b24;border-bottom:1px solid var(--border-color);font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.5px;-webkit-user-select:none;user-select:none;flex-shrink:0}.sidebar-heading{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-panel-collapse{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);width:20px;height:20px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;transition:all .15s ease}.btn-panel-collapse:hover{background-color:var(--bg-tertiary);color:#fff;border-color:var(--accent-bright)}.sidebar-resizer{width:6px;background-color:#161a22;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;position:relative;z-index:50;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;transition:background-color .15s ease}.sidebar-resizer:hover,body.resizing .sidebar-resizer{background-color:var(--accent)}.resizer-handle{width:2px;height:26px;background-color:#4a5568;border-radius:1px}.sidebar-resizer:hover .resizer-handle{background-color:#fff}.resizer-expand-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);width:18px;height:36px;border-radius:3px;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:60;box-shadow:0 4px 10px #00000080;transition:all .15s ease}.resizer-expand-btn.left{left:4px}.resizer-expand-btn.right{right:4px}.resizer-expand-btn:hover{background-color:var(--accent);color:#fff;border-color:var(--accent-bright)}body.resizing{-webkit-user-select:none!important;user-select:none!important;cursor:col-resize!important}.tab-nav{display:flex;flex-wrap:wrap;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.tab-btn{flex:1;padding:10px 6px;font-size:11px;font-weight:600;text-align:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--accent-bright);border-bottom-color:var(--accent-bright);background-color:var(--bg-panel)}.tab-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px}.sidebar .btn{min-width:0;max-width:100%;flex-shrink:1;white-space:normal;overflow-wrap:break-word;word-break:break-word;overflow:hidden;line-height:1.25;text-align:center}.tree-node{padding:6px 8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:2px}.tree-node:hover{background-color:var(--bg-tertiary)}.tree-node.active{background-color:var(--accent);color:#fff;font-weight:600}.tree-node.drag-over{border-top:2px solid var(--accent-bright)}.page-tree-toolbar button{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-color)}.page-tree-toolbar button:hover:not(:disabled){border-color:var(--accent-bright)}.page-tree-toolbar button:disabled{opacity:.35;cursor:not-allowed}.symbol-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.symbol-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .15s ease}.symbol-card:hover{border-color:var(--accent-bright);transform:translateY(-1px)}.symbol-card.selected{border-color:var(--warning);background-color:#f6e05e1a}.symbol-preview-svg{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.symbol-title{font-size:11px;font-weight:500;line-height:1.2}.symbol-bmk{font-size:9px;color:var(--warning);font-family:monospace;margin-top:2px}.canvas-wrapper{flex:1;background-color:#0d1117;position:relative;overflow:hidden;overscroll-behavior:none;-webkit-overscroll-behavior:none;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.form-group{margin-bottom:12px}.form-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.form-input{width:100%;padding:6px 8px;font-size:12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);border-radius:4px}.form-input:focus{outline:none;border-color:var(--accent-bright)}.report-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}.report-table th{background-color:var(--bg-secondary);color:var(--text-muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--border-color)}.report-table td{padding:6px 8px;border-bottom:1px solid var(--border-color)}.report-table tr:hover{background-color:#ffffff08}.status-bar{height:24px;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:11px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.dropzone{border:2px dashed var(--border-color);border-radius:6px;padding:20px;text-align:center;background-color:#ffffff05;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.dropzone:hover{border-color:var(--accent-bright);background-color:#63b3ed0d}.cad-viewport{touch-action:none;overscroll-behavior:none;-webkit-overscroll-behavior:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}#touchMagnifier{pointer-events:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.7))}#magnifierFrame{transition:transform .15s cubic-bezier(.2,.9,.3,1)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:990;display:none;opacity:0;transition:opacity .2s ease}.drawer-backdrop.active{display:block;opacity:1}.place-hint-banner{position:absolute;top:14px;left:50%;transform:translate(-50%);background-color:#2b6cb0;border:1px solid #4299e1;color:#fff;padding:8px 16px;border-radius:24px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:12px;z-index:60;box-shadow:0 4px 16px #00000080;animation:bannerFadeIn .2s ease-out}@keyframes bannerFadeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.btn-banner-close{background:#fff3;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px}.mobile-floating-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:none;background:#1a202cf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:30px;padding:4px 8px;gap:6px;z-index:50;box-shadow:0 4px 20px #0009}.btn-fab{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);font-size:11px;font-weight:500;padding:6px 10px;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.btn-fab:active{transform:scale(.95)}.btn-fab-primary{background-color:var(--accent);border-color:var(--accent-bright);color:#fff}.touch-nav-hud{position:absolute;bottom:24px;right:16px;background:#161b22e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:6px;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:1200;box-shadow:0 8px 24px #0000008c;-webkit-user-select:none;user-select:none;touch-action:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.touch-nav-hud.collapsed{background:#161b2299;border-radius:50%;padding:3px;border-color:#ffffff1a}.touch-nav-hud.collapsed .touch-hud-content{display:none!important}.touch-hud-toggle{width:28px;height:28px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#cbd5e0;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;align-self:flex-end;transition:all .15s ease;-webkit-user-select:none;user-select:none}.touch-nav-hud.collapsed .touch-hud-toggle{align-self:center;background:transparent;border-color:transparent;color:#a0aec0}.touch-hud-toggle:active{transform:scale(.92);background:#4299e14d}.touch-hud-content{display:flex;flex-direction:column;align-items:center;gap:6px}.touch-dpad{display:flex;flex-direction:column;align-items:center;gap:3px}.dpad-row{display:flex;flex-direction:row;gap:3px}.dpad-btn{width:36px;height:36px;border-radius:8px;background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:#e2e8f0;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .1s,transform .08s}.dpad-btn:active{background:var(--accent);color:#fff;border-color:var(--accent-bright);transform:scale(.92)}.dpad-btn.dpad-center{background:#4299e126;border-color:#4299e159;color:#63b3ed;font-size:14px}.dpad-btn.dpad-center:active{background:var(--accent);color:#fff}.touch-hud-tools{display:flex;flex-direction:row;gap:4px;justify-content:center}.hud-btn{width:34px;height:32px;border-radius:7px;background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:#e2e8f0;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;transition:all .12s ease}.hud-btn:active{transform:scale(.92)}.hud-btn.active{background:#3182ce;border-color:#63b3ed;color:#fff;box-shadow:0 0 8px #4299e180}.component .selection-rect{display:none}.component.selected .selection-rect{display:block!important}@media(max-width:960px),(max-height:550px){.hide-mobile{display:none!important}.btn{padding:4px 6px;font-size:11px;gap:3px}.sidebar{max-width:85vw}.sidebar-resizer{width:6px}.canvas-wrapper{width:100%;height:100%}.mobile-floating-bar{display:flex}.status-bar{padding:0 8px;font-size:10px;height:22px}.touch-nav-hud{top:14px;bottom:auto;right:10px;z-index:1200}}.ecad-context-menu{position:fixed;background:#1e2430;border:1px solid #3e4c63;box-shadow:0 12px 30px #000000b3;border-radius:5px;padding:4px 0;min-width:230px;z-index:3000;font-size:12px;-webkit-user-select:none;user-select:none;animation:fadeInCtx .08s ease-out}@keyframes fadeInCtx{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ecad-context-menu .ctx-header{padding:6px 14px;font-size:10px;font-weight:700;color:#a0aec0;text-transform:uppercase;border-bottom:1px solid #2d3748;letter-spacing:.5px;margin-bottom:3px}.ecad-context-menu .ctx-item{display:flex;justify-content:space-between;align-items:center;padding:6px 14px;color:#edf2f7;cursor:pointer}.ecad-context-menu .ctx-item:hover{background-color:var(--accent);color:#fff}.ecad-context-menu .ctx-item.danger:hover{background-color:var(--danger);color:#fff}.ecad-context-menu .ctx-key{font-size:10px;color:#a0aec0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-left:16px}.ecad-context-menu .ctx-item:hover .ctx-key{color:#ffffffd9}.ecad-context-menu .ctx-sep{height:1px;background-color:#2d3748;margin:4px 0}@media(pointer:coarse){.ecad-context-menu{min-width:220px;padding:6px 0;border-radius:8px;box-shadow:0 16px 40px #000000d9}.ecad-context-menu .ctx-header{padding:10px 16px 6px;font-size:11px}.ecad-context-menu .ctx-item{min-height:44px;padding:10px 16px;font-size:14px}.ecad-context-menu .ctx-key{font-size:11px}}.modal-backdrop{overscroll-behavior:contain}.modal-card{max-height:min(90vh,calc(100dvh - 24px))}.ecad-window{box-shadow:0 20px 48px #000c!important}.ecad-tab-bar{display:flex;background:#1c202a;border-bottom:1px solid #3e4656;padding:0 8px;gap:2px}.ecad-tab-btn{background:transparent;border:none;color:#a0aec0;padding:8px 14px;font-size:12px;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.ecad-tab-btn:hover{color:#edf2f7;background:#ffffff0a}.ecad-tab-btn.active{color:#63b3ed;border-bottom:2px solid #3182ce;font-weight:600;background:#3182ce14}.crossref-link{cursor:pointer;text-decoration:underline;pointer-events:all}button.crossref-link{padding:0;border:0;background:transparent;color:#f6ad55;font:inherit}.crossref-link:hover,.crossref-link:focus{color:#fbd38d;fill:#fbd38d;outline:1px solid #f6ad55}button:disabled{opacity:.4;cursor:default}.app-chrome{flex:0 0 auto;position:relative;z-index:1100}.app-chrome .header-icon{width:18px;height:18px;flex:0 0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app-chrome .ecad-menubar{display:flex;align-items:center;background:#171b24;border-bottom:1px solid #30394a;font-size:12px;-webkit-user-select:none;user-select:none;position:relative;z-index:1100;height:38px;flex-shrink:0;gap:18px;padding:0 14px;border-bottom-color:#30394a}.app-chrome .brand-logo{display:flex;align-items:center;flex-shrink:0;font-weight:700;color:#edf2f7;white-space:nowrap;font-size:14px;letter-spacing:.15px;gap:7px}.app-chrome .brand-icon{display:block;width:28px;height:28px;object-fit:contain;flex:0 0 28px}.about-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #43506a;border-radius:10px;color:#edf2f7;background:#171b24;box-shadow:0 20px 60px #0008}.about-dialog::backdrop{background:#000b}.about-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #30394a}.about-heading h2{margin:0;font-size:15px}.about-heading .btn{font-size:22px;line-height:1;padding:4px 10px}.about-body{padding:20px 24px 24px;font-size:13px;line-height:1.6}.about-logo{display:block;width:100%;height:auto;margin:0 auto 12px}.about-version{color:#71ccff;text-align:center}.about-body ul{margin:12px 0;padding-left:20px}.about-standards{color:#a0aec0;font-size:12px}.main-menu-list{display:flex;align-items:center;gap:2px;min-width:0}.app-chrome .menu-item{padding:0;border-radius:4px}.menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;background:transparent;color:#cbd5e0;font:inherit;cursor:pointer;white-space:nowrap}.app-chrome .menu-item>.menu-trigger{padding:6px 9px;font-size:12px;border-radius:4px}.app-chrome .menu-item:hover,.app-chrome .menu-item.open{background:#283244}.app-chrome .menu-item:hover>.menu-trigger,.header-menu.open>.menu-trigger{color:#fff}.header-project-name{margin-left:auto;min-width:0;max-width:30%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted);font-size:12px}.app-chrome .app-header{display:flex;align-items:center;width:100%;border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;height:46px;min-height:46px;padding:0 10px;background:#1c2432;overflow:visible}.app-chrome .toolbar{display:flex;align-items:center;max-width:100%;flex:1;overflow:visible;min-width:0;gap:0;justify-content:flex-start}.toolbar-group{display:flex;align-items:center;gap:3px;padding-right:9px;margin-right:9px;border-right:1px solid #354052;flex:0 0 auto}.toolbar-group.inspector-tools{margin-left:auto;margin-right:0;padding-right:0;border-right:0}.app-chrome .btn{height:32px;min-width:32px;justify-content:center;border-color:transparent;background:transparent;padding:5px 7px;gap:6px}.app-chrome .btn:hover,.app-chrome .menu-trigger:hover{background:#303d52}.app-chrome .btn.active{background:#2b4767;border-color:#4b7fae;color:#b6ddff}.app-chrome .btn.save-feedback{background:#48bb782e;border-color:#68d3918c;color:#68d391}.app-chrome .btn.btn-primary{background:#2e75b4;border-color:#438dc8;color:#fff}.app-chrome .btn:disabled,.app-chrome .menu-opt:disabled{opacity:.36;cursor:default}.app-chrome .btn:disabled:hover,.app-chrome .menu-opt:disabled:hover{background:transparent;color:inherit}.app-chrome button:focus-visible{outline:2px solid #90cdf4;outline-offset:-2px}.app-chrome .output-tools{border-right:0;margin-right:0}.app-chrome .output-tools .btn{color:#a6d2f5}.insert-split{display:flex;align-items:stretch}.app-chrome .insert-split>.btn{border-radius:4px 0 0 4px}.insert-menu>.menu-trigger{height:32px;width:25px;border-radius:0 4px 4px 0;border-color:#438dc8;border-left-color:#5697cb;background:#2e75b4;color:#fff}.drawing-options>.menu-trigger{height:32px;padding:4px 7px;font-size:12px;border-radius:4px}.drawing-options>.menu-trigger>.header-icon:last-child{width:12px;flex-basis:12px}.app-chrome .menu-dropdown{display:none;position:fixed;min-width:0;max-width:calc(100vw - 16px);background:#202938;border:1px solid #43506a;border-radius:7px;padding:5px;box-shadow:0 12px 32px #0008;overflow-y:auto;overscroll-behavior:contain;z-index:2200}.app-chrome .header-menu.open>.menu-dropdown{display:block}.app-chrome .menu-opt{position:relative;width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px;min-height:32px;padding:7px 10px;border:0;border-radius:3px;color:#e2e8f0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.app-chrome .menu-opt:hover,.app-chrome .menu-opt:focus-visible{background:#314664;color:#fff}.app-chrome .opt-key{font-size:10px;color:#a0aec0;font-family:ui-monospace,monospace;margin-left:auto;white-space:nowrap}.app-chrome .menu-section-label{padding:8px 10px 4px;color:#91a3ba;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.app-chrome .menu-sep{height:1px;margin:5px 4px;background:#394357}.app-chrome .menu-opt.checked{color:#a7d8ff;padding-left:26px}.app-chrome .menu-opt.checked:before{content:"✓";position:absolute;left:9px;font-weight:600}.compact-menu-toggle{display:none}@media(max-width:1180px){.app-chrome #btnToolWire .tool-label{display:none}.app-chrome .ecad-menubar{gap:12px}}@media(max-width:1020px){.app-chrome .selection-tools{display:none}.header-project-name{max-width:22%}.toolbar-group{margin-right:7px;padding-right:7px}}@media(max-width:820px){.header-project-name,.app-chrome .grid-label{display:none}.app-chrome .toolbar-group{margin-right:5px;padding-right:5px}}@media(max-width:720px){.app-chrome .ecad-menubar{height:36px;padding:0 10px;justify-content:space-between}.compact-menu-toggle{display:inline-flex;border-radius:4px;padding:4px 7px;font-size:12px}.main-menu-list{display:none;position:absolute;top:39px;left:8px;right:8px;padding:5px;border:1px solid #43506a;border-radius:7px;background:#202938;box-shadow:0 8px 24px #0008;z-index:2300}.compact-menu-open .main-menu-list{display:grid;grid-template-columns:1fr 1fr;gap:3px}.app-chrome .menu-item>.menu-trigger{width:100%;justify-content:flex-start;min-height:34px;padding:7px 10px}.app-chrome .app-header{height:44px;min-height:44px;padding:0 6px}.app-chrome .menu-opt{min-height:36px}.app-chrome .menu-dropdown{z-index:2400}}@media(max-width:560px){.app-chrome .file-tools,.app-chrome #btnZoomFit,.app-chrome .tool-label{display:none}.app-chrome .toolbar-group{gap:2px;margin-right:3px;padding-right:3px}.app-chrome .inspector-tools{margin-right:0;padding-right:0}.app-chrome .btn{width:32px;padding:5px}.app-chrome .insert-menu>.menu-trigger{width:23px}.drawing-options>.menu-trigger{padding:4px;gap:0}.drawing-options>.menu-trigger>.header-icon:last-child{display:none}}@media(max-width:360px){.app-chrome #btnRedo{display:none}}@media(max-width:360px){.app-chrome .btn{width:30px;min-width:30px}}.header-status-badge-container{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:12px}.schematico-ai-status-badge{display:flex;align-items:center;gap:8px}.btn-ai-toggle{background:linear-gradient(135deg,#3182ce40,#9f7aea40);border-color:#9f7aea80!important;color:#d6bcfa!important;font-weight:600;gap:6px}.btn-ai-toggle:hover,.btn-ai-toggle.active{background:linear-gradient(135deg,#3182ce73,#9f7aea73)!important;border-color:#b794f4!important;color:#fff!important;box-shadow:0 0 10px #b794f466}.ai-chat-sidebar{width:360px;min-width:300px;max-width:460px;height:100%;background:var(--bg-panel);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;box-shadow:-4px 0 20px #0006;position:relative;transition:width .2s ease}.ai-chat-header{padding:10px 14px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-chat-title-group{display:flex;align-items:center;gap:8px}.ai-chat-icon{font-size:18px}.ai-chat-title-info{display:flex;flex-direction:column}.ai-chat-title{font-weight:700;font-size:13px;color:var(--text-main);letter-spacing:.3px}.ai-chat-model-tag{font-size:10px;color:#a0aec0;font-family:monospace}.ai-chat-header-actions{display:flex;align-items:center;gap:6px}.ai-sidebar-bridge-pill{display:flex;align-items:center;gap:5px;padding:2px 7px;background:#1a202ccc;border:1px solid rgba(74,85,104,.5);border-radius:999px}.ai-header-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;font-size:13px;display:flex;align-items:center;justify-content:center}.ai-header-btn:hover{background:var(--bg-tertiary);color:var(--text-main)}.ai-api-key-banner{background:#ed893626;border-bottom:1px solid rgba(237,137,54,.3);padding:10px 14px;font-size:12px;color:#feebc8}.ai-banner-content{display:flex;flex-direction:column;gap:8px}.ai-chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.ai-chat-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;margin:auto 0;padding:10px 4px}.ai-welcome-badge{font-size:11px;font-weight:600;color:#b794f4;background:#b794f426;padding:4px 10px;border-radius:999px;border:1px solid rgba(183,148,244,.3);margin-bottom:10px}.ai-welcome-title{font-size:15px;font-weight:700;color:var(--text-main);margin-bottom:6px}.ai-welcome-subtitle{font-size:12px;color:var(--text-muted);line-height:1.45;margin-bottom:16px;max-width:300px}.ai-prompt-chips{display:flex;flex-direction:column;gap:8px;width:100%}.ai-chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);padding:8px 12px;border-radius:6px;font-size:12px;text-align:left;cursor:pointer;transition:all .15s ease;line-height:1.35}.ai-chip:hover{background:var(--bg-tertiary);border-color:var(--accent-bright);transform:translateY(-1px)}.ai-chat-messages{display:flex;flex-direction:column;gap:12px}.ai-msg{display:flex;gap:8px;max-width:100%}.ai-msg-user{justify-content:flex-end}.ai-msg-user .ai-msg-bubble{background:var(--accent);color:#fff;border-radius:12px 12px 2px;padding:9px 13px;font-size:13px;line-height:1.4;word-break:break-word;max-width:86%}.ai-msg-model{justify-content:flex-start}.ai-msg-avatar{width:26px;height:26px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:2px}.ai-msg-content{flex:1;min-width:0}.ai-msg-model .ai-msg-bubble{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);border-radius:12px 12px 12px 2px;padding:10px 14px;font-size:13px;line-height:1.5;word-break:break-word}.ai-msg-model .ai-msg-bubble pre{background:#0f131a;padding:8px 10px;border-radius:6px;overflow-x:auto;font-size:11.5px;margin:6px 0;border:1px solid #2d3748}.ai-msg-model .ai-msg-bubble code{font-family:monospace;background:#00000040;padding:2px 5px;border-radius:4px}.ai-msg-model .ai-msg-bubble ul{padding-left:18px;margin:6px 0}.ai-msg-error{display:flex;gap:8px}.ai-error-bubble{background:#e53e3e26!important;border:1px solid rgba(229,62,62,.4)!important;color:#feb2b2!important;border-radius:8px;padding:8px 12px;font-size:12px}.ai-tool-badge{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:11.5px;background:#1a202cb3;border:1px solid var(--border-color);color:#cbd5e0}.ai-tool-running{border-color:#ecc94b;color:#faf089;animation:aiPulse 1.5s infinite}.ai-tool-done{border-color:#48bb7866;color:#9ae6b4}.ai-tool-error{border-color:#f5656566;color:#feb2b2}@keyframes aiPulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.ai-chat-loading{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1a202c99;border:1px dashed #4a5568;border-radius:6px;font-size:12px;color:#a0aec0}.ai-stop-btn{background:#e53e3e33;border:1px solid rgba(229,62,62,.5);color:#feb2b2;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-stop-btn:hover{background:#e53e3e66;border-color:#fc8181;color:#fff}.ai-loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent-bright);border-radius:50%;animation:aiSpin .7s linear infinite}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-chat-footer{padding:10px 14px;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px}.ai-input-wrap{display:flex;align-items:flex-end;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:6px 10px}.ai-input-wrap:focus-within{border-color:var(--accent-bright);box-shadow:0 0 0 1px var(--accent-bright)}.ai-prompt-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-main);font-family:inherit;font-size:13px;line-height:1.4;resize:none;max-height:120px;padding:2px 0}.ai-send-btn{background:var(--accent);border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.ai-send-btn:hover:not(:disabled){background:var(--accent-hover)}.ai-send-btn.ai-btn-abort{background:#e53e3e!important;color:#fff!important}.ai-send-btn.ai-btn-abort:hover{background:#c53030!important}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-footer-note{font-size:10.5px;color:#718096;text-align:center}.ai-attachments{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto}.ai-attachment{display:flex;align-items:center;gap:6px;max-width:100%;padding:5px;border:1px solid var(--border-color);border-radius:6px;font-size:11px}.ai-attachment span{overflow-wrap:anywhere;min-width:0}.ai-attachment img{width:42px;height:42px;object-fit:contain}.ai-attachment button{background:transparent;color:inherit;border:0;cursor:pointer;font-size:18px}.ai-sent-attachment{margin-top:5px;font-size:11px;overflow-wrap:anywhere}
