:root{--bg: #050508;--panel: rgba(8, 12, 22, .72);--panel-border: rgba(0, 255, 213, .22);--accent: #00ffd5;--accent-2: #ff2a6d;--text: #e8f4f8;--muted: #7a8f9a;--shadow: 0 0 24px rgba(0, 255, 213, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--bg);color:var(--text);font-family:Rajdhani,system-ui,sans-serif;overflow:hidden}#app{position:relative;width:100vw;height:100vh}#visualizer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;outline:none}.overlay{position:absolute;z-index:10;background:var(--panel);border:1px solid var(--panel-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.header{top:1.5rem;left:1.5rem;padding:.9rem 1.4rem;border-radius:14px;text-transform:uppercase}.header h1{margin:0;font-family:Orbitron,sans-serif;font-weight:900;font-size:1.55rem;letter-spacing:.08em;color:var(--accent);text-shadow:0 0 18px rgba(0,255,213,.35)}.header p{margin:.25rem 0 0;font-size:.92rem;letter-spacing:.18em;color:var(--muted)}.modes{top:1.5rem;right:1.5rem;display:flex;flex-wrap:wrap;gap:.55rem;padding:.55rem;border-radius:20px;max-width:min(52vw,460px);justify-content:flex-end}.mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text);font-family:Orbitron,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.5rem .9rem;border-radius:999px;cursor:pointer;transition:all .25s ease}.mode-btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 18px #00ffd526}.mode-btn.active{background:#00ffd51f;border-color:var(--accent);color:var(--accent);box-shadow:0 0 22px #00ffd533}.controls{bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.85rem;padding:.85rem 1.3rem;border-radius:18px;min-width:min(92vw,680px);max-width:92vw}.transport{display:flex;gap:.7rem;align-items:center;justify-content:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text);font-family:Orbitron,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.6rem 1rem;border-radius:10px;cursor:pointer;transition:all .2s ease}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#00ffd514}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.active{border-color:var(--accent-2);color:var(--accent-2);background:#ff2a6d14;box-shadow:0 0 18px #ff2a6d2e}.youtube-row,.text-input{display:none}.sliders{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;width:100%}.slider{display:flex;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.slider input[type=range]{width:100px;accent-color:var(--accent)}.status{width:100%;text-align:center;font-size:.8rem;letter-spacing:.06em;color:var(--muted);min-height:1.2em}.mobile-menu-btn,.mobile-drawer,.drawer-backdrop{display:none}@media (max-width: 720px){.desktop-modes,.desktop-controls{display:none}.header h1{font-size:1rem;letter-spacing:.06em}.header p{font-size:.65rem;letter-spacing:.12em}.header{left:.75rem;top:.75rem;padding:.55rem .8rem;border-radius:10px}.mobile-menu-btn{display:flex;position:fixed;bottom:.75rem;left:50%;transform:translate(-50%);z-index:50;width:56px;height:42px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow),0 0 18px #00ffd526;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0}.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--accent);border-radius:2px;transition:all .3s ease;box-shadow:0 0 6px var(--accent)}.mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.open span:nth-child(2){opacity:0}.mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:40}.drawer-backdrop.open{opacity:1;pointer-events:auto}.mobile-drawer{display:flex;position:fixed;flex-direction:column;bottom:0;left:0;right:0;max-height:70vh;background:#060a12eb;border-top:1px solid var(--panel-border);border-radius:20px 20px 0 0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -10px 40px #00ffd51f;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);z-index:45;padding:1rem 1.1rem 1.4rem}.mobile-drawer.open{transform:translateY(0)}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.drawer-header h2{margin:0;font-family:Orbitron,sans-serif;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.close-drawer{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text);width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.drawer-content{display:flex;flex-direction:column;gap:1.1rem;overflow-y:auto}.drawer-section h3{margin:0 0 .55rem;font-family:Orbitron,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.drawer-section .transport,.drawer-section .sliders{justify-content:flex-start}.drawer-section .slider{width:100%;justify-content:space-between}.drawer-section .slider input[type=range]{flex:1;width:auto;margin-left:.75rem}.mobile-modes{display:flex;flex-wrap:wrap;gap:.55rem}.mobile-modes .mode-btn{padding:.4rem .75rem;font-size:.62rem}.drawer-status{text-align:center;font-size:.78rem;letter-spacing:.06em;color:var(--muted)}.btn{padding:.55rem .9rem;font-size:.62rem}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
