/* Storefront colours; game styles are scoped to avoid changing other games. */
.gr-page { --gr-ink:#173b49; --gr-cyan:#8ddce5; --gr-gold:#ffd052; --gr-paper:#fff7e5; background:#0c222b; color:var(--gr-paper); }
.gr-page::before { display:none; }
.gr-page .site-header { background:rgba(9,28,36,.96); border-bottom-color:#34545e; }
.gr-page .nav-links a[aria-current="page"] { color:#fff2bb; border-color:#ffd052; background:#314c50; }
.gr-page .eyebrow { color:var(--gr-cyan); letter-spacing:.12em; }
.gr-page main { overflow:clip; }
.gr-page h2 { font-size:clamp(1.9rem,4vw,3.2rem); line-height:1.12; letter-spacing:-.035em; margin:12px 0 22px; }
.gr-page h3 { font-size:1.5rem; margin:10px 0 15px; }
.gr-page p { line-height:1.75; }
.gr-page :focus-visible,.gr-button:focus-visible { outline:3px solid #8ddce5; outline-offset:5px; }
.gr-skip { position:fixed; top:12px; left:12px; z-index:100; transform:translateY(-150%); padding:12px 20px; background:#ffd052; color:#102c38; border-radius:6px; }
.gr-skip:focus { transform:translateY(0); }
.gr-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; }
.gr-button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:12px 22px; font-weight:750; text-decoration:none; border:1px solid #ffd052; border-radius:5px; background:#ffd052; color:#102c38; box-shadow:0 4px 0 #927334; transition:background .15s,transform .15s; }
.gr-button:hover { background:#ffe391; transform:translateY(-2px); }
.gr-button-secondary { background:#173b49; border-color:#8ddce5; color:#f5f8ee; box-shadow:0 4px 0 #07171f; }
.gr-button-secondary:hover { background:#235363; }
.gr-hero { position:relative; isolation:isolate; min-height:720px; display:flex; align-items:center; border-bottom:1px solid #4c7180; }
.gr-hero__scene { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:70% center; }
.gr-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(9,30,39,.97),rgba(9,30,39,.85) 37%,rgba(9,30,39,.25) 78%),linear-gradient(0deg,#0c222b,transparent 25%); }
.gr-hero__inner { width:min(1180px,100%); margin:auto; padding:72px 24px 80px; }
.gr-status { display:inline-flex; align-items:center; gap:9px; border:1px solid #708c93; border-radius:99px; padding:8px 14px; color:#ecf8f4; background:rgba(8,25,33,.75); font-size:.8rem; letter-spacing:.045em; }
.gr-status::before { content:""; width:7px; height:7px; border-radius:50%; background:#ffd052; }
.gr-logo { display:block; width:min(575px,100%); height:auto; margin:30px 0 24px; }
.gr-hero__tagline { font-size:clamp(1.9rem,3.6vw,3.1rem); font-weight:800; line-height:1.13 !important; letter-spacing:-.045em; max-width:640px; margin:0 0 20px; }
.gr-hero__intro { font-size:1.05rem; max-width:565px; color:#e1ebeb; margin-bottom:26px; }
.gr-hero__actions { display:flex; flex-wrap:wrap; gap:16px; }
.gr-mode-strip { display:flex; max-width:660px; padding:28px 0 0; margin-top:28px; border-top:1px solid #56727d; }
.gr-mode-strip div { flex:1; border-right:1px solid #526875; padding:0 18px; }
.gr-mode-strip div:first-child { padding-left:0; }
.gr-mode-strip div:last-child { border:0; }
.gr-mode-strip strong { display:block; font-size:1.1rem; color:#ffe49a; }
.gr-mode-strip span { display:block; font-size:.83rem; margin-top:5px; color:#c4d5d9; }
.gr-section { max-width:1180px; padding:86px 24px; margin:auto; scroll-margin-top:130px; }
.gr-section__heading { max-width:740px; margin-bottom:38px; }
.gr-section__heading p { color:#bdced2; font-size:1.05rem; }
.gr-split { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.gr-scene { position:relative; }
.gr-scene img { width:100%; height:auto; display:block; border:1px solid #7897a0; border-radius:9px; }
.gr-scene__note { position:absolute; bottom:-18px; left:20px; margin:0; background:#ffd052; color:#153744; padding:10px 18px; border-radius:3px; font-size:.82rem; font-weight:800; box-shadow:0 5px 0 #826629; }
.gr-checklist { padding:0; list-style:none; display:grid; gap:14px; color:#d3e3e5; }
.gr-checklist li { padding-left:27px; position:relative; line-height:1.6; }
.gr-checklist li::before { content:"+"; position:absolute; left:0; color:#ffd052; font-size:1.1rem; font-weight:800; }
.gr-awning { height:15px; background:repeating-linear-gradient(110deg,#8ddce5 0 42px,#fff7e5 42px 80px); }
.gr-versus { background:#173b49; border-block:1px solid #48717d; }
.gr-versus .gr-section { padding-block:72px; }
.gr-versus h2 em { font-style:normal; color:#ffd052; }
.gr-versus .gr-split { grid-template-columns:1.08fr .92fr; align-items:start; }
.gr-video { margin:0; }
.gr-video video { display:block; width:100%; aspect-ratio:1170/658; border-radius:8px; border:1px solid #577985; background:#081a23; object-fit:cover; }
.gr-video figcaption { margin-top:12px; color:#b8cdd2; font-size:.85rem; line-height:1.55; }
.gr-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gr-feature-card { min-width:0; }
.gr-feature-card p { color:#b8cdd2; font-size:.94rem; }
.gr-feature-card .gr-step { margin-top:24px; font-size:.8rem; color:#8ddce5; text-transform:uppercase; letter-spacing:.1em; }
.gr-social { background:#fff7e5; color:#173b49; }
.gr-social .eyebrow { color:#326c7b; }
.gr-social .gr-section { padding-block:70px; }
.gr-social p,.gr-social .gr-checklist { color:#345665; }
.gr-social .gr-checklist li::before { color:#297489; }
.gr-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gr-gallery figure { margin:0; min-width:0; }
.gr-gallery a { display:block; border-radius:7px; overflow:hidden; border:1px solid #5d808d; }
.gr-gallery img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; transition:transform .2s; }
.gr-gallery a:hover img { transform:scale(1.025); }
.gr-gallery figcaption { margin-top:10px; color:#c4d8df; font-size:.86rem; }
.gr-capsules { margin-top:35px; border:1px solid #45616c; border-radius:7px; padding:20px; }
.gr-capsules summary { cursor:pointer; font-weight:700; color:#ffe49a; padding-block:8px; }
.gr-capsules > p { color:#bed2da; font-size:.92rem; }
.gr-capsule-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:25px; }
.gr-capsule-gallery a { min-width:0; text-decoration:none; border:1px solid #45616c; border-radius:5px; background:#122e3a; overflow:hidden; }
.gr-capsule-gallery img { width:100%; height:160px; object-fit:contain; display:block; background:#0a1e27; padding:7px; }
.gr-capsule-gallery span { display:block; padding:10px; font-size:.75rem; color:#c8dbe0; line-height:1.45; }
.gr-faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:64px; }
.gr-faq details { border-bottom:1px solid #46606b; padding-block:18px; }
.gr-faq summary { cursor:pointer; font-weight:700; line-height:1.6; }
.gr-faq details p { color:#c3d6dc; font-size:.95rem; }
.gr-end { text-align:center; padding:64px 24px; background:#173b49; border-top:1px solid #53707a; }
.gr-end p { color:#c5d9df; max-width:650px; margin:15px auto 28px; }
.gr-end .gr-hero__actions { justify-content:center; }
.gr-steam-badge { display:inline-block; padding:9px 15px; border-radius:4px; background:#0c222b; color:#c4d8e4; font-size:.8rem; font-weight:700; }
.gr-page .footer { border-color:#3d5c69; }
.gr-page .footer-inner { flex-wrap:wrap; gap:14px; }
.gr-lightbox { color:#fff7e5; background:#0c222b; border:1px solid #87cad7; border-radius:8px; padding:16px; width:min(1050px,calc(100vw - 30px)); max-height:calc(100dvh - 30px); }
.gr-lightbox::backdrop { background:rgba(1,10,16,.92); }
.gr-lightbox img { max-height:calc(100dvh - 160px); max-width:100%; display:block; margin:auto; object-fit:contain; }
.gr-lightbox__controls { display:flex; justify-content:space-between; gap:12px; margin-bottom:15px; }
.gr-lightbox button { min-width:46px; min-height:44px; border:1px solid #83cad6; border-radius:4px; background:#173b49; color:#fff7e5; cursor:pointer; font:inherit; }
.gr-lightbox__caption { margin:12px 0 0; text-align:center; font-size:.9rem; }
.gr-page .policy-card { background:#173b49; border-color:#4e7484; color:#ecf6f3; }
.gr-page .policy-card h2 { font-size:1.3rem; margin-top:30px; letter-spacing:-.015em; }
.gr-page .policy-card .notice { background:#0c222b; border-color:#70bac8; }
.gr-page .policy-card a { color:#ffe49a; overflow-wrap:anywhere; }
.gr-home-card { border-color:#8ddce5; background:linear-gradient(125deg,#173b49,#102735); }
.gr-home-card .chaos-wip__media { border-right-color:#8ddce5; }
.gr-home-card .chaos-wip__media img { object-position:center; }
.gr-home-card .eyebrow { color:#8ddce5; }
.gr-home-card h3 { color:#fff0bf; }
.game-carousel__slide.gr-slide img { object-position:center 52%; }
.game-carousel__slide.gr-slide small { color:#9be5ec; }
@media (min-width:1200px) { .gr-page .nav { max-width:1380px; } }
@media (max-width:950px) {
  .gr-hero { min-height:680px; }
  .gr-hero::after { background:linear-gradient(90deg,rgba(9,30,39,.94),rgba(9,30,39,.62)),linear-gradient(0deg,#0c222b,transparent 60%); }
  .gr-split,.gr-versus .gr-split,.gr-faq { grid-template-columns:1fr; gap:34px; }
  .gr-feature-grid { grid-template-columns:1fr; gap:35px; }
  .gr-feature-card { display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:center; }
  .gr-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gr-capsule-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .gr-page .site-header { position:relative; }
  .gr-hero { min-height:690px; }
  .gr-hero__inner { padding:45px 22px 54px; }
  .gr-logo { margin-block:26px; }
  .gr-hero__intro { font-size:.95rem; }
  .gr-mode-strip { gap:10px; padding-top:20px; margin-top:26px; }
  .gr-mode-strip div { padding-inline:7px; }
  .gr-mode-strip strong { font-size:.95rem; }
  .gr-mode-strip span { font-size:.72rem; }
  .gr-section { padding:55px 22px; scroll-margin-top:20px; }
  .gr-hero__actions .gr-button { flex:1; }
  .gr-feature-card,.gr-gallery { grid-template-columns:1fr; }
  .gr-feature-card { gap:8px; }
  .gr-capsule-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .gr-capsules { padding:15px; }
  .gr-capsule-gallery img { height:135px; }
  .gr-lightbox { padding:10px; }
}
@media (prefers-reduced-motion:reduce) { .gr-page *,.gr-home-card *,.gr-button { scroll-behavior:auto !important; transition:none !important; } }

.game-carousel__slide.gr-slide img { object-fit:contain; object-position:center; background:#173b49; }
@media (max-width:780px) {
  .gr-page .nav,.gr-home .nav { flex-direction:row; }
  .gr-page .brand,.gr-home .brand { width:auto; justify-content:flex-start; }
}
