/* GGE Festival Arcade: shared look (night-festival palette built on GGE black + electric green) */
:root{
  --night:#0A0618; --night-2:#170B33; --violet:#2A1257; --plum:#3B1766;
  --ink:#FFFFFF; --muted:#BDB6DA; --line:rgba(255,255,255,.14);
  --green:#39FF14; --pink:#FF3DBB; --cyan:#2DE2FF; --gold:#FFC53D; --orange:#FF7A2E; --red:#FF3B5C; --violet-hi:#9B6BFF;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
  box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Buttons */
.abtn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.8rem 1.4rem;border-radius:999px;border:2px solid var(--green);background:var(--green);color:#000;font-family:var(--body);font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:transform .12s ease, box-shadow .2s ease, background .2s ease}
.abtn:hover{box-shadow:0 0 0 4px rgba(57,255,20,.25),0 8px 30px rgba(57,255,20,.35)}
.abtn:active{transform:scale(.97)}
.abtn-ghost{background:transparent;color:var(--ink);border-color:rgba(255,255,255,.55)}
.abtn-ghost:hover{border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.abtn-big{min-height:58px;font-size:1.15rem;padding:1rem 2rem}

/* Arcade header */
.ahead{position:sticky;top:0;z-index:30;background:rgba(10,6,24,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.ahead .in{width:min(1160px,100% - 2rem);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px}
.ahead .home{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.ahead .home img{height:34px;width:auto}
.ahead .tag{font-family:var(--display);font-weight:900;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;color:var(--green);border-left:1px solid var(--line);padding-left:.7rem;line-height:1}
.anav{display:flex;align-items:center;gap:1.25rem}
.anav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--muted)}
.anav a:hover{color:var(--ink)}
.anav .abtn{min-height:40px;padding:.5rem 1rem;font-size:.92rem;color:#000}
@media (max-width:620px){.anav .hide-sm{display:none}.ahead .tag{display:none}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.startback{display:block;width:fit-content;margin:.8rem auto 0;color:var(--muted);font-weight:600;font-size:.9rem;text-decoration:none;padding:.4rem .6rem}
.startback:hover{color:var(--ink);text-decoration:underline}
