/* Game detail and player, scoped to this page. Existing header/footer remain shared. */
.gv-page{padding:36px 24px 78px;background:#172736;min-height:60vh}
.gv-layout,.gv-empty{max-width:994px;margin:0 auto}
.gv-panel{background:#1d3142;border:0;border-radius:11px;margin-top:10px;color:#dfe7ee}
.gv-player{border-radius:11px;overflow:hidden;background:#000;--gv-control-height:63px}
.gv-screen{position:relative;width:100%;aspect-ratio:16/9;background:#000;min-height:0}
.gv-screen iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;background:#000}
.gv-status,.gv-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#000;color:#dfe7ee;padding:24px;text-align:center}
.gv-error button{border:1px solid #354b5e;border-radius:6px;padding:10px 18px;color:#dfe7ee;background:#263a4b}
.gv-desktop-controls{height:63px;padding:10px 16px;background:#1d3142;display:flex;align-items:center;justify-content:space-between;gap:12px}
.gv-control-buttons{display:flex;align-items:center;gap:6px}
.gv-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:#304354;color:#dbe4ec;flex:0 0 auto;cursor:pointer}
.gv-icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;background:none}
.gv-icon-button[aria-pressed=true]{color:#ffbf40}
.gv-icon-button[aria-pressed=true] .icon-star{fill:currentColor}
.gv-modes{display:flex;padding:4px;background:#122330;border-radius:8px;gap:4px}
.gv-modes button{padding:9px 15px;font-size:12px;line-height:17px;font-weight:600;background:transparent;color:#8095a6;border-radius:5px}
.gv-modes button[aria-pressed=true]{background:#293c4b;color:#e1e9ef;box-shadow:0 1px 3px #0005}
.gv-mobile-controls{display:none}
.gv-detail{padding:12px}
.gv-hero{display:flex;gap:14px;min-width:0}
.gv-cover{width:90px;aspect-ratio:2/3;flex:0 0 auto;border-radius:5px;overflow:hidden;background:#25394a}
.gv-cover img,.gv-cover svg{display:block;width:100%;height:100%;object-fit:contain}
.gv-info{min-width:0;padding-top:0}
.gv-info h1{font-size:15px;line-height:22px;font-weight:600;margin:0;color:#dfe7ee;letter-spacing:-.3px}
.gv-provider-name{font-size:12px;line-height:19px;color:#8da2b4}
.gv-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.gv-tags span{font-size:10px;line-height:14px;border-radius:3px;padding:0 7px;color:#a7b8c6;background:#2a4051;white-space:nowrap}
.gv-stats{display:flex;align-items:center;gap:4px;font-size:11px;line-height:18px;margin-top:8px;color:#92a6b7}
.gv-stats b{color:#dce5ed;font-weight:600}.gv-stats .online-dot{width:6px;height:6px}
.gv-start-actions{display:none}
.gv-provider{display:flex;align-items:center;gap:12px;padding:12px;min-height:65px}
.gv-provider-icon{width:26px;flex:0 0 26px;color:#dfe7ee}.gv-provider-icon .icon,.gv-provider-icon>svg{width:26px;height:30px;background:none}
.gv-provider-copy{min-width:0;flex:1}.gv-provider h2{font-size:12px;font-weight:600;line-height:17px}
.gv-provider p{display:flex;align-items:center;gap:4px;font-size:9px;line-height:13px;color:#9eb1c2}
.gv-follow{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 16px;border:1px solid #304b60;border-radius:9px;background:transparent;font-size:12px;font-weight:600;white-space:nowrap}
.gv-follow .icon{width:17px;height:17px;fill:currentColor;background:none}
.gv-related{padding:10px 10px 12px}.gv-related-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:12px}
.gv-related h2{display:flex;align-items:center;gap:5px;font-size:18px;font-weight:600;line-height:25px;letter-spacing:-.5px}.gv-related h2 .icon{width:21px;height:21px;background:none}
.gv-related-heading>div{display:flex;gap:5px}.gv-related-arrow{display:grid;place-items:center;width:28px;height:28px;border:1px solid #354b5d;border-radius:8px;background:#273b4d;color:#a5b8c7}.gv-related-arrow:first-child .icon{transform:rotate(180deg)}.gv-related-arrow .icon{width:14px;height:14px;background:none}.gv-related-arrow:disabled{opacity:.35}
.gv-related-track{display:flex;gap:8px;overflow:auto;scrollbar-width:none;scroll-snap-type:x proximity}.gv-related-track::-webkit-scrollbar{display:none}.gv-related-track .game-card{flex:0 0 calc((100% - 48px)/7);scroll-snap-align:start;min-width:0}.gv-related-track .game-cover{aspect-ratio:2/3}.gv-related-track .game-meta{height:18px;font-size:9px;overflow:hidden;text-overflow:ellipsis}
.gv-empty{padding:24px}.gv-empty p{margin:12px 0}
body.gv-wide .gv-layout{max-width:1560px}
.gv-player:fullscreen{width:100%;height:100%;display:flex;flex-direction:column;border-radius:0}.gv-player:fullscreen .gv-screen{flex:1;aspect-ratio:auto}.gv-player:fullscreen .gv-desktop-controls{flex:0 0 63px}
.gv-page :focus-visible{outline:2px solid #e3b84f;outline-offset:3px}
@media(max-width:768px){
 .gv-page{padding:22px 22px 22px;min-height:calc(100dvh - var(--header-height) - var(--mobile-nav));background:#192b39}
 .gv-panel{background:transparent;border-radius:0}.gv-detail{padding:0;margin:0}
 .gv-hero{align-items:center;gap:10px}.gv-cover{width:calc((100% - 10px)/3);max-width:160px;aspect-ratio:2/3}
 .gv-info h1{font-size:20px;line-height:26px;font-weight:600;letter-spacing:-.65px}
 .gv-provider-name{font-size:12px;line-height:20px}.gv-tags{margin-top:2px;gap:3px}.gv-tags span{font-size:10px;line-height:14px;padding:0 7px}
 .gv-stats{margin-top:9px;font-size:11px;line-height:18px}
 .gv-start-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:8px;margin-top:10px}
 .gv-start-actions>button{height:38px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}
 .gv-demo{border:1px solid #334b5f;background:transparent;color:#879cac}.gv-real{background:#199b3d;color:#f4fff6;border:0}.gv-start-actions>.gv-icon-button{width:38px;background:#2b3f50}
 .gv-provider{margin-top:20px;padding:10px 14px;background:#233646;border-radius:10px;gap:10px;min-height:62px}.gv-provider h2{font-size:12px;line-height:17px}.gv-provider p{font-size:9px}.gv-follow{height:42px;padding:0 17px;font-size:12px}
 .gv-related{margin-top:16px;padding:0}.gv-related-heading{margin-bottom:10px}.gv-related h2{font-size:17px;line-height:28px}
 .gv-related-track{gap:8px;margin-right:-22px;padding-right:22px}.gv-related-track .game-card{flex:0 0 calc((100% - 30px)/4.2)}
 .gv-related-track .game-meta{height:19px;font-size:8px}
 .gv-desktop-controls{display:none}
 .gv-player{position:fixed;inset:0;z-index:160;width:100%;height:100dvh;border-radius:0;display:flex;flex-direction:column;background:#000}
 .gv-screen{aspect-ratio:auto;flex:1;min-height:0}
 .gv-mobile-controls{display:flex;align-items:center;gap:8px;flex:0 0 calc(60px + env(safe-area-inset-bottom));padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#172938}
 .gv-mobile-heading{flex:1;min-width:0;display:flex;flex-direction:column;color:#e4ebf0;line-height:16px}.gv-mobile-heading strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-mobile-heading span{font-size:11px;color:#8ea2b3}
 .gv-mobile-controls .gv-icon-button{width:40px;height:40px;border-radius:8px;background:#2c3e4e}.gv-mobile-controls .gv-icon-button svg{width:18px;height:18px}
 body.gv-playing{overflow:hidden}body.gv-playing>.site-header,body.gv-playing>.mobile-nav,body.gv-playing>.site-sidebar,body.gv-playing>.floating-actions{visibility:hidden}
 .gv-player:fullscreen .gv-screen{flex:1}.gv-player:fullscreen .gv-desktop-controls{display:none}
 body:has(.gv-page) .site-footer{margin-top:0}
}
@media(max-width:380px){.gv-page{padding:18px 14px}.gv-info h1{font-size:17px;line-height:22px}.gv-start-actions{gap:6px}.gv-start-actions>button{font-size:10px}.gv-follow{padding:0 10px}.gv-related-track{margin-right:-14px;padding-right:14px}}

/* Keep DOM references for retry/error handling; no launch overlay. */
#gv-status,#bb-loading{display:none!important}
