/* Dedicated game pages: original artwork stays uncropped at every viewport. */
.gp-page{color:#202b39;background:#fcfcfa;--gp-accent:#543be0}
.gp-page h1,.gp-page h2,.gp-page h3{color:#202b39;overflow-wrap:anywhere}
.gp-page section[id]{scroll-margin-top:100px}
.gp-hero{padding:30px 0 64px;background:linear-gradient(125deg,#fff 30%,#f0eef7);background:linear-gradient(125deg,#fff 30%,color-mix(in srgb,var(--gp-accent) 10%,#fff));overflow:hidden}
.gp-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:36px;font-size:12px;line-height:1.6;color:#59616c}
.gp-breadcrumb a{color:var(--gp-accent);text-decoration:none}
.gp-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:center}
.gp-identity{display:flex;align-items:center;gap:16px;margin-bottom:25px}
.gp-identity img{width:72px;height:72px;border-radius:18px;object-fit:contain;box-shadow:0 8px 24px #202b3912}
.gp-kicker{color:var(--gp-accent);font-size:12px;font-weight:800;letter-spacing:.05em;line-height:1.6;margin:0 0 5px}
.gp-studio{font-size:12px;letter-spacing:.08em;margin:0;color:#59616c}
.gp-page h1{font-size:clamp(38px,4.6vw,66px);letter-spacing:-.05em;line-height:1.08;margin:0 0 22px}
.gp-tagline{font-size:clamp(20px,2.2vw,27px);font-weight:700;line-height:1.45;margin:0 0 18px;max-width:620px}
.gp-intro{font-size:16px;line-height:1.85;margin:0 0 22px;max-width:580px;color:#4b5563}
.gp-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin-bottom:22px}
.gp-status-dot{width:7px;height:7px;border-radius:50%;background:var(--gp-accent);flex:0 0 7px}
.gp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px}
.gp-store{display:block;border-radius:9px;line-height:0;transition:transform .15s}
.gp-store:hover{transform:translateY(-2px)}
.gp-store img{display:block;width:140px;height:42px;object-fit:contain}
.gp-primary,.gp-primary:hover{background:var(--gp-accent);color:#fff;border:1px solid var(--gp-accent)}
.gp-text-link{color:var(--gp-accent);font-size:14px;font-weight:700;line-height:1.6;text-decoration:none}
.gp-text-link:hover{text-decoration:underline}
.gp-facts{display:flex;flex-wrap:wrap;gap:20px 36px;border-top:1px solid #dcdfe3;padding-top:22px;margin:28px 0 0}
.gp-facts div{min-width:0}.gp-facts dt{color:#68717d;font-size:11px;margin-bottom:6px}.gp-facts dd{font-size:13px;font-weight:700;margin:0;line-height:1.5}
.gp-hero-visual{position:relative;isolation:isolate;text-align:center;margin:0;min-width:0}
.gp-hero-visual:before{content:"";position:absolute;inset:12% -10% 14%;z-index:-1;border-radius:50%;background:#e5e0f4;background:color-mix(in srgb,var(--gp-accent) 13%,#fff)}
.gp-hero-visual>img{display:block;max-width:100%;height:auto;margin:0 auto;box-shadow:0 24px 48px #202b3924}
.gp-phone>img{width:240px;border:5px solid #fff;border-radius:24px}
.gp-artwork>img{width:min(100%,340px);border-radius:30px;object-fit:contain}
.gp-hero-visual figcaption{font-size:11px;line-height:1.7;max-width:340px;margin:20px auto 0;color:#59616c}
.gp-page h2{font-size:clamp(26px,3.3vw,40px);line-height:1.2;letter-spacing:-.035em;margin:0 0 28px}
.gp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0 0 28px}
.gp-steps li{border:1px solid #e0e3e8;border-radius:20px;padding:25px;background:#fff}
.gp-steps li>span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--gp-accent);color:#fff;font-weight:800;font-size:15px}
.gp-steps p{font-size:16px;line-height:1.8;margin:18px 0 0}
.gp-gallery{background:#f0f2f5}
.gp-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.gp-section-head h2{margin-bottom:0}.gp-section-head>p{max-width:310px;font-size:12px;line-height:1.8;color:#59616c;margin:0}
.gp-screens{display:flex;justify-content:center;align-items:flex-start;gap:28px;flex-wrap:wrap}
.gp-screens figure{margin:0;max-width:280px;flex:1 1 220px;min-width:0;text-align:center}
.gp-screens img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:18px;box-shadow:0 10px 30px #202b3915}
.gp-screens a:focus-visible{outline:3px solid var(--gp-accent);outline-offset:5px;border-radius:18px;display:block}
.gp-screens figcaption{font-size:12px;line-height:1.6;margin-top:14px;color:#59616c}
.gp-release-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px 48px;padding:clamp(24px,4vw,48px);border:1px solid #dfe2e7;border-radius:26px;background:#fff}
.gp-release-card h2{margin-bottom:18px}.gp-release-card p{font-size:15px;line-height:1.85}.gp-release-card .gp-check{font-size:12px;color:#68717d}.gp-release-card .gp-actions:empty{display:none}
.gp-platforms{display:grid;gap:12px;align-content:center}.gp-platforms>div{display:flex;justify-content:space-between;gap:20px;padding:18px;background:#f5f6f8;border-radius:12px;font-size:14px;line-height:1.6}.gp-platforms span{text-align:right}.gp-platforms strong{flex-shrink:0}.gp-platforms small{display:block;font-size:11px;margin-top:6px}
.gp-support{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px 28px;border-top:1px solid #e0e3e8;padding-top:22px}.gp-support a{color:var(--gp-accent);font-size:14px;line-height:1.6;text-decoration:none}
.gp-faq{padding-top:0}.gp-faq .shell{max-width:900px}.gp-faq details{border-bottom:1px solid #dfe2e7;padding:22px 0}.gp-faq summary{cursor:pointer;font-size:17px;font-weight:700;line-height:1.6}.gp-faq p{font-size:15px;line-height:1.85;margin:15px 0 0}
.gp-related{padding-top:0}.gp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gp-related-grid>a{display:flex;gap:14px;align-items:flex-start;padding:22px;border:1px solid #dfe2e7;border-radius:18px;text-decoration:none;color:#202b39;background:#fff}.gp-related-grid img{width:56px;height:56px;border-radius:14px;object-fit:contain;flex:0 0 56px}.gp-related-grid>a>span:first-of-type{min-width:0}.gp-related-grid strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.gp-related-grid span span{display:block;font-size:12px;line-height:1.7;margin-top:8px;color:#68717d}.gp-related-grid>a>span:last-child{color:var(--gp-accent);margin-left:auto}
@media(max-width:1000px){.gp-hero-grid{gap:32px}.gp-related-grid{grid-template-columns:minmax(0,1fr)}.gp-related-grid>a{align-items:center}}
@media(max-width:700px){.gp-hero{padding:24px 0 46px}.gp-breadcrumb{margin-bottom:28px}.gp-hero-grid,.gp-release-card{grid-template-columns:minmax(0,1fr)}.gp-hero-grid{gap:38px}.gp-page h1{font-size:clamp(36px,10vw,52px)}.gp-tagline{font-size:21px}.gp-identity img{width:64px;height:64px}.gp-facts{gap:18px 28px}.gp-phone>img{width:220px}.gp-artwork>img{max-width:280px}.gp-hero-visual:before{inset:10% 0 15%}.gp-steps{grid-template-columns:minmax(0,1fr);gap:14px}.gp-steps li{display:flex;gap:18px;align-items:flex-start;padding:22px}.gp-steps li>span{flex:0 0 36px}.gp-steps p{margin:0}.gp-section-head{display:block}.gp-section-head>p{margin-top:18px}.gp-screens{gap:24px}.gp-screens figure{flex-basis:100%;max-width:280px}.gp-platforms>div{padding:15px}.gp-release-card{gap:22px}.gp-support{gap:16px 24px}.gp-store img{width:130px;height:39px}}
@media(prefers-reduced-motion:reduce){.gp-store{transition:none}.gp-store:hover{transform:none}}
.gp-landscape>img{width:min(100%,480px);border:5px solid #fff;border-radius:18px}
.gp-screens.gp-wide figure{max-width:480px;flex-basis:360px}
/* Source artwork is displayed as individual assets, never framed as gameplay. */
.gp-source-hero>img{width:min(100%,var(--gp-asset-width),340px);border-radius:18px;box-shadow:none}
.gp-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.gp-source-grid figure{margin:0;padding:18px;border:1px solid #dfe2e7;border-radius:20px;background:#fff;text-align:center;min-width:0}
.gp-source-image{display:grid;place-items:center;height:280px;border-radius:12px;background:#f3f5f1;overflow:hidden}
.gp-source-image img{display:block;max-width:100%;max-height:260px;width:auto;height:auto;object-fit:contain}
.gp-source-grid figcaption{font-size:13px;color:#59616c;line-height:1.6;margin-top:16px}
.gp-source-image:focus-visible{outline:3px solid var(--gp-accent);outline-offset:4px}
@media(max-width:900px){.gp-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gp-source-grid{grid-template-columns:minmax(0,1fr)}.gp-source-image{height:280px}.gp-source-hero>img{max-height:390px;object-fit:contain}}
