* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0a0a0a; color: #ccc; font-family: 'IBM Plex Sans', sans-serif; overflow-x: hidden; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb { background: #444; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

.crt-screen {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.crt-screen.scanlines::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0,0,0,0.15) 0px,
    rgba(0,0,0,0.15) 1px,
    transparent 1px,
    transparent 3px
  );
  pointer-events: none;
  z-index: 2;
}

.crt-screen.glow canvas {
  filter: drop-shadow(0 0 4px rgba(0,255,0,0.15));
}

.monitor-bezel {
  background: linear-gradient(145deg, #2a2a2a 0%, #1a1a1a 50%, #111 100%);
  border: 3px solid #333;
  border-radius: 16px;
  padding: 16px;
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.5), 0 4px 20px rgba(0,0,0,0.8);
}

.register-changed {
  animation: flash-amber 0.5s ease-out;
}

@keyframes flash-amber {
  0% { background-color: rgba(255,176,0,0.4); }
  100% { background-color: transparent; }
}

@keyframes spin-disk {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.disk-spinning {
  animation: spin-disk 0.5s linear infinite;
}

.flag-set { color: #FFB000; font-weight: 700; }
.flag-clear { color: #555; }

.breakpoint-dot {
  width: 8px; height: 8px;
  background: #e53e3e;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
}

.io-read { color: #67e8f9; }
.io-write { color: #fb923c; }

.panel-section {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
}

.tab-active {
  background: #4178BE !important;
  color: white !important;
}

.drop-zone {
  border: 2px dashed #555;
  border-radius: 8px;
  transition: all 0.2s;
}
.drop-zone.drag-over {
  border-color: #4178BE;
  background: rgba(65,120,190,0.1);
}

@keyframes blink-cursor {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.power-led {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 4px #22c55e;
}

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