@font-face{font-family:"Press Start 2P";src:url(fonts/press-start-2p-400-sub.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"VT323";src:url(fonts/vt323-400-sub.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
/* L028 layout: the hero is a glowing CRT set into a dark arcade; one dark look by choice */
:root{
  --night:#0b0a12;       /* page */
  --panel:#15131f;
  --text:#ece9f5;
  --text-soft:#b6b0c8;
  --magenta:#ff3fa4;
  --cyan:#2de2e6;
  --amber:#ffc23d;
  --pixel:"Press Start 2P",ui-monospace,monospace;
  --crt:"VT323",ui-monospace,monospace;
  --body:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--night);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.55}
.wrap{max-width:1200px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}
.top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:20px}
.logo{font-family:var(--pixel);font-size:14px;line-height:1.4;color:var(--cyan);text-shadow:2px 2px 0 var(--magenta)}
.nav{display:flex;gap:26px;font-weight:500}
.btn{display:inline-block;font-family:var(--pixel);font-size:12px;padding:14px 18px;background:var(--magenta);color:var(--night);box-shadow:4px 4px 0 var(--cyan)}
.stage{position:relative;overflow:hidden}
.stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--night) 0%,rgba(11,10,18,.35) 30%,rgba(11,10,18,.55) 70%,var(--night) 100%)}
.hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding-block:28px 80px}
.bezel{background:#24212f;border-radius:28px;padding:22px;box-shadow:0 0 0 2px #34304a,0 30px 80px rgba(0,0,0,.6)}
.screen{position:relative;border-radius:36px/28px;background:#08140f;aspect-ratio:4/3;overflow:hidden;padding:7% 8%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 0 70px rgba(45,226,230,.25),0 0 40px rgba(45,226,230,.2)}
.screen::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px);pointer-events:none}
.screen h1{font-family:var(--pixel);font-weight:400;font-size:clamp(22px,3.3vw,44px);line-height:1.35;margin:0;color:var(--cyan);text-shadow:3px 3px 0 var(--magenta),0 0 18px rgba(45,226,230,.6)}
.scores{font-family:var(--crt);font-size:clamp(20px,2.1vw,28px);line-height:1.15;color:#b9ffd9;margin:0;display:grid;grid-template-columns:auto 1fr auto;gap:0 16px}
.scores dt{color:var(--amber)}
.scores dd{margin:0}
.scores dd+dd{text-align:right}
.coin{font-family:var(--pixel);font-size:clamp(11px,1.2vw,15px);color:var(--amber);margin:0}
@media (prefers-reduced-motion:no-preference){.coin{animation:blink 1.1s steps(1) infinite}@keyframes blink{0%,62%{opacity:1}63%,100%{opacity:0}}}
.side h2{font-family:var(--pixel);font-weight:400;font-size:clamp(16px,1.6vw,20px);line-height:1.6;margin:0 0 18px;color:var(--text)}
.side p{margin:0 0 26px;color:var(--text-soft);max-width:36ch}
.side .hours{font-family:var(--crt);font-size:26px;line-height:1.2;color:var(--cyan);margin:0 0 28px}
.tiles{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-block:0 80px}
.tile{background:var(--panel);border:2px solid var(--line,#2c2840);padding:26px 24px}
.tile .n{font-family:var(--pixel);font-size:26px;display:block;margin-bottom:14px}
.t1 .n{color:var(--magenta)}.t2 .n{color:var(--cyan)}.t3 .n{color:var(--amber)}
.tile h3{font-family:var(--body);font-weight:500;font-size:20px;margin:0 0 6px}
.tile p{margin:0;color:var(--text-soft)}
.foot{border-top:2px solid #2c2840;padding-block:22px;font-size:15px;color:var(--text-soft);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (max-width:900px){
  .nav{display:none}
  .hero{grid-template-columns:1fr;gap:32px;padding-block:8px 56px}
  .bezel{padding:12px;border-radius:20px}
  .tiles{grid-template-columns:1fr}
}
@media (max-width:520px){
  .logo{font-size:12px}
  .btn{font-size:10px;padding:12px 12px}
  .screen{padding:8% 7%}
  .scores{gap:0 10px}
}
