:root {
  --amiga-blue: #000088;
  --amiga-blue-light: #0055AA;
  --amiga-orange: #FF8800;
  --amiga-white: #AAAAFF;
  --amiga-grey: #888888;
  --amiga-dark: #0a0a1a;
  --amiga-panel: #1a1a3a;
  --crt-green: #33FF33;
  --crt-amber: #FFAA00;
  --crt-dim: #116611;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--amiga-dark);
  color: #ddd;
  font-family: 'IBM Plex Mono', monospace;
  min-height: 100vh;
  overflow-x: hidden;
}

.pixel-font {
  font-family: 'Press Start 2P', monospace;
}

.amiga-border {
  border: 2px solid #555;
  border-top-color: #aaa;
  border-left-color: #aaa;
  border-right-color: #333;
  border-bottom-color: #333;
}

.amiga-border-inset {
  border: 2px solid #555;
  border-top-color: #333;
  border-left-color: #333;
  border-right-color: #aaa;
  border-bottom-color: #aaa;
}

.scanlines {
  position: relative;
}

.scanlines::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.15) 2px,
    rgba(0,0,0,0.15) 4px
  );
  pointer-events: none;
  z-index: 1;
}

.crt-glow {
  text-shadow: 0 0 4px currentColor, 0 0 8px currentColor;
}

.led-on {
  background: #33FF33;
  box-shadow: 0 0 6px #33FF33, 0 0 12px #33FF33;
}

.led-off {
  background: #333;
  box-shadow: none;
}

.led-solo {
  background: #FF4444;
  box-shadow: 0 0 6px #FF4444, 0 0 12px #FF4444;
}

@keyframes bounce-disk {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

.bounce-anim {
  animation: bounce-disk 1.5s ease-in-out infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.blink-anim {
  animation: blink 1s ease-in-out infinite;
}

.vu-meter-bar {
  transition: height 0.05s linear;
}

.drop-zone-active {
  border-color: var(--amiga-orange) !important;
  background: rgba(255, 136, 0, 0.1) !important;
}

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #1a1a3a; }
::-webkit-scrollbar-thumb { background: #555; border: 1px solid #333; }

.pattern-row {
  height: 18px;
  line-height: 18px;
}

.pattern-current {
  background: rgba(255, 136, 0, 0.3);
  color: #fff;
}

canvas {
  image-rendering: pixelated;
}