:root{--bg-deep:#06080c;--bg-primary:#0c0f14;--bg-panel:#111418;--bg-surface:#181c22;--bg-hover:#1e2228;--bg-input:#141820;--accent:#2dd4bf;--accent-dim:#2dd4bf1f;--accent-glow:#2dd4bf0f;--accent-border:#2dd4bf40;--accent-hover:#5eead4;--success:#34d399;--warning:#fbbf24;--error:#f87171;--text-primary:#e8eaed;--text-secondary:#6b7280;--text-dim:#4b5563;--text-accent:var(--accent);--border:#ffffff0f;--border-strong:#ffffff1a;--font-display:"Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Cascadia Code", "Consolas", "Fira Code", monospace;--radius:6px;--radius-lg:10px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;font-size:13px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.app-root{background:var(--bg-deep);flex-direction:column;height:100vh;display:flex}.app-header{background:var(--bg-primary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.app-body{flex:1;display:flex;overflow:hidden}.panel-left{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow-y:auto}.panel-right{background:var(--bg-panel);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow-y:auto}.main-area{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.header-brand{align-items:center;gap:10px;display:flex}.header-logo{object-fit:contain;width:auto;height:28px}.header-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.3px;font-size:14px;font-weight:600}.header-divider{background:var(--border-strong);width:1px;height:20px;margin:0 4px}.header-spacer{flex:1}.header-tag{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;border:1px solid var(--border);background:#ffffff08;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:400}.section-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:500}.section-block{border-bottom:1px solid var(--border);padding:16px}.control-select{width:100%;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius);appearance:none;cursor:pointer;outline:none;padding:7px 10px;font-size:12px;transition:border-color .15s}.control-select:hover{border-color:var(--accent-border)}.control-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.control-select option{background:var(--bg-surface);color:var(--text-primary)}.btn-primary{width:100%;font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--bg-deep);background:var(--accent);border-radius:var(--radius);cursor:pointer;border:none;padding:8px 16px;font-size:11px;font-weight:500;transition:all .15s}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 20px var(--accent-dim)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{width:100%;font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;background:0 0;padding:8px 16px;font-size:11px;font-weight:500;transition:all .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.info-grid{font-family:var(--font-mono);grid-template-columns:auto 1fr;gap:4px 12px;font-size:11px;display:grid}.info-key{color:var(--text-dim)}.info-val{color:var(--text-secondary);text-align:right}.ap-slider-container{flex-direction:column;gap:6px;display:flex}.ap-slider{appearance:none;background:var(--bg-surface);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.ap-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg-panel);width:14px;height:14px;box-shadow:0 0 8px var(--accent-dim);cursor:pointer;border-radius:50%;transition:box-shadow .15s}.ap-slider::-webkit-slider-thumb:hover{box-shadow:0 0 16px #2dd4bf4d}.ap-value{font-family:var(--font-mono);color:var(--accent);text-align:center;letter-spacing:-.5px;font-size:20px;font-weight:300}.ap-unit{color:var(--text-dim);margin-left:4px;font-size:11px;font-weight:400}.ap-lock-pill{font-family:var(--font-mono);letter-spacing:.5px;border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:500;display:inline-block}.ap-lock-pill--locked{color:var(--accent);border-color:var(--accent-dim);background:#2dd4bf14}.quick-affine-status{font-family:var(--font-mono);letter-spacing:.3px;border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:6px;margin-top:8px;padding:5px 8px;font-size:10px;display:flex}.quick-affine-status--running{color:var(--warning);background:#fbbf240f;border-color:#fbbf2440}.quick-affine-status--ready{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.quick-affine-status--error{color:var(--error);background:#f871710f;border-color:#f8717140}.quick-affine-spinner{animation:1.5s linear infinite quick-affine-spin;display:inline-block}@keyframes quick-affine-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ap-lock-btn:not(:disabled){background:var(--bg-surface);color:var(--text-dim);border:1px solid var(--border);box-shadow:none}.ap-lock-btn:not(:disabled):hover{color:var(--accent);border-color:var(--accent-dim);box-shadow:none;background:#2dd4bf0f}.ap-lock-btn--locked:not(:disabled),.ap-lock-btn--locked:not(:disabled):hover{background:var(--accent);color:var(--bg-deep);border-color:var(--accent);box-shadow:0 0 16px var(--accent-dim)}.view-toolbar{border-radius:var(--radius-lg);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#0c0f14d9;gap:2px;padding:3px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.view-btn{font-family:var(--font-mono);color:var(--text-dim);border-radius:var(--radius);cursor:pointer;letter-spacing:.3px;background:0 0;border:none;padding:5px 14px;font-size:11px;font-weight:400;transition:all .15s}.view-btn:hover{color:var(--text-secondary);background:#ffffff0a}.view-btn.active{color:var(--accent);background:var(--accent-dim)}.view-toolbar-clahe{font-family:var(--font-mono);color:var(--text-dim);border-left:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-left:4px;padding:5px 10px 5px 8px;font-size:11px;display:flex}.view-toolbar-clahe input{cursor:pointer;margin:0}.status-indicator{border-radius:var(--radius);border:1px solid var(--border);font-family:var(--font-mono);background:#ffffff05;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.idle{background:var(--text-dim)}.status-dot.loading{background:var(--accent);animation:1.5s infinite pulse-dot}.status-dot.success{background:var(--success)}.status-dot.error{background:var(--error)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.log-area{border-radius:var(--radius);background:var(--bg-deep);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-dim);flex:1;min-height:120px;padding:12px;font-size:10px;line-height:1.7;overflow-y:auto}.log-entry{border-bottom:1px solid #ffffff05;padding:2px 0}.log-time{color:var(--text-dim);margin-right:8px}.log-msg{color:var(--text-secondary)}.empty-state{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-state-icon{width:48px;height:48px;color:var(--text-dim);border:1px dashed #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.empty-state-title{font-family:var(--font-display);color:var(--text-secondary);font-size:15px;font-weight:500}.empty-state-desc{font-family:var(--font-mono);color:var(--text-dim);text-align:center;max-width:240px;font-size:11px;line-height:1.6}.header-back{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 10px;font-size:12px;transition:all .15s}.header-back:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.header-tab-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;cursor:pointer;background:0 0;padding:5px 14px;font-size:11px;font-weight:500;transition:all .15s}.header-tab-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.header-settings-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px;font-size:16px;transition:all .15s;display:flex}.header-settings-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.header-brain-name{font-family:var(--font-display);color:var(--text-primary);font-size:13px;font-weight:600}.dashboard{background:var(--bg-deep);flex:1;position:relative;overflow:hidden}.dashboard-scene{z-index:0;pointer-events:none;position:absolute;inset:0}.dashboard-content{z-index:1;height:100%;padding:32px 40px;position:relative;overflow-y:auto}.dashboard-atlas-bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:24px;padding:14px 20px;display:flex;position:relative;overflow:hidden}.dashboard-atlas-progress{background:var(--bg-input);height:3px;position:absolute;bottom:0;left:0;right:0}.dashboard-atlas-progress-fill{background:var(--accent);height:100%;transition:width .2s ease-out}.dashboard-atlas-progress-label{font-family:var(--font-mono);color:var(--text-secondary);margin-left:6px;font-size:11px}.dashboard-atlas-left{align-items:center;gap:10px;display:flex}.dashboard-atlas-info{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:6px;font-size:11px;display:flex}.dashboard-atlas-sep{color:var(--border-strong)}.dashboard-header{align-items:baseline;gap:12px;margin-bottom:28px;display:flex}.dashboard-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.5px;font-size:22px;font-weight:600}.dashboard-count{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.brain-card-v2{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:#111418d9;flex-direction:column;min-height:200px;transition:all .25s;display:flex;position:relative;overflow:hidden}.brain-card-v2:hover{border-color:var(--accent-border);box-shadow:0 4px 24px #0006, 0 0 0 1px var(--accent-border);background:#111418eb}.brain-card-canvas{flex:1;min-height:0}.brain-card-v2-remove{width:22px;height:22px;color:var(--text-dim);cursor:pointer;opacity:0;z-index:5;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.brain-card-v2:hover .brain-card-v2-remove{opacity:1}.brain-card-v2-remove:hover{color:var(--error);background:#ef444426}.brain-card-v2-info{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);background:#0c0f14bf;flex-direction:column;gap:5px;padding:10px 12px;display:flex;position:relative}.brain-card-v2-row{justify-content:space-between;align-items:center;display:flex}.brain-card-v2-name{font-family:var(--font-display);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px;font-size:13px;font-weight:600;overflow:hidden}.brain-card-v2-count{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.brain-card-v2-status{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:6px;font-size:10px;display:flex}.brain-card-v2-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.brain-card-v2-progress-text{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.brain-card-v2-progress-track{background:#ffffff0a;border-radius:1px;height:2px;overflow:hidden}.brain-card-v2-progress-fill{background:var(--accent);border-radius:1px;height:100%;transition:width .3s}.brain-plate{flex-direction:column;flex:1;justify-content:center;gap:6px;min-height:0;padding:20px 16px 12px;display:flex}.brain-plate-header{justify-content:space-between;align-items:baseline;display:flex}.brain-plate-name{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.3px;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.brain-plate-count{font-family:var(--font-mono);color:var(--accent);letter-spacing:-1px;font-size:22px;font-weight:300;line-height:1}.brain-plate-sub{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.5px;margin-bottom:8px;font-size:10px}.brain-plate-empty{flex:1;justify-content:center;align-items:center;display:flex}.brain-plate-empty-hint{font-family:var(--font-mono);color:var(--text-dim);opacity:.5;letter-spacing:.3px;font-size:10px}.brain-plate-plane{border-radius:var(--radius);border:1px solid var(--border);background:#0c0f1499;gap:2px;margin-top:4px;margin-bottom:4px;padding:2px;display:flex}.brain-plate-plane-btn{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;letter-spacing:.3px;text-transform:uppercase;background:0 0;border:none;border-radius:3px;flex:1;padding:4px 6px;font-size:9px;font-weight:400;transition:all .15s}.brain-plate-plane-btn:hover{color:var(--text-secondary);background:#ffffff0a}.brain-plate-plane-btn.active{color:var(--accent);background:var(--accent-dim)}.slice-axis{flex-direction:column;gap:4px;margin-top:auto;display:flex}.slice-axis-track{background:#ffffff05;border-bottom:1px solid #ffffff0f;border-radius:2px;height:28px;position:relative}.slice-axis-tick{border-radius:1px;width:1.5px;transition:background .3s,box-shadow .3s;position:absolute;top:2px;bottom:2px;transform:translate(-50%)}.slice-axis-tick--pending{background:#4b556366}.slice-axis-tick--running{background:#f97316cc;animation:1.5s infinite pulse-tick;box-shadow:0 0 6px #f973164d}.slice-axis-tick--done{background:#2dd4bfb3;box-shadow:0 0 4px #2dd4bf26}@keyframes pulse-tick{0%,to{opacity:1}50%{opacity:.4}}.slice-axis-labels{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:1px;justify-content:space-between;padding:0 2px;font-size:9px;display:flex}.brain-card-v2-info-overlay{opacity:0;font-family:var(--font-mono);color:var(--accent);letter-spacing:.3px;background:#06080ce0;border-radius:0;justify-content:center;align-items:center;font-size:11px;font-weight:500;transition:opacity .15s;display:flex;position:absolute;inset:0}.brain-card-v2:hover .brain-card-v2-info-overlay{opacity:1}.brain-card-v2-info-overlay:hover{background:#2dd4bf1f}.brain-card-v2-add{background:0 0;border-style:dashed;border-color:#ffffff14;justify-content:center;align-items:center}.brain-card-v2-add:hover{border-color:var(--accent-border)}.brain-card-v2-add-default{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;transition:opacity .15s;display:flex}.brain-card-v2-add:hover .brain-card-v2-add-default{opacity:0}.brain-card-v2-add-icon{color:var(--text-dim);font-size:32px;font-weight:300;line-height:1}.brain-card-v2-add-label{font-family:var(--font-display);color:var(--text-secondary);font-size:14px;font-weight:500}.brain-card-v2-add-options{border-radius:var(--radius-lg);opacity:0;background:#06080ceb;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;transition:opacity .15s;display:flex;position:absolute;inset:0}.brain-card-v2-add:hover .brain-card-v2-add-options{opacity:1}.brain-card-v2-add-btn{width:100%;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;letter-spacing:.3px;padding:9px;font-size:12px;font-weight:500;transition:all .12s}.brain-card-v2-add-btn:hover{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.brain-card-v2-add-btn-alt{color:var(--text-secondary);font-weight:400}.brain-card-v2-add-sep{background:var(--border);width:50%;height:1px;margin:2px 0}.mini-preview-overlay{font-family:var(--font-mono);color:var(--text-dim);pointer-events:none;background:#06080cb3;border-radius:3px;padding:2px 6px;font-size:9px;position:absolute;bottom:6px;right:8px}.settings-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.settings-label{font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;min-width:60px;font-size:10px}.settings-checkbox{font-family:var(--font-mono);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:6px 0;font-size:11px;display:flex}.settings-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.advanced-disclosure{border:1px solid var(--border);background:#0000002e;border-radius:4px;margin-top:8px}.advanced-disclosure>summary{cursor:pointer;font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:6px 10px;font-size:10px;list-style:none}.advanced-disclosure>summary::-webkit-details-marker{display:none}.advanced-disclosure>summary::marker{content:""}.advanced-disclosure>summary:before{content:"▸";color:var(--accent);margin-right:6px;transition:transform .15s;display:inline-block}.advanced-disclosure[open]>summary:before{transform:rotate(90deg)}.advanced-disclosure>summary:hover{color:var(--accent)}.advanced-body{border-top:1px solid var(--border);padding:8px 10px 4px}.slice-list{flex-direction:column;gap:1px;max-height:300px;display:flex;overflow-y:auto}.slice-list-item{font-family:var(--font-mono);border-radius:4px;align-items:center;gap:8px;padding:5px 8px;font-size:11px;transition:background .1s;display:flex}.slice-list-item:hover{cursor:pointer;background:#ffffff08}.slice-list-item--selected{border-left:2px solid var(--accent);padding-left:6px;background:var(--accent-dim)!important}.slice-list-item--selected .slice-list-name{color:var(--text-primary)}.slice-list-status{text-align:center;width:16px;color:var(--text-dim);flex-shrink:0;font-size:12px}.slice-list-thumb{object-fit:cover;background:var(--bg-input);border:1px solid var(--border);border-radius:3px;flex-shrink:0;width:32px;height:32px}.slice-list-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);flex:1;overflow:hidden}.slice-list-ap{color:var(--accent);flex-shrink:0;font-size:10px}.slice-visibility-btn{border:1px solid var(--border);background:var(--bg-surface);width:18px;height:18px;color:var(--accent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;transition:all .12s;display:inline-flex}.slice-visibility-btn:hover{border-color:var(--accent-border);background:var(--accent-dim)}.slice-visibility-btn--hidden{color:var(--text-dim);background:0 0}.slice-visibility-btn--hidden:hover{color:var(--accent)}.split-view{flex:1;gap:0;padding-top:44px;display:flex;overflow:hidden}.split-panel{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.split-panel-label{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:10px;font-weight:500;display:flex}.split-panel-ap{color:var(--accent);text-transform:none;letter-spacing:-.3px}.split-panel-controls{border-bottom:1px solid var(--border);background:#ffffff03;flex-shrink:0;align-items:center;gap:10px;padding:6px 14px;display:flex}.split-toggle{font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;align-items:center;gap:5px;font-size:10px;display:flex}.split-toggle input[type=checkbox]{accent-color:var(--accent)}.split-channel-select{width:auto;padding:3px 8px;font-size:10px}.registration-view-toggle{border-radius:var(--radius);border:1px solid var(--border);background:#0c0f1499;gap:2px;padding:2px;display:inline-flex}.registration-view-toggle-btn{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;border-radius:3px;padding:4px 10px;font-size:10px;font-weight:400;transition:all .15s}.registration-view-toggle-btn:hover:not(:disabled){color:var(--text-secondary);background:#ffffff0a}.registration-view-toggle-btn.active{color:var(--accent);background:var(--accent-dim)}.registration-view-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.registration-view-toggle-warn{font-family:var(--font-mono);color:var(--text-dim);font-size:10px;font-style:italic}.split-panel-image{background:var(--bg-deep);flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.split-image{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated}.split-panel-empty{background:var(--bg-deep);flex:1;justify-content:center;align-items:center;display:flex}.split-panel-empty-text{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.split-divider{background:var(--border-strong);flex-shrink:0;width:1px}.dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;width:420px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000080}.dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dialog-title{font-family:var(--font-display);color:var(--text-primary);font-size:15px;font-weight:600}.dialog-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.dialog-close:hover{color:var(--text-primary)}.dialog-body{flex-direction:column;gap:10px;padding:20px;display:flex;overflow-y:auto}.dialog-info{font-family:var(--font-mono);color:var(--text-dim);padding:8px 0;font-size:10px;line-height:1.6}.dialog-env-path{font-family:var(--font-mono);color:var(--text-dim);opacity:.5;word-break:break-all;font-size:9px}.dialog-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.atlas-manager-dialog{width:640px;max-width:calc(100vw - 64px)}.atlas-manager-search{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 20px;display:flex}.atlas-manager-filter{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:6px 10px;font-size:11px}.atlas-manager-filter:focus{border-color:var(--accent)}.atlas-manager-count{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.atlas-manager-body{flex-direction:column;flex:1;gap:4px;max-height:60vh;padding:8px 12px;display:flex;overflow-y:auto}.atlas-manager-body>*{flex-shrink:0}.atlas-manager-empty{text-align:center;font-family:var(--font-mono);color:var(--text-dim);padding:24px;font-size:11px}.atlas-row{border-radius:var(--radius);border:1px solid #0000;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.atlas-row:hover{background:#ffffff05}.atlas-row-focus{border-color:var(--accent);background:#2dd4bf0f}.atlas-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.atlas-row-name{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-size:11px}.atlas-row-status{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.atlas-row-action{justify-content:flex-end;align-items:center;min-width:160px;display:flex}.atlas-row-installed{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.atlas-row-download{width:auto;padding:6px 14px}.atlas-row-download.highlight{box-shadow:0 0 16px var(--accent-dim)}.atlas-row-progress{background:var(--bg-deep);border:1px solid var(--border);border-radius:999px;width:160px;height:6px;overflow:hidden}.atlas-row-progress-fill{background:var(--accent);height:100%;transition:width .2s ease-out}.atlas-row-progress-fill.indeterminate{width:30%;animation:1.2s ease-in-out infinite atlas-row-progress-pulse}@keyframes atlas-row-progress-pulse{0%{margin-left:-30%}to{margin-left:100%}}.atlas-loading-overlay{-webkit-backdrop-filter:blur(6px);z-index:200;background:#06080cd1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.atlas-loading-card{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;gap:12px;width:360px;padding:22px 26px;display:flex;box-shadow:0 16px 48px #0000008c}.atlas-loading-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.3px;font-size:14px;font-weight:600}.atlas-loading-phase{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.atlas-loading-bar{background:var(--bg-deep);border:1px solid var(--border);border-radius:999px;height:6px;overflow:hidden}.atlas-loading-bar-fill{background:var(--accent);height:100%;box-shadow:0 0 12px var(--accent-dim);transition:width .25s ease-out}.atlas-loading-percent{font-family:var(--font-mono);color:var(--text-dim);text-align:right;letter-spacing:.4px;font-size:10px}.local-engine-section{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff03;flex-shrink:0;margin-bottom:8px;overflow:hidden}.local-engine-row{cursor:pointer;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.local-engine-row:hover{background:#ffffff05}.local-engine-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.local-engine-row-name{font-family:var(--font-display);color:var(--text-primary);font-size:13px;font-weight:600}.local-engine-row-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.4px;font-size:10px}.local-engine-row-status.ok{color:var(--accent)}.local-engine-row-status.off{color:var(--text-dim)}.local-engine-row-endpoint{font-family:var(--font-mono);color:var(--text-dim);opacity:.6;font-size:10px}.local-engine-row-action{align-items:center;gap:10px;display:flex}.local-engine-row-chevron{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.local-engine-body{border-top:1px solid var(--border);background:var(--bg-deep);flex-direction:column;gap:6px;padding:8px 12px 12px;display:flex}.local-engine-hint{font-family:var(--font-mono);color:var(--text-dim);padding:6px 0;font-size:10px;line-height:1.5}.local-model-row{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:6px 10px;display:flex}.local-model-id{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;flex:1;font-size:11px}.local-engine-quickinstall summary{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;text-transform:uppercase;letter-spacing:.4px;padding:6px 0;font-size:10px}.local-engine-quickinstall[open] summary{color:var(--accent)}.canvas-container{background:radial-gradient(ellipse at 30% 50%, #2dd4bf04 0%, transparent 70%), var(--bg-deep);flex:1;position:relative;overflow:hidden}.canvas-container:before{content:"";pointer-events:none;z-index:1;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.scene3d-prereg-note{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-secondary);pointer-events:none;white-space:nowrap;z-index:5;background:#141820d9;padding:6px 14px;font-size:11px;font-style:italic;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.header-chat-btn{align-items:center;gap:6px;display:inline-flex;position:relative}.header-chat-btn.active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.header-chat-glyph{font-family:var(--font-mono);opacity:.7;letter-spacing:-1px;font-size:10px}.header-chat-btn:hover .header-chat-glyph{opacity:1}.header-chat-pulse{background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);border-radius:50%;animation:1.1s ease-in-out infinite chat-pulse}@keyframes chat-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.chat-drawer{background:linear-gradient(180deg, #2dd4bf06 0%, transparent 30%), var(--bg-primary);border-left:1px solid var(--accent-border);z-index:90;flex-direction:column;width:440px;animation:.22s cubic-bezier(.22,.61,.36,1) chat-slide-in;display:flex;position:fixed;top:48px;bottom:0;right:0;box-shadow:-16px 0 48px #00000073}@keyframes chat-slide-in{0%{opacity:.4;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:14px 18px 10px;display:flex;position:relative}.chat-header:before{content:"";background:linear-gradient(90deg, transparent, var(--accent) 50%, transparent);opacity:.55;height:1px;position:absolute;top:0;left:0;right:0}.chat-title-row{align-items:baseline;gap:8px;display:flex}.chat-title{font-family:var(--font-mono);letter-spacing:3px;color:var(--accent);text-transform:uppercase;font-size:13px;font-weight:700}.chat-subtitle{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.5px;font-size:10px}.chat-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:20px;line-height:1;transition:color .15s}.chat-close:hover{color:var(--text-primary)}.chat-link{border-bottom:1px solid var(--border);font-family:var(--font-mono);background:#ffffff04;align-items:center;gap:8px;padding:8px 18px;font-size:10px;display:flex}.chat-link-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .2s,box-shadow .2s}.chat-link-dot-pulse{animation:.9s ease-in-out infinite chat-pulse}.chat-link-label{letter-spacing:1.5px;color:var(--text-primary);font-size:9px;font-weight:700}.chat-link-sep{color:var(--text-dim)}.chat-link-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;flex:1;min-width:0;padding:4px 6px;font-size:10px}.chat-link-select:hover{border-color:var(--accent-border)}.chat-link-select:disabled{opacity:.5;cursor:default}.chat-link-action{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;width:26px;height:24px;font-size:11px;transition:all .15s;display:flex}.chat-link-action:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.chat-link-action:disabled{opacity:.5;cursor:default}.chat-log{flex-direction:column;flex:1;gap:14px;padding:16px 18px 12px;display:flex;position:relative;overflow-y:auto}.chat-log:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#2dd4bf03 3px 4px);position:absolute;inset:0}.chat-log>*{z-index:1;position:relative}.chat-empty{flex-direction:column;align-items:center;gap:14px;padding:40px 0 20px;display:flex}.chat-empty-frame{font-family:var(--font-mono);color:var(--text-dim);white-space:pre;margin:0;font-size:10px;line-height:1.4}.chat-empty-cta{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:var(--radius);cursor:pointer;padding:7px 14px;font-size:10px;transition:all .15s}.chat-empty-cta:hover{box-shadow:0 0 12px var(--accent-dim);background:#2dd4bf2e}.chat-msg{font-family:var(--font-mono);word-break:break-word;gap:10px;font-size:12px;line-height:1.55;display:flex}.chat-msg-user .chat-msg-caret{color:var(--accent);flex-shrink:0;padding-top:1px;font-weight:700}.chat-msg-user .chat-msg-body{color:var(--text-primary);white-space:pre-wrap}.chat-msg-assistant{padding-left:12px;position:relative}.chat-msg-rail{background:linear-gradient(180deg, var(--accent) 0%, #2dd4bf33 40%, #2dd4bf0d 100%);width:1px;position:absolute;top:2px;bottom:2px;left:0}.chat-msg-assistant .chat-msg-body{color:var(--text-secondary);white-space:pre-wrap;flex:1}.chat-msg-waiting{color:var(--text-dim);font-size:11px;font-style:italic}.chat-msg-images{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chat-msg-img{border-radius:var(--radius);border:1px solid var(--border);object-fit:cover;max-width:120px;max-height:120px}.chat-stream-cursor{color:var(--accent);margin-left:1px;animation:1s steps(2,start) infinite chat-cursor-blink;display:inline-block}@keyframes chat-cursor-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.chat-error{border-radius:var(--radius);font-family:var(--font-mono);background:#f8717114;border:1px solid #f871714d;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:flex}.chat-error-tag{color:var(--error);letter-spacing:1px;flex-shrink:0;font-weight:700}.chat-error-text{color:var(--text-primary);word-break:break-word}.chat-telemetry{border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.5px;background:#ffffff04;gap:14px;padding:8px 18px;font-size:9px;display:flex}.chat-tel-cell{align-items:baseline;gap:5px;display:flex}.chat-tel-key{color:var(--text-dim);text-transform:uppercase}.chat-tel-val{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.chat-composer{border-top:1px solid var(--border);background:var(--bg-primary);flex-direction:column;gap:8px;padding:12px 18px 14px;display:flex}.chat-attach{background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:var(--radius);align-items:center;gap:8px;padding:6px 8px;display:flex}.chat-attach-thumb{object-fit:cover;border:1px solid var(--border);background:var(--bg-deep);border-radius:3px;width:32px;height:32px}.chat-attach-meta{font-family:var(--font-mono);color:var(--accent);flex:1;font-size:10px}.chat-attach-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px;line-height:1}.chat-attach-remove:hover{color:var(--text-primary)}.chat-composer-row{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:6px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-composer-row:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-glow)}.chat-prompt-caret{color:var(--accent);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:13px;font-weight:700;line-height:1.4}.chat-input{resize:vertical;font-family:var(--font-mono);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-height:36px;max-height:200px;font-size:12px;line-height:1.5}.chat-input::placeholder{color:var(--text-dim);font-style:italic}.chat-input:disabled{color:var(--text-dim);cursor:not-allowed}.chat-composer-actions{align-items:center;gap:6px;display:flex}.chat-spacer{flex:1}.chat-attach-btn,.chat-clear-btn{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:4px 8px;font-size:9px;transition:all .15s;display:inline-flex}.chat-attach-btn:hover:not(:disabled),.chat-clear-btn:hover:not(:disabled){color:var(--text-secondary);border-color:var(--border-strong)}.chat-attach-btn.active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.chat-attach-btn:disabled,.chat-clear-btn:disabled{opacity:.4;cursor:default}.chat-send-btn{background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;padding:6px 14px;font-size:10px;font-weight:600;transition:all .15s}.chat-send-btn:hover:not(:disabled){box-shadow:0 0 10px var(--accent-dim);background:#2dd4bf2e}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}.chat-send-btn.streaming{color:var(--error);background:#f871711a;border-color:#f8717159}.chat-send-btn.streaming:hover{background:#f871712e;box-shadow:0 0 10px #f8717133}
