:root {
  --axysyn-ink: #07090c;
  --axysyn-paper: #e8e6df;
  --axysyn-muted: #9a9b99;
  --axysyn-acid: #d8ff3e;
  --axysyn-violet: #a879ff;
  --axysyn-cyan: #46e8ff;
  --axysyn-ember: #ff5a29;
}

body[data-game-file] {
  --file-accent: var(--axysyn-acid);
  --file-accent-rgb: 216, 255, 62;
  background-color: var(--axysyn-ink);
  color: var(--axysyn-paper);
}

body[data-game-file="midnight"] { --file-accent: var(--axysyn-cyan); --file-accent-rgb: 70, 232, 255; }
body[data-game-file="family"] { --file-accent: var(--axysyn-violet); --file-accent-rgb: 168, 121, 255; }
body[data-game-file="lunch"] { --file-accent: var(--axysyn-ember); --file-accent-rgb: 255, 90, 41; }

body[data-game-file]::before {
  content: "MACHINE FILE // AXYSYN ARCADE";
  position: fixed;
  z-index: 999;
  right: 1rem;
  bottom: 1rem;
  padding: .55rem .75rem;
  border: 1px solid rgba(var(--file-accent-rgb), .5);
  background: rgba(7, 9, 12, .86);
  color: var(--file-accent);
  font: 800 .48rem/1 "Cascadia Mono", Consolas, monospace;
  letter-spacing: .13em;
  pointer-events: none;
  box-shadow: 0 0 22px rgba(var(--file-accent-rgb), .12);
  backdrop-filter: blur(12px);
}

body[data-game-file] .site-header {
  min-height: 72px;
  padding-inline: clamp(1rem, 3vw, 3rem);
  border-bottom: 1px solid rgba(var(--file-accent-rgb), .34);
  background: linear-gradient(180deg, rgba(7, 9, 12, .98), rgba(7, 9, 12, .86));
  box-shadow: 0 18px 55px rgba(0, 0, 0, .44), inset 0 -1px rgba(255, 255, 255, .04);
  backdrop-filter: blur(18px) saturate(1.25);
}

body[data-game-file] .site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, var(--axysyn-violet), transparent 32% 68%, var(--axysyn-cyan));
  pointer-events: none;
}

body[data-game-file] .brand {
  flex: 0 0 auto;
  padding: 0;
  background: none;
  border: 0;
}

body[data-game-file] .brand-lockup {
  display: block;
  width: clamp(140px, 13vw, 180px);
  height: auto;
  filter: none;
}

body[data-game-file] .site-nav a {
  font-family: "Cascadia Mono", Consolas, monospace;
  letter-spacing: .08em;
}

body[data-game-file] .site-nav .nav-arcade {
  color: var(--file-accent);
}

body[data-game-file] .site-nav .nav-play,
body[data-game-file] .button-primary {
  border-color: var(--file-accent);
  background: var(--file-accent);
  color: var(--axysyn-ink);
  box-shadow: 0 0 28px rgba(var(--file-accent-rgb), .16);
}

body[data-game-file] .site-nav .nav-play:hover,
body[data-game-file] .button-primary:hover {
  box-shadow: 0 0 38px rgba(var(--file-accent-rgb), .34);
}

body[data-game-file] .site-footer {
  min-height: 245px;
  border-top: 2px solid transparent;
  background:
    linear-gradient(var(--axysyn-ink), #020304) padding-box,
    linear-gradient(90deg, var(--axysyn-violet), var(--axysyn-paper), var(--axysyn-cyan)) border-box;
  box-shadow: inset 0 36px 90px rgba(var(--file-accent-rgb), .04);
}

body[data-game-file] .footer-brand img {
  display: block;
  width: 132px;
  height: auto;
  filter: none;
}

body[data-game-file] .footer-links a:hover { color: var(--file-accent); }

body[data-game-file] :focus-visible {
  outline-color: var(--file-accent);
  outline-offset: 4px;
}

@media (max-width: 820px) {
  body[data-game-file]::before { display: none; }
  body[data-game-file] .brand-lockup { width: 128px; }
  body[data-game-file] .site-nav { background: rgba(7, 9, 12, .98); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-game-file] .site-header,
  body[data-game-file] .site-nav .nav-play,
  body[data-game-file] .button-primary { transition: none !important; }
}
