:root{--bg-primary: #06060a;--bg-secondary: #0d0d14;--bg-card: #12121c;--bg-card-hover: #1a1a2e;--bg-input: #0a0a12;--border: #1e1e32;--border-hover: #2a2a44;--accent: #6c63ff;--accent-hover: #7c74ff;--accent-glow: rgba(108, 99, 255, .15);--accent-glow-strong: rgba(108, 99, 255, .3);--text-primary: #e8e6f0;--text-secondary: #8a86a0;--text-muted: #5a5770;--success: #22c55e;--danger: #ef4444;--danger-hover: #f87171;--warning: #f59e0b;--sidebar-width: 260px;--radius: 8px;--radius-lg: 12px;--transition: .15s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh}#root{height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;position:relative;overflow:hidden}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:.3;mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%)}.login-card{position:relative;z-index:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;width:400px;box-shadow:0 0 80px var(--accent-glow),0 20px 60px #00000080}.login-logo{text-align:center;margin-bottom:32px}.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--accent),#a78bfa);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;margin-bottom:12px}.login-logo h1{font-size:28px;font-weight:700;letter-spacing:-.5px}.login-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.input-group{margin-bottom:20px}.input-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.input-group input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:14px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}.login-btn{width:100%;padding:11px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--transition),transform var(--transition)}.login-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.layout{display:flex;height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--border)}.sidebar-logo{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),#a78bfa);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.sidebar-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.sidebar-nav{padding:12px 10px;border-bottom:1px solid var(--border)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all var(--transition);text-align:left}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent)}.sidebar-agents{flex:1;overflow-y:auto;padding:12px 10px}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 12px 8px}.agent-count{background:var(--accent);color:#fff;font-size:10px;padding:2px 7px;border-radius:10px;font-weight:600}.agent-item{flex-direction:column;align-items:flex-start;gap:2px;position:relative;padding-left:28px}.agent-item .status-dot{position:absolute;left:12px;top:14px}.agent-name{font-size:13px;font-weight:500}.agent-user{font-size:11px;color:var(--text-muted)}.no-agents{padding:20px 12px;color:var(--text-muted);font-size:13px;text-align:center}.sidebar-footer{padding:12px 10px;border-top:1px solid var(--border)}.logout-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all var(--transition)}.logout-btn:hover{background:#ef44441a;color:var(--danger)}.logout-btn svg{width:18px;height:18px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.online{background:var(--success);box-shadow:0 0 6px #22c55e80;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-green{0%,to{box-shadow:0 0 4px #22c55e4d}50%{box-shadow:0 0 10px #22c55e99}}.main-content{flex:1;overflow-y:auto;padding:24px;background:var(--bg-primary)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2{font-size:24px;font-weight:700}.header-stats{display:flex;gap:12px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 20px;display:flex;align-items:center;gap:10px}.stat-value{font-size:20px;font-weight:700;color:var(--accent)}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary)}.empty-icon{color:var(--text-muted);margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-muted)}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.agent-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:all var(--transition)}.agent-card:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow);transform:translateY(-2px)}.agent-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.agent-card-hostname{font-size:16px;font-weight:600}.admin-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px;flex-shrink:0}.admin-badge.admin{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.admin-badge.user{background:#64748b26;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.agent-card-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:13px;color:var(--text-secondary);font-family:SF Mono,Consolas,Monaco,monospace}.agent-card-actions{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.card-action-hint{font-size:12px;color:var(--text-muted)}.client-view{height:100%;display:flex;flex-direction:column}.client-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.client-info{display:flex;align-items:center;gap:10px}.client-info h2{font-size:22px;font-weight:700}.client-meta{font-size:13px;color:var(--text-muted)}.client-tabs{display:flex;gap:4px;background:var(--bg-secondary);padding:4px;border-radius:var(--radius);border:1px solid var(--border)}.tab-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:none;border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.tab-btn:hover{color:var(--text-primary);background:var(--bg-card)}.tab-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #6c63ff4d}.client-panel{flex:1;min-height:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.screen-viewer{height:100%;display:flex;flex-direction:column}.screen-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar-btn{padding:6px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition)}.toolbar-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.toolbar-btn.start{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-btn.start:hover{background:var(--accent-hover)}.toolbar-btn.stop,.toolbar-btn.active.stop{background:var(--danger);border-color:var(--danger);color:#fff}.toolbar-btn.stop:hover{background:var(--danger-hover)}.toolbar-group{display:flex;align-items:center;gap:12px}.toolbar-group label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.toolbar-group select{background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:3px 6px;font-size:12px;outline:none}.fps-counter{font-size:12px;font-family:SF Mono,Consolas,monospace;color:var(--success);background:#22c55e1a;padding:4px 10px;border-radius:4px}.screen-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.screen-image{max-width:100%;max-height:100%;object-fit:contain}.screen-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);font-size:14px}.file-explorer{height:100%;display:flex;flex-direction:column}.file-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border)}.path-form{flex:1}.path-input{width:100%;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;font-family:SF Mono,Consolas,monospace;outline:none}.path-input:focus{border-color:var(--accent)}.file-error{padding:10px 16px;background:#ef44441a;color:var(--danger);font-size:13px}.file-list{flex:1;overflow-y:auto}.file-list-header{display:flex;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);position:sticky;top:0}.file-col.name{flex:3}.file-col.size{flex:1;text-align:right}.file-col.modified{flex:2;text-align:right}.file-col.actions{flex:1;text-align:right}.file-row{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border);font-size:13px;cursor:default;transition:background var(--transition)}.file-row:hover{background:var(--bg-card-hover)}.file-row.directory{cursor:pointer}.file-row .file-col.name{display:flex;align-items:center;gap:8px;font-family:SF Mono,Consolas,monospace}.file-row .file-col.size,.file-row .file-col.modified{color:var(--text-muted);font-size:12px;font-family:SF Mono,Consolas,monospace}.file-icon{font-size:16px}.file-loading{display:flex;justify-content:center;padding:40px}.action-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:4px 6px;color:var(--text-secondary);cursor:pointer;margin-left:4px;transition:all var(--transition)}.action-btn:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.action-btn.delete:hover{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.shell-container{height:100%;display:flex;flex-direction:column;background:#0a0a0a;cursor:text}.shell-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.shell-status{font-size:12px;color:var(--success);display:flex;align-items:center;gap:6px}.shell-status:before{content:"";width:6px;height:6px;background:var(--success);border-radius:50%;animation:pulse-green 2s ease-in-out infinite}.shell-waiting-dots{display:inline-block;letter-spacing:2px;animation:shell-dots 1.2s steps(4,end) infinite;overflow:hidden;vertical-align:bottom}@keyframes shell-dots{0%{width:0}33%{width:.6em}66%{width:1.2em}to{width:1.8em}}.shell-output{flex:1;overflow-y:auto;padding:12px 16px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:13px;line-height:1.6}.shell-line pre{white-space:pre-wrap;word-break:break-all;margin:0}.shell-line.output{color:var(--text-primary)}.shell-line.input{color:var(--accent)}.shell-line.system{color:var(--text-muted);font-style:italic}.shell-line.error{color:var(--danger)}.shell-placeholder{color:var(--text-muted);padding:20px;text-align:center;font-family:-apple-system,sans-serif;font-size:14px}.shell-input-form{display:flex;align-items:center;padding:8px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.shell-prompt{color:var(--accent);font-family:SF Mono,Consolas,monospace;font-size:14px;font-weight:600;margin-right:8px}.shell-input{flex:1;background:none;border:none;color:var(--text-primary);font-family:SF Mono,Consolas,monospace;font-size:13px;outline:none}.proxy-container{padding:20px;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.proxy-request-panel h3,.proxy-response-header h3{font-size:16px;font-weight:600;margin-bottom:8px}.proxy-desc{font-size:13px;color:var(--text-muted);margin-bottom:16px}.proxy-url-row{display:flex;gap:8px;margin-bottom:16px}.proxy-method{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--accent);font-size:13px;font-weight:600;padding:8px 12px;outline:none;cursor:pointer}.proxy-url-input{flex:1;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;font-family:SF Mono,Consolas,monospace;outline:none}.proxy-url-input:focus{border-color:var(--accent)}.proxy-fields{display:flex;flex-direction:column;gap:12px}.proxy-field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.proxy-field textarea{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;font-family:SF Mono,Consolas,monospace;outline:none;resize:vertical}.proxy-field textarea:focus{border-color:var(--accent)}.proxy-response-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.proxy-response-header{display:flex;align-items:center;justify-content:space-between}.status-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px}.status-badge.success{background:#22c55e26;color:var(--success)}.status-badge.error{background:#ef444426;color:var(--danger)}.proxy-error{color:var(--danger);font-size:13px;padding:12px}.proxy-response-headers{margin-top:12px}.proxy-response-headers summary{cursor:pointer;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.proxy-response-headers pre,.proxy-response-body{background:var(--bg-input);padding:12px;border-radius:var(--radius);font-family:SF Mono,Consolas,monospace;font-size:12px;overflow-x:auto;color:var(--text-primary);margin-top:8px;white-space:pre-wrap;word-break:break-all}.feature-panel{display:flex;flex-direction:column;height:100%;gap:12px}.feature-panel .panel-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius);flex-wrap:wrap}.feature-panel .panel-content{flex:1;overflow-y:auto;background:var(--bg-secondary);border-radius:var(--radius);padding:12px}.feature-panel table{width:100%;border-collapse:collapse}.feature-panel th{text-align:left;padding:8px 12px;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-secondary)}.feature-panel td{padding:6px 12px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.03)}.feature-panel tr:hover td{background:#ffffff05}.search-input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius);font-size:13px;flex:1;max-width:300px}.btn-sm{padding:4px 10px;font-size:12px;border:none;border-radius:var(--radius);cursor:pointer;color:#fff}.btn-danger{background:var(--error)}.btn-danger:hover{opacity:.8}.btn-success{background:var(--success)}.btn-success:hover{opacity:.8}.btn-warning{background:#f59e0b}.btn-warning:hover{opacity:.8}.log-entry{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.03);font-size:13px}.log-entry .log-time{color:var(--text-secondary);font-size:11px;margin-bottom:2px}.log-entry .log-window{color:var(--accent);font-size:12px;margin-bottom:4px}.log-entry .log-text{font-family:SF Mono,Consolas,monospace;word-break:break-all;white-space:pre-wrap}.recording-dot{width:10px;height:10px;background:var(--error);border-radius:50%;display:inline-block;animation:pulse-red 1s infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.3}}.idle-indicator{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;border-radius:var(--radius);font-size:24px;font-weight:600}.idle-indicator.active{background:#10b9811a;color:var(--success)}.idle-indicator.idle{background:#f59e0b1a;color:#f59e0b}.idle-indicator.away{background:#ef44441a;color:var(--error)}.idle-dot{width:12px;height:12px;border-radius:50%}.idle-indicator.active .idle-dot{background:var(--success)}.idle-indicator.idle .idle-dot{background:#f59e0b}.idle-indicator.away .idle-dot{background:var(--error)}.audio-chunk{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.03)}.audio-chunk button{padding:4px 8px;font-size:12px;border:none;border-radius:var(--radius);cursor:pointer;background:var(--accent);color:#fff}.persist-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);padding:12px 16px;color:#f59e0b;font-size:13px;margin-bottom:12px}.summary-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.summary-tag{background:var(--bg-tertiary);padding:4px 10px;border-radius:12px;font-size:12px;color:var(--text-secondary)}.summary-tag .tag-time{color:var(--accent);margin-left:4px}.client-tabs{flex-wrap:wrap}.net-scan-tabs{display:flex;gap:4px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.net-scan-tabs .toolbar-btn.active{background:var(--accent);color:#fff}.net-section{margin-top:8px}.net-status{padding:12px;color:var(--text-secondary);font-size:13px;display:flex;align-items:center;gap:8px}.net-results{margin-top:8px}.net-count{font-size:13px;color:var(--text-secondary);margin-bottom:8px;padding:6px 10px;background:#6c63ff14;border-radius:var(--radius);border-left:3px solid var(--accent)}.net-error{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);color:var(--error);font-size:13px}.net-warning{padding:10px 14px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);color:#f59e0b;font-size:13px;margin-bottom:8px}.net-actions{display:flex;gap:4px}.toolbar-btn.small{padding:2px 8px;font-size:11px}.net-open-badge{background:#22c55e26;color:var(--success);padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.net-share-type{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.net-share-type.disk{background:#6c63ff26;color:var(--accent)}.net-share-type.ipc{background:#f59e0b26;color:#f59e0b}.net-share-type.printer{background:#22c55e26;color:var(--success)}.net-share-type.special{background:#ffffff0f;color:var(--text-secondary)}.domain-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin-top:8px}.domain-info-card{background:var(--bg-tertiary);border-radius:var(--radius);padding:12px 16px;border:1px solid rgba(255,255,255,.04)}.domain-info-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.domain-info-value{font-size:14px;color:var(--text-primary);word-break:break-all}.domain-flag{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;margin:1px 2px;background:#ffffff0f;color:var(--text-secondary)}.domain-flag.danger{background:#ef444426;color:var(--error)}.domain-flag.warning{background:#f59e0b26;color:#f59e0b}.domain-flag.accent{background:#6c63ff26;color:var(--accent)}.domain-members-panel{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid rgba(108,99,255,.2)}.domain-members-panel h4{margin:0 0 8px;font-size:13px;color:var(--accent)}.domain-members-list{list-style:none;padding:0;margin:0;columns:2}.domain-members-list li{padding:3px 0;font-size:13px;color:var(--text-primary)}.domain-members-list li.empty{color:var(--text-muted);font-style:italic}.builder-page{max-width:800px}.page-header{margin-bottom:20px}.page-header h2{margin:0 0 4px;color:var(--text-primary)}.page-subtitle{margin:0;color:var(--text-secondary);font-size:13px}.builder-form{background:var(--bg-card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:20px;margin-bottom:16px}.builder-row{display:flex;gap:12px;margin-bottom:14px}.builder-field{flex:1;display:flex;flex-direction:column;gap:4px}.builder-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.builder-field .toolbar-input{width:100%;box-sizing:border-box}.builder-hint{font-size:11px;color:var(--text-muted)}.builder-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.builder-btn:hover:not(:disabled){filter:brightness(1.15)}.builder-btn:disabled{opacity:.5;cursor:not-allowed}.builder-btn.building{background:var(--bg-tertiary);color:var(--text-secondary)}.builder-console{background:#0a0a0f;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.builder-console-header{padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.04)}.builder-console-body{padding:12px;margin:0;font-family:Consolas,Monaco,monospace;font-size:12px;color:var(--success);line-height:1.6;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.builder-result{border-radius:var(--radius);padding:20px;margin-bottom:16px}.builder-result.success{background:#22c55e0f;border:1px solid rgba(34,197,94,.2)}.builder-result.error{background:#ef44440f;border:1px solid rgba(239,68,68,.2)}.builder-result-header{font-size:16px;font-weight:600;margin-bottom:12px}.builder-result.success .builder-result-header{color:var(--success)}.builder-result.error .builder-result-header{color:var(--error)}.builder-result-details{display:flex;gap:20px;margin-bottom:16px}.builder-detail{font-size:13px;color:var(--text-secondary)}.builder-detail-label{color:var(--text-muted);margin-right:6px}.builder-links{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.builder-link-group{display:flex;flex-direction:column;gap:3px}.builder-link-group label{font-size:11px;color:var(--text-muted);font-weight:500}.builder-link-group code{font-size:12px;background:#0000004d;padding:6px 10px;border-radius:4px;color:var(--accent);word-break:break-all;cursor:pointer;-webkit-user-select:all;user-select:all}.builder-download-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent);color:#fff;border-radius:var(--radius);text-decoration:none;font-size:13px;font-weight:600}.builder-download-btn:hover{filter:brightness(1.15)}.builder-error-msg{color:var(--error);font-size:13px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:90%;box-shadow:0 20px 60px #0006}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:15px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.modal-close:hover{color:var(--text-primary)}
