:root {
  --background: 270 50% 2%;
  --foreground: 210 40% 98%;
  --primary: 270 100% 64%; /* Electric Violet */
  --secondary: 330 100% 60%; /* Hot Pink */
  --muted: 270 20% 8%;
  --muted-foreground: 270 10% 70%;
  --destructive: 0 84% 60%;
  --border: 270 20% 12%;
  --card: 270 30% 5%;
  --shadow-sm: 0 10px 24px hsl(270 50% 1% / 0.4);
  --shadow-md: 0 22px 54px hsl(270 50% 1% / 0.5);
  --shadow-lg: 0 36px 94px hsl(270 50% 1% / 0.6);
  --transition-fast: 140ms ease;
  --transition-smooth: 280ms cubic-bezier(0.22, 1, 0.36, 1);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;
}

.dark {
  --background: 270 50% 2%;
  --foreground: 210 40% 98%;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  height: 100%;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

#root {
  height: 100%;
}

button,
a,
input,
textarea {
  transition: all var(--transition-fast);
}

video {
  display: block;
}

textarea {
  resize: none;
}

::selection {
  background: hsl(var(--primary) / 0.3);
  color: white;
}

::-webkit-scrollbar {
  display: none;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  display: inline-block;
  animation: marquee 10s linear infinite;
}

.safe-bottom {
  padding-bottom: env(safe-area-inset-bottom);
}

.safe-top {
  padding-top: env(safe-area-inset-top);
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Neon Accents */
.neon-border {
  box-shadow: 0 0 10px hsl(var(--primary) / 0.3);
  border-color: hsl(var(--primary) / 0.5);
}

.neon-text {
  text-shadow: 0 0 8px hsl(var(--primary) / 0.5);
}
