/* —— Premium site graphics layer —— */

:root {
  --glass: rgba(8, 14, 18, 0.72);
  --glass-border: rgba(66, 232, 133, 0.35);
  --glow-strong: 0 0 48px rgba(66, 232, 133, 0.45), 0 0 120px rgba(66, 232, 133, 0.12);
  --glow-panic-strong: 0 0 40px rgba(232, 93, 4, 0.5), 0 0 80px rgba(232, 93, 4, 0.15);
  --gradient-hero: linear-gradient(135deg, #42e885 0%, #5cff9a 35%, #e85d04 70%, #42e885 100%);
}

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 3000;
  transform-origin: left;
  transform: scaleX(0);
  background: linear-gradient(90deg, var(--green-dim), var(--green-bright), var(--panic-bright));
  box-shadow: 0 0 12px var(--green);
  pointer-events: none;
}

/* Animated star twinkle overlay */
.stars::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 15% 25%, rgba(92, 255, 154, 0.9), transparent),
    radial-gradient(1px 1px at 45% 15%, #fff8, transparent),
    radial-gradient(2px 2px at 75% 45%, rgba(123, 104, 196, 0.7), transparent),
    radial-gradient(1px 1px at 85% 75%, rgba(232, 93, 4, 0.6), transparent),
    radial-gradient(1.5px 1.5px at 25% 85%, rgba(92, 255, 154, 0.8), transparent);
  animation: stars-twinkle 4s ease-in-out infinite alternate;
  opacity: 0.6;
}

@keyframes stars-twinkle {
  from { opacity: 0.35; transform: scale(1); }
  to { opacity: 0.75; transform: scale(1.02); }
}

.cosmos-canvas {
  opacity: 0.92;
  mix-blend-mode: screen;
}

@media (max-width: 768px), (pointer: coarse) {
  .cosmos-canvas {
    display: none !important;
  }

  body.film-mode .film-grain {
    opacity: 0.15;
  }

  .chaos-debris {
    display: none;
  }

  .guide-section {
    opacity: 1;
    transform: none;
  }
}

/* Header — glass command bar */
.header {
  backdrop-filter: blur(14px) saturate(1.4);
  background: linear-gradient(180deg, rgba(6, 12, 14, 0.92) 0%, rgba(4, 8, 10, 0.78) 100%) !important;
  box-shadow:
    0 4px 32px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(66, 232, 133, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.header-brand .logo-num {
  background: var(--gradient-hero);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: logo-shine 6s linear infinite;
  filter: drop-shadow(0 0 20px rgba(66, 232, 133, 0.4));
}

@keyframes logo-shine {
  to { background-position: 200% center; }
}

.nav a {
  position: relative;
  transition: color 0.2s, text-shadow 0.2s;
}

.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--green-bright), transparent);
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

.nav a:hover {
  color: var(--green-bright);
  text-shadow: 0 0 12px rgba(66, 232, 133, 0.5);
}

.nav a:hover::after {
  transform: scaleX(1);
}

/* Quote ticker */
.quote-ticker {
  backdrop-filter: blur(12px) saturate(1.3);
  border-image: linear-gradient(90deg, var(--green), var(--panic), var(--green)) 1;
  box-shadow: var(--glow-strong), inset 0 0 60px rgba(66, 232, 133, 0.04);
}

/* Panels — glass + corner accents */
.guide-panel {
  backdrop-filter: blur(8px);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

.guide-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(66, 232, 133, 0.6), transparent);
  pointer-events: none;
}

.guide-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 80px rgba(66, 232, 133, 0.03);
}

/* Section titles */
.guide-entry-title,
.section-title {
  text-shadow: 0 0 30px rgba(66, 232, 133, 0.25);
}

.guide-entry-title::after {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  margin-top: 0.5rem;
  background: linear-gradient(90deg, var(--green-bright), var(--panic), transparent);
  border-radius: 2px;
}

/* Hero equation — cinematic */
.hero-equation {
  filter: drop-shadow(0 0 40px rgba(66, 232, 133, 0.2));
}

.eq-six,
.eq-seven {
  background: linear-gradient(180deg, #ff9a4d, var(--panic-bright));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 0 24px rgba(232, 93, 4, 0.6));
}

.eq-answer {
  background: linear-gradient(180deg, #fff, var(--green-bright), var(--green-dim));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 0 32px rgba(66, 232, 133, 0.7));
}

.hero-badge {
  box-shadow: var(--glow-panic-strong);
  backdrop-filter: blur(6px);
}

.hero--cosmos {
  border: none;
  box-shadow: inset 0 0 120px rgba(66, 232, 133, 0.06);
}

.hero-cosmos-wrap {
  box-shadow:
    inset 0 0 80px rgba(66, 232, 133, 0.08),
    0 0 60px rgba(0, 0, 0, 0.4);
}

.hero-cosmos-label {
  text-shadow: 0 0 12px var(--green);
  animation: label-pulse 3s ease-in-out infinite;
}

@keyframes label-pulse {
  50% { opacity: 1; color: var(--green-bright); }
}

/* Buttons */
.btn-primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--green-bright) 0%, var(--green) 50%, var(--green-dim) 100%) !important;
  box-shadow: 0 4px 20px rgba(66, 232, 133, 0.35);
}

.btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.25) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}

.btn-primary:hover::before {
  transform: translateX(100%);
}

.btn-primary:hover {
  box-shadow: var(--glow-strong);
  transform: translateY(-1px);
}

.btn-ghost:hover {
  box-shadow: inset 0 0 24px rgba(66, 232, 133, 0.08);
}

/* Cards & quotes */
.guide-quote-card,
.film-still,
.arcade-card {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.guide-quote-card:hover,
.arcade-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--glow-strong);
}

.film-still {
  overflow: hidden;
  border-radius: 8px;
}

.film-still img {
  transition: transform 0.5s ease, filter 0.4s ease;
}

.film-still:hover img {
  transform: scale(1.06);
  filter: brightness(1.1) saturate(1.15);
}

.film-still figcaption {
  background: linear-gradient(0deg, rgba(4, 8, 10, 0.95), transparent);
}

/* Broadcast / video */
.video-card {
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.video-card:hover {
  box-shadow: var(--glow-strong);
  transform: translateY(-5px);
}

.video-card__thumb {
  overflow: hidden;
  border-radius: 6px;
}

.video-card__thumb img {
  transition: transform 0.5s ease, filter 0.4s ease;
}

.video-card:hover .video-card__thumb img {
  transform: scale(1.05);
  filter: brightness(1.08) saturate(1.2);
}

.video-play {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.video-card:hover .video-play {
  transform: scale(1.12);
  box-shadow: 0 0 24px rgba(66, 232, 133, 0.6);
}

.words-wall {
  background: linear-gradient(135deg, rgba(66, 232, 133, 0.04), rgba(123, 104, 196, 0.06)) !important;
}

.film-crawl-wrap {
  perspective: 400px;
}

.film-crawl {
  text-shadow: 0 0 20px rgba(201, 162, 39, 0.5);
}

/* Arcade stages */
.arcade-stage-wrap {
  border: 2px solid var(--glass-border);
  border-radius: 10px;
  overflow: hidden;
  box-shadow:
    inset 0 0 60px rgba(66, 232, 133, 0.06),
    0 8px 32px rgba(0, 0, 0, 0.5);
  background: radial-gradient(ellipse at center, #0a1520 0%, #020408 100%);
}

.arcade-hud {
  backdrop-filter: blur(8px);
  background: rgba(4, 10, 8, 0.85) !important;
  border-bottom: 1px solid var(--border);
  text-shadow: 0 0 8px var(--green);
}

/* Helios */
.helios-tab--active {
  background: linear-gradient(180deg, rgba(66, 232, 133, 0.15), rgba(66, 232, 133, 0.05));
}

.cc-table-wrap {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: inset 0 0 40px rgba(66, 232, 133, 0.04);
}

.cc-table thead {
  background: linear-gradient(180deg, rgba(66, 232, 133, 0.12), rgba(66, 232, 133, 0.04));
}

.cc-table tbody tr:nth-child(even) {
  background: rgba(66, 232, 133, 0.02);
}

/* Token / roadmap blocks */
.token-box,
.roadmap-item {
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.token-box:hover {
  box-shadow: var(--glow-strong);
  border-color: var(--green-bright);
}

/* Chat + music dock */
.guide-chat-toggle {
  box-shadow: var(--glow-strong);
  animation: chat-glow 3s ease-in-out infinite;
}

@keyframes chat-glow {
  50% { box-shadow: var(--glow-panic-strong); }
}

.music-dock {
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6), var(--glow);
}

/* Section reveal */
.guide-section {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.guide-section.section-visible {
  opacity: 1;
  transform: translateY(0);
}

.hero.guide-section,
.hero.guide-section.section-visible {
  opacity: 1;
  transform: none;
}

/* Panic modal */
.panic-modal {
  backdrop-filter: blur(12px);
  box-shadow: var(--glow-panic-strong), 0 24px 80px rgba(0, 0, 0, 0.7);
}

/* Aurora boost */
.aurora__blob {
  filter: blur(100px);
  opacity: 0.45;
}

/* Footer */
.guide-panel--footer {
  background: linear-gradient(0deg, rgba(66, 232, 133, 0.06), transparent 40%), var(--glass) !important;
}
