@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{color-scheme:light dark}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.app-root{display:flex;flex-direction:column;height:100vh}.app-toolbar{height:24px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #2e2e2e;gap:8px}:root{--settings-text: #e1e1e1;--settings-text-secondary: #888;--settings-bg-card: #1e1e1e;--settings-bg-hover: #252525;--settings-border: #333;--settings-input-bg: #2a2a2a;--settings-icon-bg: #2a2a2a;--settings-icon-color: #aaa;--settings-icon-hover-bg: #3a3a3a;--settings-icon-hover-color: #fff;--settings-plan-header-border: #444}body.light-mode{--settings-text: #333;--settings-text-secondary: #666;--settings-bg-card: #f5f5f5;--settings-bg-hover: #e0e0e0;--settings-border: #d0d0d0;--settings-input-bg: #fff;--settings-icon-bg: #e0e0e0;--settings-icon-color: #555;--settings-icon-hover-bg: #d0d0d0;--settings-icon-hover-color: #000;--settings-plan-header-border: #ccc}.theme-toggle-btn{background:transparent;border:none;color:var(--text-primary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.theme-toggle-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .1))}body.light-mode .theme-toggle-btn:hover{background:#0000000d}.toolbar-menu-button{background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;color:var(--text-primary);font-size:14px;display:flex;align-items:center;transition:background .2s ease}.toolbar-menu-button:hover{background:var(--bg-hover, rgba(255, 255, 255, .1));text-decoration-color:var(--primary-color, #58a6ff)!important}body.light-mode .toolbar-menu-button:hover{background:#0000000d}.toolbar-zoom-controls button{background:transparent;border:none;cursor:pointer;border-radius:4px;padding:4px;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.toolbar-zoom-controls button:hover{background:var(--bg-hover, rgba(255, 255, 255, .1))}body.light-mode .toolbar-zoom-controls button:hover{background:#0000000d}.toolbar-zoom-controls .toolbar-menu-button:disabled{opacity:.38;cursor:not-allowed}.toolbar-zoom-controls .toolbar-menu-button:disabled:hover{background:transparent}body.light-mode .toolbar-zoom-controls .toolbar-menu-button:disabled:hover{background:transparent}body:not(.light-mode) .toolbar-zoom-controls button img{filter:invert(1)}.toolbar-menu{position:relative}.toolbar-menu-button{background:transparent;border:none;color:var(--text-primary);padding:2px 8px;font-size:12px;cursor:pointer;border-radius:3px;transition:background .15s ease}.toolbar-menu-button:hover{background:var(--bg-dark, rgba(255, 255, 255, .1))}.toolbar-dropdown{position:absolute;top:100%;left:0;margin-top:2px;background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:6px;box-shadow:0 4px 12px #0000004d;min-width:180px;padding:4px;z-index:1000}.toolbar-dropdown-item{display:block;width:100%;padding:6px 12px;border:none;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:4px;transition:background .15s ease;font-size:12px;position:relative}.toolbar-dropdown-item:hover:not(.disabled){background:var(--bg-dark)}.toolbar-dropdown-item.disabled{opacity:.5;cursor:not-allowed}.toolbar-dropdown-item.active{background:var(--primary);color:#fff}.toolbar-dropdown-item.active:hover{background:var(--primary-hover, #2563eb)}.toolbar-dropdown-divider{height:1px;background:var(--border-dark);margin:4px 0}.toolbar-dropdown-submenu{display:flex;justify-content:space-between;align-items:center;position:relative}.submenu-arrow{font-size:10px;opacity:.6;margin-left:8px}.toolbar-submenu-content{position:absolute;top:-4px;left:100%;margin-left:0;padding-left:4px}.toolbar-dropdown-submenu:hover .submenu-arrow{opacity:1}.app-content{flex:1;display:flex;min-height:0}.app-statusbar{height:19px;display:flex;align-items:center;padding:0 8px;border-top:1px solid #2e2e2e;font-size:12px}.webgl-editor-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8f8f8f2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;pointer-events:none}.webgl-editor-loading .loading-spinner-large{width:50px;height:50px;border:4px solid var(--border-dark, #e1e4e8);border-top:4px solid var(--primary, #007acc);border-radius:50%;animation:spin 1.2s linear infinite;margin-bottom:20px}.webgl-editor-loading .loading-text{font-size:18px;font-weight:600;color:var(--text-primary, #24292e);margin-bottom:8px}.webgl-editor-loading .loading-subtext{font-size:14px;color:var(--text-secondary, #6a737d);opacity:.8}.light-mode .webgl-editor-loading{background:#f8f8f8f2}body:not(.light-mode) .webgl-editor-loading{background:#24292ef2}body:not(.light-mode) .webgl-editor-loading .loading-text{color:#f6f8fa}body:not(.light-mode) .webgl-editor-loading .loading-subtext{color:#959da5}body:not(.light-mode) .webgl-editor-loading .loading-spinner-large{border-color:#444d56;border-top-color:#007acc}@media(prefers-reduced-motion:reduce){.webgl-editor-loading .loading-spinner-large{animation:none;border-top-color:transparent;border-right-color:var(--primary, #007acc)}}.kicad-import-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:kicad-fade-in .2s ease-out}@keyframes kicad-fade-in{0%{opacity:0}to{opacity:1}}@keyframes kicad-slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.kicad-import-dialog{background:var(--bg-surface, #1e1e2e);border:1px solid var(--border-dark, #333);border-radius:16px;width:480px;max-width:90vw;box-shadow:0 24px 80px #00000080,0 0 1px #ffffff1a inset;animation:kicad-slide-up .25s ease-out;overflow:hidden}.kicad-import-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-dark, #2a2a3a)}.kicad-import-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #e0e0e0);display:flex;align-items:center;gap:8px}.kicad-import-header h2 .icon{font-size:20px}.kicad-import-close{background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;font-size:20px;padding:4px 8px;border-radius:6px;transition:all .15s;line-height:1}.kicad-import-close:hover{background:#ffffff14;color:var(--text-primary, #e0e0e0)}.kicad-mode-toggle{display:flex;padding:12px 24px 0;gap:4px}.kicad-mode-tab{flex:1;background:#ffffff0a;color:var(--text-secondary, #888);border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.kicad-mode-tab:hover{background:#ffffff14;color:var(--text-primary, #ccc)}.kicad-mode-tab.active{background:#4a90e21f;color:var(--primary, #4a90e2);border-color:var(--border-dark, #3a3a4a);font-weight:600}.kicad-import-body{padding:24px}.kicad-drop-zone{border:2px dashed var(--border-dark, #3a3a4a);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#ffffff05;position:relative}.kicad-drop-zone:hover{border-color:var(--primary, #4a90e2);background:#4a90e20d}.kicad-drop-zone.drag-over{border-color:var(--primary, #4a90e2);background:#4a90e21a;border-style:solid;transform:scale(1.01)}.kicad-drop-zone.has-file{border-color:#4caf50;background:#4caf500f;border-style:solid}.kicad-drop-icon{font-size:48px;margin-bottom:12px;opacity:.6}.kicad-drop-zone.has-file .kicad-drop-icon{opacity:1}.kicad-drop-text{color:var(--text-secondary, #888);font-size:14px;margin-bottom:16px}.kicad-drop-text strong{color:var(--text-primary, #ccc)}.kicad-drop-zone.has-file .kicad-drop-text{color:#4caf50}.kicad-load-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;color:var(--text-primary, #ccc);border:1px solid var(--border-dark, #444);border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.kicad-load-btn:hover{background:#ffffff24;border-color:var(--primary, #4a90e2)}.kicad-file-info{margin-top:16px;padding:12px 16px;background:#ffffff0a;border-radius:8px;display:flex;align-items:center;gap:12px}.kicad-file-info .file-icon{font-size:24px}.kicad-file-info .file-details{flex:1;min-width:0}.kicad-file-info .file-name{font-size:13px;font-weight:600;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kicad-file-info .file-size{font-size:11px;color:var(--text-secondary, #888);margin-top:2px}.kicad-file-remove{background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:all .15s}.kicad-file-remove:hover{color:#e74c3c;background:#e74c3c1a}.kicad-import-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--border-dark, #2a2a3a)}.kicad-cancel-btn{background:#ffffff0f;color:var(--text-secondary, #999);border:1px solid var(--border-dark, #3a3a4a);border-radius:8px;padding:8px 20px;font-size:13px;cursor:pointer;transition:all .15s}.kicad-cancel-btn:hover{background:#ffffff1a;color:var(--text-primary, #e0e0e0)}.kicad-import-btn{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;padding:8px 24px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4a90e24d}.kicad-import-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a9fee,#4a8bd4);box-shadow:0 4px 12px #4a90e266;transform:translateY(-1px)}.kicad-import-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.kicad-status{padding:0 24px 8px}.kicad-status-msg{font-size:12px;padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:8px}.kicad-status-msg.importing{background:#4a90e21a;color:#4a90e2}.kicad-status-msg.success{background:#4caf501a;color:#4caf50}.kicad-status-msg.error{background:#e74c3c1a;color:#e74c3c}.kicad-status-msg.info{background:#ffc1071a;color:#ffc107}.kicad-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:kicad-spin .6s linear infinite}@keyframes kicad-spin{to{transform:rotate(360deg)}}.symbol-preview{position:relative;border:1px solid #404040;border-radius:6px;background:#f8f8f8;overflow:hidden;display:flex;align-items:center;justify-content:center}.symbol-preview-canvas{background:transparent;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.symbol-preview-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8f8f8f2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10}.symbol-preview-loading .loading-spinner{margin-bottom:12px}.symbol-preview-loading .loading-text{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center}.symbol-preview-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#d73a49;background:#f8f8f8f2;padding:16px;text-align:center}.symbol-preview-error svg{flex-shrink:0}.symbol-preview-error span{font-size:12px;font-weight:500}.symbol-preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6a737d;padding:16px;text-align:center}.symbol-preview-empty svg{flex-shrink:0;opacity:.6}.symbol-preview-empty span{font-size:12px;font-weight:500}.loading-spinner{width:20px;height:20px;border:2px solid #e1e4e8;border-top:2px solid #007acc;border-radius:50%;animation:spin 1s linear infinite}.symbol-preview[data-theme=dark]{background:#2e2e2e;border-color:#404040}.symbol-preview[data-theme=dark] .symbol-preview-loading{background:#2e2e2ef2}.symbol-preview[data-theme=dark] .symbol-preview-loading .loading-text{color:var(--text-secondary)}.symbol-preview[data-theme=dark] .symbol-preview-error{background:#2e2e2ef2;color:#f97583}.symbol-preview[data-theme=dark] .symbol-preview-empty{color:#959da5}.symbol-preview[data-theme=dark] .loading-spinner{border-color:#444d56;border-top-color:#007acc}.symbol-preview.small{min-width:100px;min-height:80px}.symbol-preview.medium{min-width:150px;min-height:120px}.symbol-preview.large{min-width:200px;min-height:160px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.symbol-preview-canvas{image-rendering:auto}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:transparent;border-right-color:#007acc}}.symbol-preview:focus-within{outline:2px solid #007acc;outline-offset:2px}.symbol-browser{display:flex;flex-direction:column;height:100%;background:var(--bg-panel);overflow:hidden}.symbol-browser-header{display:flex;align-items:center;justify-content:space-between;padding:4px;border-bottom:1px solid var(--border-dark);background:var(--bg-secondary)}.symbol-browser-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.symbol-browser-status{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 8px;border-radius:12px}.symbol-browser-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.symbol-browser-list{flex:1;min-height:0;overflow:hidden}.symbol-browser-preview{border-top:1px solid var(--border-dark);background:var(--bg-secondary);flex-shrink:0}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:4px;border-bottom:1px solid var(--border-dark)}.preview-title{font-size:12px;font-weight:600;color:var(--text-primary)}.preview-name{font-size:12px;color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-info{padding:4px;border-top:1px solid var(--border-dark);background:var(--bg-secondary)}.preview-info small{font-size:11px;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.symbol-description{font-size:11px;color:var(--text-secondary);padding:4px 8px;border-top:1px solid var(--border-dark);background:var(--bg-secondary);height:30px;overflow-y:auto;overflow-x:hidden;line-height:1.4;word-wrap:break-word}.symbol-preview-header{padding:6px 8px;border-bottom:1px solid var(--border-dark);background:transparent;display:flex;align-items:center;justify-content:center;min-height:28px}.symbol-preview-name{font-size:12px;font-weight:600;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:Monaco,Menlo,Ubuntu Mono,monospace;letter-spacing:.3px}.symbol-browser-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px 16px;text-align:center;color:#d32f2f}.symbol-browser-error svg{margin-bottom:16px;opacity:.8}.symbol-browser-error h3{font-size:16px;font-weight:600;margin:0 0 8px}.symbol-browser-error p{font-size:13px;margin:0 0 16px;opacity:.9;line-height:1.4}.highlight-match{background:#ffd70040;color:var(--text-primary);padding:0 2px;border-radius:2px}.error-retry-button{background:#f97583;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.error-retry-button:hover{background:#e36d76}.error-retry-button:active{background:#d73a49}.symbol-browser-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px 20px;text-align:center}.loading-spinner-large{width:40px;height:40px;border:3px solid var(--border-dark);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-text{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.loading-subtext{font-size:12px;color:var(--text-secondary);opacity:.8}.symbol-browser.loading .symbol-browser-status:after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;border:1px solid var(--text-secondary);border-top:1px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:320px){.symbol-browser-header{padding:8px}.preview-header,.preview-info{padding:6px 8px}}@media(prefers-contrast:high){.symbol-browser-header{border-bottom-color:#555}.symbol-browser-preview{border-top-color:#555}.preview-header{border-bottom-color:#555}.preview-info{border-top-color:#555}}@media(prefers-reduced-motion:reduce){.symbol-browser.loading .symbol-browser-status:after{animation:none}}.search-wrapper input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:14px;width:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23888888'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");background-size:14px 14px;background-repeat:no-repeat;background-position:center;cursor:pointer;opacity:.6}.search-wrapper input[type=search]::-webkit-search-cancel-button:hover{opacity:1}body.light-mode .search-wrapper input[type=search]::-webkit-search-cancel-button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23555555'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E")}body:not(.light-mode) .search-wrapper input[type=search]::-webkit-search-cancel-button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23aaaaaa'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E")}.sym-import-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:sym-import-fade-in .2s ease-out}@keyframes sym-import-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sym-import-slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sym-import-dialog{background:var(--bg-surface, #1e1e2e);border:1px solid var(--border-dark, #333);border-radius:16px;width:480px;max-width:90vw;box-shadow:0 24px 80px #00000080,0 0 1px #ffffff1a inset;animation:sym-import-slide-up .25s ease-out;overflow:hidden}.sym-import-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-dark, #2a2a3a)}.sym-import-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #e0e0e0);display:flex;align-items:center;gap:8px}.sym-import-close{background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;font-size:20px;padding:4px 8px;border-radius:6px;transition:all .15s;line-height:1}.sym-import-close:hover{background:#ffffff14;color:var(--text-primary, #e0e0e0)}.sym-import-body{padding:24px}.sym-import-drop-zone{border:2px dashed var(--border-dark, #3a3a4a);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#ffffff05}.sym-import-drop-zone:hover{border-color:var(--primary, #4a90e2);background:#4a90e20d}.sym-import-drop-zone.drag-over{border-color:var(--primary, #4a90e2);background:#4a90e21a;border-style:solid;transform:scale(1.01)}.sym-import-drop-zone.has-file{border-color:#4caf50;background:#4caf500f;border-style:solid;cursor:default}.sym-import-drop-icon{font-size:48px;margin-bottom:12px;opacity:.6}.sym-import-drop-zone.has-file .sym-import-drop-icon{opacity:1}.sym-import-drop-text{color:var(--text-secondary, #888);font-size:14px;margin-bottom:16px}.sym-import-drop-text strong{color:var(--text-primary, #ccc)}.sym-import-drop-zone.has-file .sym-import-drop-text{color:#4caf50}.sym-import-load-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;color:var(--text-primary, #ccc);border:1px solid var(--border-dark, #444);border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.sym-import-load-btn:hover{background:#ffffff24;border-color:var(--primary, #4a90e2)}.sym-import-file-info{margin-top:16px;padding:12px 16px;background:#ffffff0a;border-radius:8px;display:flex;align-items:center;gap:12px}.sym-import-file-info .file-name{flex:1;font-size:13px;font-weight:600;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sym-import-file-info .file-size{font-size:11px;color:var(--text-secondary, #888)}.sym-import-file-remove{background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:all .15s}.sym-import-file-remove:hover{color:#e74c3c;background:#e74c3c1a}.sym-import-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--border-dark, #2a2a3a)}.sym-import-cancel-btn{background:#ffffff0f;color:var(--text-secondary, #999);border:1px solid var(--border-dark, #3a3a4a);border-radius:8px;padding:8px 20px;font-size:13px;cursor:pointer;transition:all .15s}.sym-import-cancel-btn:hover{background:#ffffff1a;color:var(--text-primary, #e0e0e0)}.sym-import-btn{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;padding:8px 24px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4a90e24d}.sym-import-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a9fee,#4a8bd4);box-shadow:0 4px 12px #4a90e266;transform:translateY(-1px)}.sym-import-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.sym-import-status{padding:0 24px 8px}.sym-import-status-msg{font-size:12px;padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:8px}.sym-import-status-msg.importing{background:#4a90e21a;color:#4a90e2}.sym-import-status-msg.success{background:#4caf501a;color:#4caf50}.sym-import-status-msg.error{background:#e74c3c1a;color:#e74c3c}.sym-import-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:sym-import-spin .6s linear infinite}@keyframes sym-import-spin{to{transform:rotate(360deg)}}.sym-import-summary{margin-top:16px;padding:12px 16px;background:#4a90e20f;border:1px solid rgba(74,144,226,.15);border-radius:8px;font-size:13px;color:var(--text-primary, #ccc)}.sym-import-summary strong{color:var(--primary, #4a90e2)}.message-list-scrollarea-root{flex:1;min-height:0;height:100%}.message-list-scrollarea-viewport{height:100%;background:var(--bg-dark)}.message-list-scrollarea-content{padding:var(--padding);display:flex;flex-direction:column;gap:12px;min-height:100%}.message-list-simple{flex:1;min-height:0;height:100%;overflow-y:auto;background:var(--bg-dark);padding:var(--padding);display:flex;flex-direction:column;gap:12px;padding-bottom:12vh}.message-list-simple::-webkit-scrollbar{width:8px}.message-list-simple::-webkit-scrollbar-track{background:transparent}.message-list-simple::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.message-list-simple::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.message-wrapper{width:100%}.message-list-empty-state{flex:1;min-height:320px;display:flex;align-items:center;justify-content:center;padding:24px 8px}.loading-initial{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;color:var(--text-muted)}.message-thinking-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-style:italic}.thinking-dots{display:inline-flex;align-items:center;gap:4px;min-width:18px}.thinking-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.3;animation:thinking-dot-bounce 1.2s infinite ease-in-out}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinking-dot-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.message{width:100%;max-width:100%;font-size:14px;line-height:1.65;word-wrap:break-word;white-space:pre-wrap;padding:0}.message.user,.message.ai{background:transparent;color:var(--text-primary)}.message.error{background:#dc143c1a;border:1px solid rgba(220,20,60,.25);border-radius:8px;padding:0}.error-card{padding:12px 16px;display:flex;flex-direction:column;gap:6px}.error-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.error-icon{color:#f87171;flex-shrink:0}.error-title{color:#fca5a5}.error-body{color:#e5e7eb;font-size:14px;line-height:1.5}.error-hint{color:var(--text-muted);font-size:12px;font-style:italic;margin-top:2px}.thinking-panel-container{border:none;border-radius:8px;background:transparent;margin:4px 0;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.thinking-panel-container.collapsed{height:auto}.thinking-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:transparent;cursor:pointer;border-bottom:1px solid transparent;transition:background .2s ease}.thinking-header:hover{background:#ffffff0d}.thinking-panel-container:not(.collapsed) .thinking-header{border-bottom-color:transparent}.thinking-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#a78bfa}.thinking-timer{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);background:#0003;padding:2px 6px;border-radius:4px}.thinking-body{height:20vh;min-height:100px;overflow-y:auto;padding:12px 12px 12px 24px;background:transparent;font-size:13px;line-height:1.6;color:var(--text-muted);scroll-behavior:smooth;border-left:2px solid var(--border-dark);margin-left:12px}.thinking-body::-webkit-scrollbar{width:6px}.thinking-body::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.thinking-preview{padding:8px 12px;font-size:12px;color:var(--text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.typing-cursor{display:inline-block;width:6px;height:16px;background-color:var(--primary);margin-left:2px;vertical-align:middle;animation:blink 1s step-end infinite}.typing-cursor.small{height:12px;width:4px;background-color:#a78bfa}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message.tool-entry{background:transparent;padding:4px 0;border:none;font-size:13px;width:100%}.tool-pill{display:flex;align-items:center;flex-direction:row;gap:10px;padding:10px 14px;background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:20px;color:var(--text-primary);width:100%;transition:all .2s ease;min-height:42px}.tool-pill.success-pill{flex-direction:column;align-items:flex-start;background:#10b9810d;border-color:#10b98133;border-radius:12px}.tool-result-content{color:var(--text-primary);font-size:12px;width:100%;padding-left:24px;margin-top:-4px;box-sizing:border-box;overflow:hidden;max-width:100%}.tool-result-content pre{max-width:100%;overflow-x:auto;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word}.tool-pill.tool-call-pill{flex-direction:column;align-items:flex-start;border-radius:12px}.tool-pill:hover{background:#8080801a;border-color:#80808033}.tool-pill .tool-icon{flex-shrink:0;color:#858585}.tool-pill .tool-text{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-pill .tool-status{font-size:11px;color:var(--text-muted);font-style:italic;margin-left:auto}.tool-pill.completed .tool-icon,.tool-pill.success-pill .tool-icon,.tool-pill.success-pill .tool-text{color:#10b981}.message.tool-entry+.message.tool-entry{margin-top:-6px}.message.execution-status-message{background:transparent;border:none;padding:1px 0;width:100%}.execution-status-group-shell{width:100%;background:transparent;border:none;border-radius:0;color:var(--text-primary)}.execution-status-card{display:flex;align-items:center;gap:12px;width:100%;max-width:100%;padding:2px 6px;background:transparent;border:1px solid var(--border-dark);border-radius:12px;color:var(--text-primary)}.execution-status-group-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:2px 6px;background:transparent;border:1px solid var(--border-dark);border-radius:12px;color:inherit;font:inherit;text-align:left;cursor:pointer}.execution-status-card.failed{background:transparent;border-color:color-mix(in srgb,var(--border-dark) 65%,#ef4444 35%)}.execution-status-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;background:transparent;border:none;border-radius:8px}.execution-status-icon.failed{background:transparent;border:none}.execution-status-check{color:#10b981}.execution-status-spinner{color:#60a5fa;animation:spin 1s linear infinite}.execution-status-fallback-icon{color:#f87171}.execution-status-text{min-width:0;flex:1;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-status-toggle-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.execution-status-children{position:relative;display:flex;flex-direction:column;gap:6px;padding:6px 10px 0}.execution-status-children:before{content:"";position:absolute;left:28px;top:24px;bottom:8px;width:1px;background:var(--border-dark);pointer-events:none}.execution-status-child{display:flex;align-items:center;gap:12px;min-width:0;padding:6px;background:transparent;border:1px solid var(--border-dark);border-radius:10px;position:relative;z-index:1}.execution-status-child-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#10b981}.execution-status-child-text{min-width:0;flex:1;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.light-mode .execution-status-card{background:transparent}body.light-mode .execution-status-card.failed{background:transparent;border-color:color-mix(in srgb,var(--border-dark) 72%,#ef4444 28%)}body.light-mode .execution-status-group-shell,body.light-mode .execution-status-child{background:transparent}body.light-mode .execution-status-icon,body.light-mode .execution-status-icon.failed{background:transparent;border:none}.message-agent-indicator{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.chat-input-field{width:100%}.chat-input-textarea{width:100%;min-height:60px;max-height:180px;padding:14px 16px;background:transparent;color:var(--text-primary);border:none;outline:none;resize:none;font-size:14px;line-height:1.5;font-family:inherit;overflow-y:auto}.chat-input-textarea::placeholder{color:var(--text-muted);opacity:.6}.control-select{height:28px;border:none;background:transparent;color:var(--text-primary);border-radius:6px;padding:0 22px 0 8px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5L6 8L9 5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.control-select:hover{background-color:var(--bg-dark)}.chat-submit-button.stop:hover:not(:disabled){background:#dc2626;transform:scale(1.05)}.chat-submit-button:disabled{opacity:.4;cursor:not-allowed}.todo-panel{border-top:1px solid var(--border-dark);background:var(--bg-panel);max-height:300px}.todo-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px var(--padding);background:transparent;border:none;color:var(--text-primary);width:100%;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background .2s ease}.todo-panel-arrow{color:var(--text-muted);transition:transform .2s ease}.todo-panel-header[data-panel-open] .todo-panel-arrow{transform:rotate(180deg)}.todo-panel-content{background:var(--bg-dark);max-height:250px;overflow-y:auto}.accept-btn{background:#10b981;color:#fff}.cancel-btn:hover:not(:disabled){background:var(--bg-light);border-color:#ef4444;color:#ef4444}.agent-status.toolbar-container{padding:4px var(--padding);border-bottom:1px solid var(--border-dark);background:var(--bg-panel);display:flex;align-items:center;justify-content:space-between;height:25px}.toolbar-right{display:flex;align-items:center;gap:6px}.history-chat-btn,.new-chat-btn{background:transparent;border:none;color:var(--text-muted);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.history-chat-btn:hover,.new-chat-btn:hover{background:var(--bg-dark);color:var(--text-primary)}.history-chat-btn:disabled,.new-chat-btn:disabled{opacity:.45;cursor:not-allowed}.chat-mode-hint{width:min(680px,100%);padding:24px 20px;border:none;border-radius:0;background:transparent;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center}.chat-mode-hint-badge{align-self:center;padding:4px 9px;border-radius:999px;background:#58a6ff24;color:var(--accent-primary, #58a6ff);font-size:11px;font-weight:700;letter-spacing:.08em}.chat-mode-hint-title{font-size:16px;font-weight:700;color:var(--text-primary)}.chat-mode-hint-text{font-size:13px;line-height:1.5;color:var(--text-muted);max-width:56ch}.chat-history-dialog{width:min(480px,calc(100vw - 32px));max-height:min(70vh,640px);display:flex;flex-direction:column;gap:14px}.chat-history-header{display:flex;flex-direction:column;gap:4px}.chat-history-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.chat-history-item{border:1px solid var(--border-dark);background:var(--bg-panel);color:var(--text-primary);border-radius:10px;padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;transition:border-color .2s ease,background .2s ease}.chat-history-item:hover,.chat-history-item.active{border-color:var(--accent-primary, #58a6ff);background:var(--bg-dark)}.chat-history-main{flex:1;min-width:0;border:none;background:transparent;color:inherit;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer}.chat-history-actions{display:flex;align-items:center;gap:6px}.chat-history-action-btn{width:28px;height:28px;border:1px solid var(--border-dark);background:transparent;color:var(--text-muted);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.chat-history-action-btn:hover{border-color:var(--accent-primary, #58a6ff);color:var(--text-primary)}.chat-history-action-btn.danger:hover{border-color:#ef4444;color:#ef4444}.chat-history-title{font-size:14px;line-height:1.4;font-weight:600;word-break:break-word}.chat-history-meta,.chat-history-empty{font-size:12px;color:var(--text-muted)}.chat-session-edit-dialog{width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;gap:14px}.chat-session-title-input{width:100%;border:1px solid var(--border-dark);background:var(--bg-dark);color:var(--text-primary);border-radius:10px;padding:12px 14px;font-size:14px;outline:none}.chat-session-title-input:focus{border-color:var(--accent-primary, #58a6ff)}.chat-session-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.chat-session-secondary-btn,.chat-session-primary-btn,.chat-session-danger-btn{border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border-dark);transition:all .2s ease}.chat-session-secondary-btn{background:transparent;color:var(--text-muted)}.chat-session-secondary-btn:hover{background:var(--bg-dark);color:var(--text-primary)}.chat-session-primary-btn{background:var(--accent-primary, #58a6ff);border-color:var(--accent-primary, #58a6ff);color:#08111f}.chat-session-primary-btn:disabled{opacity:.55;cursor:not-allowed}.chat-session-danger-btn{background:#7f1d1d;border-color:#b91c1c;color:#fee2e2}.chat-session-danger-btn:hover{background:#991b1b}.editable-user-message .message-content{min-height:36px;padding:10px 12px;border:1px solid var(--border-dark);border-radius:8px;background:var(--bg-panel);color:var(--text-primary);outline:none;word-wrap:break-word;white-space:pre-wrap;line-height:1.4;font-size:13px}.editable-user-message:not(.editing) .message-content{cursor:text;border-style:dashed}.global-progress-container{padding:4px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border-dark)}.global-progress-container.bottom{border-bottom:none;border-top:1px solid var(--border-dark);margin-top:auto}.global-progress-bar{height:4px;background:var(--bg-dark);border-radius:2px;overflow:hidden;position:relative;margin-bottom:4px}.global-progress-fill{position:absolute;top:0;left:0;height:100%;width:30%;background:var(--primary);border-radius:2px;animation:global-progress 1.5s ease-in-out infinite}@keyframes global-progress{0%{left:-30%;width:30%}50%{width:50%}to{left:100%;width:30%}}.global-progress-text{font-size:11px;color:var(--text-muted);text-align:right;font-style:italic}.chat-input-textarea::-webkit-scrollbar,.todo-panel-content::-webkit-scrollbar{width:6px}.chat-input-textarea::-webkit-scrollbar-track,.todo-panel-content::-webkit-scrollbar-track{background:transparent}.chat-input-textarea::-webkit-scrollbar-thumb,.todo-panel-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.chat-input-textarea::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.chat-input-textarea::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.markdown-content{width:100%;max-width:100%;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;overflow-x:hidden;font-size:14px;line-height:1.4}.markdown-content>*,.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6,.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content li,.markdown-content blockquote,.markdown-content pre,.markdown-content code,.markdown-content table,.markdown-content hr{margin:0;padding:0}.markdown-content>*:first-child{margin-top:0!important}.markdown-content>*:last-child{margin-bottom:0!important}.markdown-content strong,.markdown-content em,.markdown-content code{margin:0;padding:0;display:inline}.markdown-content .symbol-highlight{background:#2563eb26;color:#60a5fa;padding:2px 4px;border-radius:3px;cursor:pointer;transition:all .15s ease;font-weight:500}.markdown-content .symbol-highlight:hover{background:#2563eb40;color:#93c5fd}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--text-primary);font-weight:600;margin:3px 0 1px;line-height:1.4}.markdown-content h1{font-size:22px}.markdown-content h2{font-size:19px}.markdown-content h3{font-size:17px}.markdown-content h4{font-size:15px}.markdown-content h5{font-size:14px}.markdown-content h6{font-size:13px}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child,.markdown-content h5:first-child,.markdown-content h6:first-child{margin-top:0}.markdown-content h1+*,.markdown-content h2+*,.markdown-content h3+*,.markdown-content h4+*,.markdown-content h5+*,.markdown-content h6+*{margin-top:4px!important}.markdown-ul,.markdown-ol{margin:4px 0;padding-left:24px}.markdown-ul{list-style-type:disc}.markdown-ol{list-style-type:decimal}.markdown-li{margin:2px 0;padding:0;display:list-item}.markdown-code-block-container{border-radius:8px;overflow:hidden;margin:12px 0;border:1px solid var(--border-dark);background:#1e1e1e}.markdown-code-block-container.light{background:#f5f5f5;border-color:#e5e5e5}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#ffffff0d;border-bottom:1px solid var(--border-dark)}.markdown-code-block-container.light .code-block-header{background:#0000000d;border-color:#e5e5e5}.code-language{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;font-family:inherit;font-weight:500;text-transform:uppercase}.code-copy-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:4px;border-radius:4px;transition:all .2s ease}.code-copy-btn.icon-only{padding:6px;border-radius:6px}.code-copy-btn:hover{background:#ffffff1a;color:var(--text-primary)}.markdown-code-block-container.light .code-copy-btn:hover{background:#0000000d}.code-block-content{margin:0;padding:0}.markdown-content p,.markdown-p{margin:1px 0;line-height:1.4;font-size:14px;min-height:0}.markdown-content p:empty,.markdown-p:empty{display:none}.markdown-content p:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong,.markdown-strong{color:var(--text-primary);font-weight:700!important}.markdown-content em,.markdown-em{font-style:italic;color:var(--text-primary)}.markdown-content a{color:#60a5fa;text-decoration:underline;transition:color .15s ease}.markdown-content a:hover{color:#93c5fd}.markdown-table-container{overflow-x:auto;overflow-y:auto;max-height:500px;margin:12px 0;border-radius:8px;border:1px solid var(--border-dark);background:#0003}.markdown-table{width:max-content;min-width:100%;border-collapse:collapse}.markdown-table th,.markdown-table td{padding:8px 12px;border:1px solid var(--border-dark);text-align:left;white-space:nowrap}.markdown-table th{background:#ffffff0d;font-weight:600}.markdown-table-wrapper{width:100%;max-width:100%;margin:8px 0;border:1px solid var(--border-dark);border-radius:8px;background:var(--bg-panel);overflow-x:auto;overflow-y:auto;max-height:50vh}.markdown-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.markdown-table-wrapper::-webkit-scrollbar-track{background:#0003;border-radius:4px}.markdown-table-wrapper::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.markdown-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.markdown-table-wrapper::-webkit-scrollbar-corner{background:#0003}.markdown-table{width:100%;border-collapse:collapse;font-size:14px;margin:0}.markdown-thead{background:#2563eb1a}.markdown-th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-dark);border-right:1px solid var(--border-dark)}.markdown-th:last-child{border-right:none}.markdown-tbody{background:var(--bg-dark)}.markdown-tr{border-bottom:1px solid var(--border-dark);transition:background .15s ease}.markdown-tr:last-child{border-bottom:none}.markdown-tr:hover{background:#2563eb0d}.markdown-td{padding:10px 12px;color:var(--text-primary);border-right:1px solid var(--border-dark);vertical-align:top}.markdown-td:last-child{border-right:none}.markdown-code-inline{display:inline;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;font-weight:500;white-space:nowrap}.markdown-code-inline{background:#8b5cf626;color:#c4b5fd;border:1px solid rgba(139,92,246,.2)}.light .markdown-code-inline,body:not(.dark) .markdown-code-inline{background:#f0f0f0;color:#d63384;border:1px solid #d0d0d0}.markdown-code-compact{display:inline-block;padding:8px 12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;margin:4px 0;max-width:fit-content;white-space:pre;line-height:1.4}.markdown-code-compact.dark{background:#282c34;border:1px solid #3a3a4a}.markdown-code-compact.light{background:#f5f5f5;border:1px solid #d0d0d0}.markdown-code-compact pre,.markdown-code-compact code{background:transparent!important;padding:0!important;margin:0!important;display:inline!important}.markdown-code-wrapper{width:100%;max-width:100%;margin:8px 0;border-radius:8px;overflow-x:hidden;overflow-y:auto;max-height:50vh;position:relative}.markdown-code-wrapper.dark{border:1px solid #3a3a4a;background:#282c34}.markdown-code-wrapper.light{border:1px solid #d0d0d0;background:#f5f5f5}.markdown-code-wrapper::-webkit-scrollbar{width:8px}.markdown-code-wrapper.dark::-webkit-scrollbar-track{background:#0003;border-radius:4px}.markdown-code-wrapper.dark::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.markdown-code-wrapper.dark::-webkit-scrollbar-thumb:hover{background:#fff6}.markdown-code-wrapper.light::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.markdown-code-wrapper.light::-webkit-scrollbar-thumb{background:#0000004d;border-radius:4px}.markdown-code-wrapper.light::-webkit-scrollbar-thumb:hover{background:#0006}.markdown-code-wrapper[data-language]:not([data-language=""]):before{content:attr(data-language);position:absolute;top:8px;right:12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace;z-index:10;padding:3px 8px;border-radius:4px}.markdown-code-wrapper.dark[data-language]:not([data-language=""]):before{color:#ffffffb3;background:#0006}.markdown-code-wrapper.light[data-language]:not([data-language=""]):before{color:#000000b3;background:#ffffffb3}.markdown-code-wrapper pre{margin:0!important;overflow:visible!important;white-space:pre-wrap!important;word-break:break-word!important}.markdown-code-wrapper code{font-family:Consolas,Monaco,Menlo,Ubuntu Mono,monospace!important;font-size:13px!important;line-height:1.6!important;white-space:pre-wrap!important;word-break:break-word!important;background:transparent!important}.markdown-code-wrapper code span{white-space:pre-wrap!important;word-break:break-word!important}.markdown-ul,.markdown-ol{margin:6px 0;padding-left:24px!important;list-style-position:outside}.markdown-li{margin:4px 0;line-height:1.6;color:var(--text-primary);font-size:14px;display:list-item!important}.markdown-ul .markdown-li{list-style-type:disc!important}.markdown-ol .markdown-li{list-style-type:decimal!important}.markdown-ul .markdown-ul,.markdown-ol .markdown-ol,.markdown-ul .markdown-ol,.markdown-ol .markdown-ul{margin:2px 0}.markdown-content blockquote{border-left:3px solid var(--primary);padding-left:16px;margin:6px 0;color:var(--text-muted);font-style:italic}.markdown-content hr{border:none;border-top:1px solid var(--border-dark);margin:8px 0}.typing-cursor{display:inline-block;width:3px;height:1.1em;background:#60a5fa;margin-left:2px;vertical-align:text-bottom;animation:cursor-pulse 1s ease-in-out infinite}@keyframes cursor-pulse{0%,to{opacity:1}50%{opacity:.4}}.streaming-content{display:inline;line-height:1.65}.message-list-virtualized{flex:1;min-height:0;height:100%;background:var(--bg-dark);overflow:hidden;position:relative}.message-list-virtualized .message-wrapper{padding:6px var(--padding)}.message.tool-entry{display:flex;margin-bottom:8px;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important}.tool-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-dark);border:1px solid var(--border-dark);border-radius:9999px;font-size:12px;color:var(--text-primary);max-width:100%}.tool-entry.tool-result .tool-pill{opacity:.8}.tool-entry.tool-call .tool-pill{border-color:var(--primary);background:#2563eb1a}.tool-icon{color:var(--text-muted)}.tool-entry.tool-call .tool-icon{color:var(--primary)}.tool-text{font-family:monospace;font-weight:500}.tool-status{color:var(--text-muted);font-size:11px;margin-left:4px;font-style:italic}.dialog-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:9998;transition:opacity .2s cubic-bezier(.4,0,.2,1)}.dialog-backdrop[data-starting-style],.dialog-backdrop[data-ending-style]{opacity:0}.dialog-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;background-color:var(--bg-panel);border:1px solid var(--border-dark);border-radius:12px;padding:24px;box-shadow:0 8px 32px #00000080;z-index:9999;transition:all .2s cubic-bezier(.4,0,.2,1)}.dialog-popup[data-starting-style],.dialog-popup[data-ending-style]{opacity:0;transform:translate(-50%,-50%) scale(.95)}.dialog-popup:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dialog-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px;line-height:1.3}.dialog-description{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0 0 24px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.welcome-page{flex:1;overflow-y:auto;background:var(--bg-dark);display:flex;justify-content:center;padding:40px 20px}.welcome-container{max-width:1200px;width:100%}.welcome-header{text-align:center;margin-bottom:48px}.welcome-header h1{font-size:48px;font-weight:700;color:var(--text-primary);margin:0 0 16px;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:18px;color:var(--text-secondary);margin:0}.welcome-actions{display:flex;justify-content:center;gap:16px;margin-bottom:64px}.welcome-button{padding:16px 32px;border:2px solid var(--border-dark);border-radius:8px;background:var(--bg-panel);color:var(--text-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px}.welcome-button:hover{background:var(--secondary-bg);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.welcome-button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.welcome-button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.welcome-button.secondary{background:var(--bg-panel);border-color:var(--border-dark);color:var(--text-primary)}.welcome-button.secondary:hover{background:var(--secondary-bg);border-color:#f44;color:#f44}.button-icon{font-size:20px;line-height:1}.recent-projects{margin-bottom:64px;max-height:500px;overflow-y:scroll}.recent-projects h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 24px;position:sticky;top:0;background:var(--bg-dark);padding:8px 0;z-index:1}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding-bottom:8px}.project-card{background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease}.project-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.project-card.active-project{border-color:var(--primary);background:#2563eb0d}.project-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.project-icon{font-size:24px}.project-card-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.active-badge{background:var(--primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.project-card-info{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary)}.welcome-features h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 24px;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.feature-card{background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:8px;padding:24px;text-align:center;transition:all .2s ease}.feature-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.feature-card p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.welcome-page::-webkit-scrollbar{width:8px}.welcome-page::-webkit-scrollbar-track{background:var(--bg-panel)}.welcome-page::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.welcome-page::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.recent-projects::-webkit-scrollbar{width:10px}.recent-projects::-webkit-scrollbar-track{background:#ffffff14;border-radius:5px;border:1px solid rgba(255,255,255,.05)}.recent-projects::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:5px;border:1px solid rgba(0,0,0,.2)}.recent-projects::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.recent-projects{scrollbar-width:thin;scrollbar-color:var(--border-dark) rgba(255,255,255,.08)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content{background-color:var(--settings-bg-card);border:1px solid var(--settings-border);border-radius:12px;width:320px;padding:20px;box-shadow:0 10px 30px #0000004d;font-family:Inter,sans-serif;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--settings-text)}.modal-body{margin-bottom:20px}.modal-body p{color:var(--settings-text-secondary);font-size:14px;margin:0;line-height:1.5}.modal-input{width:100%;background-color:var(--settings-input-bg);border:1px solid var(--settings-border);padding:8px 12px;border-radius:6px;color:var(--settings-text);font-size:14px}.modal-input:focus{outline:none;border-color:#555}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-btn{padding:6px 14px;border-radius:6px;font-size:13px;border:none;cursor:pointer;font-weight:500;transition:all .2s}.modal-btn.secondary{background-color:transparent;color:var(--settings-text-secondary)}.modal-btn.secondary:hover{background-color:var(--settings-bg-hover);color:var(--settings-text)}.modal-btn.primary{background-color:#357a38;color:#fff}.modal-btn.primary:hover{background-color:#2e6a31}.modal-btn.danger{background-color:#d32f2f;color:#fff}.modal-btn.danger:hover{background-color:#b71c1c}.netlabel-modal-content{width:340px}.netlabel-modal-hint{font-size:12px;color:var(--settings-text-secondary);margin:0 0 8px}.netlabel-kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.netlabel-kind-btn{padding:8px 10px;border-radius:6px;border:1px solid var(--settings-border);background:var(--settings-input-bg);color:var(--settings-text);font-size:12px;cursor:pointer;font-weight:500}.netlabel-kind-btn:hover{border-color:#357a38}.netlabel-kind-btn.active{background:#357a3833;border-color:#357a38;color:var(--settings-text)}.splash-screen{position:fixed;inset:0;z-index:9999;background:#0d1117;display:flex;align-items:center;justify-content:center;opacity:1}@keyframes splashFadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.splash-content{text-align:center;color:#fff;max-width:400px;padding:40px}.splash-logo{margin-bottom:32px;animation:logoScale 2s ease-out}.splash-logo img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));border-radius:12px;background:#ffffff1a;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes logoScale{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.1) rotate(2deg)}to{transform:scale(1) rotate(0);opacity:1}}.splash-title{font-size:32px;font-weight:700;margin:24px 0 8px;letter-spacing:-.5px;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:titleSlide 1.5s ease-out .3s both}.splash-subtitle{font-size:16px;font-weight:400;opacity:.9;margin-bottom:32px;text-shadow:0 1px 4px rgba(0,0,0,.3);animation:titleSlide 1.5s ease-out .5s both}@keyframes titleSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.splash-progress-container{animation:progressSlide 1.5s ease-out .7s both}@keyframes progressSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.splash-progress-bar{width:100%;height:6px;background:#fff3;border-radius:3px;overflow:hidden;margin-bottom:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.splash-progress-fill{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:3px;transition:width .1s ease-out;box-shadow:0 0 10px #4facfe99;position:relative}.splash-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.splash-progress-text{font-size:14px;font-weight:500;opacity:.8;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media(prefers-color-scheme:dark){.splash-screen{background:#0d1117}}@media(prefers-reduced-motion:reduce){.splash-screen,.splash-logo,.splash-title,.splash-subtitle,.splash-progress-container{animation:none}.splash-progress-fill:after{animation:none}.splash-progress-fill{transition:none}}@media(prefers-contrast:high){.splash-screen{background:#000;color:#fff}.splash-progress-bar{background:#333;border:2px solid #ffffff}.splash-progress-fill{background:#fff;box-shadow:none}}@media(max-width:768px){.splash-content{padding:20px}.splash-logo img{width:80px;height:80px;padding:15px}.splash-title{font-size:24px}.splash-subtitle{font-size:14px}}@media(max-width:480px){.splash-content{padding:16px}.splash-logo img{width:60px;height:60px;padding:10px}.splash-title{font-size:20px}.splash-subtitle{font-size:12px}}.settings-content{color:var(--settings-text);font-family:Inter,sans-serif;height:100%;display:flex;flex-direction:column}.settings-loading-wrap{flex:1;min-height:240px;display:flex;align-items:center;justify-content:center}.settings-loading-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--settings-border);border-top-color:var(--settings-text);animation:settings-spin .8s linear infinite}@keyframes settings-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-header-custom{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px}.settings-header-custom h2{font-size:18px;font-weight:600;margin:0;color:var(--settings-text)}.account-profile-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.profile-info{display:flex;align-items:center;gap:12px}.profile-avatar{width:48px;height:48px;border-radius:50%;background-color:#357a38;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500}.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-details{display:flex;flex-direction:column}.profile-name{font-size:15px;font-weight:600;color:var(--settings-text)}.profile-email{font-size:13px;color:#888}.profile-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:0;overflow:hidden;height:32px;border-radius:6px;background-color:var(--settings-bg-card);border:1px solid var(--settings-border);color:var(--settings-text);cursor:pointer;transition:all .2s ease;padding:0 8px;max-width:32px;white-space:nowrap}.action-btn span{opacity:0;font-size:13px;transform:translate(-10px);transition:all .2s ease;width:0}.action-btn:hover{max-width:120px;gap:8px;padding-right:12px;background-color:var(--settings-bg-hover)}.action-btn:hover span{opacity:1;transform:translate(0);width:auto}.action-btn.logout{color:#d32f2f;border-color:#d32f2f4d}.action-btn.logout:hover{background-color:#d32f2f1a}.action-btn.signin{color:var(--primary, #2563eb);border-color:#2563eb73}.action-btn.signin:hover{background-color:#2563eb1f;border-color:#2563eba6}.plan-card{background-color:var(--settings-bg-card);border:1px solid var(--settings-border);border-radius:12px;padding:16px;margin-bottom:20px}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--settings-plan-header-border)}.plan-name{font-size:16px;font-weight:600;color:var(--settings-text);font-family:serif}.upgrade-btn{background-color:var(--settings-text);color:var(--settings-bg-card);border:none;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;cursor:pointer}.upgrade-btn:hover{opacity:.9}.plan-stats{display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:13px}.stat-label{display:flex;align-items:center;gap:6px;color:var(--settings-text);font-weight:500}.stat-sublabel{display:block;font-size:11px;color:var(--settings-text-secondary);margin-top:2px;margin-left:20px}.stat-value{font-weight:600;color:var(--settings-text)}.usage-section-link{display:flex;justify-content:space-between;align-items:center;background-color:var(--settings-bg-card);border:1px solid var(--settings-border);padding:12px 16px;border-radius:8px;cursor:pointer;margin-bottom:20px;color:var(--settings-text);font-weight:500;font-size:14px}.usage-section-link:hover{background-color:var(--settings-bg-hover)}.usage-table-container{background-color:var(--settings-bg-card);border:1px solid var(--settings-border);border-radius:8px;overflow:hidden}.usage-table-header{display:none}.usage-table-row{display:flex;padding:12px 16px;border-bottom:1px solid var(--settings-border);font-size:13px;align-items:center;color:var(--settings-text)}.usage-table-row:last-child{border-bottom:none}.col-details{flex:2;color:var(--settings-text)}.col-date{flex:1;color:var(--settings-text-secondary)}.col-change{flex:.5;text-align:right;color:var(--settings-text)}.back-header{display:flex;align-items:center;gap:8px;color:var(--settings-text-secondary);cursor:pointer;font-size:14px}.back-header:hover{color:var(--settings-text)}.edit-profile-form{display:flex;flex-direction:column;gap:20px}.field-group{display:flex;flex-direction:column;gap:8px}.field-label{font-size:12px;color:var(--settings-text-secondary)}.field-input-wrapper{position:relative;display:flex;align-items:center}.field-input{width:100%;background-color:var(--settings-input-bg);border:1px solid var(--settings-border);padding:8px 12px;border-radius:6px;color:var(--settings-text);font-size:14px}.field-input:focus{outline:none;border-color:#555}.field-input.has-icon{padding-right:30px}.input-icon-btn{position:absolute;right:8px;background:transparent;border:none;color:var(--settings-icon-color);cursor:pointer;display:flex;align-items:center}.input-icon-btn:hover{color:var(--settings-text)}.field-value-static{font-size:13px;color:var(--settings-text-secondary)}.copy-icon{margin-left:8px;cursor:pointer;color:var(--settings-icon-color)}.copy-icon:hover{color:var(--settings-text)}.delete-account-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--settings-border);display:flex;justify-content:space-between;align-items:center}.delete-text h4{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--settings-text)}.delete-text p{margin:0;font-size:12px;color:var(--settings-text-secondary)}.delete-btn{background-color:transparent;border:1px solid #d32f2f;color:#d32f2f;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer}.delete-btn:hover{background-color:#d32f2f1a}.settings-dialog-popup{width:700px;max-width:90vw;height:600px;max-height:85vh;padding:0}.settings-close-button{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;z-index:10;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease}.settings-close-button:hover{background:var(--bg-hover, rgba(255, 255, 255, .1))}.settings-panel-container{display:flex;height:100%;overflow:hidden}.settings-sidebar{width:200px;background:var(--bg-secondary, #1a1a1a);border-right:1px solid var(--border-dark, #333);display:flex;flex-direction:column;padding:20px 0}.settings-logo{display:flex;align-items:center;gap:8px;padding:0 16px 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.settings-logo img{width:24px;height:24px}.settings-nav{display:flex;flex-direction:column;padding:0}.settings-nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;background:none;border:none;border-left:3px solid transparent;color:var(--text-secondary, #b0b0b0);cursor:pointer;text-align:left;font-size:14px;transition:all .2s ease;width:100%;border-radius:0}.settings-nav-item:hover{background:var(--bg-panel, #2a2a2a)}.settings-nav-item.active{background:var(--bg-panel, #2a2a2a);border-left-color:var(--primary-color, #2563EB);color:var(--text-primary, #f0f0f0)}.nav-icon{font-size:16px}.nav-text{flex:1}.nav-external-icon{opacity:.5;margin-left:8px}.settings-nav-divider{height:1px;background:#ffffff1a;margin:8px 0}body.light-mode .settings-nav-divider{background:#e0e0e0}.settings-content{flex:1;padding:32px;overflow-y:auto;background:var(--panel-bg, #21262d)}.settings-content h2{margin:0 0 24px;font-size:24px;color:var(--text-primary)}.settings-section{margin-bottom:32px}.settings-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.settings-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.settings-field{margin-bottom:16px}.settings-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.settings-field select{width:100%;max-width:300px;padding:8px 12px;background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border-color, #30363d);border-radius:6px;color:var(--text-primary);font-size:14px;cursor:pointer}.settings-field select:focus{outline:none;border-color:var(--primary-color, #58a6ff)}.theme-selector{margin-bottom:16px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-card{border:2px solid var(--border-color, #30363d);border-radius:8px;padding:16px;background:var(--bg-secondary, #1a1a1a);cursor:pointer;transition:all .2s ease;text-align:center}.theme-card:hover{border-color:var(--border-hover, #58a6ff)}.theme-card.selected{border-color:var(--primary-color, #58a6ff);background:#58a6ff1a}.theme-preview{font-size:32px;margin-bottom:8px}.theme-label{display:block;font-size:13px;color:var(--text-primary)}body.light-mode .theme-preview{color:#333}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-color, #30363d)}.settings-toggle-row:last-child{border-bottom:none}.toggle-info{flex:1;margin-right:16px}.toggle-label{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.toggle-description{font-size:12px;color:var(--text-secondary);line-height:1.4}.toggle-switch{width:44px;height:24px;background:var(--toggle-bg-off, #30363d);border:none;border-radius:12px;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.toggle-switch:focus{outline:2px solid var(--primary-color, #58a6ff);outline-offset:2px}.toggle-switch.checked{background:var(--primary-color, #58a6ff)}.toggle-slider{position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s ease}.toggle-switch.checked .toggle-slider{transform:translate(20px)}body.light-mode .settings-sidebar{background:#f5f5f5;border-right-color:#e0e0e0}body.light-mode .settings-content{background:#fff}body.light-mode .settings-nav-item{color:#666}body.light-mode .settings-nav-item.active{color:#333}body.light-mode .settings-nav-item:hover{background:#e8e8e8}body.light-mode .theme-card{background:#f8f9fa;border-color:#e0e0e0}body.light-mode .theme-card.selected{border-color:#2563eb;background:#2563eb0d}body.light-mode .toggle-switch{background:#ccc}body.light-mode .toggle-switch.checked{background:#2563eb}body.light-mode .settings-field select{background:#fff;border-color:#e0e0e0}body.light-mode .settings-toggle-row{border-bottom-color:#e0e0e0}body.light-mode .settings-close-button:hover{background:#0000000d}.account-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.account-edit-header h3{margin:0;font-size:18px}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.edit-avatar-section{display:flex;justify-content:center;margin-bottom:24px}.account-avatar.large{width:96px;height:96px;position:relative}.change-avatar-btn{position:absolute;bottom:0;right:0;background:var(--primary-color);color:#fff;border:2px solid var(--bg-secondary);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.settings-input{width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px}.settings-input:focus{outline:none;border-color:var(--primary-color)}.edit-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.settings-btn.primary{background:var(--primary-color);color:#fff;border:none}.settings-btn.primary:hover{background:var(--primary-hover, #2563EB);opacity:.9}.account-actions .settings-btn,.usage-label-group{display:flex;align-items:center;gap:8px}.usage-limit-tag{font-size:11px;background:var(--bg-panel);padding:2px 6px;border-radius:4px;color:var(--text-secondary)}.subscription-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px}.plan-info{display:flex;justify-content:space-between;align-items:center}.plan-info h3{margin:0;font-size:16px}.plan-badge{background:#58a6ff26;color:var(--primary-color);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.settings-btn.full-width{width:100%;text-align:center;justify-content:center}body.light-mode .change-avatar-btn{border-color:#fff}body.light-mode .settings-input{background:#fff;border-color:#d0d7de}body.light-mode .usage-limit-tag{background:#e0e0e0}body.light-mode .plan-badge{background:#2563eb1a}:root{--bg-dark: #1a1a1a;--bg-panel: #2a2a2a;--bg-secondary: #333333;--border-dark: #444444;--border-light: #555555;--primary: #2563EB;--primary-hover: #1D4ED8;--secondary-bg: #3a3a3a;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-muted: #888888;--active-tab: #2563EB;--active-tab-bg: rgba(37, 99, 235, .1);--shadow: 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4);--radius: 6px;--radius-sm: 4px;--padding: 12px;--gap: 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background-color:var(--bg-dark);color:var(--text-primary);font-size:14px;font-weight:400}body.light-mode{--bg-dark: #f7f7f7;--bg-panel: #ffffff;--bg-secondary: #f2f2f2;--border-dark: #dddddd;--border-light: #cfcfcf;--primary: #2563EB;--primary-hover: #1D4ED8;--secondary-bg: #f4f6f8;--text-primary: #111111;--text-secondary: #333333;--text-muted: #666666}.app-root{display:flex;flex-direction:column;height:100vh;background:var(--bg-dark)}.app-content{flex:1;display:flex;gap:0;overflow:hidden}.app-statusbar{height:19px;background:var(--bg-panel);border-top:1px solid var(--border-dark);display:flex;align-items:center;padding:0 var(--padding);font-size:12px;color:var(--text-secondary);gap:16px}.app-statusbar>div{display:flex;align-items:center;white-space:nowrap}.statusbar-right{margin-left:auto!important;display:flex!important;align-items:center!important;gap:12px!important}#connectionStatus{color:var(--primary)!important;font-weight:500!important}#panelInfo{font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:11px!important}#undoRedoActions{color:var(--text-muted)!important;cursor:pointer!important}.panel{background:var(--bg-panel);border-right:1px solid var(--border-dark);display:flex;flex-direction:column;overflow:hidden;position:relative}.panel:last-child{border-right:none;border-left:1px solid var(--border-dark)}.left-panel{min-width:200px;max-width:400px;width:280px;display:flex;flex-direction:row}.vertical-tabs{width:36px;background:var(--bg-secondary);border-right:1px solid var(--border-dark);display:flex;flex-direction:column;align-items:stretch;padding-top:8px}.vertical-tab{position:relative;height:120px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border-right:2px solid transparent;background:var(--bg-secondary);padding:8px 0}.vertical-tab:hover{background:var(--secondary-bg)}.vertical-tab.active{background:var(--bg-panel);border-right-color:var(--active-tab)}.vertical-tab-text{position:absolute;white-space:nowrap;transform-origin:center center;transform:rotate(-90deg);font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.3px;-webkit-user-select:none;user-select:none}.vertical-tab:hover .vertical-tab-text{color:var(--text-primary)}.vertical-tab.active .vertical-tab-text{color:var(--active-tab);font-weight:600}.left-panel-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.vertical-tab-profile{display:flex;align-items:center;justify-content:center;width:36px;height:36px;cursor:pointer;transition:all .2s ease;border-radius:50%;margin:8px auto 12px;background:#1a1a1a;border:2px solid var(--border-dark)}.vertical-tab-profile:hover{background:#2a2a2a;border-color:var(--primary)}.profile-image{width:22px;height:22px;object-fit:contain;transition:all .2s ease}.profile-image:hover{transform:scale(1.1)}.right-panel{min-width:240px;max-width:400px;width:320px;min-height:100%}.resizer{width:6px;cursor:col-resize;background:transparent;position:relative;border-left:1px solid var(--border-dark);border-right:1px solid var(--border-dark)}.resizer:hover{background:#2563eb33}.resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:20px;background:var(--border-light);border-radius:2px}.resizer:hover:after{background:var(--primary)}.resize-overlay{position:fixed;inset:0;z-index:10;cursor:col-resize}.tabs{display:flex;border-bottom:1px solid var(--border-dark);background:var(--bg-secondary)}.tab{flex:1;padding:var(--padding);text-align:center;border-bottom:2px solid transparent;cursor:pointer;background:var(--bg-secondary);color:var(--text-secondary);font-weight:500;font-size:13px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.tab:hover{background:var(--secondary-bg);color:var(--text-primary)}.tab.active{background:var(--bg-panel);border-bottom:2px solid var(--active-tab);color:var(--active-tab);font-weight:600}.sheet-tab-bar{height:28px;min-width:0;background:var(--bg-panel);border-bottom:1px solid var(--border-dark);display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;flex-shrink:0}.sheet-tab-bar::-webkit-scrollbar{height:3px}.sheet-tab-bar::-webkit-scrollbar-track{background:transparent}.sheet-tab-bar::-webkit-scrollbar-thumb{background:#444;border-radius:2px}body.light-mode .sheet-tab-bar{background:#fff;border-bottom-color:#ddd}body.light-mode .sheet-tab-bar::-webkit-scrollbar-thumb{background:#ccc}.sheet-tab{position:relative;height:28px;display:inline-flex;align-items:center;padding:0 12px;background:#0003;border-right:1px solid var(--border-dark);border-bottom:2px solid transparent;font-size:12px;font-weight:500;color:#aaa;gap:8px;min-width:80px;max-width:200px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.sheet-tab:hover{background:#0000004d;color:#fff}.sheet-tab.active{background:transparent;border-bottom-color:var(--active-tab);color:#fff;font-weight:600}body.light-mode .sheet-tab{background:#f5f5f5;color:#666;border-right-color:#ddd}body.light-mode .sheet-tab:hover{background:#e8e8e8;color:#333}body.light-mode .sheet-tab.active{background:transparent;color:var(--active-tab)}.sheet-tab-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-tab-close{background:transparent;border:none;color:#888;font-size:18px;cursor:pointer;padding:0 4px;border-radius:3px;line-height:1;transition:all .15s ease;margin-left:4px}.sheet-tab-close:hover{background:#ff000026;color:#f44}body.light-mode .sheet-tab-close:hover{background:#ff00001a;color:#c00}.sheet-tab-add{height:28px;padding:0 12px;background:transparent;border:none;color:#888;font-size:18px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;font-weight:300}.sheet-tab-add:hover{color:var(--active-tab);background:#2563eb1a}body.light-mode .sheet-tab-add:hover{color:var(--active-tab);background:#2563eb0d}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-header{padding:var(--padding);border-bottom:1px solid var(--border-dark);background:var(--bg-panel)}.sidebar-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 var(--padding) 0}.search-wrapper{position:relative}#symbolSearchInput,input[type=search],input[type=text]{width:100%;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-dark);font-size:13px;outline:none;transition:all .2s ease;background:var(--bg-dark);color:var(--text-primary)}#symbolSearchInput:focus,input[type=search]:focus,input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb33}#symbolSearchInput::placeholder,input::placeholder{color:var(--text-muted)}.list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.item{padding:8px 12px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-panel);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-primary);transition:all .2s ease}.item:hover{background:var(--secondary-bg);border-color:var(--primary)}#containerWrapper{padding:var(--padding);border-top:1px solid var(--border-dark)}#container{border:1px solid var(--border-dark);width:100%;aspect-ratio:1/1;background:var(--bg-dark);position:relative;border-radius:var(--radius-sm);overflow:hidden}#mainCanvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.tree{flex:1;overflow-y:auto;padding:8px}.tree-item{position:relative}.tree-row{display:flex;align-items:center;gap:8px;height:28px;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;outline:none;font-size:13px}.tree-row:hover{background:var(--secondary-bg)}.tree-children{margin-left:20px}.tree-icon{width:16px;height:16px;flex:0 0 16px;font-size:14px}.tree-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.properties-content{padding:var(--padding);flex:1;overflow-y:auto}.properties-content>div{margin-bottom:var(--padding)}.properties-content label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary);font-size:13px}.chat-content{display:flex;flex-direction:column;flex:1;min-height:0}#chatMessages{flex:1;overflow-y:auto;padding:var(--padding);display:flex;flex-direction:column;gap:12px;background:var(--bg-dark)}.message{padding:10px 14px;border-radius:var(--radius);max-width:85%;font-size:13px;line-height:1.4;font-weight:500}.user-message{align-self:flex-end;background:var(--primary);color:#fff}.ai-message{align-self:flex-start;background:var(--bg-panel);border:1px solid var(--border-dark);color:var(--text-primary)}.component-list{margin:8px 0 0 16px;color:var(--text-secondary)}.component-list li{margin-bottom:4px;font-size:12px}#chatInput{display:flex;padding:var(--padding);border-top:1px solid var(--border-dark);gap:8px;background:var(--bg-panel)}#messageInput{flex:1;padding:8px 12px;border:1px solid var(--border-dark);border-radius:18px;outline:none;font-size:13px;background:var(--bg-dark);color:var(--text-primary)}#messageInput:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb33}.btn{border:1px solid var(--border-dark);padding:6px 12px;border-radius:var(--radius-sm);background:var(--secondary-bg);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn:hover{background:var(--border-light)}.btn.primary{background:var(--primary);color:#fff;border:none}.btn.primary:hover{background:var(--primary-hover)}#sendButton{border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0}#sendButton svg{width:16px;height:16px;fill:#fff}.canvas-wrapper{flex:1;display:flex;flex-direction:column;background:var(--bg-dark);border:none}.list::-webkit-scrollbar,#chatMessages::-webkit-scrollbar,.tree::-webkit-scrollbar,.properties-content::-webkit-scrollbar{width:8px}.list::-webkit-scrollbar-track,#chatMessages::-webkit-scrollbar-track,.tree::-webkit-scrollbar-track,.properties-content::-webkit-scrollbar-track{background:var(--bg-panel)}.list::-webkit-scrollbar-thumb,#chatMessages::-webkit-scrollbar-thumb,.tree::-webkit-scrollbar-thumb,.properties-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.list::-webkit-scrollbar-thumb:hover,#chatMessages::-webkit-scrollbar-thumb:hover,.tree::-webkit-scrollbar-thumb:hover,.properties-content::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media(max-width:1280px){.left-panel{min-width:180px;max-width:350px;width:250px}.right-panel{min-width:220px;max-width:350px;width:300px}}@media(max-width:1024px){.left-panel{min-width:160px;max-width:300px;width:220px}.right-panel{min-width:200px;max-width:300px;width:280px}.resizer{width:8px}.tab{font-size:12px;padding:10px 8px}}@media(max-width:768px){.left-panel{min-width:140px;width:200px}.right-panel{min-width:180px;width:260px}.sidebar-header,.properties-content,#chatMessages,#chatInput{padding:8px}}.properties-floating-panel{background:var(--panel-bg, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:280px;max-width:400px;font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif);-webkit-user-select:none;user-select:none;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.properties-floating-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--header-bg, #f8f9fa);border-bottom:1px solid var(--border-color, #e0e0e0);border-radius:8px 8px 0 0}.properties-floating-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #333)}.properties-floating-header .close-button{background:none;border:none;font-size:18px;color:var(--text-secondary, #666);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s ease}.properties-floating-header .close-button:hover{background-color:var(--hover-bg, #e9ecef);color:var(--text-primary, #333)}.properties-floating-content{padding:16px;max-height:400px;overflow-y:auto}.property-field{margin-bottom:12px}.property-field:last-child{margin-bottom:0}.property-field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary, #666);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.property-field input{width:100%;padding:8px 10px;border:1px solid var(--input-border, #d0d7de);border-radius:4px;font-size:13px;background:var(--input-bg, #ffffff);color:var(--text-primary, #333);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.property-field input:focus{outline:none;border-color:var(--primary-color, #0366d6);box-shadow:0 0 0 2px var(--primary-color-alpha, rgba(3, 102, 214, .1))}.property-field input::placeholder{color:var(--text-muted, #999)}.context-menu{background:var(--panel-bg, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;box-shadow:0 6px 20px #00000026;min-width:150px;font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif);-webkit-user-select:none;user-select:none;animation:contextMenuFadeIn .12s ease-out;padding:4px 0}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.context-menu-list{list-style:none;padding:0;margin:0}.context-menu-item{padding:8px 16px;font-size:13px;color:var(--text-primary, #333);cursor:pointer;transition:background-color .15s ease;border-bottom:none}.context-menu-item:hover{background-color:var(--hover-bg, #f6f8fa)}.context-menu-item:active{background-color:var(--active-bg, #e1e4e8)}.context-menu-item.disabled{color:var(--text-muted, #999);cursor:not-allowed}.context-menu-item.disabled:hover{background-color:transparent;color:var(--text-muted, #999)}.context-menu-item.context-menu-divider{border-top:1px solid var(--border-color, #e0e0e0);margin-top:4px;padding-top:8px}.context-menu-item span{display:block}body:not(.light-mode) .properties-floating-panel,body:not(.light-mode) .context-menu{--panel-bg: #21262d;--header-bg: #161b22;--border-color: #30363d;--text-primary: #f0f6fc;--text-secondary: #8b949e;--text-muted: #6e7681;--input-bg: #0d1117;--input-border: #30363d;--hover-bg: #30363d;--active-bg: #21262d;--primary-color: #58a6ff;--primary-color-alpha: rgba(88, 166, 255, .1)}body.light-mode .properties-floating-panel,body.light-mode .context-menu{--panel-bg: #ffffff;--header-bg: #f8f9fa;--border-color: #e0e0e0;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--input-bg: #ffffff;--input-border: #d0d7de;--hover-bg: #f6f8fa;--active-bg: #e1e4e8;--primary-color: #0366d6;--primary-color-alpha: rgba(3, 102, 214, .1)}.chat-container{display:flex;flex-direction:column;height:100%;min-height:0}.message-list{flex:1;overflow:hidden;background:var(--bg-dark);position:relative;min-height:0}.message-list>div{padding:var(--padding)}.message-list>div>div>div{padding-bottom:8px}.message-list .loading-initial{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 24px;background:var(--bg-panel);border-radius:8px;border:1px solid var(--border-dark)}.message{width:100%;max-width:100%;font-size:13px;line-height:1.55;word-wrap:break-word;white-space:pre-wrap;padding:0}.message.user,.message.ai{align-self:stretch;background:transparent;color:var(--text-primary)}.message.error{align-self:center;background:#dc143c26;color:#ffb3bf;border:1px solid rgba(220,20,60,.3)}.message.thinking{align-self:stretch;background:#8b5cf614;color:var(--text-muted);padding:12px;border-radius:8px;border-left:3px solid rgba(139,92,246,.4);font-size:12px;line-height:1.6}.message.thinking .thinking-content{margin-top:4px}.message.thinking .thinking-content strong{color:var(--text-primary);font-weight:600}.message.design-reasoning{align-self:stretch;background:#10b98114;color:var(--text-primary);padding:12px;border-radius:8px;border-left:3px solid rgba(16,185,129,.4);font-size:13px;line-height:1.6}.message.design-reasoning .design-reasoning-content{margin-top:4px}.message.design-reasoning .design-reasoning-content strong{color:var(--text-primary);font-weight:600}.message.confirmation{align-self:stretch;background:#2563eb14;color:var(--text-primary);padding:12px;border-radius:8px;border-left:3px solid rgba(37,99,235,.4);font-size:13px;line-height:1.6}.message.confirmation .confirmation-content{margin-top:4px}.message.tool-call{align-self:stretch;background:#f9731614;color:var(--text-primary);padding:10px 12px;border-radius:8px;border-left:3px solid rgba(249,115,22,.4);font-size:13px;line-height:1.6}.message.tool-call .tool-call-content{display:flex;align-items:center;gap:10px}.message.tool-call .tool-spinner{width:16px;height:16px;border:2px solid rgba(249,115,22,.3);border-top-color:#f97316;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message.tool-call .tool-text{color:var(--text-primary)}.message.tool-call .tool-text strong{color:var(--text-primary);font-weight:600}.message.tool-result{align-self:stretch;background:#22c55e14;color:var(--text-primary);padding:10px 12px;border-radius:8px;border-left:3px solid rgba(34,197,94,.4);font-size:13px;line-height:1.6}.message.tool-result .tool-result-content{display:flex;align-items:center;gap:10px}.message.tool-result .tool-checkmark{font-size:18px;color:#10b981;font-weight:700;flex-shrink:0;line-height:1}.message.tool-result .tool-text{color:var(--text-primary)}.message.tool-result .tool-text strong{color:var(--text-primary);font-weight:600}.message.ai .symbol-highlight{color:var(--primary);cursor:pointer;font-weight:600;text-decoration:underline}.chat-input-container{border-top:1px solid var(--border-dark);background:var(--bg-panel);padding:var(--padding)}.chat-input-wrapper{border:1px solid var(--border-dark);border-radius:12px;background:var(--bg-dark);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.chat-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.chat-input-text{width:100%;min-height:60px;max-height:180px;overflow-y:auto;padding:14px 16px 12px;background:transparent;color:var(--text-primary);outline:none;caret-color:var(--text-primary);cursor:text;font-size:14px;line-height:1.5}.chat-input-text[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-muted);opacity:.6}.chat-input-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-top:1px solid var(--border-dark);background:var(--bg-panel);gap:12px}.controls-left{display:flex;align-items:center;gap:6px;flex:1}.control-select{height:28px;border:none;background:transparent;color:var(--text-primary);border-radius:6px;padding:0 22px 0 8px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5L6 8L9 5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.control-select:hover{background:var(--bg-dark)}.control-select:focus{outline:none;background:var(--bg-dark)}.chat-submit-button{width:32px;height:32px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.chat-submit-button.send{background:var(--primary);color:#fff}.chat-submit-button.send:hover:not(:disabled){background:var(--primary-hover, #2563eb);transform:scale(1.05);box-shadow:0 2px 8px #2563eb66}.chat-submit-button.stop{background:#ef4444;color:#fff}.chat-submit-button.stop:hover:not(:disabled){background:#dc2626;transform:scale(1.05);box-shadow:0 2px 8px #ef444466}.chat-submit-button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.chat-submit-button svg{flex-shrink:0}.editable-user-message{position:relative;width:100%;cursor:text;border-radius:8px;transition:all .2s ease}.editable-user-message:hover{background:#2563eb0d}.editable-user-message.editing{background:var(--bg-dark);border:1px solid var(--primary);box-shadow:0 0 0 2px #2563eb33}.editable-user-message.disabled{cursor:not-allowed;opacity:.6}.editable-user-message .message-content{min-height:36px;padding:10px 12px;border:1px solid var(--border-dark);border-radius:8px;background:var(--bg-light);color:var(--text-primary);outline:none;caret-color:var(--text-primary);word-wrap:break-word;white-space:pre-wrap;line-height:1.4;font-size:13px;position:relative}.editable-user-message:not(.editing) .message-content{cursor:text;background:var(--bg-panel);border-style:dashed;border-color:var(--border-dark)}.editable-user-message:not(.editing) .message-content:hover{border-color:var(--primary);background:var(--bg-light)}.editable-user-message.editing .message-content{background:var(--bg-dark);border-color:var(--primary);border-style:solid}.editable-user-message.editing .message-content:focus{outline:none}.editable-user-message .message-content[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-muted);font-style:italic}.editable-user-message .edit-hint{position:absolute;top:-20px;right:0;font-size:11px;color:var(--text-muted);opacity:0;transition:opacity .2s ease;pointer-events:none}.editable-user-message:hover .edit-hint{opacity:1}.editable-user-message.editing .edit-hint{display:none}.message-edited-indicator{font-size:11px;color:var(--text-muted);font-style:italic;margin-top:4px;padding-left:12px}.context-menu{background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:4px;min-width:140px;font-size:13px}.context-menu button{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:4px;transition:background .2s ease}.context-menu button:hover{background:var(--bg-dark)}.context-menu button.dangerous{color:#ef4444}.context-menu button.dangerous:hover{background:#ef44441a}.context-menu hr{border:none;border-top:1px solid var(--border-dark);margin:4px 0}.agent-status{padding:8px var(--padding);border-bottom:1px solid var(--border-dark);background:var(--bg-panel);display:flex;align-items:center;justify-content:center}.agent-indicator{font-size:12px;font-weight:500;color:var(--text-primary);background:var(--bg-dark);padding:4px 8px;border-radius:12px;border:1px solid var(--border-dark);display:inline-flex;align-items:center;gap:4px}.agent-indicator[data-agent="Design Agent"]{border-color:var(--primary);background:#2563eb1a}.agent-indicator[data-agent=Orchestrator]{border-color:#8b5cf6;background:#8b5cf61a}.agent-indicator[data-agent="Tool Executor"]{border-color:#10b981;background:#10b9811a}.agent-indicator[data-agent="Agent Parser"],.agent-indicator[data-agent="Routing..."]{border-color:#f59e0b;background:#f59e0b1a}.message-agent-indicator{display:none;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.message-agent-indicator .agent-icon{font-size:12px}.message-agent-indicator .agent-name{font-size:11px;opacity:.8}.message-agent-indicator[data-agent=DESIGN_AGENT]{color:var(--primary)}.message-agent-indicator[data-agent=Orchestrator]{color:#8b5cf6}.message-agent-indicator[data-agent=TOOL_EXECUTOR_AGENT]{color:#10b981}.message-agent-indicator[data-agent=AGENT_PARSER]{color:#f59e0b}.message-agent-indicator[data-agent=design_planner],.message-agent-indicator[data-agent="Design Planner"]{color:#3b82f6}.message-agent-indicator[data-agent=symbol_chooser],.message-agent-indicator[data-agent="Symbol Chooser"]{color:#8b5cf6}.message-agent-indicator[data-agent=output_formatter],.message-agent-indicator[data-agent="Output Formatter"]{color:#06b6d4}.message-agent-indicator[data-agent=design_executor],.message-agent-indicator[data-agent="Design Executor"]{color:#f97316}.message-agent-indicator[data-agent="Design Orchestrator"]{color:#8b5cf6}.message-agent-indicator[data-agent="Design Pipeline"]{color:#6366f1}.message-agent-indicator[data-agent="Frontend Processor"]{color:#10b981}.message-list::-webkit-scrollbar,.message-list>div::-webkit-scrollbar,.chat-input-text::-webkit-scrollbar,.editable-user-message .message-content::-webkit-scrollbar{width:8px}.message-list::-webkit-scrollbar-track,.message-list>div::-webkit-scrollbar-track,.chat-input-text::-webkit-scrollbar-track,.editable-user-message .message-content::-webkit-scrollbar-track{background:var(--bg-panel)}.message-list::-webkit-scrollbar-thumb,.message-list>div::-webkit-scrollbar-thumb,.chat-input-text::-webkit-scrollbar-thumb,.editable-user-message .message-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}.confirmation-buttons{display:flex;gap:12px;padding:12px var(--padding);background:var(--bg-panel);border-top:1px solid var(--border-dark);justify-content:center;align-items:center}.confirmation-btn{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;min-width:120px;justify-content:center}.confirmation-btn:disabled{opacity:.4;cursor:not-allowed}.accept-btn{background:#10b981;color:#fff;border:1px solid transparent}.accept-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.accept-btn:active:not(:disabled){transform:translateY(0)}.cancel-btn{background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border-dark)}.cancel-btn:hover:not(:disabled){background:var(--bg-light);border-color:#ef4444;color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef444426}.cancel-btn:active:not(:disabled){transform:translateY(0)}.todo-panel{border-top:1px solid var(--border-dark);background:var(--bg-panel);max-height:300px;overflow:hidden;display:flex;flex-direction:column}.todo-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px var(--padding);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.todo-panel-header:hover{background:var(--bg-dark)}.todo-panel-title{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.todo-panel-arrow{font-size:10px;color:var(--text-muted);transition:transform .2s ease;display:inline-block}.todo-panel-arrow.expanded{transform:rotate(180deg)}.todo-panel-content{flex:1;overflow-y:auto;background:var(--bg-dark)}.todo-list{padding:8px var(--padding);display:flex;flex-direction:column;gap:6px}.todo-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:6px;background:var(--bg-panel);border-left:3px solid transparent;transition:all .2s ease}.todo-item.pending{border-left-color:var(--border-dark);opacity:.7}.todo-item.current{border-left-color:var(--primary);background:#2563eb14}.todo-item.completed{border-left-color:#10b981;background:#10b98114;opacity:.8}.todo-checkbox{font-size:14px;color:var(--text-muted);flex-shrink:0;width:16px;text-align:center;font-weight:600}.todo-item.current .todo-checkbox{color:var(--primary)}.todo-item.completed .todo-checkbox{color:#10b981}.todo-text{flex:1;font-size:13px;line-height:1.5;color:var(--text-primary)}.todo-item.completed .todo-text{text-decoration:line-through;opacity:.6}.todo-panel-content::-webkit-scrollbar{width:6px}.todo-panel-content::-webkit-scrollbar-track{background:var(--bg-panel)}.todo-panel-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.auth-gate-root{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));box-sizing:border-box;pointer-events:none}.auth-gate-backdrop{position:absolute;inset:0;pointer-events:auto;background:#00000085;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.auth-gate-floating{pointer-events:auto;position:relative;z-index:1;width:min(420px,100%);max-height:min(520px,calc(100vh - 40px));overflow-y:auto;padding:1.5rem 1.5rem 1.35rem;text-align:center;background:var(--bg-panel, #1e1e1e);border:1px solid rgba(37,99,235,.28);border-radius:16px;box-shadow:0 0 0 1px #00000059,0 24px 48px #0000008c,0 0 40px #2563eb1f;animation:auth-gate-pop .22s ease-out}@keyframes auth-gate-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.auth-gate-floating{animation:none}}.auth-gate-close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:10px;background:transparent;color:var(--text-muted, #888);cursor:pointer;transition:background .15s ease,color .15s ease}.auth-gate-close:hover{background:#ffffff0f;color:var(--text-primary, #eee)}.auth-gate-icon-wrap{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto .75rem;border-radius:14px;background:linear-gradient(145deg,#2563eb33,#2563eb0f);border:1px solid rgba(37,99,235,.35);color:var(--primary, #2563eb)}.auth-gate-icon{flex-shrink:0}.auth-gate-title{margin:0 0 .4rem;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--text-primary, #eee);padding:0 1.75rem}.auth-gate-subtitle{margin:0 0 1.25rem;font-size:.8125rem;line-height:1.5;color:var(--text-muted, #9ca3af);padding:0 .25rem}.auth-gate-buttons{display:flex;flex-direction:row;gap:.65rem;justify-content:stretch}.auth-gate-btn{flex:1;min-width:0;padding:.65rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.auth-gate-btn:active{transform:scale(.98)}.auth-gate-btn-primary{border:none;color:#fff;background:linear-gradient(180deg,var(--primary, #2563eb) 0%,#1d4ed8 100%);box-shadow:0 2px 12px #2563eb73}.auth-gate-btn-primary:hover{box-shadow:0 4px 18px #2563eb8c;filter:brightness(1.05)}.auth-gate-btn-secondary{border:1px solid var(--border-dark, #3f3f46);background:var(--bg-dark, #121212);color:var(--text-primary, #eee)}.auth-gate-btn-secondary:hover{border-color:#2563eb8c;color:var(--text-primary, #fff);background:#2563eb14}@media(max-width:420px){.auth-gate-buttons{flex-direction:column}.auth-gate-floating{padding:1.35rem 1.15rem 1.15rem}.auth-gate-title{font-size:1rem;padding:0 1.5rem}}.project-manager{display:flex;flex-direction:column;height:100%;gap:1rem}.project-section,.sheet-section{flex:1;min-height:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-header h3{font-size:14px;color:var(--text-secondary);margin:0;text-transform:uppercase;font-weight:500}.section-buttons{display:flex;gap:4px}.add-button,.import-button{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.add-button:hover,.import-button:hover{background:var(--primary-hover)}.project-list,.sheet-list{list-style:none;padding:0;margin:0;max-height:calc(100% - 3rem);overflow-y:auto}.project-item,.sheet-item,.add-sheet-item{padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:2px;transition:background-color .2s;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.project-item:hover,.sheet-item:hover{background:var(--bg-secondary)}.project-item.active,.sheet-item.active{background:#2563eb26;color:var(--text-primary);font-weight:700}.project-item.active .sheet-count,.sheet-item.active .sheet-modified{color:var(--text-secondary);font-weight:600}.add-sheet-item{color:var(--text-muted);font-style:italic}.add-sheet-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.project-name,.sheet-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-count,.sheet-modified{font-size:12px;color:var(--text-muted);margin-left:8px;flex-shrink:0}.context-menu{background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:180px;z-index:10000}.context-menu-list{list-style:none;padding:4px 0;margin:0}.context-menu-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.context-menu-item:hover:not(.disabled){background:var(--bg-secondary)}.context-menu-item.disabled{opacity:.5;cursor:default}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover{background:#ef44441a}.context-menu-icon{font-size:14px;width:16px;text-align:center;flex-shrink:0}.context-menu-label{flex:1;font-size:14px}.context-menu-shortcut{font-size:12px;color:var(--text-muted);font-family:monospace}.context-menu-separator{height:1px;background:var(--border-dark);margin:4px 0}.project-list::-webkit-scrollbar,.sheet-list::-webkit-scrollbar{width:6px}.project-list::-webkit-scrollbar-track,.sheet-list::-webkit-scrollbar-track{background:transparent}.project-list::-webkit-scrollbar-thumb,.sheet-list::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.project-list::-webkit-scrollbar-thumb:hover,.sheet-list::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.project-item:focus,.sheet-item:focus{outline:2px solid var(--primary);outline-offset:-2px}.project-manager .empty-state{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-style:italic}.project-manager .empty-state-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.open-indicator{color:var(--primary);font-size:8px;margin-left:4px}.context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1000;min-width:120px;padding:4px 0}.context-menu-item{padding:8px 16px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .2s}.context-menu-item:hover{background:var(--secondary-bg)}.context-menu-item.danger{color:#f44}.context-menu-item.danger:hover{background:#ff44441a}.no-project-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;padding:20px}.no-project-message p{margin:4px 0}.no-project-message .hint{font-size:12px;color:var(--text-muted)}.shape-drawing-toolbar{position:fixed;top:120px;width:48px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;-webkit-user-select:none;user-select:none;transition:all .2s ease}.shape-toolbar-header{padding:4px 8px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px 8px 0 0}.shape-toolbar-title{font-size:10px;font-weight:600;color:var(--text-color);text-align:center;display:block}.shape-toolbar-status{font-size:8px;color:var(--text-secondary, #888);text-align:center;display:block;margin-top:2px;font-weight:500}.shape-toolbar-tools{padding:4px;display:flex;flex-direction:column;gap:2px}.shape-tool-button{display:flex;align-items:center;justify-content:center;width:34px;height:28px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);cursor:pointer;transition:all .2s ease;padding:2px;position:relative;font-family:inherit}.shape-tool-button:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.shape-tool-button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 2px 8px #007bff4d}.shape-tool-button:active{transform:translateY(0)}.shape-tool-icon{display:flex;align-items:center;justify-content:center;line-height:1;color:var(--text-color)}.shape-tool-button.active .shape-tool-icon{color:#fff}.shape-tool-icon svg{display:block}.shape-tool-indicator{position:absolute;top:2px;right:2px;font-size:6px;color:#ff6b6b;font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.5);pointer-events:none}body:not(.light-mode) .shape-drawing-toolbar{--bg-color: #2d3748;--bg-secondary: #1a202c;--bg-hover: #4a5568;--text-color: #e2e8f0;--text-secondary: #a0aec0;--border-color: #4a5568;--primary-color: #3182ce}body.light-mode .shape-drawing-toolbar{--bg-color: #ffffff;--bg-secondary: #f7fafc;--bg-hover: #edf2f7;--text-color: #2d3748;--text-secondary: #718096;--border-color: #e2e8f0;--primary-color: #3182ce}@media(max-width:1200px){.shape-drawing-toolbar{right:20px;width:44px}.shape-tool-button{width:32px;height:32px}.shape-tool-icon svg{width:14px;height:14px}}.shape-drawing-toolbar{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.tools-drawing-toolbar{top:308px}
