*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--bg-2:#080808;--surface:#111;--surface-2:#1a1a1a;--border:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.2);--text:#fff;--text-muted:hsla(0,0%,100%,.5);--text-dim:hsla(0,0%,100%,.2);--accent:#fff;--accent-dim:hsla(0,0%,100%,.35);--accent-glow:hsla(0,0%,100%,.05);--danger:#ff4d4d;--success:#4ade80;--user-bubble:#111;--bot-bubble:#0a0a0a;--scrollbar:hsla(0,0%,100%,.1);--hdr-bg:#000;--input-bg:#0a0a0a;--rp-bg:#050505;--rp-border:hsla(0,0%,100%,.07);--rp-text:hsla(0,0%,100%,.8);--rp-dim:hsla(0,0%,100%,.22);--neon:hsla(0,0%,100%,.1);--neon-soft:hsla(0,0%,100%,.03);--toggle-border:hsla(0,0%,100%,.18);--toggle-color:hsla(0,0%,100%,.55);--toggle-hover:hsla(0,0%,100%,.07);--figure-fill:#c4ccd8;--figure-fill-2:#8898b0}html[data-theme=light]{--bg:#f9f6f2;--bg-2:#fff;--surface:#fff;--surface-2:#f2ebe2;--border:#ede8e2;--border-hover:#d8d0c8;--text:#070404;--text-muted:rgba(7,4,4,.55);--text-dim:rgba(7,4,4,.28);--accent:#070404;--accent-dim:rgba(7,4,4,.45);--accent-glow:rgba(7,4,4,.05);--danger:#d93025;--success:#16a34a;--user-bubble:#ede8e2;--bot-bubble:#fff;--scrollbar:#d8d0c8;--hdr-bg:#fff;--input-bg:#fff;--rp-bg:#f9f6f2;--rp-border:#ede8e2;--rp-text:#070404;--rp-dim:rgba(7,4,4,.4);--neon:rgba(7,4,4,.12);--neon-soft:rgba(7,4,4,.04);--toggle-border:rgba(7,4,4,.18);--toggle-color:rgba(7,4,4,.55);--toggle-hover:rgba(7,4,4,.06);--figure-fill:#1a2540;--figure-fill-2:#0d1a30}body,html{height:100%;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;border:1px solid var(--neon);box-shadow:inset 0 0 40px var(--neon-soft);pointer-events:none;z-index:9999}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}button{cursor:pointer}button,input,textarea{font-family:inherit}.branch-figure g,.branch-figure g circle,.branch-figure g path,.branch-figure g rect{fill:var(--figure-fill)!important}.branch-figure .inner-fill{fill:var(--figure-fill-2)!important}.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;border:1.5px solid var(--toggle-border);background:transparent;color:var(--toggle-color);font-size:12px;font-weight:500;letter-spacing:.5px;transition:background .2s,border-color .2s,color .2s,transform .15s;cursor:pointer}.theme-toggle:hover{background:var(--toggle-hover);border-color:var(--border-hover);color:var(--text);transform:scale(1.04)}@keyframes soundbar{0%,to{transform:scaleY(.2)}50%{transform:scaleY(1)}}.waveform{display:inline-flex;align-items:center;gap:3px;height:16px}.waveform span{display:block;width:3px;height:100%;border-radius:2px;background:var(--text);transform-origin:bottom;animation:soundbar .8s ease-in-out infinite}.waveform span:first-child{animation-delay:0s}.waveform span:nth-child(2){animation-delay:.1s}.waveform span:nth-child(3){animation-delay:.2s}.waveform span:nth-child(4){animation-delay:.15s}.waveform span:nth-child(5){animation-delay:.05s}@keyframes branchPulse{0%,to{filter:drop-shadow(0 0 3px rgba(255,255,255,.2))}50%{filter:drop-shadow(0 0 12px rgba(255,255,255,.7))}}@keyframes branchPulseLight{0%,to{filter:drop-shadow(0 0 3px rgba(7,4,4,.15))}50%{filter:drop-shadow(0 0 12px rgba(7,4,4,.55))}}.branch-active{animation:branchPulse 1.2s ease-in-out infinite}html[data-theme=light] .branch-active{animation:branchPulseLight 1.2s ease-in-out infinite}@keyframes blinkDot{0%,to{opacity:1}50%{opacity:.2}}.blink{animation:blinkDot 1.4s ease-in-out infinite}@keyframes scanline{0%{top:-5%}to{top:105%}}.scanline{position:absolute;left:0;right:0;height:1px;background:linear-gradient(transparent,var(--border-hover),transparent);animation:scanline 5s linear infinite;pointer-events:none;opacity:.6}@keyframes progressShine{0%{background-position:-200%}to{background-position:200%}}.upload-progress-bar{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--text) 0,var(--text-muted) 50%,var(--text) 100%);background-size:200% auto;animation:progressShine 1.5s linear infinite;transition:width .2s ease}.upload-progress-bar.done{background:var(--success);animation:none}.upload-progress-bar.error{background:var(--danger);animation:none}@keyframes loginShake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}.login-shake{animation:loginShake .4s ease}