/* Game Zone homepage — dark arcade look */
body.arcade{
  --bg:#0f1020; --bg2:#171832; --line:rgba(255,255,255,.08); --tx:#f3f3ff; --dim:#a3a5c8; --acc:#7b5cff; --acc2:#ff4fa3;
  background:var(--bg); background-image:none; color:var(--tx); font-family:"Space Grotesk",system-ui,sans-serif; min-height:100dvh;
}
body.arcade a{text-decoration:none;color:inherit}

/* top bar */
.ax-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;height:62px;padding:0 16px;background:rgba(15,16,32,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ax-burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;border:0;border-radius:10px;background:var(--bg2);cursor:pointer;padding:0 10px}
.ax-burger span{display:block;height:2px;border-radius:2px;background:var(--tx)}
.ax-logo{display:flex;align-items:center;gap:8px;font:900 22px "Nunito",sans-serif;letter-spacing:-.01em;white-space:nowrap}
.ax-logo b{background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ax-logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--acc),var(--acc2));font-size:18px;box-shadow:0 4px 14px -4px var(--acc)}
.ax-search{flex:1;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:999px;background:var(--bg2);border:1px solid var(--line);transition:border-color .2s}
.ax-search:focus-within{border-color:var(--acc)}
.ax-search svg{width:18px;height:18px;fill:none;stroke:var(--dim);stroke-width:2.2;stroke-linecap:round;flex:none}
.ax-search input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--tx);font-size:15px}
.ax-search input::placeholder{color:var(--dim)}
.ax-ll{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;font:800 14px "Nunito",sans-serif;color:#fff!important;background:linear-gradient(90deg,#2bb3ff,#7b3cff);box-shadow:0 6px 18px -8px #2bb3ff;white-space:nowrap;transition:transform .15s}
.ax-ll:hover{transform:translateY(-1px)}

/* sidebar */
.ax-side{position:fixed;left:0;top:62px;bottom:0;width:232px;overflow-y:auto;padding:14px 10px 24px;background:var(--bg);border-right:1px solid var(--line);z-index:30;scrollbar-width:thin}
.ax-side nav{display:grid;gap:2px}
.ax-side button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:0;border-radius:10px;background:none;color:var(--tx);font:700 14px "Space Grotesk",sans-serif;text-align:left;cursor:pointer;transition:background .15s}
.ax-side button i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bg2);font-size:15px}
.ax-side button:hover{background:var(--bg2)}
.ax-side button[aria-current=true]{background:linear-gradient(90deg,rgba(123,92,255,.28),rgba(123,92,255,.05))}
.ax-side button[aria-current=true] i{background:var(--acc)}
.ax-side-ll{display:block;margin:18px 4px 0;padding:14px;border-radius:14px;background:linear-gradient(145deg,#2bb3ff,#7b3cff);color:#fff}
.ax-side-ll span{font-size:26px}
.ax-side-ll b{display:block;font:900 16px "Nunito",sans-serif;margin-top:4px}
.ax-side-ll small{display:block;font-size:12px;opacity:.85;margin-top:2px}
.ax-scrim{display:none}

.ax-main{margin-left:232px;padding:18px 24px 30px;min-width:0}
.ax-chips{display:none}

/* featured */
.ax-hero{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:340px;margin-bottom:8px}
.ax-hero[hidden]{display:none}
.ax-feat{position:relative;overflow:hidden;border-radius:18px;display:block;isolation:isolate;transition:transform .2s,box-shadow .2s}
.ax-feat:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(0,0,0,.8)}
.ax-feat.f0{grid-row:1/3}
.ax-feat-art{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:46%;height:80%;z-index:0;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
.ax-feat-art .art{--u:2.6}
.ax-feat.f1 .ax-feat-art,.ax-feat.f2 .ax-feat-art{width:42%;right:2%}
.ax-feat.f1 .art,.ax-feat.f2 .art{--u:1.5}
.ax-feat-txt{position:absolute;left:0;bottom:0;top:0;width:60%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;z-index:2;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent)}
.ax-feat-txt em{align-self:flex-start;font:900 11px "Nunito",sans-serif;letter-spacing:.12em;font-style:normal;padding:4px 9px;border-radius:6px;background:#ffd23f;color:#3a2a00;margin-bottom:10px}
.ax-feat-txt b{font:900 34px/1.02 "Nunito",sans-serif;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.ax-feat.f1 .ax-feat-txt b,.ax-feat.f2 .ax-feat-txt b{font-size:21px}
.ax-feat-txt small{font-size:14px;line-height:1.4;opacity:.92;margin-top:6px;max-width:340px}
.ax-feat.f1 small,.ax-feat.f2 small{font-size:12.5px}
.ax-play{align-self:flex-start;margin-top:14px;padding:9px 18px;border-radius:999px;background:#fff;color:#1a1530;font:900 14px "Nunito",sans-serif;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.ax-feat.f1 .ax-play,.ax-feat.f2 .ax-play{margin-top:10px;padding:6px 14px;font-size:12.5px}

/* sections & rows */
.ax-sec{margin-top:26px}
.ax-sec[hidden]{display:none}
.ax-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.ax-head h2{font:900 21px "Nunito",sans-serif;letter-spacing:-.01em}
.ax-more,.ax-clear{border:0;background:var(--bg2);color:var(--dim);font:700 13px "Space Grotesk",sans-serif;padding:7px 12px;border-radius:999px;cursor:pointer}
.ax-more:hover,.ax-clear:hover{color:#fff;background:var(--acc)}
.ax-row{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(170px,17vw,230px);gap:14px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory;scrollbar-width:none}
.ax-row::-webkit-scrollbar{display:none}
.ax-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.ax-empty{color:var(--dim);padding:30px 0}

/* game card */
.ax-card{position:relative;display:block;scroll-snap-align:start;border-radius:14px;transition:transform .18s}
.ax-cover{position:relative;display:block;aspect-ratio:16/10;border-radius:14px;overflow:hidden;box-shadow:0 8px 20px -12px rgba(0,0,0,.7);transition:box-shadow .18s}
.ax-cover .art{position:absolute;inset:8% 10% 12%;width:auto;height:auto;--u:1.45;filter:drop-shadow(0 8px 10px rgba(0,0,0,.3));transition:transform .25s cubic-bezier(.2,.8,.3,1)}
.ax-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.4px,transparent 1.6px);background-size:16px 16px;-webkit-mask-image:linear-gradient(160deg,#000,transparent 70%);mask-image:linear-gradient(160deg,#000,transparent 70%);pointer-events:none}
.ax-card:hover{transform:translateY(-4px)}
.ax-card:hover .ax-cover{box-shadow:0 0 0 3px var(--acc),0 16px 28px -14px rgba(0,0,0,.9)}
.ax-card:hover .art{transform:scale(1.08) rotate(-2deg)}
.ax-meta{display:block;padding:8px 2px 0}
.ax-meta b{display:block;font:800 15px "Nunito",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ax-meta small{display:block;font-size:12px;color:var(--dim);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ax-badge{position:absolute;left:8px;top:8px;z-index:2;font:900 10px "Nunito",sans-serif;letter-spacing:.08em;padding:3px 7px;border-radius:6px;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.ax-badge.new{background:#ffd23f;color:#3a2a00}
.ax-badge.hot{background:linear-gradient(90deg,#ff5a36,#ff2d6f)}
.ax-badge.up{background:linear-gradient(90deg,#7b5cff,#2bb3ff)}
.ax-badge.day{background:#20b26b}
.ax-badge.live{background:#20b26b}

/* game of the day */
.ax-today .ax-card.big{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:18px;align-items:center;background:var(--bg2);border-radius:18px;padding:12px;border:1px solid var(--line)}
.ax-today .ax-card.big:hover{transform:none}
.ax-today .ax-card.big .ax-meta b{font-size:26px;white-space:normal}
.ax-today .ax-card.big .ax-meta small{font-size:14px;white-space:normal}
.ax-today .ax-card.big .ax-badge{left:20px;top:20px}
.ax-blurb{display:block;color:var(--dim);font-size:14px;line-height:1.5;margin-top:8px;max-width:520px}
.ax-today .ax-play{display:inline-block;margin-top:14px;background:linear-gradient(90deg,var(--acc),var(--acc2));color:#fff}

/* how it works strip */
.ax-how{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.ax-how div{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}
.ax-how b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc2));font:900 14px "Nunito",sans-serif}
.ax-how p{font-size:13px;color:var(--dim);line-height:1.45}
.ax-how strong{display:block;color:var(--tx);font-size:14px}
.ax-foot{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--tx)}
.ax-foot .dim{color:var(--dim);margin-top:4px}

/* tablet & phone */
@media (max-width:900px){
  .ax-burger{display:flex}
  .ax-side{transform:translateX(-100%);transition:transform .25s ease;width:260px;z-index:60;top:0;padding-top:20px}
  body.side-open .ax-side{transform:none}
  body.side-open .ax-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50}
  .ax-main{margin-left:0;padding:12px 16px 26px}
  .ax-chips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 14px;padding:0 16px;scrollbar-width:none}
  .ax-chips::-webkit-scrollbar{display:none}
  .ax-chips button{flex:none;display:flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--tx);font:700 13px "Space Grotesk",sans-serif;cursor:pointer;white-space:nowrap}
  .ax-chips button i{font-style:normal}
  .ax-chips button[aria-current=true]{background:var(--acc);border-color:var(--acc)}
  .ax-hero{grid-template-columns:none;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:88%;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px;scrollbar-width:none}
  .ax-hero::-webkit-scrollbar{display:none}
  .ax-feat{aspect-ratio:16/11;scroll-snap-align:center}
  .ax-feat-txt em{display:none}
  .ax-feat.f0{grid-row:auto}
  .ax-feat .ax-feat-art,.ax-feat.f1 .ax-feat-art,.ax-feat.f2 .ax-feat-art{width:40%;right:3%;height:70%}
  .ax-feat .art,.ax-feat.f1 .art,.ax-feat.f2 .art{--u:1.35}
  .ax-feat-txt{width:60%;padding:16px}
  .ax-feat-txt b,.ax-feat.f1 .ax-feat-txt b,.ax-feat.f2 .ax-feat-txt b{font-size:22px}
  .ax-feat-txt small,.ax-feat.f1 small,.ax-feat.f2 small{font-size:12.5px}
  .ax-play,.ax-feat.f1 .ax-play,.ax-feat.f2 .ax-play{margin-top:10px;padding:7px 14px;font-size:13px}
  .ax-row{grid-auto-columns:42%;margin:0 -16px;padding:4px 16px 10px;scroll-padding:0 16px}
  .ax-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ax-cover .art{--u:1.15}
  .ax-today .ax-card.big{grid-template-columns:1fr;gap:6px}
  .ax-today .ax-cover{aspect-ratio:16/8}
  .ax-blurb{font-size:13px}
  .ax-today .ax-card.big .ax-meta b{font-size:20px}
  .ax-how{grid-template-columns:1fr}
}
@media (max-width:520px){
  .ax-top{gap:8px;padding:0 12px}
  .ax-logo{font-size:19px}
  .ax-logo-mark{display:none}
  .ax-ll .t{display:none}
  .ax-ll{padding:0 12px;font-size:18px}
  .ax-search{height:38px}
}
@media (prefers-reduced-motion:reduce){
  .ax-card,.ax-cover,.ax-feat,.ax-cover .art,.ax-side{transition:none}
}

/* Game Zone page: categories first */
.ax-nav{display:flex;gap:4px;margin:0 auto}
.ax-nav a{padding:8px 14px;border-radius:999px;font:700 14px "Space Grotesk",sans-serif;color:var(--dim)}
.ax-nav a:hover{color:#fff;background:var(--bg2)}
.ax-nav a[aria-current=page]{color:#fff;background:var(--bg2)}
.ax-main.ax-full{margin-left:0;max-width:1180px;margin:0 auto;padding:22px 20px 40px}
.zone-intro h1,.cat-head h1{font:900 30px "Nunito",sans-serif;letter-spacing:-.01em}
.zone-intro p{color:var(--dim);margin-top:4px}
.zone-intro[hidden],.cat-head[hidden],.zc-grid[hidden],.ax-grid[hidden]{display:none}
.zc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:20px}
.zc{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:190px;padding:18px;border:0;border-radius:18px;cursor:pointer;text-align:left;color:#fff;
  background:radial-gradient(120% 90% at 20% 10%,rgba(255,255,255,.25),transparent 55%),linear-gradient(145deg,var(--a),var(--b));
  box-shadow:0 10px 26px -16px rgba(0,0,0,.9);transition:transform .18s,box-shadow .18s;animation:zcIn .4s cubic-bezier(.2,.8,.3,1) both}
.zc:hover{transform:translateY(-4px);box-shadow:0 0 0 3px rgba(255,255,255,.85),0 18px 32px -16px rgba(0,0,0,.9)}
.zc-ico{font-size:34px;line-height:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.zc-name{font:900 24px "Nunito",sans-serif;margin-top:10px}
.zc-n{font-size:13px;font-weight:700;opacity:.85;margin-top:2px}
.zc-peek{display:flex;gap:8px;margin-top:auto;padding-top:14px;width:100%}
.zc-peek i{position:relative;flex:1;aspect-ratio:16/10;border-radius:10px;overflow:hidden;box-shadow:0 4px 10px -4px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.35)}
.zc-peek .art{position:absolute;inset:10%;width:auto;height:auto;--u:.62}
@keyframes zcIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cat-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-bottom:18px}
.cat-head span{color:var(--dim);font-weight:700}
.cat-head .ax-clear{order:-1;flex-basis:100%;max-width:max-content}
button.ax-card{border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}

/* dark game sheet */
body.arcade .sheet-wrap{background:rgba(5,6,16,.7)}
body.arcade .sheet{background:#171832;color:var(--tx);border-color:rgba(123,92,255,.6)}
body.arcade .sheet-close{background:#23244a;border-color:transparent;color:var(--tx)}
body.arcade .sheet-kind{color:#b9a6ff}
body.arcade .facts li{background:#23244a;border-color:transparent;color:var(--dim)}
body.arcade .sheet-blurb,body.arcade .gz-rule p,body.arcade .continue-note,body.arcade .text-btn{color:var(--dim)}
body.arcade .sheet-art{height:120px;border-radius:14px;margin:6px 0 0}
body.arcade .gz-rule{border-color:var(--line)}
body.arcade .gz-rule-n{border-color:var(--acc);color:#b9a6ff}
body.arcade .gz-rules-back{color:#b9a6ff}
body.arcade .gz-btn{background:linear-gradient(90deg,var(--acc),var(--acc2));color:#fff;border:0;box-shadow:0 8px 20px -10px var(--acc)}
body.arcade .gz-btn.ghost{background:transparent;color:var(--tx);border:1.5px solid rgba(255,255,255,.25);box-shadow:none}
body.arcade .sheet-grab{background:rgba(255,255,255,.2)}
@media (max-width:900px){
  .ax-main.ax-full{padding:16px 16px 30px}
  .zc-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
  .zc{min-height:150px;padding:14px}
  .zc-ico{font-size:28px}
  .zc-name{font-size:18px;margin-top:8px}
  .zc-peek{gap:5px}
  .zc-peek i:nth-child(3){display:none}
  .zone-intro h1,.cat-head h1{font-size:24px}
}
@media (max-width:520px){ .ax-nav a{padding:7px 10px;font-size:13px} }
.ax-side-cats{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;font:700 14px "Space Grotesk",sans-serif;margin-top:6px;border:1px dashed rgba(255,255,255,.18)}
.ax-side-cats i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bg2);font-size:15px}
.ax-side-cats:hover{background:var(--bg2)}
body.arcade .sheet-name,body.arcade .gz-rules-title,body.arcade .gz-rule-n{font-family:"Nunito",sans-serif}
.ax-grid{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))}
@media (max-width:900px){ .ax-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* live preview clips in the featured cards */
.ax-feat-vid{position:absolute;right:12px;top:50%;transform:translateY(-50%);height:calc(100% - 24px);aspect-ratio:1;border-radius:14px;overflow:hidden;z-index:1;box-shadow:0 10px 24px -8px rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.55);background:#000}
.ax-feat-vid video{width:100%;height:100%;object-fit:cover;display:block}
.ax-feat-vid i{position:absolute;left:6px;bottom:6px;font:800 10px "Nunito",sans-serif;font-style:normal;letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff}
.ax-feat:hover .ax-feat-vid{border-color:#fff}
@media (max-width:900px){ .ax-feat-vid{height:calc(100% - 28px);right:10px} }
.ax-alive{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ax-live{display:grid;grid-template-columns:minmax(0,46%) 1fr;gap:16px;align-items:center;padding:12px;border-radius:18px;background:var(--bg2);border:1px solid var(--line);transition:transform .18s,border-color .18s}
.ax-live:hover{transform:translateY(-3px);border-color:var(--acc)}
.ax-live-vid{display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 10px 22px -12px rgba(0,0,0,.8)}
.ax-live-vid video{width:100%;height:100%;object-fit:cover;display:block}
.ax-live-txt{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ax-live-txt em{font:900 11px "Nunito",sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#b9a6ff}
.ax-live-txt b{font:900 22px/1.1 "Nunito",sans-serif;margin-top:4px}
.ax-live-txt small{font-size:13.5px;line-height:1.5;color:var(--dim);margin-top:6px}
.ax-live .ax-play{margin-top:12px;background:linear-gradient(90deg,var(--acc),var(--acc2));color:#fff}
@media (max-width:1100px){ .ax-alive{grid-template-columns:1fr} }
@media (max-width:520px){ .ax-live{grid-template-columns:1fr;gap:10px} .ax-live-txt b{font-size:20px} }
