:root{--void:#06060b;--surface:#0a0a12;--surface-raised:#10101a;--border:#1a1a2e;--border-bright:#2a2a44;--text-dim:#4a4a6a;--text-muted:#7a7a9a;--text-secondary:#9a9ab0;--text-primary:#d0d0e0;--text-bright:#e8e8f0;--white:#f0f0f8;--emerald:#10B981;--emerald-dim:#059669;--emerald-glow:rgba(16,185,129,0.08);--violet:#7C3AED;--violet-dim:#6D28D9;--violet-glow:rgba(124,58,237,0.08);--rose:#F43F5E;--rose-dim:#E11D48;--rose-glow:rgba(244,63,94,0.08);--amber:#F59E0B;--amber-glow:rgba(245,158,11,0.08);--blue:#3B82F6;--cyan:#06B6D4;--font-mono:"JetBrains Mono","Fira Code","SF Mono","Consolas",monospace;--font-body:"DM Sans",-apple-system,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#__next,body,html{height:100%;background:var(--void);color:var(--text-primary);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spectralShift{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes glowPulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes modeFlash{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.access-gate{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.access-logo{font-size:13px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--emerald);animation:fadeIn .8s ease}.access-prompt{font-size:12px;color:var(--text-dim);animation:fadeIn 1s ease .3s both}.access-input{background:transparent;border:none;border-bottom:1px solid var(--border-bright);padding:10px 4px;color:var(--text-bright);font-family:var(--font-mono);font-size:14px;text-align:center;width:260px;outline:none;caret-color:var(--emerald);animation:fadeIn 1s ease .6s both;letter-spacing:.1em}.access-input::placeholder{color:var(--text-dim);letter-spacing:.15em}.access-input:focus{border-bottom-color:var(--emerald)}.access-error{font-size:11px;color:var(--rose);animation:fadeIn .3s ease}.terminal-wrapper{height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.terminal-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.03),transparent);animation:scanline 8s linear infinite;pointer-events:none;z-index:10}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.terminal-title{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--emerald)}.terminal-status{display:flex;align-items:center;gap:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--emerald);box-shadow:0 0 8px var(--emerald);animation:glowPulse 3s ease infinite;transition:all .5s ease}.status-label{font-size:9px;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;transition:color .5s ease}.mode-switcher{position:relative}.mode-toggle{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;padding:4px 10px;border-radius:3px;cursor:pointer;transition:all .15s}.mode-toggle:hover{border-color:var(--text-dim);color:var(--text-primary)}.mode-menu{position:absolute;top:100%;right:0;margin-top:6px;background:var(--surface-raised);border:1px solid var(--border-bright);border-radius:6px;padding:4px;min-width:160px;z-index:100;animation:slideUp .15s ease}.mode-option{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;cursor:pointer;border-radius:4px;transition:all .1s}.mode-option:hover{background:var(--border);color:var(--text-bright)}.mode-option.active{color:var(--emerald)}.mode-option:disabled{opacity:.3;cursor:default}.mode-option:disabled:hover{background:transparent;color:var(--text-muted)}.mode-flash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--void);z-index:200;animation:modeFlash 1.2s ease both;pointer-events:none}.mode-flash-label{font-size:14px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.spectral-bar{height:1px;background:linear-gradient(90deg,var(--violet),#6366F1,var(--blue),var(--cyan),var(--emerald),var(--amber));background-size:200% 100%;animation:spectralShift 6s linear infinite;flex-shrink:0;transition:opacity .5s}.terminal-messages{flex:1 1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.message{margin-bottom:16px;animation:slideUp .3s ease;line-height:1.75;font-size:15px}.message .prefix{font-weight:700;margin-right:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.message-user{color:var(--text-bright)}.message-user .prefix{color:var(--violet)}.message-assistant{color:var(--text-primary)}.message-assistant .prefix,.message-system{color:var(--emerald)}.message-system .prefix{color:var(--emerald-dim)}.boot-line{animation:fadeIn .15s ease both;font-size:13px;line-height:1.8}.boot-line .dim{color:var(--text-dim)}.boot-line .ok{color:var(--emerald)}.boot-line .warn{color:var(--amber)}.boot-line .label{color:var(--text-muted)}.start-hint{font-size:13px;color:var(--text-dim);animation:blink 2s ease infinite;margin-top:8px}.divider-spectral{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--violet),var(--emerald),transparent);margin:20px 0}.cursor{display:inline-block;width:8px;height:17px;background:var(--emerald);animation:blink 1s step-end infinite;margin-left:2px;vertical-align:text-bottom}.terminal-input-area{display:flex;align-items:center;padding:16px 20px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;gap:8px}.input-prompt{color:var(--violet);font-weight:700;font-size:15px;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.terminal-input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text-bright);font-family:var(--font-mono);font-size:15px;caret-color:var(--emerald)}.terminal-input::placeholder{color:var(--text-dim)}.terminal-input:disabled{opacity:.5}.upload-btn{background:transparent;border:1px solid var(--emerald-dim);color:var(--emerald);font-family:var(--font-mono);font-size:10px;padding:6px 10px;border-radius:4px;cursor:pointer;flex-shrink:0;transition:all .15s}.upload-btn:hover{border-color:var(--emerald);background:var(--emerald-glow)}.file-indicator{font-size:10px;color:var(--amber);padding:4px 10px;background:var(--amber-glow);border-radius:3px;display:flex;align-items:center;gap:6px;flex-shrink:0}.file-clear{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:0 2px}.gate-input{background:var(--surface-raised);border:1px solid var(--border-bright);border-radius:4px;padding:10px 14px;color:var(--text-bright);font-family:var(--font-mono);font-size:14px;width:100%;max-width:320px;outline:none;margin:6px 0;transition:border-color .2s}.gate-input:focus{border-color:var(--violet)}.gate-input::placeholder{color:var(--text-dim)}.level-badge{font-size:8px;letter-spacing:.08em;padding:2px 6px;border-radius:2px;border:1px solid;text-transform:uppercase;font-weight:600}@media (max-width:600px){.terminal-messages{padding:14px}.message,.terminal-input{font-size:14px}.terminal-header{padding:10px 14px}.terminal-input-area{padding:12px 14px}.boot-line{font-size:11px}}