:root,[data-theme=dark]{--surface:#0a0a0a;--foreground:#d4d4d4;--muted:#555;--panel:#111;--panel-border:#2a2a2a;--accent:#0f8;--accent-dim:#00cc6a;--bubble:#1a1a1a;--soft:#161616;--ascii-color:#fff;--ascii-bg:#000}[data-theme=light]{--surface:#f0f0f0;--foreground:#1a1a1a;--muted:#777;--panel:#fff;--panel-border:#ccc;--accent:#05f;--accent-dim:#04c;--bubble:#e8e8e8;--soft:#f5f5f5;--ascii-color:#1a1a1a;--ascii-bg:#f0f0f0}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--surface);color:var(--foreground);font-family:JetBrains Mono,monospace;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}a:hover{color:var(--accent-dim)}.scanline-overlay:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);width:100%;height:100%;position:fixed;top:0;left:0}.app-frame{background:var(--surface);min-height:100vh;transition:background-color .3s}.container{max-width:900px;margin:0 auto;padding:1rem}#theme-toggle{z-index:50;border:2px solid var(--panel-border);background:var(--panel);width:44px;height:44px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;transition:background-color .2s,border-color .2s;display:flex;position:fixed;bottom:1rem;right:1rem}#theme-toggle:hover{background:var(--soft)}.icon{width:20px;height:20px}.hidden{display:none}.header{text-align:center;opacity:0;padding:2rem 0 1rem;animation:.8s forwards fadeInDown;transform:translateY(-20px)}.brand{letter-spacing:.12em;color:var(--foreground);text-rendering:geometricprecision;font-size:clamp(1.8rem,5vw,3rem);font-weight:700;line-height:1}.brand-accent{color:var(--accent)}.subtitle{color:var(--muted);letter-spacing:.3em;text-transform:uppercase;margin-top:.5rem;font-size:.8rem}.mode-switcher{opacity:0;justify-content:center;gap:0;margin-bottom:.5rem;animation:.8s .4s forwards fadeIn;display:flex}.mode-btn{background:var(--surface);border:2px solid var(--panel-border);color:var(--muted);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:.4rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}.mode-btn:first-child{border-right:1px solid var(--panel-border)}.mode-btn:last-child{border-left:1px solid var(--panel-border)}.mode-btn:hover{color:var(--foreground);background:var(--soft)}.mode-btn.active{background:var(--foreground);color:var(--surface);border-color:var(--foreground)}[data-mode=matrix] .app-frame,[data-mode=matrix] .viewer-container,[data-mode=matrix] .container{background:#000}[data-mode=matrix] .header,[data-mode=matrix] .chat-panel{border-color:#1a2a1a}[data-mode=matrix] .chat-panel{background:#050a05}.model-switcher{opacity:0;justify-content:center;gap:0;margin-bottom:.5rem;animation:.8s .4s forwards fadeIn;display:flex}.model-btn{background:var(--surface);border:2px solid var(--panel-border);color:var(--muted);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:.4rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}.model-btn:first-child{border-right:1px solid var(--panel-border)}.model-btn:last-child{border-left:1px solid var(--panel-border)}.model-btn:hover{color:var(--foreground);background:var(--soft)}.model-btn.active{background:var(--foreground);color:var(--surface);border-color:var(--foreground)}.controls-row{opacity:0;justify-content:center;gap:.5rem;margin-bottom:.3rem;animation:.8s .6s forwards fadeIn;display:flex}.ctrl-btn{border:2px solid var(--muted);color:var(--muted);letter-spacing:.15em;cursor:pointer;background:0 0;padding:.3rem 1.2rem;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700;transition:all .3s}.ctrl-btn:hover{border-color:var(--foreground);color:var(--foreground)}.ctrl-btn.talking{color:#00ff41;border-color:#00ff41;animation:1.5s infinite talkPulse;box-shadow:0 0 10px #00ff414d}.ctrl-btn.enhanced{color:#fa0;border-color:#fa0}@keyframes talkPulse{0%,to{box-shadow:0 0 10px #00ff414d}50%{box-shadow:0 0 20px #00ff4199}}.ctrl-btn.hidden{display:none}.sliders-panel{background:var(--surface);border:1px solid var(--panel-border);opacity:0;max-width:340px;margin:.4rem auto;padding:.5rem .8rem;animation:.3s forwards fadeIn}.sliders-panel.hidden{display:none}.slider-row{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.slider-row label{letter-spacing:.1em;width:75px;color:var(--muted);text-align:right;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.55rem;font-weight:600}.slider-row input[type=range]{appearance:none;background:var(--panel-border);cursor:pointer;outline:none;flex:1;height:3px}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--foreground);cursor:pointer;border-radius:0;width:12px;height:12px}.slider-row input[type=range]::-moz-range-thumb{background:var(--foreground);cursor:pointer;border:none;border-radius:0;width:12px;height:12px}.sl-val{width:32px;color:var(--muted);text-align:left;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.55rem}.viewer-container{opacity:0;width:100%;height:55vh;margin:1.5rem 0;animation:1s .3s forwards fadeIn;position:relative;overflow:hidden}#three-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block}.loading{z-index:5;pointer-events:none;background:0 0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.loading.hidden{display:none}.loading-text{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:.85rem}.dots{animation:1.4s infinite blink}.qa-panel{border:1px solid var(--panel-border);background:var(--panel);z-index:10000;opacity:0;padding:1rem 1.25rem;animation:.8s .6s forwards fadeInUp;position:relative;transform:translateY(20px)}.qa-answer{min-height:0;transition:min-height .3s;overflow:hidden}.qa-answer:not(:empty){border-bottom:1px solid var(--panel-border);min-height:48px;margin-bottom:.75rem;padding-bottom:.75rem}.qa-answer .qa-text{color:var(--foreground);letter-spacing:.02em;font-size:.8rem;line-height:1.7}.qa-answer .qa-text .qa-cursor{background:var(--accent);vertical-align:text-bottom;width:7px;height:1em;margin-left:2px;animation:.7s step-end infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.qa-buttons{gap:.5rem;display:flex}.qa-btn{border:1px solid var(--panel-border);color:var(--muted);letter-spacing:.06em;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;flex:1;padding:.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;transition:color .2s,border-color .2s,background-color .2s}.qa-btn:hover{color:var(--foreground);border-color:var(--muted);background:var(--soft)}.qa-btn:active{color:var(--accent);border-color:var(--accent);background:#00ff8814}.qa-btn.active{color:var(--accent);border-color:var(--accent);background:0 0}.footer{opacity:0;padding:2rem 0 1.5rem;animation:1s .9s forwards fadeIn}.footer-line{background:var(--panel-border);height:1px;margin-bottom:1.5rem}.footer-content{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.footer-text{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInDown{to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,20%{opacity:1}50%{opacity:0}80%,to{opacity:1}}@media (width<=640px){.viewer-container{height:40vh}.brand{letter-spacing:.08em}.qa-buttons{flex-direction:column}.qa-btn{flex:none}.footer-content{text-align:center;flex-direction:column;align-items:center}}.app-frame:before{content:"";pointer-events:none;z-index:9998;background:radial-gradient(#0000 60%,#00000026 100%);width:100%;height:100%;position:fixed;top:0;left:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--panel-border)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}
