/* The game overview owns its composition and artwork. Shared navigation and
   brand styles remain in their own files. All content works without JavaScript. */
body.icesus-site.game-overview-page { background: #0b1720; }
.icesus-site.game-overview-page main.game-page { max-width: none; margin: 0; padding: 0; }
.game-page { --game-line: #a5c5ce2b; --game-gold: #eac48b; }
.game-page section[id] { scroll-margin-top: 28px; }
.game-page img { display: block; max-width: 100%; }
.game-page p { margin: 0 0 18px; }
.game-page .game-hero { position: relative; isolation: isolate; min-height: 660px; max-width: 1800px; margin-inline: auto; display: grid; align-items: center; padding: 70px max(40px, calc((100% - 1200px) / 2)); background: #101f29; }
.game-hero-art { position: absolute; inset: 0; z-index: -2; }
.game-hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.game-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#08131cf5 0%,#091722d9 25%,#0b172076 48%,#0b172000 72%),linear-gradient(0deg,#0b1720 0%,transparent 27%); }
.game-hero-copy { max-width: 600px; }
.icesus-site .game-page .game-hero h1 { margin: 0 0 25px; font-size: clamp(3.6rem,6.8vw,6rem); line-height: 1.01; letter-spacing: -.04em; text-wrap: initial; }
.game-page .game-hero-lede { max-width: 470px; font: 400 clamp(1.3rem,1.8vw,1.5rem)/1.5 var(--icesus-display); color: #eff2eb; margin-bottom: 18px; }
.game-hero-description { max-width: 470px; font-size: 18px; line-height: 1.7; color: #c4d3da; }
.game-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 28px; }
.game-page .game-button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 52px; padding: 13px 22px; color: #192128; background: #eac48b; border: 1px solid #eac48b; border-radius: 3px; font-size: 16px; font-weight: 650; line-height: 1.5; text-decoration: none; }
.game-page .game-button:hover { color: #111c22; background: #f6d9aa; border-color: #f6d9aa; }
.game-page .game-button-secondary { background: #0b17209e; color: #e4ecef; border-color: #a8c2ce70; }
.game-page .game-button-secondary:hover { color: white; background: #203441; border-color: #c0d7df; }
.game-trail { max-width: 1240px; margin: 0 auto; padding: 25px 20px; display: flex; gap: 16px 32px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--game-line); }
.game-trail a { color: #d7e1e5; font-size: 16px; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.game-trail a:hover { color: var(--game-gold); text-decoration: underline; }
.game-content { max-width: 1240px; margin-inline: auto; padding: 0 20px; }
.game-how { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 64px; padding-block: 90px; }
.game-page .game-how h2,.game-page .game-section-heading h2,.game-page .game-belong h2,.game-page .game-start h2 { font-size: clamp(2rem,3.4vw,3rem); margin: 0 0 24px; line-height: 1.15; letter-spacing: -.025em; }
.game-how-copy > p { color: #bacbd3; font-size: 16px; }
.game-first-command { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 20px; padding: 18px 20px; border-left: 2px solid var(--game-gold); background: #132630; margin: 26px 0 15px; }
.game-first-command > span { color: #dbe8ec; font-size: 16px; }
.game-page .game-first-command code { color: #f0d3a5; padding: 3px 13px; font-size: 16px; background: #0b1922; }
.game-page .game-first-command p { grid-column: 1/-1; margin: 0; color: #b1c4ce; font-size: 16px; }
.game-text-link { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; font-size: 16px; font-weight: 600; text-decoration: none; }
.game-text-link:hover { text-decoration: underline; }
.game-text-link span { white-space: nowrap; }
.game-capture { margin: 0; min-width: 0; }
.game-capture-link { display: block; border: 1px solid #476170; border-radius: 6px; overflow: hidden; text-decoration: none; background: #101e28; box-shadow: 0 20px 70px #0005; transition: border-color .16s; }
.game-capture-link:hover { border-color: #a4ddeb; }
.game-capture img { width: 100%; height: auto; }
.game-capture figcaption { font-size: 16px; color: #a2b6c1; line-height: 1.6; margin-top: 15px; }
.game-section-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: end; padding-block: 30px 35px; border-top: 1px solid var(--game-line); }
.game-section-heading > p { color: #aebfc9; font-size: 16px; max-width: 440px; }
.game-page .game-section-heading h2 { max-width: 600px; margin-bottom: 12px; }
.game-path-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 54px 40px; }
.game-path { min-width: 0; border-bottom: 1px solid var(--game-line); padding-bottom: 26px; }
.game-path-art { width: 100%; aspect-ratio: 1.6; height: auto; object-fit: cover; border-radius: 4px; }
.game-path-copy { padding: 27px 6px 0; }
.game-page .game-path h3 { font-size: clamp(1.55rem,2.3vw,2rem); margin: 0 0 16px; letter-spacing: -.02em; }
.game-path-copy > p { color: #b9cbd4; font-size: 16px; max-width: 55ch; }
.game-reference-links { display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 12px; }
.game-reference-links a { min-height: 44px; display: inline-flex; align-items: center; color: #adbec8; font-size: 16px; text-decoration-color: #748e9c; }
.game-reference-links a:hover { color: #edf7fa; }
.game-character-art { position: relative; display: flex; justify-content: center; overflow: hidden; aspect-ratio: 1.6; background: radial-gradient(ellipse at 50% 85%,#354753 0%,#172a36 42%,#0d1b25 74%); border: 1px solid #87abb229; border-radius: 4px; isolation: isolate; }
.game-character-art img { height: 118%; width: auto; max-width: 53%; object-fit: contain; object-position: center top; margin-top: 10px; filter: drop-shadow(0 5px 18px #0006); }
.game-character-art img + img { margin-left: -22px; }
.game-character-halo { position: absolute; z-index: -1; width: 64%; aspect-ratio: 1; border: 1px solid #b4c9d327; border-radius: 50%; top: 10%; }
.game-character-halo::after { content: ''; position: absolute; inset: 12px; border: 1px solid #b4c9d310; border-radius: 50%; }
.game-map-art { position: relative; display: block; aspect-ratio: 1.6; overflow: hidden; border: 1px solid #87abb229; border-radius: 4px; background: #0c1822; }
.game-map-art img { height: 100%; width: 100%; object-fit: contain; }
.game-belong { margin-top: 80px; padding: 45px 50px; border: 1px solid #d3b67c38; border-radius: 4px; background: radial-gradient(ellipse at 50% 0,#34413966,transparent 75%),#101f27; }
.game-belong-heading { text-align: center; }
.game-section-icon { color: #eac48b; fill: none; stroke: currentColor; stroke-width: 1.5; margin: 0 auto 18px; }
.game-page .game-belong h2 { margin-bottom: 15px; }
.game-belong-heading > p:last-child { color: #bacbcf; }
.game-belong-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 32px; padding-top: 25px; border-top: 1px solid var(--game-line); }
.game-belong-grid section + section { border-left: 1px solid var(--game-line); padding-left: 50px; }
.game-page .game-belong-grid h3 { font-size: 1.65rem; margin: 0 0 12px; }
.game-belong-grid p { color: #b8c9cf; }
.game-start { text-align: center; padding: 85px 20px 80px; }
.game-start > p { color: #b8c9d2; }
.game-start .game-actions { justify-content: center; }
.game-overview-page .game-skip { position: fixed; z-index: 1100; top: 10px; left: 14px; padding: 12px 18px; transform: translateY(-160%); background: #eac48b; color: #10202b; }
.game-overview-page .game-skip:focus { transform: none; }
.game-overview-page .game-lightbox { background: #0b1720; color: #d0dfe6; border: 1px solid #698795; border-radius: 6px; padding: 0; width: min(1440px,calc(100vw - 40px)); max-height: calc(100dvh - 40px); }
.game-lightbox::backdrop { background: #020b12e8; }
.game-lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; }
.game-overview-page .game-lightbox-toolbar h2 { margin: 0; font-size: 1.4rem; }
.game-lightbox-toolbar button { padding: 10px 16px; min-height: 44px; border: 1px solid #648795; background: #1a303b; color: #e2eff2; font: inherit; cursor: pointer; }
.game-lightbox-scroll { overflow: auto; max-height: calc(100dvh - 210px); }
.game-lightbox-scroll img { display: block; width: 100%; min-width: 1100px; height: auto; }
.game-lightbox > p { font-size: 16px; margin: 0; padding: 14px 20px; }
.game-overview-page .site-footer { text-align: center; padding: 35px max(24px,calc((100% - 1100px)/2)); font-size: 13px; line-height: 1.9; }
.game-overview-page .footer-secondary { margin-top: 20px; }
.game-overview-page .footer-copyright { max-width: 900px; margin: 20px auto 0; font-size: 12px; }
@media (min-width:1800px) { .game-page .game-hero { padding-inline: 300px; } }
@media (max-width:1000px) {
  .game-page .game-hero { padding-inline: 35px; min-height: 620px; }
  .game-hero::before { background: linear-gradient(90deg,#08131cec,#091722b5 43%,#0b172010 85%),linear-gradient(0deg,#0b1720,transparent 45%); }
  .game-hero-copy { max-width: 550px; }
  .game-content { padding-inline: 28px; }
  .game-trail { gap: 10px 22px; flex-wrap: wrap; justify-content: center; }
  .game-how { gap: 30px; padding-block: 65px; grid-template-columns: 1fr 1fr; }
  .game-path-grid { gap: 40px 28px; }
  .game-section-heading { gap: 35px; }
  .game-belong { padding: 35px 30px; }
  .game-belong-grid { gap: 28px; }
  .game-belong-grid section + section { padding-left: 28px; }
}
@media (max-width:700px) {
  .game-page .game-hero { min-height: auto; padding: 180px 24px 35px; }
  .game-hero-art { bottom: auto; height: 390px; }
  .game-hero-art img { object-position: 70% center; }
  .game-hero::before { background: linear-gradient(180deg,transparent 80px,#0b1720b3 175px,#0b1720eb 290px,#0b1720 390px); }
  .game-hero-copy { max-width: none; }
  .icesus-site .game-page .game-hero h1 { font-size: clamp(2.5rem,10.5vw,4.6rem); }
  .game-page .game-hero-lede { max-width: 520px; font-size: 1.2rem; }
  .game-hero-description { max-width: 520px; }
  .game-actions { align-items: stretch; }
  .game-actions .game-button { flex: 1 1 auto; }
  .game-trail { gap: 0 22px; padding: 20px 20px 22px; }
  .game-trail a { font-size: 16px; }
  .game-content { padding-inline: 20px; }
  .game-how { grid-template-columns: 1fr; padding-block: 54px; gap: 30px; }
  .game-how-copy { max-width: 560px; }
  .game-page .game-how h2 { font-size: 2.4rem; }
  .game-section-heading { display: block; padding-block: 30px 18px; }
  .game-section-heading > p { max-width: none; }
  .game-path-grid { grid-template-columns: 1fr; gap: 35px; }
  .game-path-copy { padding-inline: 2px; }
  .game-path-copy > p { max-width: none; }
  .game-reference-links { gap: 0 18px; }
  .game-belong { margin-top: 45px; padding: 30px 22px; }
  .game-belong-grid { grid-template-columns: 1fr; gap: 28px; }
  .game-belong-grid section + section { border-left: 0; padding-left: 0; border-top: 1px solid var(--game-line); padding-top: 28px; }
  .game-start { padding: 55px 0; }
  .game-start br { display: none; }
  .game-lightbox-toolbar { padding: 10px 12px; gap: 12px; }
  .game-overview-page .game-lightbox-toolbar h2 { font-size: 1.1rem; }
  .game-overview-page .game-lightbox { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .game-lightbox-toolbar button { font-size: 16px; white-space: nowrap; }
}
@media (prefers-reduced-motion:reduce) { .game-page * { transition: none; } }
