Build a single-file browser-native audio workstation: a "dub techno sequencer with tape deck controls" — a tactile 16-step sequencer with synth controls, modulation, and live controls. Use the Web Audio API. No external images or libraries.

## Requirements

- Single self-contained `index.html` with inline CSS and JS
- All sound generated via Web Audio API oscillators, noise buffers, and effects — no audio files
- Tape deck visual theme with animated spinning reels, tape path, transport controls
- 4-track 16-step sequencer: Kick, Hi-hat, Bass, Rim/percussion
- Per-step on/off toggling via click or touch
- Real-time step position indicator during playback
- Per-track volume slider, mute and solo buttons
- Master tempo control (60–200 BPM), swing, and volume
- Ping-pong delay effect with time, feedback, and mix controls
- Convolver-based reverb with mix and decay controls
- Tape wow/flutter LFO effect
- Master output VU meter (left/right bars)
- Real-time waveform display (master out)
- 4 pattern memory slots (A/B/C/D) with save and randomize
- Transport: Play/Stop toggle, Record (write-lock indicator), Clear pattern
- Knob controls respond to vertical drag (mouse and touch)

## Visual direction

Dark studio aesthetic (#0b0b14 background), warm amber/orange accent (#ff6b35), monospace typography. Tape deck spans the top with two animated reels (supply/take-up), tape guides, and playback head. Step sequencer uses a TR-style grid. VU meters and waveform use glowing gradients.

## Sound design

- **Kick**: sine oscillator with frequency sweep (140→42 Hz), sub layer, waveshaping saturation
- **Hat**: filtered noise burst with highpass at 6 kHz, short decay
- **Bass**: triangle oscillator playing from a C-minor scale, lowpass filter sweep, sub-octave sine layer
- **Rim**: bandpass-filtered noise burst at 220 Hz with sine tone layer at 280 Hz

All voices route through a shared delay (ping-pong stereo) and reverb (generated impulse response) send.
