.game-page { background: var(--beige-100); }
.game-page-hero { position: relative; overflow: hidden; padding: clamp(3rem,7vw,6rem) 0; color: white; }
.game-page-backdrop { position: absolute; inset: 0; background: var(--charcoal-900); }
.game-page-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(29,23,24,.72),rgba(29,23,24,.25)); }
.game-page-backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; animation: onivaZoom 22s infinite alternate ease-in-out; }
.game-page-hero .container { position: relative; z-index: 1; }
.game-back { display: block; color: white; margin-bottom: 2rem; font-size: .85rem; }
.game-page-hero h1 { font-family: var(--font-title); font-size: clamp(2.5rem,5vw,4.5rem); line-height: 1.15; max-width: 850px; margin: 1.3rem 0; color: white;  font-weight: 700; }
.game-page-hero p { font-family: 'Indie Flower',cursive; font-size: clamp(1.4rem,2.5vw,2rem); color: var(--rosegold-200); }
.game-page-hero .oniva-badge { font-family: Poppins,sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.game-studio-section { padding: clamp(2rem,5vw,4rem) 0; }
.game-page .game-studio :is(.ss-app,.dwp-app,.mtpb-app,.uswks) { width: 100% !important; max-width: 100% !important; left: auto !important; transform: none !important; margin: 0 !important; border-radius: 28px !important; border-color: var(--beige-300) !important; background: var(--beige-100) !important; box-shadow: var(--shadow-md); font-family: Poppins,sans-serif !important; color: var(--charcoal-900); }
.game-page .ss-app { --safari:var(--rosegold-600); --safari-dark:var(--rosegold-700); --sand:var(--beige-100); --paper:var(--white); --ink:var(--charcoal-900); --muted:var(--charcoal-600); --gold:var(--rosegold-400); --leaf:var(--rosegold-700); --ss-heading-font:var(--font-title) !important; --ss-body-font:Poppins,sans-serif !important; }
.game-page .dwp-app { --dwp-primary:var(--rosegold-600); --dwp-secondary:var(--charcoal-900); --dwp-accent:var(--rosegold-300); --dwp-background:var(--beige-100); --dwp-surface:var(--white); --dwp-text:var(--charcoal-900); --dwp-muted-text:var(--charcoal-600); --dwp-border:var(--beige-300); --dwp-shadow:var(--shadow-sm); }
.game-page .dwp-app.dark { --dwp-background:var(--charcoal-900); --dwp-surface:var(--charcoal-800); --dwp-text:var(--beige-50); --dwp-muted-text:var(--beige-300); --dwp-border:var(--charcoal-600); background: var(--dwp-background) !important; color: var(--dwp-text) !important; }
.game-page .mtpb-app { --mtpb-ink:var(--charcoal-900); --mtpb-paper:var(--beige-100); --mtpb-cream:var(--white); --mtpb-orange:var(--rosegold-600); --mtpb-line:var(--beige-300); }
.game-page .uswks { --uswks-primary:var(--rosegold-600); --uswks-secondary:var(--rosegold-700); --uswks-accent:var(--rosegold-300); --uswks-background:var(--beige-100); --uswks-text:var(--charcoal-900); --uswks-card:var(--white); --uswks-button:var(--rosegold-600); }
.game-page .game-studio :is(h1,h2,h3,h4) { font-family: var(--font-title) !important; letter-spacing: normal !important;  font-weight: 700; }
.game-page .game-studio :is(button,.uswks-button) { font-family: Poppins,sans-serif !important; border-radius: 999px !important; transition: transform .25s,box-shadow .25s,background .25s; }
.game-page .game-studio button:not(:disabled):hover,.game-page .uswks-button:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.game-page .game-studio :is(.mtpb-form button,.ss-primary,.dwp-card button,.dwp-actions button,.uswks-button) { background: var(--gradient-rosegold) !important; color: white !important; border-color: transparent !important; box-shadow: var(--shadow-sm); }
.game-page .game-studio :is(input,select,textarea) { font-family: Poppins,sans-serif !important; accent-color: var(--rosegold-600); }
.game-page .game-studio :is(.ss-hero,.dwp-hero,.mtpb-intro,.uswks-invitation) { background: var(--beige-100) !important; color: var(--charcoal-900) !important; }
.game-page .game-studio .dwp-app.dark .dwp-hero { background: var(--charcoal-800) !important; color: var(--beige-50) !important; }
.game-page .game-studio :is(.dwp-card,.mtpb-card,.ss-exercise) { transition: transform .3s,box-shadow .3s; }
.game-page .game-studio .dwp-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.game-page .game-studio :is(.dwp-sound,.dwp-tip,.dwp-feedback) { background: var(--rosegold-50); }
.game-page .game-studio .uswks-logo { max-width: 100px; }
.game-other-trails { padding: 1rem 0 4rem; text-align: center; }
.game-other-trails h2 { font-family: var(--font-title); font-size: 2rem; margin-bottom: 1.5rem;  font-weight: 700; }
.game-trail-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
.game-enter { animation: game-enter .45s ease both; }
@keyframes game-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:650px) { .game-page .game-studio :is(.ss-app,.dwp-app,.mtpb-app,.uswks) { border-radius: 18px !important; } .game-page .game-studio { width: calc(100% - 24px); } }
@media(prefers-reduced-motion:reduce) { .game-page-backdrop img { animation: none; } .game-enter { animation: none; } }
