/* Game page */
.g-hero { padding: 36px 0 28px; background: radial-gradient(900px 340px at 12% -40px, color-mix(in srgb, var(--g, var(--accent)) 30%, transparent), transparent 72%); }
.crumbs { display: flex; gap: 8px; color: var(--muted); font-size: .9rem; margin-bottom: 22px; flex-wrap: wrap; }
.crumbs a { color: var(--accent); font-weight: 600; }
.g-hero-grid { display: flex; gap: 28px; align-items: center; }
.g-icon { width: 150px; height: 150px; border-radius: 34px; flex-shrink: 0; object-fit: cover; box-shadow: 0 18px 44px rgba(0,0,0,.28); font-size: 2.6rem; }
.g-info .status { display: inline-block; margin-bottom: 10px; }
.g-info h1 { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; }
.g-meta { color: var(--muted); font-weight: 500; margin-top: 6px; }
.g-short { color: var(--muted); max-width: 640px; margin-top: 10px; }
.g-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.soon-pill { cursor: default; }
@media (max-width: 640px) {
  .g-hero { padding: 24px 0 16px; }
  .g-hero-grid { flex-direction: column; align-items: flex-start; gap: 18px; }
  .g-icon { width: 104px; height: 104px; border-radius: 26px; font-size: 1.9rem; }
  .g-actions .btn { flex: 1 1 100%; }
}

/* Tabs */
.g-main { padding-top: 8px; }
.g-tabs { display: inline-flex; gap: 4px; background: var(--surface-2); padding: 4px; border-radius: 999px; margin-bottom: 26px; max-width: 100%; overflow-x: auto; scroll-margin-top: 84px; }
.g-tab { border: 0; background: transparent; color: var(--muted); font: 600 .92rem Inter, sans-serif; padding: 9px 18px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.g-tab:hover { color: var(--ink); }
.g-tab.active { background: var(--surface); color: var(--ink); box-shadow: 0 1px 4px rgba(0,0,0,.12); }

/* Overview */
.g-shots { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 12px; margin-bottom: 28px; scroll-snap-type: x proximity; }
.g-shots img { height: 240px; width: auto; border-radius: 16px; border: 1px solid var(--line); flex-shrink: 0; scroll-snap-align: start; background: var(--surface-2); }
@media (max-width: 640px) { .g-shots img { height: 180px; } }
.g-overview { display: grid; grid-template-columns: 1fr 300px; gap: 36px; align-items: start; }
.g-about h2 { font-size: 1.5rem; margin-bottom: 14px; }
.g-about p { color: var(--muted); margin-bottom: 12px; max-width: 680px; }
.g-facts { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.g-facts h3 { margin-bottom: 12px; }
.g-facts dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; font-size: .94rem; }
.g-facts dt { color: var(--muted); }
.g-facts dd { font-weight: 600; text-align: right; }
.g-legal-links { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.g-legal-links a { font-weight: 600; color: var(--accent); }
.g-note { color: var(--muted); font-size: .88rem; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
@media (max-width: 800px) { .g-overview { grid-template-columns: 1fr; gap: 24px; } }

/* Embedded policies */
.legal-embed { max-width: 760px; padding-top: 0; }
.legal-embed .legal-title { margin-top: 0; padding-top: 0; border-top: 0; font-size: 1.6rem; }
.legal-standalone { margin-top: 28px; font-size: .88rem; color: var(--muted); word-break: break-all; }

.g-missing { text-align: center; padding: 96px 16px; }
.g-missing p { color: var(--muted); margin: 10px 0 22px; }
.section-head .btn { flex-shrink: 0; }
#gMain + .section, .g-main ~ .section { padding-top: 72px; }
