@tailwind base; @tailwind components; @tailwind utilities; /* ── Base ───────────────────────────────────────────────────── */ :root { --neon-cyan: #00f2ff; --neon-magenta: #ff0055; --cyber-bg: #050505; } body { background-color: var(--cyber-bg); color: #e2e8f0; font-family: 'JetBrains Mono', monospace; overflow: hidden; margin: 0; } canvas { cursor: crosshair; touch-action: none; filter: contrast(1.1) brightness(1.1); } /* ── Panels ─────────────────────────────────────────────────── */ .glass { background: rgba(10, 10, 15, 0.9); backdrop-filter: blur(15px); border: 1px solid rgba(0, 242, 255, 0.2); box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); } .control-panel { position: absolute; top: 20px; left: 20px; z-index: 10; width: 340px; border-left: 4px solid var(--neon-cyan); transition: border-color 0.5s ease; max-height: 90vh; overflow-y: auto; } .stats-panel { position: absolute; top: 20px; right: 20px; z-index: 10; width: 300px; border-right: 4px solid var(--neon-cyan); transition: border-color 0.5s ease; } /* ── Scanline overlay ───────────────────────────────────────── */ .scanline { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06)); background-size: 100% 4px, 3px 100%; pointer-events: none; z-index: 5; } /* ── Range sliders ──────────────────────────────────────────── */ input[type='range'] { appearance: none; background: #1a1a2e; height: 4px; border-radius: 2px; } input[type='range']::-webkit-slider-thumb { appearance: none; height: 14px; width: 14px; border-radius: 50%; background: var(--neon-cyan); box-shadow: 0 0 10px var(--neon-cyan); cursor: pointer; } input[type='range']::-moz-range-thumb { height: 14px; width: 14px; border-radius: 50%; background: var(--neon-cyan); box-shadow: 0 0 10px var(--neon-cyan); cursor: pointer; border: none; } input[type='range']::-moz-range-track { background: #1a1a2e; height: 4px; border-radius: 2px; } /* ── Buttons ────────────────────────────────────────────────── */ .mode-btn { clip-path: polygon(10% 0, 100% 0, 90% 100%, 0% 100%); transition: all 0.2s; } .preset-btn { border: 1px solid rgba(0, 242, 255, 0.2); font-size: 9px; padding: 4px; border-radius: 4px; background: transparent; color: #94a3b8; cursor: pointer; } .preset-btn:hover { background: rgba(0, 242, 255, 0.08); } .active-preset { background: rgba(0, 242, 255, 0.2); border-color: var(--neon-cyan); color: white; }