body[data-screen=spin],body[data-screen=leaders] { padding-left:0;padding-right:0; }
body[data-screen=spin] .view,body[data-screen=leaders] .view { width:100%;max-width:none;padding-left:0;padding-right:0; }
.cyber-detail { max-width:none;min-height:100dvh;isolation:isolate;background:#090e26; }
.scene-background,.rank-background { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1; }
.cyber-detail .wheel-stage { width:min(100%,570px); }
.cyber-detail .cyber-wordmark { width:min(98%,590px); }
.cyber-detail .wheel-weather { position:absolute;left:-18%;top:-18%;width:136%;height:136%;max-width:none;pointer-events:none;z-index:4; }
.cyber-detail .wheel-hub img { animation:none; }
.cyber-detail .wheel { display:block;aspect-ratio:1;width:100%;height:auto; }
.rank-screen { position:relative;isolation:isolate;min-height:100dvh;background:transparent;padding:12px 12px 90px; }
.rank-podium,.rank-list,.rank-heading,.rank-self { max-width:650px;margin-left:auto;margin-right:auto; }
.rank-podium-player .rank-portrait,.rank-podium-player.rank-1 .rank-portrait,.rank-podium-player.rank-3 .rank-portrait,.rank-list { background:transparent;border-color:transparent;box-shadow:none; }
@media(prefers-reduced-motion:reduce){.wheel-weather{opacity:.65;}}
body[data-screen=spin] .view,body[data-screen=leaders] .view { padding-top:0; }

/* Edge-to-edge scenes: safe areas belong to the artwork, not the app shell. */
html:has(body[data-screen=spin]) { background:#090e26; }
html:has(body[data-screen=plans]) { background:#151080; }
html:has(body[data-screen=leaders]) { background:#110923; }
body:is([data-screen=spin],[data-screen=plans],[data-screen=leaders]) {
  padding:0; background:none; min-height:100dvh;
}
body:is([data-screen=spin],[data-screen=plans],[data-screen=leaders])::after { display:none; }
body:is([data-screen=spin],[data-screen=plans],[data-screen=leaders]) .app { background:transparent; }
body:is([data-screen=spin],[data-screen=plans],[data-screen=leaders]) .view {
  width:100%; max-width:none; margin:0; padding:0; min-height:100dvh;
}
.cyber-detail,.vip-showcase,.rank-screen { width:100%; margin:0; border-radius:0; }
.cyber-detail {
  padding-top:calc(22px + max(env(safe-area-inset-top),var(--mafia-safe-top,0px)));
  padding-bottom:calc(25px + max(env(safe-area-inset-bottom),var(--mafia-safe-bottom,0px)));
}
.cyber-detail .subhead { top:calc(12px + max(env(safe-area-inset-top),var(--mafia-safe-top,0px))); }
.cyber-detail .row-x { top:calc(16px + max(env(safe-area-inset-top),var(--mafia-safe-top,0px))); }
.vip-showcase { padding-top:calc(28px + max(env(safe-area-inset-top),var(--mafia-safe-top,0px))); }
.vip-showcase .vip-close { top:calc(12px + max(env(safe-area-inset-top),var(--mafia-safe-top,0px))); }
.rank-screen {
  padding-top:calc(12px + max(env(safe-area-inset-top),var(--mafia-safe-top,0px)));
  padding-bottom:calc(105px + max(env(safe-area-inset-bottom),var(--mafia-safe-bottom,0px)));
}
.rank-self { font-size:12px; letter-spacing:.02em; }
