/* Viewport corrections only; retain game documents and source-owned controls. */
[data-viewport-mode="contain_16_9"]{background:#090c12;overflow:hidden;position:relative}
[data-viewport-mode="contain_16_9"] iframe{position:absolute!important;max-width:none!important;border:0;display:block}
iframe:fullscreen,iframe:-webkit-full-screen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;transform:none!important;max-width:none!important;margin:0!important}
.player-panel:fullscreen,.game-shell:fullscreen{width:100vw!important;height:100dvh!important;max-width:none!important;border-radius:0!important;margin:0!important;background:#090c12}
.player-panel:fullscreen .game-window,.game-shell:fullscreen .game-stage{flex:1;min-height:0!important;height:calc(100dvh - 58px)!important;max-height:none!important}
.source-route{position:relative;display:grid;place-items:center;min-height:300px;height:100%;overflow:hidden;background:#0c1016;border-radius:inherit;text-align:center}
.source-route>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.source-route-content{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:14px;max-width:520px;padding:30px 24px;color:#fff}
.source-route-content>strong{font-size:clamp(18px,2.2vw,26px);line-height:1.3}
.source-route-content>span{font-size:14px;line-height:1.6;color:#d7dde5}
.source-route-content>a{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:10px;background:#d7ff71;color:#142100;font-weight:750;text-decoration:none}
.library-upgrade .source-route-content>a{background:#ffc56c;color:#281500}
.source-route-content>a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.source-status-note{display:block;margin:8px 0;font-size:13px;color:#f4d591;line-height:1.5}
.source-status-note:empty{display:none}
.recovery-source-link{font-size:12px;color:inherit;text-underline-offset:3px;white-space:normal}
[data-play-mode="external"] [data-fullscreen],[data-play-mode="unavailable"] [data-fullscreen]{display:none!important}
@media(max-width:600px){.source-route{min-height:290px}.source-route-content{padding:22px 18px}.source-route-content>span{font-size:13px}}
