/* VHS Theme — matches iOS app VHSTheme colors */
:root {
  /* Backgrounds */
  --bg: #0a0a14;
  --surface: #12121e;
  --surface-light: #1a1a2e;

  /* Accents */
  --cyan: #78dbeb;
  --purple: #7a2ebf;
  --violet: #a373f0;
  --hot-pink: #ff73a6;
  --mint: #59f2b3;
  --mascot-yellow: #ffe833;
  --pass-red: #eb5261;
  --uncertain-amber: #ffb847;

  /* Text */
  --text-primary: #e8e8f0;
  --text-secondary: rgba(232, 232, 240, 0.6);
  --text-tertiary: rgba(232, 232, 240, 0.35);

  /* Borders */
  --border: rgba(120, 219, 235, 0.2);
  --border-subtle: rgba(120, 219, 235, 0.1);

  /* Spacing */
  --xs: 4px;
  --sm: 8px;
  --md: 12px;
  --lg: 16px;
  --xl: 24px;
  --xxl: 32px;

  --card-radius: 12px;
  --card-padding: 16px;
}

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

body {
  background: var(--bg);
  color: var(--text-primary);
  font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace;
  font-size: 13px;
  line-height: 1.5;
  min-height: 100vh;
}

/* Scanline overlay */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.03) 2px,
    rgba(0, 0, 0, 0.03) 4px
  );
  pointer-events: none;
  z-index: 9999;
}

a {
  color: var(--cyan);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

::selection {
  background: var(--purple);
  color: var(--text-primary);
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: var(--surface);
}
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--cyan);
}
