/* Theme for this app: shadcn/ui design tokens (neutral).
   Every component and every semantic Tailwind class (bg-primary,
   text-muted-foreground, border-border…) reads these, so re-theming the app
   means editing this file and nothing else. Any theme from
   ui.shadcn.com/themes or tweakcn.com pastes straight in. Dark values apply
   when <html> has class="dark" (basecoat.theme.toggle() sets it).

   public/app.css is embedded into the binary by the ion7 builder and served
   at /app.css. */

:root {
  --radius: 0.625rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: oklch(0.205 0 0);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: oklch(0.97 0 0);
  --secondary-foreground: oklch(0.205 0 0);
  --muted: oklch(0.97 0 0);
  --muted-foreground: oklch(0.556 0 0);
  --accent: oklch(0.97 0 0);
  --accent-foreground: oklch(0.205 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.922 0 0);
  --input: oklch(0.922 0 0);
  --ring: oklch(0.708 0 0);
  --chart-1: #93c5fd;
  --chart-2: #3b82f6;
  --chart-3: #2563eb;
  --chart-4: #1d4ed8;
  --chart-5: #1e40af;
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0 0);
  --sidebar-primary: oklch(0.205 0 0);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.97 0 0);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.922 0 0);
  --sidebar-ring: oklch(0.708 0 0);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.205 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.205 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.922 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.371 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.556 0 0);
  --chart-1: #93c5fd;
  --chart-2: #3b82f6;
  --chart-3: #2563eb;
  --chart-4: #1d4ed8;
  --chart-5: #1e40af;
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.439 0 0);
}

/* DOOM & MS-DOS Castle Adventure Styles */
@font-face {
  font-family: 'PressStart';
  src: local('Courier New'), monospace;
}

.pixel-art {
  image-rendering: -moz-crisp-edges;
  image-rendering: -webkit-crisp-edges;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.doom-panel {
  background: linear-gradient(180deg, #3d3d3d 0%, #222222 30%, #151515 70%, #0d0d0d 100%);
  border: 4px ridge #666;
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.2), inset 0 -2px 4px rgba(0, 0, 0, 0.8), 0 4px 10px rgba(0, 0, 0, 0.9);
}

.doom-inset {
  background: #000;
  border: 3px inset #3a3a3a;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.9);
}

.doom-digit {
  font-family: 'Courier New', 'Consolas', monospace;
  font-weight: 900;
  letter-spacing: 2px;
  color: #ef4444;
  text-shadow: 0 0 8px rgba(239, 68, 68, 0.8), 0 0 16px rgba(220, 38, 38, 0.5);
}

.doom-digit-gold {
  font-family: 'Courier New', 'Consolas', monospace;
  font-weight: 900;
  letter-spacing: 2px;
  color: #f59e0b;
  text-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
}

.doom-digit-blue {
  font-family: 'Courier New', 'Consolas', monospace;
  font-weight: 900;
  letter-spacing: 2px;
  color: #38bdf8;
  text-shadow: 0 0 8px rgba(56, 189, 248, 0.8);
}

.doom-label {
  font-family: 'Impact', 'Arial Black', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #b91c1c;
  text-shadow: 1px 1px 0 #000;
}

.crt-effect {
  position: relative;
}

.crt-effect::after {
  content: " ";
  display: block;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 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.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03));
  z-index: 20;
  background-size: 100% 3px, 6px 100%;
  pointer-events: none;
  opacity: 0.75;
}

.msdos-terminal {
  background-color: #0b110e;
  border: 2px solid #22c55e;
  color: #4ade80;
  font-family: 'Courier New', Courier, monospace;
  box-shadow: inset 0 0 12px rgba(34, 197, 94, 0.2);
}

.msdos-terminal ::selection {
  background: #22c55e;
  color: #000;
}

