:root {
  color-scheme: dark;
  --background: 0 0% 0%;
  --foreground: 270 25% 90%;
  --card: 270 20% 8%;
  --card-foreground: 270 25% 90%;
  --popover: 270 20% 8%;
  --popover-foreground: 270 25% 90%;
  --primary: 270 78% 76%;
  --primary-foreground: 270 28% 7%;
  --secondary: 270 18% 13%;
  --secondary-foreground: 270 22% 86%;
  --muted: 270 17% 11%;
  --muted-foreground: 270 13% 63%;
  --accent: 270 23% 20%;
  --accent-foreground: 270 25% 94%;
  --border: 270 16% 25%;
  --input: 270 17% 24%;
  --ring: 270 78% 76%;
  --sidebar-background: 270 23% 6%;
  --sidebar-foreground: 270 16% 72%;
  --sidebar-primary: 270 78% 76%;
  --sidebar-primary-foreground: 270 28% 7%;
  --sidebar-accent: 270 18% 13%;
  --sidebar-accent-foreground: 270 22% 86%;
  --sidebar-border: 270 16% 25%;
  --sidebar-ring: 270 27% 64%;
}

html, body { background-color: #000; }
::selection { background: #7545aa; color: #f5edff; }
.grid-bg {
  background-color: #000;
  background-image: none;
}
.nav-pill {
  background: linear-gradient(180deg, rgba(30, 20, 43, .94), rgba(13, 8, 19, .94));
  border-color: #443056;
  box-shadow: 0 0 30px #ab65ff08, inset 0 1px #d0a0ff12;
}
.nav-dot { background: #9366b8; }
.hero-vignette {
  background: radial-gradient(ellipse at center, transparent 30%, rgba(0, 0, 0, .88) 80%), linear-gradient(180deg, rgba(0, 0, 0, .3), transparent 30%, rgba(0, 0, 0, .65));
}
.iridescent-bg {
  background: #000;
}
.iridescent-text {
  background-image: linear-gradient(100deg, #f0e1ff, #9a65cc 45%, #d4afff);
}
.iridescent-pill {
  background: #c294ff;
  border-color: #d8b8ff;
  color: #1b0d28;
  box-shadow: 0 8px 30px #0008, 0 0 28px #ab65ff12;
}
.iridescent-pill:hover {
  background: #d4afff;
  box-shadow: 0 12px 40px #ad6bff2b, 0 0 0 1px #c294ff80;
}
.iridescent-pill button { background: #32144d; color: #f4eaff; }
.iridescent-pill button:hover { background: #4b226f; }
.iridescent-pill input { color: #190b25; }
.iridescent-pill input::placeholder { color: #513766; }
.iridescent-border { background: #160d20; border-color: #422650; }
.code-block { background: #100a18; border-color: #422650; }
.code-block-header { background: #20102e; border-color: #422650; }
.glow-line { background: linear-gradient(90deg, transparent, #8551b0, transparent); }
img[src*="holo-orb"], img[src*="holo-shard"] {
  filter: grayscale(1) sepia(.7) saturate(1.3) hue-rotate(225deg) !important;
}
img[src*="lunix-logo"] { filter: sepia(.7) saturate(.9) hue-rotate(225deg); }
img[src*="lopi-organic-mark"], img[src*="lopi-logo-500x500"] {
  filter: none !important;
  object-fit: contain;
  border-radius: 0;
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #c294ff;
  outline-offset: 4px;
}
@keyframes neon-pulse {
  0%, 100% { text-shadow: 0 0 7px #c294ff26, 0 0 20px #c294ff0d; }
  50% { text-shadow: 0 0 12px #c294ff4d, 0 0 35px #c294ff1a; }
}
