/* ===========================================================
   Trinitytech Game Studio — a deliberately different skin.
   The rest of the site is a terminal: flat, mono, phosphor green.
   This section is an arcade cabinet: deep violet space, neon glow,
   rounded cards and a display face. Loaded only on /games/.
   Scoped under .arcade so it can never leak into the other pages.
   =========================================================== */
.arcade{
  --a-bg:#0A0618;
  --a-bg2:#140B2E;
  --a-card:rgba(255,255,255,.045);
  --a-card-2:rgba(255,255,255,.07);
  --a-line:rgba(255,255,255,.11);
  --a-ink:#F2EEFF;
  --a-dim:#B6ACD8;
  --a-faint:#8277AB;
  --a-neon:#7C6CF0;
  --a-neon-2:#36E4DA;
  --a-hot:#FF6FB5;
  --a-display:"Fredoka","Baloo 2",var(--font-mono),system-ui,sans-serif;
  position:relative;
  background:
    radial-gradient(120% 90% at 12% -10%, rgba(124,108,240,.30) 0%, transparent 55%),
    radial-gradient(90% 80% at 88% 4%, rgba(54,228,218,.18) 0%, transparent 52%),
    radial-gradient(70% 60% at 50% 110%, rgba(255,111,181,.16) 0%, transparent 60%),
    linear-gradient(180deg,var(--a-bg2) 0%,var(--a-bg) 46%,var(--a-bg) 100%);
  color:var(--a-ink);
  overflow:hidden;
}
/* faint play-field grid, the cabinet's screen */
.arcade::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 70%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 70%);
}
.arcade > *{position:relative;z-index:1}
.arcade .wrap{max-width:1180px}

/* ---------- hero ---------- */
.g-hero{padding:74px 0 54px;text-align:center}
.g-badge{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--a-neon-2);
  border:1px solid rgba(54,228,218,.35);background:rgba(54,228,218,.08);
  border-radius:999px;padding:7px 15px;
}
.g-hero h1{
  font-family:var(--a-display);font-weight:600;letter-spacing:-.01em;line-height:1.05;
  font-size:clamp(34px,6vw,62px);margin:20px 0 0;
  background:linear-gradient(92deg,#FFFFFF 10%,#C9BFFF 48%,#36E4DA 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.g-hero .g-lede{max-width:62ch;margin:18px auto 0;font-size:17px;line-height:1.65;color:var(--a-dim)}
.g-stats{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;margin-top:34px}
.g-stat b{display:block;font-family:var(--a-display);font-size:30px;line-height:1;color:#fff}
.g-stat span{display:block;margin-top:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--a-faint)}

/* the four icons, floating above the fold */
.g-tray{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:42px}
.g-tray a{display:block;width:76px;height:76px;border-radius:19px;overflow:hidden;
  border:1px solid var(--a-line);box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:transform .18s ease,box-shadow .18s ease}
.g-tray a:hover{transform:translateY(-6px) rotate(-2deg);box-shadow:0 16px 36px rgba(0,0,0,.6)}
.g-tray img{width:100%;height:100%;display:block}

/* ---------- game cards ---------- */
.g-list{display:flex;flex-direction:column;gap:30px;padding:10px 0 80px}
.g-card{
  --accent:var(--a-neon);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;
  border:1px solid var(--a-line);border-radius:22px;padding:30px 32px;
  background:linear-gradient(140deg,var(--a-card-2),var(--a-card));
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  transition:border-color .2s ease,transform .2s ease;
}
.g-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-3px)}
.g-head{display:flex;align-items:center;gap:18px}
.g-icon{width:84px;height:84px;border-radius:21px;flex:none;display:block;
  border:1px solid var(--a-line);box-shadow:0 0 0 1px rgba(0,0,0,.3),0 12px 28px rgba(0,0,0,.45)}
.g-name{font-family:var(--a-display);font-weight:600;font-size:27px;line-height:1.1;color:#fff}
.g-name small{display:block;font-size:14px;font-weight:400;color:var(--accent);margin-top:5px;letter-spacing:.02em}
.g-tagline{font-size:16.5px;line-height:1.6;color:#E6E0FF;margin:18px 0 0;max-width:56ch}
.g-blurb{font-size:14.5px;line-height:1.7;color:var(--a-dim);margin:10px 0 0;max-width:62ch}
.g-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.g-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;color:var(--a-dim);
  border:1px solid var(--a-line);background:rgba(255,255,255,.04);border-radius:999px;padding:4px 11px}

/* store buttons */
.g-get{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.g-btn{display:inline-flex;align-items:center;gap:9px;border-radius:12px;padding:10px 16px;
  font-size:13.5px;font-weight:500;border:1px solid var(--a-line);background:rgba(255,255,255,.06);
  color:#fff;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.g-btn:hover{background:rgba(255,255,255,.12);border-color:var(--accent);transform:translateY(-2px)}
.g-btn svg{width:17px;height:17px;flex:none}
.g-btn small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--a-faint);line-height:1}
.g-btn b{display:block;font-weight:600;font-size:13.5px;line-height:1.25}
.g-btn.site{background:transparent}

/* screenshots */
.g-shots{display:flex;gap:12px;flex:none}
.g-shots img{display:block;border-radius:14px;border:1px solid var(--a-line);
  box-shadow:0 14px 34px rgba(0,0,0,.5);background:#0D0820}
.g-card.portrait .g-shots img{width:132px}
.g-card.wide{grid-template-columns:minmax(0,1fr)}
.g-card.wide .g-shots{margin-top:22px;flex-wrap:wrap}
.g-card.wide .g-shots img{width:min(100%,330px)}

/* ---------- closing band ---------- */
.g-cta{border:1px solid var(--a-line);border-radius:22px;padding:36px 34px;margin-bottom:76px;
  background:linear-gradient(120deg,rgba(124,108,240,.22),rgba(54,228,218,.10));
  display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.g-cta h2{font-family:var(--a-display);font-weight:600;font-size:25px;color:#fff;margin:0 0 8px}
.g-cta p{margin:0;color:var(--a-dim);font-size:15px;line-height:1.65;max-width:68ch}
.g-cta .btn{background:#fff;color:#1A1033;border-color:#fff;border-radius:12px}
.g-cta .btn:hover{box-shadow:0 10px 26px rgba(255,255,255,.22);transform:translateY(-2px)}

@media(max-width:900px){
  .g-card{grid-template-columns:minmax(0,1fr)}
  .g-shots{margin-top:22px;overflow-x:auto;padding-bottom:4px}
  .g-card.portrait .g-shots img{width:120px}
  .g-hero{padding:54px 0 40px}
  .g-stats{gap:22px}
  .g-teaser{padding:24px}
}
@media (prefers-reduced-motion:reduce){
  .g-tray a:hover,.g-card:hover,.g-btn:hover,.g-cta .btn:hover{transform:none}
}
