/* Sekai home + GAMES gateway polish (see MASCOT-PLACEMENT.md).
   Sekai is the umbrella: both hosts meet here. GAMES gateway belongs to Moff (Dusk Glass). */

/* ── Sekai hero: Rio and Moff in dialogue ────────────────────────── */
.sx-hero{position:relative;isolation:isolate;max-width:1060px;margin:26px auto 40px;padding:24px 24px 20px;border:1px solid #ffffff1a;border-radius:26px;overflow:hidden;
  background:radial-gradient(ellipse 40% 75% at 10% 90%,#f5759c1c,transparent 70%),radial-gradient(ellipse 40% 75% at 90% 90%,#9ecbff1c,transparent 70%),linear-gradient(160deg,#151c32,#0d1325)}
.sx-hero-copy{position:absolute;z-index:3;left:50%;top:44px;width:min(440px,46%);transform:translateX(-50%);text-align:center;pointer-events:none}
.sx-hero-copy span{display:block;margin-bottom:10px;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#c3b5ed}
.sx-hero-copy h1{margin:0;font:700 clamp(32px,4vw,46px)/1.08 Georgia,serif;letter-spacing:-.035em;color:#f3eee8}
.sx-hero .lg-host{margin:0}
.sx-hero .lg-credit{text-align:center}

/* ── Peeks under the planets ─────────────────────────────────────── */
.sx-peek{height:auto;min-height:140px;grid-template-columns:132px minmax(0,1fr);align-items:center}
.sx-peek .peek-copy strong{display:block;font:600 15px/1.35 Georgia,serif;color:#f3eee8;margin-bottom:6px}
.sx-peek .peek-copy p,.sx-peek .peek-copy li{font-size:12px;line-height:1.55;color:#aab6cb;margin:0}
.sx-peek .peek-copy ul{list-style:none;margin:0;padding:0}
.sx-peek .peek-copy li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-peek .peek-copy li::before{content:"·  ";color:#f5759c}
/* NEWS: a hand of three posters that fans out on hover. */
.sx-fan{position:relative;width:132px;height:112px}
.sx-fan-card{position:absolute;left:14px;top:22px;width:100px;border:2px solid #efe6d4;border-radius:3px;box-shadow:0 10px 18px -8px #000c;
  transform-origin:50% 140%;transform:rotate(calc((var(--i) - 1) * 9deg));transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.sx-fan-card:nth-child(2){z-index:2}
.cosmos-world:hover .sx-fan-card,.cosmos-world:focus-visible .sx-fan-card{transform:rotate(calc((var(--i) - 1) * 17deg)) translateY(-4px)}
.sx-fan-card .news-art{--art-ratio:16/10;background:#211d2a}
.sx-fan-card .news-art img{position:absolute;max-width:none;width:var(--crop-width,100%);height:auto;left:var(--crop-left,0);top:var(--crop-top,0)}
.sx-fan-card .news-art--one-punch-man{--crop-width:139.3334%;--crop-left:-6.1112%;--crop-top:-106.7616%}
.sx-fan-card .news-art--the-boxer{--crop-width:174.1667%;--crop-left:-48.75%;--crop-top:-144.4445%}
.sx-fan-card .news-art--faputa{--crop-width:137.5%;--crop-left:-27.9605%;--crop-top:-94.7368%}
/* GAMES: a small lineup of Students that steps apart on hover. */
.sx-lineup{position:relative;width:132px;height:112px}
.sx-lineup>span{position:absolute;bottom:0;left:calc(var(--i) * 24px);width:58px;height:100px;overflow:hidden;border:1.5px solid #9ecbff59;border-radius:29px 29px 12px 12px;
  background:radial-gradient(circle at 50% 30%,#3a63a077,#13203a);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.sx-lineup>span:nth-child(2){z-index:2}.sx-lineup>span:nth-child(3){z-index:1}
.sx-lineup .profile-art{position:absolute;width:190%;height:auto;max-width:none;left:-45%;top:-2%}
.cosmos-world:hover .sx-lineup>span,.cosmos-world:focus-visible .sx-lineup>span{transform:translateX(calc((var(--i) - 1.5) * 7px)) translateY(-3px)}

/* ── GAMES gateway ───────────────────────────────────────────────── */
.lg-dusk .gx{padding:28px 0 60px}
.gx-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:24px;align-items:end;padding:28px 34px 22px;border:1px solid #ffffff1a;border-radius:26px;
  background:radial-gradient(ellipse 50% 85% at 86% 85%,#3a63a03a,transparent 70%),linear-gradient(160deg,#16223a,#0d1526)}
.gx-hero-copy{align-self:center;padding-bottom:40px}
.gx-label{display:block;margin-bottom:12px;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#9ecbff}
.gate-library.gx h1{margin:0 0 14px;font:700 clamp(36px,4.6vw,56px)/1.04 Georgia,serif;letter-spacing:-.035em;color:#f3eee8}
.gx-hero-copy p{margin:0;max-width:38ch;color:#b7c2d6;line-height:1.7}
.gx-shelf{margin-top:22px}
.gx-game{position:relative;overflow:hidden;border:1px solid #ffffff1a;border-radius:24px;background:linear-gradient(160deg,#1a2843e6,#0f1828d9);transition:border-color .25s,box-shadow .25s,transform .25s}
.gx-game:hover,.gx-game:focus-within{border-color:#9ecbff66;box-shadow:0 22px 50px -22px #4d8fe0aa;transform:translateY(-3px)}
.gx-game-main{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:30px;align-items:end;padding:20px 30px 0;color:inherit;text-decoration:none}
.gx-game-main:focus-visible{outline:2px solid #9ecbff;outline-offset:-4px;border-radius:22px}
/* Lineup: five Students; the centre one leads, the others step forward on hover. */
.gx-lineup{position:relative;height:260px}
.gx-lineup::before{content:"";position:absolute;left:50%;bottom:-120px;width:330px;aspect-ratio:1;margin-left:-165px;border-radius:50%;border:1px solid #9ecbff2e;background:radial-gradient(circle,#3a63a044,transparent 65%);box-shadow:0 0 0 26px #9ecbff06}
.gx-portrait{position:absolute;bottom:0;left:calc(var(--i) * 16.5%);width:34%;height:94%;filter:brightness(.62) saturate(.8);transition:transform .4s cubic-bezier(.2,.7,.2,1),filter .4s}
.gx-portrait .profile-art{width:100%;height:100%}
.gx-portrait:nth-child(2),.gx-portrait:nth-child(4){z-index:1}
.gx-portrait:nth-child(3){z-index:2;filter:none}
.gx-game:hover .gx-portrait,.gx-game:focus-within .gx-portrait{filter:none;transform:translateX(calc((var(--i) - 2) * 14px))}
.gx-game:hover .gx-portrait:nth-child(3){transform:translateY(-6px)}
.gx-game-copy{padding-bottom:24px;min-width:0}
.gx-game-copy .eyebrow{color:#9ecbff;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.gate-library.gx .gx-game-copy h2{margin:10px 0 12px;font:700 clamp(28px,3.4vw,40px)/1.1 Georgia,serif;letter-spacing:-.03em;color:#f3eee8}
.gx-game-copy h2 span{color:#9ecbff;display:inline-block;transition:transform .25s}
.gx-game:hover .gx-game-copy h2 span{transform:translateX(5px)}
.gx-game-copy p{margin:0 0 16px;color:#b7c2d6;max-width:46ch}
.gx-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.gx-stats li{padding:5px 12px;border:1px solid #ffffff22;border-radius:999px;background:#ffffff08;font-size:13px;color:#b7c2d6}
.gx-stats b{color:#cfe5ff;font-variant-numeric:tabular-nums}
.gx-quick{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:8px;padding:14px 30px 18px;border-top:1px solid #ffffff14;background:#0a1120b3}
.gx-quick a{padding:8px 15px;border:1px solid #ffffff26;border-radius:999px;color:#c8d6ea;font:600 13px/1.2 system-ui,sans-serif;text-decoration:none;transition:border-color .2s,color .2s,background .2s}
.gx-quick a:hover,.gx-quick a:focus-visible{border-color:#9ecbff;color:#cfe5ff;background:#9ecbff14}

@media(max-width:860px){
  .sx-hero{padding:22px 16px 16px;margin-top:18px}
  .sx-hero-copy{position:static;width:auto;transform:none;margin-bottom:6px}
  .gx-hero{grid-template-columns:1fr;padding:22px 18px 18px}
  .gx-hero-copy{padding-bottom:0}
  .gx-game-main{grid-template-columns:1fr;gap:6px;padding:16px 18px 0}
  .gx-lineup{height:200px}
  .gx-quick{padding:12px 18px 16px}
}
@media(prefers-reduced-motion:reduce){
  .sx-fan-card,.sx-lineup>span,.gx-game,.gx-portrait,.gx-game-copy h2 span{transition:none}
}

/* Index for staggered cards, set without inline style="" (blocked by the site CSP: style-src 'self'). */
.sx-fan-card:nth-child(1),.sx-lineup>span:nth-child(1),.gx-portrait:nth-child(1){--i:0}
.sx-fan-card:nth-child(2),.sx-lineup>span:nth-child(2),.gx-portrait:nth-child(2){--i:1}
.sx-fan-card:nth-child(3),.sx-lineup>span:nth-child(3),.gx-portrait:nth-child(3){--i:2}
.sx-fan-card:nth-child(4),.sx-lineup>span:nth-child(4),.gx-portrait:nth-child(4){--i:3}
.sx-fan-card:nth-child(5),.sx-lineup>span:nth-child(5),.gx-portrait:nth-child(5){--i:4}
