/* Shared game-page rhythm. Artwork, fonts and palettes stay game-specific. */
@font-face{font-family:Gate Rush Display;src:url("gate-rush/fonts/Baloo2-ExtraBold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
body.game-landing{--game-line:1px;--game-radius:24px;line-height:1.65}
body.game-landing[data-app="gate-rush"]{--font-display:"Gate Rush Display","Segoe UI",system-ui,sans-serif}
body.game-landing header{position:relative}
body.game-landing .app-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center}
body.game-landing h1,body.game-landing h2,body.game-landing h3{text-wrap:balance;overflow-wrap:normal}
body.game-landing h1{font-size:clamp(2.7rem,5.5vw,4.1rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:24px}
body.game-landing h2{font-size:clamp(1.8rem,3.4vw,2.55rem);line-height:1.18;max-width:26ch;margin-bottom:28px}
body.game-landing h3{font-size:1.18rem;line-height:1.3;margin-bottom:10px}
body.game-landing .game-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:40px;align-items:center;padding-block:64px 60px}
body.game-landing .game-kicker{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:16px}
body.game-landing .game-highlight{display:inline;color:transparent;background:linear-gradient(110deg,var(--text),var(--accent));background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:game-colour-shift 9s ease-in-out infinite}
body.game-landing .game-lead{max-width:39ch;font-size:1.1rem;color:var(--muted);margin-bottom:25px}
body.game-landing .game-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
body.game-landing .quiet-link{display:inline-flex;align-items:center;min-height:48px;color:var(--accent);font-weight:650;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
body.game-landing .quiet-link:hover{text-decoration-thickness:2px}
body.game-landing .game-availability,body.game-landing .game-note{font:.9rem/1.6 var(--font-body);color:var(--muted);max-width:46ch;margin-top:20px}
body.game-landing .game-note{font-size:.82rem;margin-top:8px}
body.game-landing .appstore-badge{display:inline-flex;align-items:center;min-height:50px;line-height:0}
body.game-landing .appstore-badge img{display:block;width:auto;height:50px}
body.game-landing .badge-white{display:none!important}
html[data-theme="dark"] body.game-landing .badge-black{display:none!important}
html[data-theme="dark"] body.game-landing .badge-white{display:block!important}
body.game-landing .game-artwork{position:relative;width:100%;aspect-ratio:1/1.03;display:grid;place-items:center;isolation:isolate}
body.game-landing .game-icon{position:relative;z-index:1;width:60%;height:auto;border-radius:25%;box-shadow:0 24px 42px -26px rgba(0,0,0,.45)}
body.game-landing .gate-stage{background:var(--tint);border:var(--game-line) solid var(--border);border-radius:45% 48% 43% 46%}
body.game-landing .route-ring{position:absolute;inset:7%;border:2px dashed var(--border);border-radius:50%;animation:game-route-turn 30s linear infinite}
body.game-landing .route-plane{position:absolute;right:5%;top:8%;z-index:2;display:grid;place-items:center;width:50px;height:50px;border:2px solid currentColor;border-radius:50%;background:var(--surface);color:var(--accent);font:1.5rem/1 system-ui;transform:rotate(-10deg)}
body.game-landing .game-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:999px;font-size:.82rem;font-weight:650;white-space:nowrap}
body.game-landing .game-chip.daily{top:23%;left:-3%}
body.game-landing .game-chip.passport{bottom:16%;right:-3%}
body.game-landing .chip-symbol{display:grid;place-items:center;color:var(--accent)}
body.game-landing .chip-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.game-landing .hue-stage{border-radius:48% 45% 47% 44%;background:var(--tint)}
body.game-landing .hue-orbit{position:absolute;inset:6%;border:4px solid var(--border);border-radius:50%;transform:rotate(-18deg)}
body.game-landing .hue-orbit::before{content:"";position:absolute;inset:-4px;border:4px solid transparent;border-top-color:#6c63ff;border-right-color:#ff6b6b;border-radius:50%}
body.game-landing .hue-ball{position:absolute;z-index:2;width:13%;aspect-ratio:1;border:3px solid var(--surface);border-radius:50%;animation:game-ball-bob 5s ease-in-out infinite}
body.game-landing .ball-a{background:#ff6b6b;left:5%;top:27%}
body.game-landing .ball-b{background:#3ecf8e;right:9%;top:8%;animation-delay:-1.8s}
body.game-landing .ball-c{background:#ffd700;right:11%;bottom:10%;animation-delay:-3.4s}
body.game-landing .game-section{padding-block:46px 56px;border-top:var(--game-line) solid var(--border);scroll-margin-top:24px}
body.game-landing .step-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;margin:0}
body.game-landing .step-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:15px;border:1px solid var(--border);border-radius:14px;background:var(--tint);color:var(--accent);font:700 1.15rem var(--font-display)}
body.game-landing .step-list p,body.game-landing .game-feature-list p{color:var(--muted);font-size:1rem;margin:0}
body.game-landing .game-feature-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;margin:0}
body.game-landing .game-feature-list li{padding-left:18px;border-left:3px solid var(--border)}
body.game-landing .game-seasonal{margin-top:32px;padding:20px 24px;border:1px solid var(--border);border-radius:var(--game-radius);background:var(--surface);color:var(--muted);font-size:.94rem}
body.game-landing .game-seasonal h3{color:var(--text);margin-bottom:8px}
body.game-landing .game-details p{color:var(--muted)}
body.game-landing .game-details .quiet-link{margin-top:14px}
body.game-landing .screens-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
body.game-landing .screens-section p{max-width:38ch;margin-bottom:20px}
body.game-landing .native-shot{max-width:290px;width:100%;margin-inline:auto}
body.game-landing .native-shot img{display:block;width:100%;height:auto;border:2px solid var(--border);border-radius:27px}
body.game-landing .native-shot figcaption{font:.8rem/1.5 var(--font-body);color:var(--muted);margin-top:12px;text-align:center}
body.game-landing .game-help{display:flex;align-items:center;gap:28px}
body.game-landing .game-help>img{width:84px;height:84px;border-radius:22px;object-fit:contain;flex-shrink:0}
body.game-landing .game-help h2{font-size:1.65rem;margin-bottom:10px}
body.game-landing .game-help p{color:var(--muted);margin:0 0 5px}
body.game-landing .download-guide{display:none}
@keyframes game-colour-shift{0%,100%{background-position:0 center}50%{background-position:100% center}}
@keyframes game-route-turn{to{transform:rotate(360deg)}}
@keyframes game-ball-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:820px){
  body.game-landing .game-hero{grid-template-columns:1fr;gap:36px;padding-block:38px 44px}
  body.game-landing .game-intro{max-width:620px}
  body.game-landing .game-artwork{width:min(100%,400px);justify-self:center}
  body.game-landing .game-section{padding-block:36px 42px}
  body.game-landing .step-list,body.game-landing .game-feature-list{grid-template-columns:1fr;gap:24px}
  body.game-landing .step-list li{display:grid;grid-template-columns:44px 1fr;gap:0 16px}
  body.game-landing .step-number{grid-row:1/3;margin:0}
  body.game-landing .screens-section{grid-template-columns:1fr;gap:30px}
  body.game-landing .screens-section p{max-width:100%}
}
@media(max-width:560px){
  body.game-landing .wrap{padding-inline:20px}
  body.game-landing h1{font-size:clamp(2.55rem,11vw,3.3rem)}
  body.game-landing .game-lead{font-size:1.05rem}
  body.game-landing .game-chip{font-size:.75rem;padding:6px 10px}
  body.game-landing .route-plane{width:44px;height:44px;font-size:1.3rem}
  body.game-landing .game-help{gap:18px;align-items:flex-start}
  body.game-landing .game-help>img{width:62px;height:62px;border-radius:16px;margin-top:4px}
  body.game-landing .game-help h2{font-size:1.5rem}
}
@media(max-width:760px){
  html.is-ios body.game-landing .download-guide{display:block;border-bottom:1px solid var(--border);background:var(--tint)}
  body.game-landing .download-guide .wrap{position:relative;padding-block:12px;padding-right:76px}
  body.game-landing .download-guide strong{display:block;font:700 .92rem/1.3 var(--font-display);margin-bottom:3px}
  body.game-landing .download-guide .wrap>span[data-l]{display:block;color:var(--muted);font-size:.78rem;line-height:1.4}
  body.game-landing .download-arrow{position:absolute;right:24px;top:50%;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:700 1.4rem/1 system-ui;animation:game-ball-bob 2s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){
  body.game-landing *,body.game-landing *::before,body.game-landing *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
