/* Games catalog + per-game pages. Builds on styles.css tokens. */
.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:42px}
.game-card{display:flex;flex-direction:column;border:1px solid #423348;border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,#201629,#12101a);transition:transform .18s,border-color .18s}
.game-card:hover{transform:translateY(-3px);border-color:#6c4a85}
.game-card-art{position:relative;aspect-ratio:1.5;overflow:hidden;background:#17111f}
.game-card-art img{width:100%;height:100%;object-fit:cover}
.game-card-art .status-pill{position:absolute;left:14px;top:14px;background:#100f15d9;backdrop-filter:blur(6px)}
.game-card-body{display:flex;flex-direction:column;gap:12px;padding:24px 24px 26px;flex:1}
.game-card-body .mono{font-size:10px;letter-spacing:.14em;color:var(--purple)}
.game-card-body h3{font-size:32px}
.game-card-body h3 sup{font-size:.5em}
.game-card-body>p{color:var(--muted);font-size:14px;line-height:1.75}
.game-card .tags{margin:4px 0 6px}
.game-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
.game-card-actions .button{min-height:46px;font-size:12px;gap:12px;padding:12px 16px}
.game-card.placeholder{border-style:dashed;background:#141119;justify-content:center;align-items:center;text-align:center;min-height:420px;padding:30px}
.game-card.placeholder:hover{transform:none}
.placeholder-mark{font-size:64px;color:var(--purple);line-height:1;margin-bottom:18px;filter:drop-shadow(0 0 16px #9f6ef8)}
.game-card.placeholder h3{font-size:28px;margin-bottom:12px}
.game-card.placeholder p{color:var(--muted);font-size:14px;max-width:280px}

/* App Store button: real link when the game is live, honest "coming" state otherwise.
   Production should swap in Apple's official badge artwork (Apple Marketing Resources). */
.store-badge{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 16px 8px 13px;border-radius:9px;border:1px solid #a6a6a6;background:#000;color:#fff;line-height:1.1;font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.store-badge svg{width:22px;height:22px;flex:none;fill:#fff}
.store-badge small{display:block;font-size:9px;letter-spacing:.02em}
.store-badge strong{display:block;font-size:16px;font-weight:600;letter-spacing:-.01em}
a.store-badge:hover{color:#fff;border-color:#fff}
.store-badge[aria-disabled=true]{background:transparent;border-style:dashed;border-color:#5a4a68;color:var(--muted);cursor:default}
.store-badge[aria-disabled=true] svg{fill:var(--muted)}

/* Per-game page */
.spark-hero h1{font-size:88px;margin-top:22px;letter-spacing:-.06em}
.spark-hero .subheadline{color:#ffc145}
.spark-hero .eyebrow{color:#3fc2ff}
/* Device composite: iPad with the iPhone tucked over its lower-right corner. */
.device-stack{position:relative;padding:0 0 56px 0;margin-right:28px}
.device{margin:0;background:#0b0d14;border:1px solid #2c3550;box-shadow:0 30px 80px -30px #000c,0 0 0 1px #000 inset}
.device img{display:block;width:100%;height:auto}
.device figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ipad{padding:12px;border-radius:26px}
.ipad img{border-radius:14px;aspect-ratio:1180/820;object-fit:cover}
.iphone{position:absolute;right:-28px;bottom:0;width:24%;padding:5px;border-radius:26px}
.iphone img{border-radius:21px;aspect-ratio:390/844;object-fit:cover;object-position:top}
.spark-strip strong{color:#ffc145}
.powers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:40px}
.power{border:1px solid #2a3b5c;border-top:3px solid #3fc2ff;border-radius:14px;background:#111827;padding:22px}
.power .mono{font-size:10px;letter-spacing:.14em;color:#3fc2ff}
.power h3{font-size:24px;margin:12px 0 8px}
.power p{font-size:14px;color:var(--muted);line-height:1.7}
.spark-worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.spark-worlds figure{border:1px solid #2a3b5c;border-radius:16px;overflow:hidden;background:#111827}
.spark-worlds img{width:100%;aspect-ratio:1.5;object-fit:cover}
.spark-worlds figcaption{padding:16px 18px;font-weight:700;font-size:16px}
.spark-worlds figcaption span{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:4px}
.more-games{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 36px;margin-bottom:85px;border:1px solid var(--line);border-radius:var(--radius);background:#17111f}
.more-games h2{font-size:34px}

@media(max-width:1000px){.powers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spark-hero h1{font-size:72px}}
@media(max-width:760px){
  .games-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}
  .game-card-body{padding:20px}
  .game-card-body h3{font-size:28px}
  .game-card.placeholder{min-height:0;padding:36px 22px}
  .spark-hero h1{font-size:60px}
  .device-stack{display:grid;grid-template-columns:1fr 27%;gap:12px;align-items:end;padding:0;margin:0}
  .ipad{padding:7px;border-radius:16px}.ipad img{border-radius:10px}
  .iphone{position:static;width:auto;padding:4px;border-radius:16px}.iphone img{border-radius:13px}
  .powers-grid,.spark-worlds{grid-template-columns:1fr;gap:14px;margin-top:28px}
  .more-games{display:block;padding:26px 22px;margin-bottom:50px}
  .more-games .button{margin-top:20px}
}

/* Additional studio games reuse the catalog and shared studio chrome. */
.packing-card img{object-position:center 45%}
.bit-card{background:#f5f1eb}.bit-card img{object-fit:contain}
.lineup-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-top:72px;padding-bottom:70px}
.lineup-hero h1{font-size:clamp(52px,5.3vw,78px);margin-top:22px}.lineup-hero h1 span{color:var(--orange)}
.lineup-hero .lead{margin:25px 0 18px}.lineup-hero p:not(.eyebrow):not(.lead){color:var(--muted)}
.lineup-hero .caption{margin-top:18px;font-size:12px}.lineup-hero .tags{margin-top:22px}
.packing-hero .eyebrow{color:#a9d9c8}.packing-hero h1 span{color:#dfc58e}
.packing-phone{justify-self:center;width:min(100%,295px)}.packing-phone img{width:100%;height:auto;border-radius:30px;border:6px solid #283537;box-shadow:0 24px 80px #0006}
.packing-phone figcaption,.bit-portrait figcaption{font-size:11px;text-align:center;color:var(--muted);margin-top:14px}
.lineup-section{padding-top:64px;padding-bottom:72px;border-top:1px solid var(--line)}.lineup-section h2{margin-top:18px}.lineup-section>.lead{margin-top:24px}
.lineup-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.lineup-features article{padding:26px;border:1px solid var(--line);border-radius:16px;background:#17111f}.lineup-features p{margin-top:16px;font-size:14px;color:var(--muted)}
.packing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:40px auto 0;max-width:760px}.packing-gallery img{width:100%;height:auto;border-radius:22px}.packing-gallery figcaption{font-size:13px;color:var(--muted);margin-top:16px}
.bit-hero h1 span{color:#76e2d0}.bit-portrait img{width:100%;height:auto;border-radius:30px}.bit-hero .eyebrow{color:#76e2d0}
.bit-gameplay{margin:36px auto 0;max-width:920px}.bit-gameplay video{display:block;width:100%;height:auto;background:#050918;border:1px solid var(--line);border-radius:18px}.bit-gameplay figcaption{font-size:13px;color:var(--muted);margin-top:16px}
@media(max-width:1000px){.lineup-hero{gap:35px}.lineup-features{gap:18px}.lineup-features article{padding:22px}}
@media(max-width:760px){.lineup-hero{grid-template-columns:1fr;gap:34px;padding-top:42px;padding-bottom:44px}.lineup-hero h1{font-size:clamp(48px,12vw,66px)}.lineup-hero .eyebrow{font-size:9px;letter-spacing:.1em}.packing-phone{width:min(100%,270px)}.bit-portrait{max-width:380px;justify-self:center}.lineup-section{padding-top:44px;padding-bottom:48px}.lineup-features{grid-template-columns:1fr;gap:14px;margin-top:28px}.packing-gallery{gap:14px;margin-top:28px}.packing-gallery img{border-radius:12px}.packing-gallery figcaption{font-size:11px}.bit-gameplay{margin-top:28px}}
