@font-face{font-family:Shrikhand;src:url(/fonts/shrikhand.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--space:#120a1f;--surface:#1e1233;--surface-2:#2a1a47;--border:#3b2661;--cream:#f7efe2;--muted:#a99bc4;--faint:#7a6c99;--funk-gold:#ffb520;--hot-pink:#ff3e8e;--alien-green:#5cff8f;--electric-cyan:#29d9ff;--grape:#7b2fbe;--font-display:"Shrikhand", "Cooper Black", Georgia, serif}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--space);color:var(--cream);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#root{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;height:100%;overflow:clip auto}.ptr-pill{z-index:10;opacity:0;pointer-events:none;background:var(--surface-2);border:1px solid var(--electric-cyan);color:var(--electric-cyan);border-radius:999px;padding:8px 16px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8rem;position:fixed;top:6px;left:50%;transform:translate(-50%)}:focus-visible{outline:2px solid var(--electric-cyan);outline-offset:2px}.app{max-width:720px;padding:12px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.app-header{flex-wrap:wrap;align-items:center;gap:4px 12px;padding-top:8px;display:flex}.app-header h1{font-family:var(--font-display);letter-spacing:.02em;color:var(--cream);text-shadow:-2px 1px 0 var(--funk-gold), 2px -1px 0 var(--electric-cyan);margin:0;font-size:1.9rem;font-weight:400}.tagline{color:var(--alien-green);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9rem}.alien-logo{filter:drop-shadow(0 0 10px #5cff8f4d);flex:none}@media (prefers-reduced-motion:no-preference){.alien-eyes{transform-origin:26px 28px;animation:6s infinite alien-blink}@keyframes alien-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}}.app-footer{color:var(--faint);text-align:center;font-size:.8rem}.app-version{opacity:.7;margin-top:4px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.7rem;display:block}.btn{background:var(--surface-2);color:var(--cream);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:8px;padding:10px 14px;font-size:.95rem}.btn:hover:not(:disabled){background:#34205a}.btn:disabled{opacity:.45;cursor:default}.btn.toggle.on{border-color:var(--alien-green);color:var(--alien-green);background:#1c3d2c}input[type=number],select{background:var(--surface-2);color:var(--cream);border:1px solid var(--border);border-radius:8px;max-width:100%;padding:9px 10px;font-size:1rem}input[type=number]{width:5.5em}input[type=range]{accent-color:var(--hot-pink);touch-action:pan-y}input:disabled{opacity:.45}.settings{background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.settings-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-wide{flex:200px}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.stepper{align-items:center;gap:6px;display:flex}.stepper .btn{padding:8px 12px;line-height:1}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch}.settings-more summary{cursor:pointer;color:var(--muted);font-size:.85rem}.settings-more[open] summary{margin-bottom:8px}.settings-hint{color:var(--faint);margin:8px 0 0;font-size:.8rem}.mic-gate{border:1px solid var(--hot-pink);background:#3d1230;border-radius:12px;padding:12px;font-size:.9rem}.mic-gate p{margin:0 0 8px}.transport{background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.record-btn{align-items:center;gap:8px;min-height:48px;font-weight:600;display:flex}.record-dot{background:var(--hot-pink);border-radius:50%;flex:none;width:12px;height:12px}.record-btn.phase-recording{border-color:var(--hot-pink);background:#4a1030}.record-btn.phase-recording .record-dot,.recording-card.phase-recording .record-dot{animation:1s ease-in-out infinite pulse}.record-btn.phase-waiting,.record-btn.phase-countIn{border-color:var(--funk-gold);background:#40320f}@keyframes pulse{50%{opacity:.3}}.play-btn{min-width:76px;min-height:48px;font-weight:600}.play-btn.playing{border-color:var(--alien-green);color:var(--alien-green);background:#1c3d2c}.bar-indicator{align-items:center;gap:10px;margin-left:auto;display:flex}.beat-dots{gap:6px;display:flex}.beat-dot{background:var(--border);border-radius:50%;width:10px;height:10px}.beat-dot.active{background:var(--alien-green)}.count-in .beat-dot.active{background:var(--funk-gold)}.bar-label{color:var(--muted);font-variant-numeric:tabular-nums;min-width:5.5ch;font-size:.85rem}.track-list{flex-direction:column;gap:10px;display:flex}.track-card{background:var(--surface);border-left:4px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.track-card.muted{opacity:.55}.track-head{align-items:center;gap:12px;display:flex}.track-name{color:inherit;text-align:left;cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:0;font-family:inherit;font-size:1rem;font-weight:600;overflow:hidden}.track-name-input{color:inherit;border:1px solid var(--muted);background:#ffffff14;border-radius:6px;width:11em;min-width:0;max-width:100%;padding:2px 6px;font-family:inherit;font-size:1rem;font-weight:600}.track-kind{color:var(--muted);font-size:.85rem}.stepper-small .btn{padding:5px 10px;font-size:.85rem}.stepper-small .stepper-value{color:var(--muted);min-width:6ch;font-size:.85rem}.remove-btn{color:var(--muted);margin-left:auto;padding:6px 10px}.remove-btn:hover:not(:disabled){color:var(--hot-pink)}.waveform{background:var(--space);border-radius:6px;width:100%;height:48px;display:block}.track-controls{align-items:center;gap:12px;display:flex}.track-controls input[type=range]{flex:1}.recording-card{border-left-color:var(--hot-pink);color:var(--muted);flex-direction:row;align-items:center;gap:10px}.recording-card.phase-waiting,.recording-card.phase-countIn{border-left-color:var(--funk-gold)}.recording-bars{color:var(--muted);margin-left:auto;font-size:.85rem}.track-empty{color:var(--faint);text-align:center;margin:0;padding:24px 12px}
