/* AceHazmat — design tokens + custom utilities (static export) */
:root {
  --background: oklch(0.14 0.012 240);
  --foreground: oklch(0.96 0.01 90);
  --card: oklch(0.18 0.014 240);
  --card-foreground: oklch(0.96 0.01 90);
  --primary: oklch(0.78 0.18 62);
  --primary-foreground: oklch(0.16 0.02 240);
  --secondary: oklch(0.24 0.018 240);
  --muted: oklch(0.22 0.016 240);
  --muted-foreground: oklch(0.7 0.02 230);
  --accent: oklch(0.72 0.13 195);
  --border: oklch(0.3 0.018 230 / 60%);
  --input: oklch(0.28 0.016 230);
  --ring: oklch(0.78 0.18 62);

  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --grid-line: oklch(0.3 0.018 230 / 25%);
  --gradient-radar: radial-gradient(circle at 50% 50%, oklch(0.22 0.04 60 / 50%), transparent 70%);
  --shadow-glow: 0 0 40px -10px oklch(0.78 0.18 62 / 50%);
}

* { border-color: var(--border); }

html, body { background-color: var(--background); color: var(--foreground); }
body {
  font-family: var(--font-display);
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 64px 64px;
  background-attachment: fixed;
  margin: 0;
}

.font-mono { font-family: var(--font-mono); }
.font-display { font-family: var(--font-display); }

.text-glow { text-shadow: 0 0 24px oklch(0.78 0.18 62 / 60%); }
.bg-radar { background: var(--gradient-radar); }

.hazard-stripes {
  background-image: repeating-linear-gradient(
    45deg,
    oklch(0.78 0.18 62) 0 12px,
    oklch(0.14 0.012 240) 12px 24px
  );
}

.tech-corners { position: relative; }
.tech-corners::before, .tech-corners::after {
  content: ""; position: absolute; width: 14px; height: 14px;
  border-color: var(--primary); border-style: solid;
}
.tech-corners::before { top: -1px; left: -1px; border-width: 1px 0 0 1px; }
.tech-corners::after  { bottom: -1px; right: -1px; border-width: 0 1px 1px 0; }

/* Focus + form polish */
input, textarea { font-family: inherit; }
input:focus, textarea:focus { border-color: var(--primary); outline: none; }

/* Hover glow utility */
.hover-glow:hover { box-shadow: var(--shadow-glow); }

/* Mobile nav helper */
.mobile-menu[hidden] { display: none; }