/* GarageClub Games – plain CSS, no build step. Fonts are self-hosted (OFL). */
@font-face{font-family:"Press Start 2P";src:url(/fonts/press-start-2p-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/fonts/space-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/fonts/space-grotesk-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --bg:#140f2b; --bg2:#1f1848; --bg3:#2a2160; --line:#3d2f7a; --deep:#0a0718; --foot:#0e0a20;
  --ink:#e9e4ff; --soft:#cfc8f2; --mute:#b7aef0;
  --gold:#ffd23f; --gold-d:#8a5a00; --cyan:#7df9ff;
  --px:"Press Start 2P",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.65 "Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:var(--gold)}
a:hover{color:#fff1a8}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
p{margin:0 0 16px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

h1,h2,h3{font-family:var(--px);font-weight:400;color:#fff;margin:0 0 16px;line-height:1.5}
h1{font-size:clamp(22px,4.4vw,36px);line-height:1.4}
h2{font-size:clamp(15px,2.4vw,22px)}
h3{font-size:14px}

.skip{position:absolute;left:-9999px;top:8px;background:var(--gold);color:#1a1300;padding:10px 14px;font:400 12px var(--px);z-index:10;text-decoration:none}
.skip:focus{left:8px}

/* pixel frames: stepped corners made of box-shadows */
.px{box-shadow:0 -4px 0 0 var(--line),0 4px 0 0 var(--line),-4px 0 0 0 var(--line),4px 0 0 0 var(--line),0 8px 0 0 var(--deep)}
.pxg{box-shadow:0 -4px 0 0 var(--gold),0 4px 0 0 var(--gold),-4px 0 0 0 var(--gold),4px 0 0 0 var(--gold),0 8px 0 0 var(--gold-d)}

/* header */
.top{border-bottom:4px solid var(--bg3)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font:400 14px var(--px)}
.brand b{color:var(--gold);font-weight:400}
.brand img{width:40px;height:40px}
.top nav{display:flex;gap:24px;flex-wrap:wrap;font:400 11px var(--px)}
.top nav a{color:var(--ink);text-decoration:none;padding:8px 0}
.top nav a:hover{color:var(--gold)}

/* hero */
.stars{background-image:radial-gradient(#fff 1px,transparent 1.5px),radial-gradient(#9fb3ff 1px,transparent 1.5px);background-size:72px 72px,120px 120px;background-position:0 0,36px 56px}
.hero{border-bottom:4px solid var(--bg3)}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:64px}
.eyebrow{font:400 11px/1.6 var(--px);color:var(--cyan);margin:0 0 16px}
.lead{font-size:20px;line-height:1.6;color:var(--soft);max-width:540px}
.shot{background:var(--bg2);margin:4px}
.shot img{width:100%}

/* buttons */
.cta{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0 8px}
.btn{display:inline-block;padding:14px 20px;font:400 12px/1.5 var(--px);text-decoration:none;color:#fff;background:var(--bg3);margin:4px;
  box-shadow:0 -4px 0 0 var(--line),0 4px 0 0 var(--line),-4px 0 0 0 var(--line),4px 0 0 0 var(--line),0 8px 0 0 var(--deep)}
.btn:hover{color:#fff;transform:translateY(2px)}
.btn.gold{background:var(--gold);color:#1a1300;box-shadow:0 -4px 0 0 var(--gold),0 4px 0 0 var(--gold),-4px 0 0 0 var(--gold),4px 0 0 0 var(--gold),0 8px 0 0 var(--gold-d)}
.btn.gold:hover{color:#1a1300}
.btn.off{background:transparent;color:var(--mute);box-shadow:none;outline:2px dashed var(--line);outline-offset:2px;cursor:default}
.btn.off:hover{transform:none;color:var(--mute)}

/* sections */
.sec{padding:80px 0 16px}
.sub{color:var(--mute);margin-bottom:8px}

/* game cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin:36px 4px 0}
.card{display:block;background:var(--bg2);padding:16px;color:var(--ink);text-decoration:none}
.card:hover{background:var(--bg3);color:var(--ink)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--bg)}
.card h3{margin:0 0 8px;font-size:16px}
.card p{margin:0 0 12px;line-height:1.5}
.tag{font:400 10px/1.6 var(--px);color:var(--cyan);margin:16px 0 10px}
.more{font:400 11px var(--px);color:var(--gold)}
.card.locked{background:transparent;outline:2px dashed var(--line);outline-offset:2px}
.card.locked:hover{background:transparent}
.card.locked .more{color:var(--mute)}

/* about */
.about{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:center;margin:0 4px}
.about .px{background:var(--bg2)}
.about img{width:240px;height:240px}
.facts{display:flex;gap:12px 28px;flex-wrap:wrap;font:400 11px/1.6 var(--px);color:var(--gold);margin-top:8px}
.box{background:var(--bg2);padding:20px 24px;margin:24px 4px}

/* steps / features */
.steps{list-style:none;margin:32px 4px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px}
.steps li{background:var(--bg2);padding:22px;box-shadow:0 -4px 0 0 var(--line),0 4px 0 0 var(--line),-4px 0 0 0 var(--line),4px 0 0 0 var(--line),0 8px 0 0 var(--deep)}
.steps b{display:block;font:400 22px var(--px);color:var(--gold);margin-bottom:12px}
.steps h3{font-size:13px;margin-bottom:8px}
.steps p{margin:0;color:var(--soft)}
.ticks{list-style:none;padding:0;margin:24px 0 0;max-width:760px}
.ticks li{position:relative;padding-left:32px;margin-bottom:12px}
.ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:12px;background:var(--gold);box-shadow:4px 4px 0 0 var(--gold-d)}

/* document links */
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px;margin:28px 4px 0}
.docs a{display:block;background:var(--bg2);padding:20px;text-decoration:none;color:var(--ink);box-shadow:0 -4px 0 0 var(--line),0 4px 0 0 var(--line),-4px 0 0 0 var(--line),4px 0 0 0 var(--line),0 8px 0 0 var(--deep)}
.docs a:hover{background:var(--bg3)}
.docs strong{display:block;font:400 12px/1.5 var(--px);color:#fff;margin-bottom:10px}
.docs span{color:var(--mute);font-size:16px;line-height:1.5;display:block}

/* legal pages */
.crumbs{font:400 10px/1.8 var(--px);color:var(--mute);margin:32px 0 20px}
.crumbs a{color:var(--mute);text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.prose{max-width:780px;padding-bottom:24px}
.prose h1{font-size:clamp(18px,3.4vw,28px)}
.prose h2{font-size:14px;margin:44px 0 14px;color:var(--gold)}
.prose h3{font-size:12px;margin:28px 0 10px}
.prose ul,.prose ol{padding-left:24px;margin:0 0 16px}
.prose li{margin-bottom:8px}
.prose a{word-break:break-word}
.meta{color:var(--mute);font-size:15px}
.prose .box{margin-left:0;margin-right:0}

/* footer */
.foot{border-top:4px solid var(--bg3);background:var(--foot);margin-top:88px}
.foot .wrap{display:flex;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;padding-top:32px;padding-bottom:36px;color:var(--mute);font-size:15px;line-height:1.6}
.foot nav{display:flex;gap:10px 22px;flex-wrap:wrap}
.foot a{color:var(--mute);text-decoration:none}
.foot a:hover{color:var(--gold);text-decoration:underline}

@media(max-width:820px){
  .hero .wrap{grid-template-columns:1fr;gap:40px;padding-top:40px}
  .about{grid-template-columns:1fr;gap:32px}
  .about .px{width:240px}
  .sec{padding-top:64px}
}
@media(max-width:480px){
  body{font-size:17px}
  .wrap{padding:0 18px}
  .top nav{gap:16px}
  .btn{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn:hover{transform:none}
}
