*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:#0a0a0a;color:#fff;overflow:hidden}#app{width:100vw;height:100vh;display:flex}#scene-panel{width:60%;height:100%;position:relative;border-right:1px solid rgba(255,255,255,.1)}#canvas-container{width:100%;height:100%}#feed-panel{width:40%;height:100%;display:flex;flex-direction:column;background:#111;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}#sessions-panel{border-bottom:1px solid rgba(255,255,255,.1)}.attention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;color:#000;background:#fbbf24;border-radius:9px;margin-left:6px;animation:attention-badge-pulse 1.5s ease-in-out infinite;text-transform:none;letter-spacing:0}.attention-badge.hidden{display:none}@keyframes attention-badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}#new-session-btn{font-size:11px;padding:4px 10px;background:#4ade8033;border:1px solid rgba(74,222,128,.4);border-radius:4px;color:#4ade80;cursor:pointer;transition:all .15s}#new-session-btn:hover{background:#4ade804d;border-color:#4ade8099}#sessions-list{display:flex;flex-direction:column;gap:2px;padding:0 8px 8px;max-height:250px;overflow-y:auto}#managed-sessions{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.session-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff05;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;position:relative}.session-item:hover{background:#ffffff0d}.session-item.active{background:#a78bfa1f;border-color:#a78bfa4d}.session-item.active .session-name{color:#c4b5fd}.session-item .session-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.session-item .session-status{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0}.session-item .session-status.idle{background:#4ade80;box-shadow:0 0 8px #4ade8066}.session-item .session-status.working{background:#fbbf24;box-shadow:0 0 8px #fbbf2466;animation:pulse 1s infinite}.session-item .session-status.waiting{background:#fb923c;box-shadow:0 0 8px #fb923c80;animation:pulse .5s infinite}.session-item .session-status.offline{background:#ef4444;box-shadow:0 0 6px #ef444466}.session-item:has(.session-status.offline){background:#ef444414;border:1px solid rgba(239,68,68,.2)}.session-item:has(.session-status.offline):hover{background:#ef444426}.session-item .session-info{flex:1;min-width:0}.session-item .session-name{font-size:12px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item .session-detail{font-size:10px;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.session-item .session-detail.working{color:#fbbf24}.session-item .session-prompt{font-size:10px;color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;font-style:italic;display:none}.session-item .session-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#1e1e23f2;padding:4px;border-radius:4px;pointer-events:none}.session-item:hover .session-actions{opacity:1;pointer-events:auto}.session-item .session-actions button{padding:4px 8px;font-size:11px;background:#ffffff1a;border:none;border-radius:4px;color:#fff9;cursor:pointer;transition:all .1s}.session-item .session-actions button:hover{background:#fff3;color:#fff}.session-item .session-actions .delete-btn:hover{background:#f871714d;color:#f87171}.session-item.all-sessions{margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08);border-radius:8px 8px 0 0;padding-bottom:12px;grid-column:1 / -1}.session-item.needs-attention{background:#fbbf241f;border-color:#fbbf2466;animation:attention-pulse 2s ease-in-out infinite}.session-item.needs-attention .session-name,.session-item .session-detail.attention{color:#fbbf24}@keyframes attention-pulse{0%,to{background:#fbbf241f;box-shadow:0 0 #fbbf2400}50%{background:#fbbf2433;box-shadow:0 0 12px #fbbf244d}}.session-item .session-hotkey{width:18px;height:18px;border-radius:3px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);font-size:10px;font-weight:600;font-family:monospace;display:flex;align-items:center;justify-content:center;color:#ffffff80;flex-shrink:0}.session-item.active .session-hotkey{background:#a78bfa33;border-color:#a78bfa66;color:#c4b5fd}#feed-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}#feed-header-left{display:flex;align-items:center;gap:12px}#feed-header h2{font-size:14px;font-weight:600;color:#ffffffe6}#feed-header h2 .muted{font-weight:400;color:#fff6;font-size:12px}.feed-header-right{display:flex;align-items:center;gap:8px}.feed-about-btn{width:22px;height:22px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff9;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.feed-about-btn:hover{background:#ffffff26;color:#ffffffe6;border-color:#ffffff4d}.header-btn{font-size:11px;padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffb3;cursor:pointer;transition:all .15s}.header-btn:hover{background:#ffffff26;color:#ffffffe6}.header-btn.active{background:#a78bfa4d;border-color:#a78bfa80;color:#c4b5fd}#terminal-panel{background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.1);max-height:300px;overflow-y:auto}#terminal-panel.hidden{display:none}#terminal-output{padding:12px 16px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:#ffffffd9}#feed-stats{display:flex;gap:16px;font-size:12px;color:#ffffff80}#feed-stats span{display:flex;align-items:center;gap:4px}#feed-stats .stat-value{color:#a78bfa;font-weight:600}#feed-stats .stat-tokens .stat-value{color:#4ade80}#activity-feed-wrapper{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}#activity-feed{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}#activity-feed::-webkit-scrollbar{width:6px}#activity-feed::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}#feed-scroll-bottom{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#a78bfae6;color:#fff;border:none;border-radius:16px;padding:6px 14px;font-size:12px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10;box-shadow:0 2px 8px #0000004d}#feed-scroll-bottom.visible{opacity:1;pointer-events:auto}#feed-scroll-bottom:hover{background:#a78bfa;transform:translate(-50%) scale(1.05)}.feed-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px 12px;animation:fadeIn .2s ease-out}.feed-item.compact{padding:6px 12px}.feed-item.compact .feed-item-header{margin-bottom:0}.feed-item.user-prompt{background:#a78bfa1a;border-color:#a78bfa4d}.feed-item.assistant-response{background:#4ade8014;border-color:#4ade8040;border-left:3px solid rgba(74,222,128,.5)}.feed-item-content.assistant-text{color:#ffffffe6;line-height:1.6;white-space:pre-wrap}.show-more{color:#a78bfa;cursor:pointer;font-weight:500}.show-more:hover{text-decoration:underline}.assistant-text h2,.assistant-text h3,.assistant-text h4{margin:12px 0 8px;color:#fff}.assistant-text h2{font-size:1.3em}.assistant-text h3{font-size:1.1em}.assistant-text h4{font-size:1em}.assistant-text pre{background:#0006;padding:12px;border-radius:6px;overflow-x:auto;margin:8px 0}.assistant-text code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.9em}.assistant-text pre code{background:none;padding:0}.assistant-text ul{margin:8px 0;padding-left:20px}.assistant-text li{margin:4px 0}.assistant-text strong{color:#fff;font-weight:600}.feed-item.tool-use{background:#ffffff08}.feed-item.tool-success{border-left:3px solid #4ade80}.feed-item.tool-fail{border-left:3px solid #f87171}.feed-item.tool-pending{border-left:3px solid #fbbf24}.feed-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.feed-item-icon{font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:6px}.feed-item-title{font-weight:600;font-size:13px;flex:1}.feed-item-time{font-size:11px;color:#fff6}.feed-item-duration{font-size:11px;color:#ffffff80;background:#ffffff1a;padding:2px 6px;border-radius:4px}.feed-item-content{font-size:13px;color:#fffc;line-height:1.5}.feed-item-content.prompt-text{font-style:italic;color:#ffffffe6}.feed-item-details{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.feed-item-details.collapsed{display:none}.feed-item-assistant-text{font-size:13px;color:#ffffffbf;line-height:1.5;margin-bottom:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.feed-item-assistant-text.collapsed{max-height:100px;overflow:hidden;position:relative}.feed-item-assistant-text.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,#1a1a1af2);pointer-events:none}.feed-item-assistant-text code{background:#0000004d;padding:2px 5px;border-radius:3px;font-size:12px}.feed-item-assistant-text strong{color:#fff}.feed-item-assistant-text ul{margin:8px 0;padding-left:20px}.feed-item-assistant-text li{margin:4px 0}.feed-item-file{font-family:monospace;font-size:12px;color:#60a5fa;margin-bottom:8px}.feed-item-code{background:#0006;border-radius:4px;padding:8px 10px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:11px;line-height:1.4;max-height:120px;overflow:hidden;white-space:pre-wrap;word-break:break-all;position:relative}.feed-item-code.expanded{max-height:none;overflow:auto}.feed-item-code:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(transparent,#000c);pointer-events:none}.feed-item-code.expanded:after{display:none}.feed-item-code .line-add{color:#4ade80}.feed-item-code .line-remove{color:#f87171}.expand-toggle{font-size:11px;color:#ffffff80;cursor:pointer;margin-top:8px;display:inline-flex;align-items:center;gap:4px}.expand-toggle:hover{color:#fffc}.feed-item-response{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.feed-item-response.error{border-top-color:#f871714d}.feed-item-error{color:#f87171;font-size:12px;font-family:monospace}#feed-empty{text-align:center;padding:60px 20px;color:#fff6}#feed-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}#feed-empty h3{font-size:16px;margin-bottom:8px;color:#fff9}#feed-empty p{font-size:13px}.feed-item.thinking-indicator{background:#fbbf2414;border-color:#fbbf2440;border-left:3px solid rgba(251,191,36,.5);padding:8px 12px}.feed-item.thinking-indicator .feed-item-header{margin-bottom:0}.feed-item.thinking-indicator .feed-item-title{color:#fbbf24e6;font-weight:500}.thinking-icon{animation:thinking-pulse 2s ease-in-out infinite}@keyframes thinking-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.thinking-dots{display:flex;gap:2px;margin-left:auto}.thinking-dots span{font-size:20px;line-height:1;color:#fbbf24cc;animation:thinking-dot 1.4s ease-in-out infinite}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}#prompt-container{padding:16px;border-top:1px solid rgba(255,255,255,.1);background:#0000004d}#prompt-form{display:flex;gap:8px}#prompt-input{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;color:#fff;font-size:14px;font-family:inherit;outline:none;resize:none;min-height:44px;max-height:200px;overflow-y:auto;line-height:1.4}#prompt-input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa33}#prompt-input::placeholder{color:#fff6}#prompt-input::-webkit-scrollbar{width:6px}#prompt-input::-webkit-scrollbar-track{background:transparent}#prompt-input::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}#prompt-input::-webkit-scrollbar-thumb:hover{background:#ffffff4d}#prompt-submit,#prompt-cancel{border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 14px;font-weight:500;font-size:13px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:5px;background:#ffffff0d;color:#ffffffb3}#prompt-submit{color:#fffc}#prompt-submit:hover{background:#a78bfa26;border-color:#a78bfa4d;color:#a78bfa}#prompt-submit:disabled{background:#ffffff05;border-color:#ffffff0d;color:#ffffff40;cursor:not-allowed}#prompt-cancel{color:#fff9}#prompt-cancel:hover{background:#ef44441a;border-color:#ef444433;color:#f87171}.btn-icon{font-size:11px;opacity:.9}#prompt-options{display:flex;align-items:center;gap:16px;margin-top:8px;font-size:12px;color:#ffffff80}.send-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}.send-toggle input[type=checkbox]{accent-color:#a78bfa}#prompt-target{font-size:11px;font-family:monospace;padding:2px 8px;border-radius:10px;background:#ffffff1a;display:flex;align-items:center;gap:4px}#prompt-target .target-dot{width:6px;height:6px;border-radius:50%}#prompt-target .target-badge{font-size:10px;font-weight:600;padding:1px 5px;border-radius:4px;color:#000}#prompt-status{color:#ffffff80}#prompt-status.success{color:#4ade80}#prompt-status.error{color:#f87171}.input-wrapper{position:relative;flex:1;display:flex}.input-wrapper #prompt-input{flex:1;border-radius:8px}#voice-transcript{position:absolute;bottom:100%;left:16px;right:16px;margin-bottom:8px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:13px;color:#ffffffe6;display:none;animation:fadeIn .2s ease-out}#voice-transcript.visible{display:block}#voice-transcript.interim{color:#fff9;font-style:italic}#voice-transcript .transcript-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#ef4444;margin-bottom:4px;display:flex;align-items:center;gap:6px}#voice-transcript .transcript-label .recording-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.voice-control{position:absolute;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:100}.voice-idle{display:flex;flex-direction:column;align-items:center;gap:8px;transition:opacity .2s}.voice-control.recording .voice-idle{display:none}.voice-trigger{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:#00000080;color:#ffffffb3;font-size:20px;cursor:pointer;transition:all .2s;backdrop-filter:blur(8px)}.voice-trigger:hover{background:#ffffff1a;border-color:#fff6;color:#fff;transform:scale(1.05)}.voice-hint{display:flex;gap:4px;font-size:11px;color:#fff6}.voice-hint kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:2px 6px;font-family:monospace}.voice-control.disabled .voice-trigger{opacity:.4;cursor:not-allowed;pointer-events:none}.voice-control.disabled .voice-hint{display:none}.voice-control.disabled:after{content:"Set DEEPGRAM_API_KEY in .env";font-size:10px;color:#fff6;margin-top:8px;text-align:center}.voice-recording{display:none;flex-direction:column;align-items:center;gap:10px}.voice-control.recording .voice-recording{display:flex}.voice-bars{display:flex;align-items:flex-end;gap:4px;height:40px}.voice-status-row{display:flex;align-items:center;gap:8px;margin-top:4px}.voice-record-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 10px #ef4444cc,0 0 20px #ef444466;animation:record-pulse 1.2s ease-in-out infinite}.voice-send-hint{font-size:11px;color:#ffffff80}.voice-send-hint kbd{background:#ffffff26;padding:2px 5px;border-radius:3px;font-family:inherit;font-size:10px}@keyframes record-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.voice-bar{width:14px;height:8px;min-height:8px;border-radius:3px;transition:height .05s ease-out;box-shadow:0 0 10px currentColor}.voice-bar[data-bar="0"]{background:#9d6ba3;color:#9d6ba366}.voice-bar[data-bar="1"]{background:#8b7cb5;color:#8b7cb566}.voice-bar[data-bar="2"]{background:#7e82b8;color:#7e82b866}.voice-bar[data-bar="3"]{background:#7388bb;color:#7388bb66}.voice-bar[data-bar="4"]{background:#6a8ebe;color:#6a8ebe66}.voice-bar[data-bar="5"]{background:#6993c0;color:#6993c066}.voice-bar[data-bar="6"]{background:#6898c2;color:#6898c266}.voice-bar[data-bar="7"]{background:#6a9dc4;color:#6a9dc466}.voice-bar[data-bar="8"]{background:#6fa2c6;color:#6fa2c666}.voice-bar[data-bar="9"]{background:#78a7c8;color:#78a7c866}#scene-hud{position:absolute;top:0;left:0;right:0;padding:12px;display:flex;justify-content:space-between;pointer-events:none}.scene-badge{background:#000000b3;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 12px;font-size:12px;display:flex;align-items:center;gap:6px}.unified-hud{gap:10px}.hud-user{color:#a78bfa;font-weight:500}.hud-sep{color:#fff3;font-weight:300}.hud-fps{font-family:monospace;color:#888;min-width:50px}.hud-session{font-family:monospace;color:#60a5fa;font-size:10px;opacity:.7}.hud-tokens{font-family:monospace;color:#fbbf24;font-weight:600}.hud-mute{background:none;border:none;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .15s;pointer-events:auto}.hud-mute:hover{background:#ffffff1a}#status-dot{width:8px;height:8px;border-radius:50%;background:#666;transition:background .3s}#status-dot.connected{background:#4ade80;box-shadow:0 0 8px #4ade80}#status-dot.working{background:#fbbf24;box-shadow:0 0 8px #fbbf24;animation:pulse 1s infinite}.hud-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;transition:background .15s,transform .1s;pointer-events:auto}.hud-btn:hover{background:#ffffff1a}.hud-btn:active{transform:scale(.9)}#keybind-helper{position:absolute;bottom:70px;left:12px;background:#000000b3;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;font-size:11px;pointer-events:none}.keybind-mode{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.mode-icon{font-size:14px}#camera-mode-label{color:#a78bfa;font-weight:600}.mode-sep{color:#ffffff4d}#camera-mode-desc{color:#ffffff80;font-family:monospace}.keybind-list{display:flex;flex-direction:column;gap:4px}.keybind{color:#fff9}.keybind kbd{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:10px;margin-right:4px;color:#fff}#timeline-container{position:absolute;bottom:12px;left:12px;right:12px}#timeline{display:flex;gap:4px;padding:8px 12px;background:#000000b3;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}#timeline::-webkit-scrollbar{height:4px}#timeline::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.timeline-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:transform .15s,box-shadow .15s;flex-shrink:0}.timeline-icon:hover{transform:scale(1.15);z-index:10}.timeline-icon.success{background:#4ade8033;border:2px solid rgba(74,222,128,.5)}.timeline-icon.fail{background:#f8717133;border:2px solid rgba(248,113,113,.5)}.timeline-icon.pending{background:#fbbf2433;border:2px solid rgba(251,191,36,.5);animation:pulse-pending 1s infinite}@keyframes pulse-pending{0%,to{opacity:1}50%{opacity:.6}}.timeline-icon.lifecycle{background:#a78bfa33;border:2px solid rgba(167,139,250,.5)}#timeline-tooltip{position:fixed;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:8px 12px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:1000;max-width:250px}#timeline-tooltip.visible{opacity:1}.tooltip-tool{font-weight:600;color:#a78bfa}.tooltip-duration{color:#fff9;margin-left:8px}.tooltip-time{color:#fff6;font-size:10px;margin-top:4px}#dev-panel{position:absolute;top:60px;right:12px;background:#000000d9;backdrop-filter:blur(8px);border:1px solid rgba(167,139,250,.3);border-radius:8px;padding:10px;font-size:11px;max-height:300px;overflow-y:auto;z-index:100}#dev-panel.hidden{display:none}.dev-header{color:#a78bfa;font-weight:600;font-size:12px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}#dev-animations{display:flex;flex-direction:column;gap:4px}.dev-anim-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 10px;color:#e5e5e5;font-size:11px;cursor:pointer;transition:all .15s;text-align:left}.dev-anim-btn:hover{background:#a78bfa33;border-color:#a78bfa66;color:#fff}.dev-anim-btn:active{transform:scale(.98)}.dev-anim-btn.playing{background:#a78bfa4d;border-color:#a78bfa;color:#fff}.dev-section-header{color:#ffffff80;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-top:10px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1)}.dev-section-header:first-child{margin-top:0}.dev-anim-btn-working{background:#fbbf241a;border-color:#fbbf244d}.dev-anim-btn-working:hover{background:#fbbf2433;border-color:#fbbf2480}.dev-anim-btn-working.playing{background:#fbbf244d;border-color:#fbbf24}.dev-anim-btn-stop{background:#f871711a;border-color:#f871714d;margin-top:8px}.dev-anim-btn-stop:hover{background:#f8717133;border-color:#f8717180}#draw-indicator{position:absolute;top:60px;left:50%;transform:translate(-50%);background:#22d3ee26;backdrop-filter:blur(8px);border:2px solid rgba(34,211,238,.5);border-radius:8px;padding:10px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:100}#draw-indicator.visible{opacity:1}.draw-mode-label{color:#22d3ee;font-weight:700;font-size:14px;letter-spacing:2px;text-shadow:0 0 10px rgba(34,211,238,.5)}.draw-mode-hint{color:#fff9;font-size:11px}.draw-mode-hint kbd{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:10px;margin:0 2px;color:#fff}#draw-palette{position:absolute;bottom:70px;right:12px;background:#000c;backdrop-filter:blur(8px);border:1px solid rgba(34,211,238,.3);border-radius:10px;padding:10px;display:flex;gap:8px;align-items:center;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s;pointer-events:none;z-index:100}#draw-palette.visible{opacity:1;transform:translateY(0);pointer-events:auto}.draw-color-btn{width:36px;height:36px;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:var(--color);cursor:pointer;position:relative;transition:transform .15s,border-color .15s,box-shadow .15s}.draw-color-btn:hover{transform:scale(1.1);border-color:#ffffff80}.draw-color-btn.selected{border-color:#fff;box-shadow:0 0 12px var(--color),inset 0 0 8px #ffffff4d;transform:scale(1.1)}.draw-color-key{position:absolute;bottom:-2px;right:-2px;background:#000c;border:1px solid rgba(255,255,255,.3);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:9px;color:#fff}.draw-eraser-btn{width:36px;height:36px;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;cursor:pointer;position:relative;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;margin-left:8px}.draw-eraser-btn:hover{transform:scale(1.1);border-color:#ffffff80}.draw-eraser-btn.selected{border-color:#fff;box-shadow:0 0 12px #ffffff4d;transform:scale(1.1)}.draw-eraser-icon{font-size:16px;color:#ffffffb3}.draw-eraser-btn .draw-color-key{bottom:-2px;right:-2px}.draw-clear-btn{width:36px;height:36px;border-radius:8px;border:2px solid rgba(248,113,113,.3);background:#f871711a;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;margin-left:8px}.draw-clear-btn:hover{transform:scale(1.1);border-color:#f8717199;background:#f8717133}.draw-clear-btn:active{transform:scale(.95)}.draw-clear-icon{font-size:16px}.draw-brush-size{display:flex;align-items:center;gap:4px;margin-left:12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.2)}.draw-brush-btn{width:24px;height:24px;border-radius:4px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.draw-brush-btn:hover{background:#fff3;border-color:#ffffff80}.draw-brush-btn:active{transform:scale(.9)}.draw-brush-size-value{font-family:monospace;font-size:14px;font-weight:600;color:#22d3ee;min-width:16px;text-align:center}.draw-3d-toggle{width:36px;height:36px;border-radius:8px;border:2px solid rgba(168,85,247,.3);background:#a855f71a;cursor:pointer;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;margin-left:8px}.draw-3d-toggle:hover{transform:scale(1.1);border-color:#a855f799;background:#a855f733}.draw-3d-toggle:active{transform:scale(.95)}.draw-3d-toggle.active{border-color:#a855f7cc;background:#a855f766;box-shadow:0 0 12px #a855f780}.draw-3d-icon{font-size:12px;font-weight:700;color:#a855f7;font-family:monospace}#toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10000;pointer-events:none}.toast{background:#000000e6;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:10px 16px;font-size:13px;color:#e5e5e5;display:flex;align-items:center;gap:8px;animation:toast-in .25s ease-out;pointer-events:auto;max-width:400px}.toast.toast-out{animation:toast-out .2s ease-in forwards}.toast-icon{font-size:16px;flex-shrink:0}.toast-message{line-height:1.3}.toast-message kbd{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:11px;margin:0 2px;color:#fff}.toast.toast-info{border-color:#60a5fa66}.toast.toast-success{border-color:#4ade8066}.toast.toast-warning{border-color:#fbbf2466}.toast.toast-error{border-color:#f8717166}@keyframes toast-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}.context-menu{position:fixed;background:#141419f2;border:1px solid rgba(167,139,250,.4);border-radius:8px;padding:8px 12px;box-shadow:0 8px 32px #00000080;z-index:900;opacity:0;visibility:hidden;transform:scale(.9) translateY(-5px);transition:opacity .15s,visibility .15s,transform .15s;pointer-events:none}.context-menu.visible{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto}.context-menu-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .1s;white-space:nowrap}.context-menu-item:hover{background:#a78bfa33}.context-menu-item.danger:hover{background:#f8717133}.context-menu-key{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#a78bfa4d;border:1px solid rgba(167,139,250,.5);border-radius:4px;font-size:12px;font-weight:600;color:#a78bfa;font-family:monospace}.context-menu-item.danger .context-menu-key{background:#f871714d;border-color:#f8717180;color:#f87171}.context-menu-label{font-size:13px;color:#ffffffd9}.context-menu-item.danger .context-menu-label{color:#f87171}.context-menu-hint{font-size:11px;color:#fff6;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:24px;width:420px;max-width:90vw;box-shadow:0 20px 60px #00000080;transform:scale(.95) translateY(-10px);transition:transform .2s}.modal-header{margin-bottom:20px;text-align:center}.modal-header h3{font-size:16px;font-weight:500;color:#ffffffb3;margin:0}.modal-field{margin-bottom:16px}.modal-field label{display:block;font-size:13px;font-weight:500;color:#fff9;margin-bottom:6px}.modal-field input{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 14px;color:#fff;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.modal-field input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa33}.modal-field input::placeholder{color:#ffffff59}.modal-field .field-hint{font-size:11px;color:#fff6;margin-top:6px}.modal-field .field-hint code{background:#ffffff1a;padding:1px 5px;border-radius:3px;font-family:monospace}.modal-actions{display:flex;gap:10px;margin-top:24px}.modal-btn{flex:1;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent}.modal-btn-cancel{background:#ffffff14;border-color:#ffffff26;color:#ffffffb3}.modal-btn-cancel:hover{background:#ffffff1f;color:#fff}.modal-btn-create{background:#4ade8033;border-color:#4ade8066;color:#4ade80}.modal-btn-create:hover{background:#4ade804d;border-color:#4ade8099;box-shadow:0 0 20px #4ade8026}.modal-checkboxes{display:flex;flex-direction:column;gap:8px}.modal-checkbox{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .15s}.modal-checkbox:hover{background:#ffffff0f;border-color:#ffffff1f}.modal-checkbox input[type=checkbox]{accent-color:#a78bfa;width:16px;height:16px;flex-shrink:0}.modal-checkbox .checkbox-label{font-size:13px;color:#ffffffe6}.modal-checkbox .checkbox-label code{font-size:11px;background:#ffffff1a;padding:1px 5px;border-radius:3px;margin-left:6px;color:#ffffff80}#new-session-modal{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}#new-session-modal.visible{opacity:1;visibility:visible}#new-session-modal.visible .modal-content{transform:scale(1) translateY(0)}#settings-modal{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}#settings-modal.visible{opacity:1;visibility:visible}.settings-actions{display:flex;flex-direction:column;gap:8px}.settings-action-btn{padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fffc;font-size:13px;cursor:pointer;transition:all .15s;text-align:left}.settings-action-btn:hover{background:#ffffff1a;border-color:#ffffff40}.settings-port-row{display:flex;align-items:center;gap:8px}.port-label{color:#fff9;font-family:monospace}#settings-port{width:80px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:8px 10px;color:#fff;font-family:monospace;font-size:14px;outline:none}#settings-port:focus{border-color:#a78bfa}.port-status{font-size:12px}.port-status.connected{color:#4ade80}.port-status.disconnected{color:#f87171}.settings-slider-row{display:flex;align-items:center;gap:12px;margin-top:12px;padding:8px 12px;background:#ffffff08;border-radius:6px}.slider-label{color:#fff9;font-size:13px;min-width:65px}.settings-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#ffffff26;border-radius:3px;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#22d3ee;border-radius:50%;cursor:pointer;transition:transform .1s,box-shadow .1s}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 8px #22d3ee80}.settings-slider::-moz-range-thumb{width:16px;height:16px;background:#22d3ee;border-radius:50%;border:none;cursor:pointer}.slider-value{color:#ffffffb3;font-size:12px;font-family:monospace;min-width:35px;text-align:right}.settings-checkbox-row{display:flex;align-items:center;gap:12px;margin-top:8px;padding:6px 12px;background:#ffffff05;border-radius:6px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#ffffffe6;font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#22d3ee;cursor:pointer}.field-hint-inline{color:#fff6;font-size:11px;margin-left:auto}.keybind-settings{display:flex;flex-direction:column;gap:8px}.keybind-row{display:flex;align-items:center;gap:12px;padding:6px 0}.keybind-name{flex:1;color:#fffc;font-size:13px}.keybind-keys{display:flex;gap:6px;align-items:center}.keybind-key{background:#1e1e28cc;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:4px 10px;color:#ffffffe6;font-family:monospace;font-size:12px;cursor:pointer;transition:all .15s;min-width:60px;text-align:center}.keybind-key:hover{background:#323246cc;border-color:#a78bfa80}.keybind-key.editing{background:#a78bfa4d;border-color:#a78bfa;color:#fff;animation:keybind-pulse 1s ease-in-out infinite}@keyframes keybind-pulse{0%,to{opacity:1}50%{opacity:.7}}.keybind-add{background:transparent;border:1px dashed rgba(255,255,255,.3);border-radius:4px;padding:4px 10px;color:#ffffff80;font-size:14px;cursor:pointer;transition:all .15s}.keybind-add:hover{border-color:#a78bfa80;color:#fffc}.keybind-add.editing{background:#a78bfa4d;border-style:solid;border-color:#a78bfa;color:#fff;animation:keybind-pulse 1s ease-in-out infinite}.keybind-reset{background:transparent;border:none;padding:4px 8px;color:#fff6;font-size:14px;cursor:pointer;transition:color .15s}.keybind-reset:hover{color:#fffc}#about-modal{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1500;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#about-modal.visible{opacity:1;visibility:visible}.about-modal-content{max-width:420px;text-align:center}.about-modal-content .modal-header h3{font-size:24px;margin-bottom:4px}.about-description{margin-bottom:20px}.about-description p{color:#fffc;line-height:1.6;margin:0 0 8px}.about-subtitle{color:#ffffff80!important;font-size:13px}.about-section{background:#0000004d;border-radius:8px;padding:16px;margin-bottom:16px;text-align:left}.about-section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#ffffff80;margin-bottom:12px}.about-help-text{font-size:12px;color:#fff9;line-height:1.5;margin-bottom:12px}.about-help-text em,.about-cmd code em{font-style:normal;color:#fff6}.about-commands{display:flex;flex-direction:column;gap:8px}.about-cmd{display:flex;justify-content:space-between;align-items:center;font-size:13px}.about-cmd code{background:#0006;padding:4px 8px;border-radius:4px;font-family:SF Mono,Monaco,monospace;color:#22d3ee;font-size:12px}.about-cmd span{color:#ffffff80;font-size:12px}.about-footer{font-size:12px;color:#fff6;margin-bottom:16px}.about-sep{margin:0 8px}.about-version{font-family:monospace}.about-credit{color:#ffffff4d}#question-modal{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#question-modal.visible{opacity:1;visibility:visible}.question-modal-content{max-width:500px;width:90%}.question-badge{display:inline-block;background:#fbbf2433;color:#fbbf24;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.question-text{color:#ffffffe6;font-size:15px;line-height:1.5;margin-bottom:20px}.question-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.question-option{display:flex;flex-direction:column;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .15s;text-align:left}.question-option:hover{background:#a78bfa26;border-color:#a78bfa66}.question-option-label{color:#fff;font-size:14px;font-weight:500}.question-option-desc{color:#ffffff80;font-size:12px;margin-top:4px}.question-other{margin-bottom:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.question-other label{display:block;font-size:12px;color:#ffffff80;margin-bottom:8px}.question-other textarea{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:#fff;font-size:14px;font-family:inherit;resize:vertical}.question-other textarea:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa33}#permission-modal{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#permission-modal.visible{opacity:1;visibility:visible}.permission-modal-content{max-width:500px;width:90%}.permission-badge{display:inline-block;background:#fb923c33;color:#fb923c;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.permission-tool{color:#a78bfa;font-family:monospace;background:#a78bfa26;padding:2px 8px;border-radius:4px}.permission-context{background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;font-family:monospace;font-size:12px;color:#ffffffb3;white-space:pre-wrap;overflow-x:auto;max-height:200px;overflow-y:auto;margin-bottom:16px}.permission-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.permission-btn{width:100%;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;text-align:left;display:flex;align-items:center;gap:10px}.permission-btn-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:12px;font-weight:700;flex-shrink:0}.permission-btn[data-option="1"]{background:#22c55e26;color:#22c55e;border-color:#22c55e4d}.permission-btn[data-option="1"]:hover{background:#22c55e40}.permission-btn[data-option="1"] .permission-btn-num{background:#22c55e4d}.permission-btn[data-option="2"]{background:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.permission-btn[data-option="2"]:hover{background:#3b82f640}.permission-btn[data-option="2"] .permission-btn-num{background:#3b82f64d}.permission-btn[data-option="3"]{background:#ef444426;color:#ef4444;border-color:#ef44444d}.permission-btn[data-option="3"]:hover{background:#ef444440}.permission-btn[data-option="3"] .permission-btn-num{background:#ef44444d}.permission-btn[data-option="4"],.permission-btn[data-option="5"],.permission-btn[data-option="6"]{background:#9ca3af26;color:#9ca3af;border-color:#9ca3af4d}.permission-btn[data-option="4"]:hover,.permission-btn[data-option="5"]:hover,.permission-btn[data-option="6"]:hover{background:#9ca3af40}.permission-btn[data-option="4"] .permission-btn-num,.permission-btn[data-option="5"] .permission-btn-num,.permission-btn[data-option="6"] .permission-btn-num{background:#9ca3af4d}#not-connected-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#not-connected-overlay.visible{opacity:1;visibility:visible}.not-connected-content{text-align:center;max-width:500px;padding:40px}.not-connected-icon{font-size:64px;margin-bottom:24px;opacity:.8}.not-connected-content h2{font-size:24px;font-weight:600;margin-bottom:12px;color:#fff}.not-connected-content p{color:#fff9;margin-bottom:16px;line-height:1.6}.not-connected-description{font-size:16px;color:#fffc!important}.not-connected-privacy{font-size:13px;color:#ffffff80!important;margin-bottom:28px!important}.not-connected-setup{background:#0000004d;border-radius:12px;padding:20px;margin-bottom:24px}.not-connected-setup-label{font-size:13px;margin-bottom:12px!important}.not-connected-code{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:16px 24px;font-family:monospace;font-size:16px;color:#4ade80;user-select:all}.not-connected-hint{font-size:13px;color:#fff6}.not-connected-hint a{color:#a78bfa;text-decoration:none}.not-connected-hint a:hover{text-decoration:underline}.not-connected-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.not-connected-btn{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .15s;border:1px solid transparent}.not-connected-btn-retry{background:#a78bfa33;border-color:#a78bfa66;color:#a78bfa}.not-connected-btn-retry:hover{background:#a78bfa4d}.not-connected-btn-settings,.not-connected-btn-explore{background:#ffffff1a;border-color:#fff3;color:#fffc}.not-connected-btn-settings:hover,.not-connected-btn-explore:hover{background:#ffffff26}#zone-timeout-modal{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#zone-timeout-modal.visible{opacity:1;visibility:visible}.zone-timeout-content{max-width:450px;width:90%}.zone-timeout-text{color:#fffc;font-size:14px;line-height:1.5;margin-bottom:16px}.zone-timeout-hint{color:#ffffff80;font-size:12px;margin-top:12px;margin-bottom:16px}.offline-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#f87171f2;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:12px;z-index:3000;box-shadow:0 4px 12px #0000004d}.offline-banner.hidden{display:none}.offline-banner button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;line-height:1;opacity:.8}.offline-banner button:hover{opacity:1}#text-label-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}#text-label-modal.visible{opacity:1;visibility:visible}.text-label-modal-content{width:480px}.text-label-body{margin-bottom:20px}.text-label-textarea{width:100%;min-height:120px;max-height:300px;padding:14px 16px;background:#0006;border:1px solid rgba(74,200,232,.3);border-radius:8px;color:#fff;font-size:15px;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5;resize:vertical;transition:border-color .2s,box-shadow .2s}.text-label-textarea:focus{outline:none;border-color:#4ac8e899;box-shadow:0 0 0 3px #4ac8e826}.text-label-textarea::placeholder{color:#fff6}.text-label-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:0 4px}.text-label-char-count{font-size:12px;color:#ffffff80;font-family:ui-monospace,SFMono-Regular,monospace}.text-label-hint{font-size:11px;color:#ffffff59}#zone-info-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1500;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}#zone-info-modal.visible{opacity:1;visibility:visible}.zone-info-modal-content{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:12px;width:90%;max-width:480px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:modal-slide-in .2s ease-out}.zone-info-modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.zone-info-modal-content .modal-header h3{margin:0;font-size:16px;color:#a78bfa}.zone-info-close-btn{background:none;border:none;color:#ffffff80;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.zone-info-close-btn:hover{background:#ffffff1a;color:#fff}.zone-info-body{padding:16px 20px;overflow-y:auto;flex:1}.zone-info-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.zone-info-name{font-size:20px;font-weight:600;color:#fff}.zone-info-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:12px}.zone-info-status--idle{background:#4ade8033;color:#4ade80}.zone-info-status--working{background:#22d3ee33;color:#22d3ee}.zone-info-status--waiting{background:#fbbf2433;color:#fbbf24}.zone-info-status--offline{background:#f8717133;color:#f87171}.zone-info-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.zone-info-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.zone-info-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin-bottom:12px}.zone-info-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px}.zone-info-row:last-child{margin-bottom:0}.zone-info-label{font-size:13px;color:#ffffff80;flex-shrink:0}.zone-info-value{font-size:13px;color:#fff;text-align:right;word-break:break-all}.zone-info-mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.zone-info-small{font-size:11px;color:#fff9}.zone-info-highlight{color:#22d3ee}.zone-info-muted{color:#fff6;font-style:italic}.zone-info-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.zone-info-stat{background:#ffffff0a;border-radius:8px;padding:12px;text-align:center}.zone-info-stat-value{font-size:24px;font-weight:600;color:#a78bfa;line-height:1}.zone-info-stat-label{font-size:11px;color:#ffffff80;margin-top:6px}.zone-info-tokens{display:flex;flex-direction:column;gap:8px}.zone-info-token-row{display:flex;justify-content:space-between;font-size:13px}.zone-info-token-row span:first-child{color:#fff9}.zone-info-token-value{color:#fbbf24;font-family:ui-monospace,SFMono-Regular,monospace}.zone-info-git-branch{display:flex;align-items:center;gap:8px;margin-bottom:12px}.zone-info-branch-icon{color:#fff6}.zone-info-branch-name{color:#fff;font-family:ui-monospace,SFMono-Regular,monospace;font-size:14px;font-weight:500}.zone-info-branch-ahead{color:#4ade80;font-size:12px;font-family:ui-monospace,SFMono-Regular,monospace}.zone-info-branch-behind{color:#f87171;font-size:12px;font-family:ui-monospace,SFMono-Regular,monospace}.zone-info-branch-dirty{color:#fbbf24;margin-left:auto}.zone-info-branch-clean{color:#4ade80;margin-left:auto}.zone-info-git-changes{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:6px}.zone-info-changes-label{color:#ffffff80}.zone-info-changes-detail{display:flex;gap:8px}.zone-info-added{color:#4ade80}.zone-info-modified{color:#fbbf24}.zone-info-deleted{color:#f87171}.zone-info-git-clean{color:#fff6;font-size:13px;font-style:italic}.zone-info-git-lines{display:flex;gap:8px;font-size:13px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.zone-info-git-commit{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.zone-info-commit-msg{display:block;font-size:12px;color:#ffffffb3;font-style:italic}.zone-info-commit-time{display:block;font-size:11px;color:#fff6;margin-top:4px}.zone-info-files{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.zone-info-file{font-size:12px;font-family:ui-monospace,SFMono-Regular,monospace;color:#ffffffb3;padding:4px 8px;background:#ffffff0a;border-radius:4px}.zone-info-ids{opacity:.7}.zone-info-ids .zone-info-section-title{color:#ffffff4d}.zone-command-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1001;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.zone-command-modal.visible{opacity:1;visibility:visible;pointer-events:auto}.zone-command-content{position:absolute;width:320px;background:#0f141ef2;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:12px 14px;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d inset;backdrop-filter:blur(20px);transform:translateY(10px) scale(.95);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.zone-command-modal.visible .zone-command-content{transform:translateY(0) scale(1)}.zone-command-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px}.zone-command-target{display:flex;align-items:center;gap:8px}.zone-command-dot{width:10px;height:10px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:zone-command-pulse 2s ease-in-out infinite}@keyframes zone-command-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.zone-command-name{font-size:13px;font-weight:600;letter-spacing:.02em}.zone-command-hint{font-size:11px;color:#ffffff59}.zone-command-body{display:flex;gap:8px;align-items:flex-end}.zone-command-input{flex:1;min-height:42px;max-height:150px;padding:10px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:14px;font-family:inherit;line-height:1.4;resize:none;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.zone-command-input:focus{background:#ffffff14;border-color:#a78bfa80;box-shadow:0 0 0 3px #a78bfa26}.zone-command-input::placeholder{color:#ffffff4d}.zone-command-input.error{animation:zone-command-shake .4s ease;border-color:#f8717199}@keyframes zone-command-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.zone-command-send{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#4ade8033,#4ac8e833);border:1px solid rgba(74,222,128,.3);color:#4ade80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.zone-command-send:hover{background:linear-gradient(135deg,#4ade804d,#4ac8e84d);border-color:#4ade8080;box-shadow:0 0 20px #4ade8033;transform:scale(1.05)}.zone-command-send:active{transform:scale(.95)}.zone-command-send:disabled{opacity:.5;cursor:not-allowed;transform:none}.zone-command-send .send-icon{font-size:18px;font-weight:700}.zone-command-send .send-icon.spinning{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zone-command-connector{position:fixed;height:2px;pointer-events:none;opacity:0;transition:opacity .3s}.zone-command-modal.visible .zone-command-connector{opacity:1}.zone-command-input::-webkit-scrollbar{width:6px}.zone-command-input::-webkit-scrollbar-track{background:transparent}.zone-command-input::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.zone-command-input::-webkit-scrollbar-thumb:hover{background:#ffffff40}
