:root{--bg:#050810;--panel-bg:#050810d9;--glass-border:#00ff4126;--accent:#00ff41;--accent-dim:#00ff414d;--danger:#f05;--text:#e0e6f0;--text-dim:#6b7394}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);cursor:crosshair;width:100vw;height:100vh;font-family:Inter,system-ui,sans-serif;overflow:hidden}#ascii-canvas{z-index:1;width:100vw;height:100vh;position:fixed;top:0;left:0}#hud{z-index:5;pointer-events:none;flex-direction:column;justify-content:space-between;padding:1rem 1.5rem;display:flex;position:fixed;inset:0}#hud span{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 8px var(--accent-dim);font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1.8;display:block}#hud-top-left{text-align:left}#hud-top-right{text-align:right;position:absolute;top:1rem;right:1.5rem}#hud-bottom{text-align:center;opacity:.5}#hud-bottom kbd{border:1px solid var(--accent-dim);background:#00ff4126;border-radius:3px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.65rem}#audio-bar{z-index:6;background:0 0;height:3px;transition:height 50ms;position:fixed;bottom:0;left:0;right:0}#start-screen{z-index:100;background:var(--bg);justify-content:center;align-items:center;animation:.5s fadeIn;display:flex;position:fixed;inset:0}.start-content{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.glitch{letter-spacing:-4px;color:var(--text);font-family:Space Mono,monospace;font-size:clamp(3rem,10vw,6rem);font-weight:700;position:relative}.glitch:before,.glitch:after{content:attr(data-text);width:100%;height:100%;position:absolute;top:0;left:0}.glitch:before{color:#f0f;clip-path:polygon(0 0,100% 0,100% 45%,0 45%);opacity:.7;animation:2.5s linear infinite alternate-reverse glitch-1;transform:translate(-3px,-2px)}.glitch:after{color:#0ff;clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);opacity:.7;animation:2.5s linear infinite alternate-reverse glitch-2;transform:translate(3px,2px)}@keyframes glitch-1{0%{transform:translate(-3px,-2px)}20%{transform:translate(3px,1px)}40%{transform:translate(-1px,-3px)}60%{transform:translate(2px,3px)}80%{transform:translate(-2px,1px)}to{transform:translate(1px,-1px)}}@keyframes glitch-2{0%{transform:translate(3px,2px)}20%{transform:translate(-3px,-1px)}40%{transform:translate(1px,3px)}60%{transform:translate(-2px,-3px)}80%{transform:translate(2px,-1px)}to{transform:translate(-1px,1px)}}.subtitle{color:var(--text-dim);letter-spacing:.3em;text-transform:uppercase;font-size:1rem;font-weight:300}#start-screen button{color:var(--accent);border:2px solid var(--accent);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:12px;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-family:Space Mono,monospace;font-size:1.1rem;font-weight:700;transition:all .3s;display:flex}#start-screen button:hover{background:var(--accent);color:var(--bg);box-shadow:0 0 30px var(--accent-dim), 0 0 60px #00ff411a;transform:scale(1.04)}.btn-icon{font-size:1.3rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem;display:grid}.feature{color:var(--text-dim);background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.8rem;display:flex}.feature span{font-size:1.2rem}#controls-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px)saturate(1.3);backdrop-filter:blur(20px)saturate(1.3);border-left:1px solid var(--glass-border);z-index:50;flex-direction:column;width:380px;max-width:90vw;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}#controls-panel.hidden{opacity:0;pointer-events:none;transform:translate(100%)}.panel-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.panel-header h2{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-family:Space Mono,monospace;font-size:1.2rem}.icon-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:all .2s;display:flex}.icon-btn:hover{color:var(--accent);border-color:var(--accent-dim)}.panel-body{flex-direction:column;gap:1.5rem;padding:1rem 1.5rem;display:flex}.control-group{flex-direction:column;gap:.6rem;display:flex}.control-group h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.control-group h3 kbd{color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.65rem}.mode-buttons,.theme-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.mode-buttons button,.theme-buttons button{color:var(--text-dim);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-family:Inter,sans-serif;font-size:.75rem;transition:all .2s;display:flex}.mode-buttons button:hover,.theme-buttons button:hover{border-color:var(--accent-dim);color:var(--text)}.mode-buttons button.active,.theme-buttons button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:600}.swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px}input[type=range]{-webkit-appearance:none;background:#ffffff0f;border-radius:3px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;width:18px;height:18px;box-shadow:0 0 12px var(--accent-dim);border-radius:50%;margin-top:-1px}input[type=text]{color:var(--text);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;outline:none;padding:.5rem .75rem;font-family:Space Mono,monospace;font-size:.85rem;transition:border-color .2s}input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 10px var(--accent-dim)}.toggle-label{color:var(--text-dim);cursor:pointer;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.toggle-label input[type=checkbox]{appearance:none;cursor:pointer;background:#ffffff14;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle-label input[type=checkbox]:after{content:"";background:var(--text-dim);border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle-label input[type=checkbox]:checked{background:var(--accent-dim)}.toggle-label input[type=checkbox]:checked:after{background:var(--accent);left:19px}.toggle-label kbd{color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;margin-left:auto;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.6rem}.action-btn{color:var(--text);cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-family:Inter,sans-serif;font-size:.85rem;transition:all .2s;display:flex}.action-btn:hover{border-color:var(--accent-dim);background:#00ff410d}.action-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#ff005514}.action-btn kbd{color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;margin-left:auto;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.6rem}.shortcut-grid{color:var(--text-dim);grid-template-columns:1fr 1fr;gap:.3rem;font-size:.75rem;display:grid}.shortcut-grid span{align-items:center;gap:.4rem;display:flex}.shortcut-grid kbd{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;min-width:20px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.6rem}#toast-container{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--accent);letter-spacing:.05em;white-space:nowrap;border-radius:8px;padding:.6rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.8rem;animation:.3s toastIn,.3s 1.7s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.error{border:1px solid var(--danger);color:var(--danger);z-index:100;background:#ff00551a;border-radius:8px;padding:1rem 1.5rem;font-size:.85rem;display:none;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#ascii-canvas:after{content:"";pointer-events:none;z-index:2;background:repeating-linear-gradient(0deg,#00000008 0 1px,#0000 1px 3px);position:fixed;inset:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:2px}
