:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#25252b;font-synthesis:none;text-rendering:optimizelegibility;--bg:#fafafa;--surface:#fff;--soft:#f4f4f5;--line:#e4e4e7;--ink:#25252b;--muted:#6d6d78;--purple:#5b21e6;--purple-soft:#ede9fe;--purple-line:#ddd6fe;--green:#0f7a5f;--red:#c2410c;--radius:10px;--page-title-size:clamp(1rem, 1.45vw, 1.35rem);--page-title-line-height:1.12;background:#fafafa;font-family:Arial,Helvetica,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100svh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.cover-fallback{color:#6d6d78;background:linear-gradient(135deg, #5b21e614, transparent 42%), var(--soft);place-items:center;width:100%;height:100%;display:grid}.cover-fallback svg{width:28px;height:28px}.app-shell{min-height:100svh}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;position:sticky;top:0}.top-strip,.main-nav,main,.site-footer{width:min(1280px,100% - 28px);margin:0 auto}.top-strip{border-bottom:1px solid #f0f0f1;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.language-row,.footer-language-row,.social-row,.nav-links{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.language-row::-webkit-scrollbar{display:none}.footer-language-row::-webkit-scrollbar{display:none}.nav-links::-webkit-scrollbar{display:none}.language-row button,.footer-language-row button,.social-row button,.nav-links button,.footer-links button{color:#4b4b55;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 8px;transition:background .16s,color .16s,transform .16s}.language-row button:hover,.social-row button:hover,.nav-links button:hover,.nav-links .active{background:var(--purple-soft);color:var(--purple)}button:active{transform:translateY(1px)}.main-nav{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;display:grid}.brand{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand-mark{background:var(--purple);color:#fff;border-radius:9px;place-items:center;width:42px;height:42px;display:grid}.brand strong,.brand small{display:block}.brand small,.tile-copy small,.game-row span,.section-title small,.meta-grid span,.player-topbar span{color:var(--muted);font-size:.82rem}.nav-links{gap:2px}.nav-links button{font-weight:700}.lucky-button,.primary-button,.secondary-button{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;display:inline-flex}.lucky-button,.primary-button{background:var(--purple);color:#fff;border-color:#4c1dcb}.secondary-button{color:var(--ink);border-color:var(--line);background:#fff}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.62}.danger-button{color:var(--red);border-color:#fed7aa}.gg-page,.page-shell,.detail-layout,.player-page,.admin-page{padding:22px 0 54px}.hero-band{border:1px solid var(--purple-line);background:radial-gradient(circle at 100% 0,#5b21e629,#0000 28%),linear-gradient(135deg,#fff,#f8f7ff);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:18px;padding:24px;display:grid}.hero-band h1,.page-heading h1,.detail-copy h1,.admin-heading h1{color:#16161d;letter-spacing:0;text-wrap:balance;margin:0;line-height:1.02}.hero-band h1{font-size:clamp(2rem,5vw,4.4rem)}.page-heading h1,.detail-copy h1,.admin-heading h1{font-size:var(--page-title-size);line-height:var(--page-title-line-height)}.hero-band p,.page-heading p,.detail-copy p,.tile-copy p,.collection-card p,.capability p,.tool-panel p,.site-footer p{color:var(--muted);line-height:1.65}.eyebrow{color:var(--purple);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.76rem;font-weight:800}.hero-metrics,.stats-strip{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(3,minmax(92px,1fr));gap:1px;display:grid;overflow:hidden}.stats-strip{grid-template-columns:repeat(5,1fr);margin-bottom:18px}.stats-strip.compact{grid-template-columns:repeat(2,1fr);margin:10px 0 0}.hero-metrics div,.stats-strip div{background:#fff;padding:14px}.hero-metrics strong,.stats-strip strong{color:#17171d;font-variant-numeric:tabular-nums;font-size:1.8rem;display:block}.hero-metrics span,.stats-strip span{color:var(--muted)}.hero-actions{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.gg-section{margin-top:18px}.section-heading,.admin-heading,.player-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-heading h2{margin:0;font-size:1.45rem}.section-heading button{color:var(--purple);background:0 0;border:0;font-weight:700}.netplay-card,.game-tile,.collection-card,.room-card,.broadcast-card,.blog-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.netplay-card{grid-template-columns:62px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.mini-cover{background:var(--soft);border-radius:8px;place-items:center;width:62px;height:62px;display:grid;overflow:hidden}.mini-cover img{object-fit:cover;width:100%;height:100%}.netplay-card h3,.tile-copy h3,.collection-card h3,.liked-list h3,.room-card h3,.broadcast-card h3{margin:0;font-size:1rem}.netplay-card span,.netplay-card strong,.room-card span,.broadcast-card span{color:var(--muted);font-size:.82rem;display:block}.netplay-card button,.room-card button,.broadcast-card button,.collection-card button,.blog-list button,.liked-list button{border:1px solid var(--purple-line);background:var(--purple-soft);color:var(--purple);border-radius:8px;padding:8px 10px}.game-rail,.game-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.game-tile{grid-template-rows:auto 1fr;display:grid}.tile-cover{aspect-ratio:4/3;background:var(--soft);border:0;place-items:center;width:100%;padding:0;display:grid;position:relative;overflow:hidden}.tile-cover img{object-fit:contain;background:#f6f6f8;width:100%;height:100%}.brand-cover-fallback{background:#f6f6f8;padding:12%}.brand-cover-fallback img{object-fit:contain;width:100%;height:100%}.tile-cover span{color:var(--purple);background:#fff;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:800;position:absolute;top:8px;left:8px}.tile-copy{gap:7px;padding:12px;display:grid}.tile-copy button{color:var(--purple);background:0 0;border:0;justify-self:start;align-items:center;gap:4px;padding:0;font-weight:800;display:inline-flex}.collections-row,.broadcast-grid,.room-grid,.blog-list,.pro-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.broadcast-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}@media (min-width:720px){.broadcast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.broadcast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1260px){.broadcast-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.collection-card{padding:14px}.collection-card>div{background:var(--soft);border-radius:8px;height:126px;margin-bottom:12px;overflow:hidden}.collection-card img,.broadcast-card img,.collection-card .cover-fallback,.broadcast-card .cover-fallback{object-fit:cover;width:100%;height:100%}.liked-list{gap:8px;display:grid}.liked-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:38px 68px 1fr auto auto;align-items:center;gap:12px;padding:10px;display:grid}.liked-list img,.liked-list article>svg,.liked-list .cover-fallback{object-fit:cover;background:var(--soft);border-radius:8px;width:68px;height:52px}.liked-list p{color:var(--muted);margin:4px 0 0}.liked-list span{color:var(--red);align-items:center;gap:4px;font-weight:800;display:inline-flex}.platform-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.platform-grid button{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:6px;padding:14px;display:grid}.platform-grid span{color:var(--muted)}.genre-mosaic{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:18px;display:grid}.genre-block{border-radius:var(--radius);border:1px solid var(--line);background:#fff;padding:14px}.genre-block h3{margin:0 0 10px}.genre-block button{text-align:left;background:0 0;border:0;border-top:1px solid #f1f1f3;grid-template-columns:1fr auto;width:100%;padding:9px 0;display:grid}.genre-block small{color:var(--muted)}.genre-block em{color:var(--purple);font-style:normal;font-weight:800}.page-heading{max-width:780px;margin-bottom:18px}.toolbar,.feature-form{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;padding:12px;display:flex}.live-login-required{justify-content:space-between;align-items:center}.live-login-required p{color:var(--muted);margin:4px 0 0}.room-game-picker{flex:100%;gap:10px;min-width:0;display:grid}.room-game-picker-head{justify-content:space-between;align-items:end;gap:10px;display:flex}.room-game-picker-head strong,.room-game-picker-head span{display:block}.room-game-picker-head strong{color:var(--ink);font-size:15px}.room-game-picker-head small,.room-game-picker-head span,.room-game-result-line{color:var(--muted);font-size:12px}.room-game-filter-row{grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr) minmax(140px,.8fr);align-items:end;gap:10px;display:grid}.room-game-search{align-self:end;width:100%;min-width:0;margin:0}.room-game-result-line{justify-content:space-between;gap:10px;display:flex}.room-game-picker-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;max-height:318px;padding-right:2px;display:grid;overflow:auto}.room-game-option{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:9px;padding:7px;display:grid}.room-game-option:hover,.room-game-option.is-selected{border-color:var(--purple);background:var(--purple-soft)}.room-game-cover{background:var(--soft);border-radius:7px;width:54px;height:54px;display:block;overflow:hidden}.room-game-cover img,.room-game-cover .cover-fallback{object-fit:cover;width:100%;height:100%}.room-game-copy{gap:3px;min-width:0;display:grid}.room-game-copy strong,.room-game-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-game-copy strong{font-size:13px;line-height:1.25}.room-game-copy small{color:var(--muted);font-size:11px}.room-game-empty{color:var(--muted);grid-column:1/-1;margin:0;padding:12px}label{color:#3f3f46;gap:7px;font-weight:700;display:grid}.inline-check{align-items:center;gap:8px;min-height:40px;display:inline-flex}.inline-check input{width:auto;min-height:0}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:100%;min-height:40px;padding:9px 10px}textarea{resize:vertical;min-height:86px}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5b21e61f}.search-box{flex:1;align-items:center;gap:8px;min-width:240px;display:flex}.search-box input{min-width:0}.room-grid,.broadcast-grid{margin-top:14px}.room-card,.broadcast-card,.blog-list article{padding:14px}.blog-list article{gap:8px;display:grid}.blog-list article button{justify-self:start}.blog-detail{gap:14px}.blog-body,.legal-page{max-width:920px}.legal-updated{color:var(--gg-muted);margin:-4px 0 18px;font-size:14px;font-weight:700}.blog-body{color:#2f2f35;gap:12px;line-height:1.8;display:grid}.policy-list{grid-template-columns:1fr;gap:14px;display:grid}.policy-card{border:1px solid var(--gg-border);background:#fff;border-radius:8px;grid-template-columns:36px minmax(0,1fr);gap:10px 14px;padding:18px;display:grid}.policy-card>span{background:var(--purple-soft);width:36px;height:36px;color:var(--purple);border-radius:8px;place-items:center;display:grid}.policy-card svg{width:20px;height:20px}.policy-card h2{align-self:center;margin:0;font-size:20px;line-height:1.2}.policy-card p{color:#3f3f46;grid-column:2;margin:0;font-size:15px;line-height:1.8}.broadcast-card img,.broadcast-card .cover-fallback{background:var(--soft);height:100%}.broadcast-card{background:0 0;border:0;gap:8px;padding:0;display:grid;overflow:visible}.broadcast-thumb{aspect-ratio:16/9;border:1px solid var(--line);background:var(--soft);color:#fff;border-radius:8px;width:100%;padding:0;transition:transform .16s,border-color .16s;display:block;position:relative;overflow:hidden}.broadcast-thumb:after{content:"";pointer-events:none;background:linear-gradient(#18181b14,#18181b80);position:absolute;inset:0}.broadcast-card:hover .broadcast-thumb{border-color:#c7c7d1;transform:translateY(-2px)}.broadcast-live-badge,.broadcast-viewer-badge{z-index:1;color:#fff;border-radius:999px;align-items:center;gap:4px;min-height:22px;padding:0 7px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex;position:absolute}.broadcast-live-badge{background:#c2410ceb;top:8px;left:8px}.broadcast-viewer-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181bbd;bottom:8px;right:8px}.broadcast-viewer-badge svg{width:13px;height:13px}.broadcast-copy{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.broadcast-copy h3,.broadcast-copy span,.broadcast-copy small{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.broadcast-copy h3{-webkit-line-clamp:2;min-height:2.4em;font-size:.96rem;line-height:1.2}.broadcast-copy span,.broadcast-copy small{-webkit-line-clamp:1;color:var(--muted);font-size:.78rem}.broadcast-copy small{color:#8a8a96}.room-detail,.broadcast-detail{gap:14px;display:grid}.live-console{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;display:grid}.live-control-panel{align-self:stretch}.live-side-column{align-self:start;gap:12px;min-width:0;display:grid}.live-status-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px;display:grid}.live-status-grid span{border:1px solid var(--line);background:var(--soft);border-radius:8px;gap:3px;padding:10px;display:grid}.live-status-grid strong,.live-status-grid small{display:block}.live-status-grid small{color:var(--muted)}.room-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.netplay-input-status{width:min(100%, var(--game-stage-max-width,1180px));border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:8px;margin:0 auto;padding:8px 12px;font-weight:700;line-height:1.5}.netplay-input-status.is-ready{color:#166534;background:#1fb96214;border-color:#1fb96247}.netplay-input-status.is-waiting{background:#3b82f60f;border-color:#3b82f633}.live-stage,.player-shell{width:min(100%, var(--game-stage-max-width,1180px));aspect-ratio:var(--game-stage-ratio,16 / 9);contain:layout paint;overscroll-behavior:contain;touch-action:none;background:#18181b;border:1px solid #27272a;border-radius:12px;height:auto;min-height:0;margin-inline:auto;overflow:hidden}.player-handheld-stage{width:100%;margin-inline:auto;position:relative}.live-stage iframe,.player-shell iframe{border:0;width:100%;height:100%;display:block}.handheld-exit,.stage-top-controls,.stage-save-dock{display:none}.stage-top-controls{pointer-events:auto;align-items:center;gap:8px}.stage-top-controls button,.stage-save-dock button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090bb8;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-height:34px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.stage-top-controls svg,.stage-save-dock svg{flex:none;width:14px;height:14px}.stage-lock-button.active{color:#e7fff8;background:#0d5b49c7;border-color:#5ce1b69e}.stage-save-dock{pointer-events:auto;align-items:center;gap:6px}.stage-save-slot,.stage-save-status{color:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090b9e;border:1px solid #ffffff24;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.stage-save-status{color:#ffffffbd;text-overflow:ellipsis;white-space:nowrap;max-width:min(38vw,280px);overflow:hidden}html.player-touch-guard-active,body.player-touch-guard-active{overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none}body.player-touch-guard-active .player-handheld-stage.is-touch-locked{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}@media (max-width:720px){.stage-top-controls{gap:6px}.stage-top-controls button,.stage-save-dock button{min-height:32px;padding:0 9px;font-size:11px}.stage-save-slot{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}.stage-save-status{display:none}}.live-video-stage,.netplay-waiting{color:#f4f4f5;background:#09090b;place-items:center;width:100%;height:100%;display:grid}.live-video-stage{position:relative}.live-video-stage video{object-fit:contain;object-position:center center;background:#09090b;width:100%;height:100%}.live-video-stage video.is-waiting{opacity:0;pointer-events:none;position:absolute;inset:0}.live-video-stage span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090bb8;border-radius:999px;max-width:min(520px,100% - 28px);padding:9px 14px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.netplay-waiting>div{text-align:center;justify-items:center;gap:8px;padding:18px;display:grid}.live-video-stage span{padding:9px 14px;display:block}.netplay-waiting strong{font-size:18px}.netplay-waiting span{color:#ffffffb8}.player-reload-mask{color:#f7f0dc;place-items:center;width:100%;height:100%;font-weight:700;display:grid}body.player-immersive-active,body.player-handheld-active,body.live-immersive-active{overflow:hidden}.player-page.is-immersive{z-index:1000;color:#f7f7f8;background:#101014;width:100vw;height:100dvh;padding:0;display:block;position:fixed;inset:0;overflow:hidden}.player-page.is-immersive .player-topbar{left:max(12px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top));z-index:1002;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#09090bb8;border:1px solid #ffffff1f;border-radius:999px;width:auto;max-width:calc(100vw - 24px);margin:0;padding:0;position:fixed}.player-page.is-immersive .player-topbar>:not(:first-child){display:none}.player-page.is-immersive .player-topbar .secondary-button:first-child{color:#fff;background:0 0;border-color:#ffffff2e;border-radius:999px;min-height:38px;padding:0 14px;font-size:13px}.player-page.is-immersive .player-topbar span{color:#ffffff9e}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage{z-index:1001;background:#050507;width:100%;height:100%;min-height:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage,.player-handheld-stage:fullscreen:not(.is-handheld){--switch-rail-width:clamp(94px, 16vw, 168px);--switch-gap:clamp(6px, 1.4vw, 18px);background:linear-gradient(90deg, #c81725 0 var(--switch-rail-width), #050507 var(--switch-rail-width) calc(100% - var(--switch-rail-width)), #0b90aa calc(100% - var(--switch-rail-width)) 100%);display:block;overflow:hidden}.player-page.is-immersive:not(.is-handheld) .player-shell,.player-handheld-stage:fullscreen:not(.is-handheld) .player-shell{z-index:1;left:calc(var(--switch-rail-width) + var(--switch-gap) + env(safe-area-inset-left));right:calc(var(--switch-rail-width) + var(--switch-gap) + env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));bottom:max(8px, env(safe-area-inset-bottom));aspect-ratio:auto;background:#050507;border:1px solid #ffffff26;border-radius:clamp(10px,1.8vw,22px);margin:0;position:absolute;box-shadow:0 22px 48px #00000057,inset 0 0 0 6px #0000005c;width:auto!important;height:auto!important;max-height:none!important}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad{z-index:24;grid-template-columns:calc(var(--switch-rail-width) + env(safe-area-inset-left)) minmax(0, 1fr) calc(var(--switch-rail-width) + env(safe-area-inset-right));width:100%;height:100%;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:max(10px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;--pad-arrow:#d8e2e2b8;--pad-arrow-active:#eca044db;background:0 0;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;margin:0;display:grid;position:absolute;inset:0;overflow:visible;transform:none}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad:before,.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad:after,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad:before,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad:after{width:calc(var(--switch-rail-width) + 2px);z-index:0;content:"";pointer-events:none;position:absolute;top:0;bottom:0}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad:before,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad:before{background:linear-gradient(#ffffff26,#0000 18% 82%,#0000002e),linear-gradient(#f02b38 0%,#a91424 100%);border-radius:clamp(18px,3vw,34px) 0 0 clamp(18px,3vw,34px);left:0;box-shadow:inset -1px 0 #ffffff1f,inset -14px 0 28px #00000024}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad:after,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad:after{background:linear-gradient(#ffffff24,#0000 18% 82%,#0003),linear-gradient(#20b9cf 0%,#087f9d 100%);border-radius:0 clamp(18px,3vw,34px) clamp(18px,3vw,34px) 0;right:0;box-shadow:inset 1px 0 #ffffff1f,inset 14px 0 28px #00000024}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad-head,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad-head{display:none}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad-body,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad-body{display:contents}.player-page.is-immersive:not(.is-handheld) .virtual-joystick,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-joystick{z-index:1;aspect-ratio:1;opacity:.9;isolation:isolate;pointer-events:auto;touch-action:none;background:radial-gradient(circle at 50% 92%,#fffffff2 0 13%,#0000 28%),radial-gradient(circle at 48% 45%,#e8f1f1 0 39%,#a6b4b5 59%,#edf5f5 83%);border:0;border-radius:999px;grid-area:1/1;place-self:center;width:min(72%,142px);position:relative;box-shadow:inset 0 16px 24px #ffffffb8,inset 0 -18px 20px #5e6c6e2e,0 18px 28px #1a26282e}.player-page.is-immersive:not(.is-handheld) .joystick-cross,.player-page.is-immersive:not(.is-handheld) .joystick-cross:before,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-cross,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-cross:before{z-index:2;content:"";pointer-events:none;background:linear-gradient(90deg,#0000 7%,#7f8b8d29 18%,#0000 34% 66%,#7f8b8d29 82%,#0000 93%);border-radius:999px;width:128%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.player-page.is-immersive:not(.is-handheld) .joystick-cross:before,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-cross:before{width:100%;transform:translate(-50%,-50%)rotate(90deg)}.player-page.is-immersive:not(.is-handheld) .joystick-arrow,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-arrow{z-index:4;background:var(--pad-arrow);clip-path:polygon(50% 0,100% 64%,72% 88%,50% 48%,28% 88%,0 64%);filter:drop-shadow(0 2px 1px #ffffffe6);opacity:.62;pointer-events:none;width:20px;height:16px;position:absolute}.player-page.is-immersive:not(.is-handheld) .joystick-arrow-up,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-arrow-up{background:var(--pad-arrow-active);opacity:.9;top:-2px;left:50%;transform:translate(-50%,-60%)}.player-page.is-immersive:not(.is-handheld) .joystick-arrow-right,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-arrow-right{top:50%;right:-4px;transform:translate(62%,-50%)rotate(90deg)}.player-page.is-immersive:not(.is-handheld) .joystick-arrow-down,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-arrow-down{bottom:-3px;left:50%;transform:translate(-50%,62%)rotate(180deg)}.player-page.is-immersive:not(.is-handheld) .joystick-arrow-left,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-arrow-left{top:50%;left:-4px;transform:translate(-62%,-50%)rotate(-90deg)}.player-page.is-immersive:not(.is-handheld) .joystick-knob,.player-handheld-stage:fullscreen:not(.is-handheld) .joystick-knob{z-index:5;aspect-ratio:1;will-change:transform;background:radial-gradient(circle at 50% 19%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 79% 52%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 50% 82%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 21% 52%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 50% 32%,#ffffffdb,#0000 36%),linear-gradient(#f7ffff 0%,#dce8e8 52%,#b9c5c6 100%);border:1px solid #ffffffb8;border-radius:999px;width:43%;position:absolute;top:50%;left:50%;box-shadow:0 9px 13px #0911133d,0 0 0 10px #f6fcfbad,inset 0 8px 12px #ffffffb8,inset 0 -9px 12px #5c6c6e38}.player-page.is-immersive:not(.is-handheld) .virtual-system,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system{z-index:1;pointer-events:auto;grid-area:1/1;place-self:end center;gap:8px;width:min(72%,108px);margin-bottom:clamp(8px,4dvh,30px);display:grid;position:relative}.player-page.is-immersive:not(.is-handheld) .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-actions{z-index:1;pointer-events:auto;grid-area:1/3;grid-template-columns:1fr 1fr;place-self:center;align-items:end;gap:9px;width:min(76%,138px);display:grid;position:relative}.player-page.is-immersive:not(.is-handheld) .virtual-action-key,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-action-key{justify-items:center;gap:5px;display:grid}.player-page.is-immersive:not(.is-handheld) .virtual-extra,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-extra{z-index:1;width:min(460px,72%);margin-bottom:max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);pointer-events:auto;background:#0a0c0e7a;border:1px solid #ffffff29;border-radius:999px;grid-area:2/2;grid-template-columns:repeat(5,minmax(0,1fr));place-self:end center;gap:6px;padding:8px;display:grid;position:relative}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-actions{display:none}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-area:1/3;grid-template-columns:minmax(0,1fr);place-self:center;gap:8px;width:min(76%,138px);margin:0;padding:0}.player-page.is-immersive:not(.is-handheld) .virtual-action-key>button,.player-page.is-immersive:not(.is-handheld) .virtual-system button,.player-page.is-immersive:not(.is-handheld) .virtual-extra button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-action-key>button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-extra button{color:#10181ae0;background:radial-gradient(circle at 42% 18%,#ffffffd1,#0000 34%),linear-gradient(#f7ffffc2,#c9d7d8a3);border:1px solid #74828442;font-weight:900;box-shadow:0 12px 18px #23303324,inset 0 1px #ffffffe0,inset 0 -5px #65767829}.player-page.is-immersive:not(.is-handheld) .virtual-action-key>button:first-child,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-action-key>button:first-child{border-radius:999px;width:54px;height:54px;font-size:21px}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-actions,.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.is-extended .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.is-extended .virtual-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(84%,168px)}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-action-key>button:first-child,.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.is-extended .virtual-action-key>button:first-child,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-action-key>button:first-child,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.is-extended .virtual-action-key>button:first-child{width:44px;height:44px;font-size:16px}.player-page.is-immersive:not(.is-handheld) .virtual-system .turbo-toggle,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system .turbo-toggle{border-radius:999px;width:54px;height:24px;min-height:24px;padding:0;font-size:10px;line-height:1}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-system,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-system{grid-template-columns:repeat(2,minmax(0,auto));justify-content:center}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-system .turbo-toggle,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.is-arcade .virtual-system .turbo-toggle{grid-column:1/-1;justify-self:center;margin-top:2px}.player-page.is-immersive:not(.is-handheld) .virtual-system button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system button{border-radius:999px;min-height:30px;font-size:11px}.player-page.is-immersive:not(.is-handheld) .virtual-extra button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-extra button{border-radius:999px;min-width:0;min-height:30px;padding:0 5px;font-size:11px}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra button{min-height:34px}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage,.player-handheld-stage:fullscreen:not(.is-handheld){--switch-rail-width:0px;--switch-gap:0px;background:#050507;grid-template-rows:minmax(0,1fr);display:grid}.player-page.is-immersive:not(.is-handheld) .player-shell,.player-handheld-stage:fullscreen:not(.is-handheld) .player-shell{aspect-ratio:auto;box-shadow:none;border:0;border-radius:0;margin:0;position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad{display:none}@media (min-width:721px){.player-page.is-immersive:not(.is-handheld) .player-shell,.player-handheld-stage:fullscreen:not(.is-handheld) .player-shell{top:calc(max(8px, env(safe-area-inset-top)) + 48px)}}.player-page.is-immersive .player-tools{display:none}.player-page.is-handheld{z-index:1000;color:#f7f7f8;background:#050507;width:100vw;height:100dvh;padding:0;position:fixed;inset:0;overflow:hidden}.player-page.is-handheld .player-topbar,.player-page.is-handheld .player-tools{display:none}.player-page.is-handheld .player-handheld-stage{z-index:1001;background:#050507;grid-template-rows:minmax(0,1fr);width:100vw;height:100dvh;min-height:0;margin:0;display:grid;position:fixed;inset:0;overflow:hidden}.player-page.is-handheld .player-shell{aspect-ratio:auto;border:0;border-radius:0;margin:0;width:100%!important;height:100%!important}.broadcast-detail.is-immersive{z-index:1000;color:#f7f7f8;background:#101014;grid-template-rows:minmax(0,1fr) auto;gap:10px;width:100vw;height:100svh;padding:12px;display:grid;position:fixed;inset:0;overflow:hidden}.broadcast-detail.is-immersive .page-heading{display:none}.broadcast-detail.is-immersive .live-console{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:center;height:100%;min-height:0;display:grid}.broadcast-detail.is-immersive .live-side-column{align-self:stretch;min-height:0;max-height:100%;overflow:auto}.broadcast-detail.is-immersive .live-stage{aspect-ratio:var(--game-stage-ratio,16 / 9);background:#050507;border-color:#ffffff29;border-radius:12px;place-self:center;margin:auto;width:min(100%, calc((100svh - 24px) * var(--game-stage-fit-ratio,1.77778)))!important;width:min(100%, calc((100dvh - 24px) * var(--game-stage-fit-ratio,1.77778)))!important;height:auto!important;max-height:100%!important}.broadcast-detail.is-immersive .live-side-column .tool-panel{color:#f7f7f8;background:#141418eb;border-color:#ffffff24;min-height:0}.broadcast-detail.is-immersive .live-side-column .tool-panel p,.broadcast-detail.is-immersive .live-status-grid small,.broadcast-detail.is-immersive .section-title small{color:#ffffffa3}.broadcast-detail.is-immersive .live-side-column .tool-panel label{color:#ffffffdb}.broadcast-detail.is-immersive .live-side-column .tool-panel label small{color:#ffffff94;font-weight:600}.broadcast-detail.is-immersive .live-status-grid span{background:#ffffff0f;border-color:#ffffff1f}.broadcast-detail.is-immersive .message-panel{display:none}.live-audio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.live-immersive-exit{z-index:1002;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#08080ab8;border:1px solid #ffffff2e;border-radius:999px;min-height:38px;padding:0 14px;font-weight:800;position:fixed;top:12px;right:12px}@media (min-width:721px) and (max-height:840px){.player-page,.room-detail,.broadcast-detail{gap:10px}.player-topbar{margin-bottom:6px}.player-shell,.room-detail .live-stage,.broadcast-detail .live-stage{width:min(100%,max(320px,177.778svh - 373.333px));height:auto;max-height:none;aspect-ratio:var(--game-stage-ratio,16 / 9);margin-inline:auto}.player-tools{gap:10px;margin-top:10px}}.immersive-app{color:#f7f7f8;background:#101014;height:100svh;min-height:100svh;overflow:auto}.immersive-page{grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:100svh;padding:14px;display:grid}.immersive-header{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px;display:grid}.immersive-header .gg-logo{width:132px}.immersive-header strong,.immersive-header span{display:block}.immersive-header span,.immersive-side p{color:#ffffffa8}.immersive-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:14px;min-height:0;display:grid}.immersive-stage{width:min(100%, calc((100svh - 112px) * var(--game-stage-fit-ratio,1.77778)));max-height:calc(100svh - 112px);aspect-ratio:var(--game-stage-ratio,16 / 9);overscroll-behavior:contain;touch-action:none;background:#050507;border:1px solid #ffffff29;border-radius:14px;place-self:center;min-height:0;position:sticky;top:14px;overflow:hidden}.immersive-stage .stage-save-dock{z-index:5;justify-content:center;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.immersive-stage:fullscreen .stage-save-dock{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom))}.immersive-stage iframe{border:0;width:100%;height:100%}.immersive-stage:fullscreen{border-radius:0}.live-stage:fullscreen,.player-shell:fullscreen,.player-handheld-stage:fullscreen,.immersive-stage:fullscreen,.local-rom-stage:fullscreen{border:0;border-radius:0;width:100vw!important;height:100dvh!important}.live-stage:fullscreen .live-video-stage{width:100%;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.live-stage:fullscreen .live-video-stage video{max-width:100%;max-height:100%}.player-handheld-stage:fullscreen{background:#050507;grid-template-rows:minmax(0,1fr);display:grid;overflow:hidden}.player-handheld-stage:fullscreen .player-shell{aspect-ratio:auto;border:0;border-radius:0;margin:0;width:100%!important;height:100%!important}.player-page.is-handheld .stage-top-controls,.player-page.is-immersive:not(.is-handheld) .stage-top-controls,.player-handheld-stage:fullscreen .stage-top-controls{z-index:60;width:auto;display:flex;position:fixed}.player-page.is-handheld .stage-save-dock,.player-page.is-immersive:not(.is-handheld) .stage-save-dock,.player-handheld-stage:fullscreen .stage-save-dock{z-index:58;justify-content:flex-start;width:auto;display:flex;position:fixed}.player-page.is-immersive:not(.is-handheld) .stage-save-dock,.player-handheld-stage:fullscreen:not(.is-handheld) .stage-save-dock{top:max(8px, env(safe-area-inset-top));flex-direction:row;justify-content:center;align-items:center;max-width:calc(100vw - 32px);bottom:auto;left:50%;right:auto;transform:translate(-50%)}.player-page.is-handheld .stage-save-dock,.player-handheld-stage.is-handheld .stage-save-dock,.player-handheld-stage.is-handheld:fullscreen .stage-save-dock{top:calc(52svh + max(50px, env(safe-area-inset-top) + 50px));top:calc(52dvh + max(50px, env(safe-area-inset-top) + 50px));flex-direction:row;align-items:center;max-width:calc(100vw - 24px);bottom:auto;left:50%;right:auto;transform:translate(-50%)}.player-page.is-handheld .stage-top-controls,.player-handheld-stage.is-handheld .stage-top-controls,.player-handheld-stage.is-handheld:fullscreen .stage-top-controls{top:calc(52svh + max(10px, env(safe-area-inset-top)));top:calc(52dvh + max(10px, env(safe-area-inset-top)));right:max(12px, env(safe-area-inset-right));left:max(12px, env(safe-area-inset-left));justify-content:space-between}.player-page.is-immersive:not(.is-handheld) .stage-top-controls,.player-handheld-stage:fullscreen:not(.is-handheld) .stage-top-controls,.player-page.is-handheld .stage-save-status,.player-page.is-immersive:not(.is-handheld) .stage-save-status,.player-handheld-stage:fullscreen .stage-save-status{display:none}.player-page.is-handheld .handheld-exit,.player-handheld-stage:fullscreen .handheld-exit{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:20;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090bb8;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex;position:fixed}body.player-handheld-active .player-page.is-handheld .player-handheld-stage,.player-handheld-stage.is-handheld:fullscreen{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:linear-gradient(#20272a 0%,#111619 51%,#d8e2df 51%,#aebbb8 100%);grid-template-rows:minmax(0,52fr) minmax(0,48fr);gap:0;display:grid;overflow:hidden}body.player-handheld-active .player-page.is-handheld .player-shell,.player-handheld-stage.is-handheld:fullscreen .player-shell{aspect-ratio:auto;background:#050507;border:2px solid #ffffff1f;border-bottom:0;border-radius:22px 22px 7px 7px;grid-row:1;align-self:stretch;min-height:0;margin:0;box-shadow:inset 0 0 0 5px #00000070,0 12px 24px #00000047;width:100%!important;height:100%!important}body.player-handheld-active .player-page.is-handheld .player-handheld-stage>.virtual-gamepad,.player-handheld-stage.is-handheld:fullscreen>.virtual-gamepad{touch-action:none;-webkit-user-select:none;user-select:none;--pad-arrow:#aeb9bb;--pad-arrow-active:#cf903b;background:linear-gradient(90deg,#ffffff57,#0000 16% 84%,#ffffff3d),linear-gradient(#e9f1ef 0%,#cdd9d7 50%,#aab8b5 100%);border:0;border-radius:7px 7px 26px 26px;grid-row:2;align-content:center;gap:clamp(6px,1.8dvh,12px);width:100%;height:100%;max-height:none;margin:0;padding:clamp(8px,2.2dvh,18px) clamp(12px,4vw,24px);display:grid;position:relative;bottom:auto;left:auto;right:auto;overflow:hidden;transform:none;box-shadow:inset 0 18px 28px #ffffff80,inset 0 -18px 28px #42505229}body.player-handheld-active .player-page.is-handheld .virtual-gamepad-head,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad-head{display:none}body.player-handheld-active .player-page.is-handheld .virtual-gamepad-body,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad-body{grid-template-columns:minmax(108px,34vw) minmax(58px,1fr) minmax(108px,32vw);align-items:center;gap:min(5vw,28px);min-height:0;display:grid}body.player-handheld-active .player-page.is-handheld .virtual-joystick,.player-handheld-stage.is-handheld:fullscreen .virtual-joystick{aspect-ratio:1;isolation:isolate;touch-action:none;background:radial-gradient(circle at 50% 92%,#fffffff2 0 13%,#0000 28%),radial-gradient(circle at 48% 45%,#e8f1f1 0 39%,#a6b4b5 59%,#edf5f5 83%);border-radius:999px;justify-self:center;width:min(31dvh,36vw,148px);position:relative;box-shadow:inset 0 16px 24px #ffffffb8,inset 0 -18px 20px #5e6c6e2e,0 18px 28px #1a26282e}body.player-handheld-active .player-page.is-handheld .joystick-knob,.player-handheld-stage.is-handheld:fullscreen .joystick-knob{z-index:5;aspect-ratio:1;will-change:transform;background:radial-gradient(circle at 50% 19%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 50% 32%,#ffffffdb,#0000 36%),linear-gradient(#f7ffff 0%,#dce8e8 52%,#b9c5c6 100%);border:1px solid #ffffffb8;border-radius:999px;width:43%;position:absolute;top:50%;left:50%;box-shadow:0 9px 13px #0911133d,0 0 0 10px #f6fcfbad,inset 0 8px 12px #ffffffb8,inset 0 -9px 12px #5c6c6e38}body.player-handheld-active .player-page.is-handheld .virtual-system,.player-handheld-stage.is-handheld:fullscreen .virtual-system{gap:8px;display:grid}body.player-handheld-active .player-page.is-handheld .virtual-actions,.player-handheld-stage.is-handheld:fullscreen .virtual-actions{grid-template-columns:1fr 1fr;justify-self:center;align-items:end;gap:9px;width:min(30dvh,34vw,132px);display:grid}body.player-handheld-active .player-page.is-handheld .virtual-action-key,.player-handheld-stage.is-handheld:fullscreen .virtual-action-key{justify-items:center;gap:5px;display:grid}body.player-handheld-active .player-page.is-handheld .virtual-action-key>button,body.player-handheld-active .player-page.is-handheld .virtual-system button,body.player-handheld-active .player-page.is-handheld .virtual-extra button,.player-handheld-stage.is-handheld:fullscreen .virtual-action-key>button,.player-handheld-stage.is-handheld:fullscreen .virtual-system button,.player-handheld-stage.is-handheld:fullscreen .virtual-extra button{color:#1f2628;background:radial-gradient(circle at 45% 18%,#ffffffeb,#0000 34%),linear-gradient(#f8ffff 0%,#e2ecec 54%,#c7d2d3 100%);border:1px solid #74828442;font-weight:900;box-shadow:0 12px 18px #23303324,inset 0 1px #ffffffe0,inset 0 -5px #65767829}body.player-handheld-active .player-page.is-handheld .virtual-action-key>button:first-child,.player-handheld-stage.is-handheld:fullscreen .virtual-action-key>button:first-child{border-radius:999px;width:min(13dvh,54px);height:min(13dvh,54px);font-size:21px}body.player-handheld-active .player-page.is-handheld .virtual-gamepad.is-arcade .virtual-actions,body.player-handheld-active .player-page.is-handheld .virtual-gamepad.is-extended .virtual-actions,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.is-arcade .virtual-actions,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.is-extended .virtual-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(36dvh,42vw,156px)}body.player-handheld-active .player-page.is-handheld .virtual-gamepad.is-arcade .virtual-action-key>button:first-child,body.player-handheld-active .player-page.is-handheld .virtual-gamepad.is-extended .virtual-action-key>button:first-child,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.is-arcade .virtual-action-key>button:first-child,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.is-extended .virtual-action-key>button:first-child{width:min(10.5dvh,44px);height:min(10.5dvh,44px);font-size:16px}body.player-handheld-active .player-page.is-handheld .virtual-system .turbo-toggle,.player-handheld-stage.is-handheld:fullscreen .virtual-system .turbo-toggle{border-radius:999px;width:min(13dvh,54px);height:24px;min-height:24px;padding:0;font-size:10px;line-height:1}body.player-handheld-active .player-page.is-handheld .virtual-gamepad.is-arcade .virtual-system,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.is-arcade .virtual-system{grid-template-columns:repeat(2,minmax(0,auto));justify-content:center}body.player-handheld-active .player-page.is-handheld .virtual-gamepad.is-arcade .virtual-system .turbo-toggle,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.is-arcade .virtual-system .turbo-toggle{grid-column:1/-1;justify-self:center;margin-top:2px}body.player-handheld-active .player-page.is-handheld .virtual-system button,.player-handheld-stage.is-handheld:fullscreen .virtual-system button{border-radius:999px;min-height:30px;font-size:11px}body.player-handheld-active .player-page.is-handheld .virtual-extra,.player-handheld-stage.is-handheld:fullscreen .virtual-extra{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}body.player-handheld-active .player-page.is-handheld .virtual-gamepad.has-function-keys .virtual-extra,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad.has-function-keys .virtual-extra{grid-template-columns:minmax(0,1fr);justify-self:center;width:min(34vw,132px);margin-top:0}body.player-handheld-active .player-page.is-handheld .virtual-extra button,.player-handheld-stage.is-handheld:fullscreen .virtual-extra button{border-radius:999px;min-width:0;min-height:30px;padding:0 5px;font-size:11px}.immersive-side{gap:12px;display:grid}.immersive-side .tool-panel{background:#18181d;border-color:#ffffff1f}.immersive-library{max-height:360px;overflow:auto}.immersive-library button{color:#f7f7f8;text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;width:100%;margin-top:8px;padding:8px;display:grid}.immersive-library button.active{border-color:var(--purple-line);background:#5b21e647}.immersive-library img,.immersive-library .cover-fallback{object-fit:cover;border-radius:6px;width:56px;height:42px}.immersive-library strong,.immersive-library small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.immersive-library small{color:#fff9}.message-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:10px;padding:12px;display:grid}.message-panel>div{max-height:260px;overflow:auto}.message-panel p{border-bottom:1px solid #f1f1f3;gap:8px;margin:0;padding:8px 0;display:flex}.message-panel form{gap:10px;display:flex}.live-list{gap:10px;margin-top:14px;display:grid}.live-list button{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;padding:10px;display:flex}.live-list img,.live-list .cover-fallback{object-fit:cover;border-radius:8px;width:64px;height:48px}.detail-layout{grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.poster-frame{border:1px solid var(--line);background:var(--soft);border-radius:var(--radius);overflow:hidden}.poster-frame img{aspect-ratio:3/4;object-fit:cover;width:100%}.poster-frame .cover-fallback{aspect-ratio:3/4}.meta-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:1px;margin:18px 0;display:grid;overflow:hidden}.meta-grid div{background:#fff;padding:12px}.meta-grid strong{margin-top:5px;display:block}.tag-row{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.tag-row span{border:1px solid var(--purple-line);color:var(--purple);background:var(--purple-soft);border-radius:999px;padding:6px 9px;font-size:.82rem}.player-topbar{flex-wrap:wrap;margin-bottom:12px}.player-topbar>div{flex:220px;min-width:0}.player-title-copy strong,.player-title-copy span{display:block}.player-title-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.handheld-mode-button{display:none!important}.player-action-row .secondary-button.active,.player-action-row .primary-button.active{background:var(--purple-soft);color:var(--purple);border-color:var(--purple-line)}.dos-engine-picker{color:var(--muted);flex:0 240px;gap:4px;font-size:.78rem;font-weight:700;display:grid}.dos-engine-picker select{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.dos-engine-picker small{color:var(--muted);font-weight:600;line-height:1.35}.player-tools{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.player-window-layout{grid-template-columns:128px minmax(0,1fr);align-items:start;gap:12px;display:grid}.player-window-layout.is-stage-mode{display:block}.player-side-controls{gap:8px;min-width:0;display:grid;position:sticky;top:12px}.player-side-controls .secondary-button{white-space:normal;border-radius:8px;justify-content:center;width:100%;min-height:42px;padding:0 10px}.player-side-controls svg{flex:none;width:18px;height:18px}.tool-panel,.admin-panel,.auth-panel,.share-panel,.capability{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px}.section-title{align-items:center;gap:10px;margin-bottom:12px;display:flex}.section-title>span,.capability>span{width:38px;height:38px;color:var(--purple);background:var(--purple-soft);border-radius:8px;place-items:center;display:grid}.section-title strong,.capability strong{display:block}.feature-switches,.save-list,.metadata-results{gap:8px;margin-top:10px;display:grid}.save-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.save-actions button{flex:140px}.save-hint,.save-meta{color:var(--muted);font-size:13px;line-height:1.6}.feature-switches span,.save-list button,.metadata-results button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;gap:3px;padding:10px;display:grid}.save-list em{color:var(--purple);font-style:normal;font-weight:900}.feature-switches .enabled{color:var(--green);background:#f0fdf4;border-color:#86efac}.control-pad{grid-template-columns:repeat(4,minmax(58px,1fr));gap:8px;margin-top:10px;display:grid}.control-pad button{border:1px solid var(--line);background:var(--soft);min-height:42px;color:var(--ink);border-radius:8px;font-weight:800}.virtual-gamepad{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:none}.virtual-gamepad button,.virtual-joystick,.virtual-actions{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none}.room-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.room-meta span,.room-meta strong,.status-pill{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:5px 10px;font-size:.86rem;display:inline-flex}.room-meta strong,.status-pill{color:var(--purple);background:var(--purple-soft);border-color:var(--purple-line)}.admin-login{place-items:center;min-height:70svh;display:grid}.auth-panel{gap:12px;width:min(440px,100%);display:grid}.auth-modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0c75;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.auth-modal{border:1px solid var(--gg-border);background:#fff;width:min(420px,100%);max-height:min(92svh,620px);overflow:auto;box-shadow:0 24px 72px #0c0c103d}.auth-modal-head{justify-content:space-between;align-items:start;gap:14px;display:flex}.auth-modal-head div{gap:4px;display:grid}.auth-modal-head strong{font-size:18px}.auth-modal-head span{color:var(--muted);font-size:13px}.auth-modal-head button{color:var(--muted);background:0 0;border:0;font-weight:800}.rom-directory-prompt-backdrop{z-index:1250;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0c85;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.rom-directory-prompt{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(480px,100%);padding:16px;box-shadow:0 24px 72px #0c0c1042}.rom-directory-prompt p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.gamepad-settings-backdrop{z-index:1300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0c8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.gamepad-settings-modal{border:1px solid var(--line);background:#fff;border-radius:10px;gap:12px;width:min(720px,100%);max-height:min(760px,100vh - 36px);padding:16px;display:grid;overflow:auto;box-shadow:0 24px 72px #0c0c1047}.gamepad-settings-head,.gamepad-settings-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.gamepad-settings-head strong,.gamepad-settings-head span{display:block}.gamepad-settings-head strong{font-size:18px}.gamepad-settings-head span,.gamepad-settings-status{color:var(--muted);font-size:13px;line-height:1.45}.gamepad-settings-subhead strong,.gamepad-settings-subhead span{display:block}.gamepad-settings-subhead strong{font-size:14px}.gamepad-settings-subhead span{color:var(--muted);font-size:12px;line-height:1.45}.gamepad-settings-head button,.gamepad-binding-row button,.gamepad-pad-tabs button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;font-weight:800}.gamepad-settings-head button{min-height:34px;padding:0 12px}.gamepad-pad-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.gamepad-pad-tabs button{min-height:36px}.gamepad-pad-tabs button.active,.gamepad-binding-row button.is-waiting{border-color:var(--purple-line);background:var(--purple-soft);color:var(--purple)}.gamepad-settings-status{margin:0}.gamepad-assignment-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:10px;display:grid}.gamepad-assignment-list{gap:8px;display:grid}.gamepad-assignment-row{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.gamepad-assignment-row strong,.gamepad-assignment-row span{min-width:0;display:block}.gamepad-assignment-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gamepad-assignment-row span,.gamepad-assignment-empty{color:var(--muted);font-size:12px;line-height:1.45}.gamepad-assignment-row select{border:1px solid var(--line);width:100%;min-height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;font-weight:800}.gamepad-assignment-empty{margin:0}.gamepad-binding-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gamepad-binding-row{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:minmax(54px,.65fr) minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.gamepad-binding-row strong{font-size:13px}.gamepad-binding-row span{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:12px}.gamepad-binding-row button{min-width:56px;min-height:32px;padding:0 10px}.account-page .auth-panel{place-self:start}.segmented-control{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented-control button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:9px;font-weight:800}.segmented-control .active{color:var(--purple);background:#fff}.account-card,.hall-list{gap:12px;display:grid}.account-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;max-width:720px;padding:16px}.account-card .room-actions{grid-column:1/-1}.account-library{gap:14px;max-width:920px;display:grid}.account-shelf{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:10px;padding:14px;display:grid}.account-shelf h3{margin:0}.account-list{gap:8px;display:grid}.account-game-row{border:1px solid var(--line);background:var(--soft);text-align:left;border-radius:8px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.account-game-row img,.account-game-row .cover-fallback{object-fit:cover;border-radius:8px;width:54px;height:54px}.account-game-row span{min-width:0;display:grid}.account-game-row strong,.account-game-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-game-row small,.muted-line{color:var(--muted)}.avatar-badge{background:var(--purple-soft);width:46px;height:46px;color:var(--purple);border-radius:999px;place-items:center;font-weight:900;display:grid}.hall-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:44px auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.hall-row h3,.account-card h3{margin:0}.hall-row p,.account-card p{color:var(--muted);margin:4px 0 0}.hall-row em{color:var(--purple);font-size:1.4rem;font-style:normal;font-weight:900}.admin-grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:start;gap:14px;display:grid}.admin-game-shell{gap:12px;display:grid}.admin-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-top:14px;display:grid}.admin-tabs{gap:8px;margin:14px 0;padding-bottom:2px;display:flex;overflow-x:auto}.admin-tabs button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:999px;flex:none;padding:0 16px;font-weight:900}.admin-tabs button.active{border-color:var(--purple);background:var(--purple);color:#fff}.admin-subtabs{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;width:fit-content;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.admin-subtabs button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:7px;flex:none;padding:0 14px;font-weight:900}.admin-subtabs button.active{background:var(--ink);color:#fff}.upload-form,.admin-home-panel{gap:12px;display:grid}.home-banner-grid{grid-template-columns:repeat(3,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.home-banner-form{border:1px solid var(--line);background:var(--soft);border-radius:10px;gap:10px;min-width:0;padding:12px;display:grid}.home-banner-form>strong{font-size:18px}.home-banner-preview{aspect-ratio:16/9;background:#111;border-radius:8px;overflow:hidden}.home-banner-preview img{object-fit:contain;width:100%;height:100%}.home-banner-preview.fit-cover img,.hero-slide-button.fit-cover img{object-fit:cover}.home-banner-preview.fit-contain img,.hero-slide-button.fit-contain img{object-fit:contain}.home-banner-preview.fit-fill img,.hero-slide-button.fit-fill img{object-fit:fill}.upload-hint{color:var(--muted);margin:-6px 0 0;font-size:.86rem;line-height:1.5}.form-grid,.file-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.toggle-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.toggle-row label{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.toggle-row input{width:auto;min-height:auto}.game-table{gap:10px;display:grid}.admin-game-filters{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(160px,1fr));gap:10px;display:grid}.game-row{border-bottom:1px solid #f1f1f3;grid-template-columns:58px 1fr auto auto auto;align-items:center;gap:10px;padding-bottom:10px;display:grid}.game-row img,.game-row>svg,.game-row .cover-fallback{object-fit:cover;background:var(--soft);border-radius:8px;width:58px;height:58px}.admin-manager,.admin-edit-form,.admin-record-list{gap:12px;display:grid}.admin-form-actions{flex-wrap:wrap;gap:10px;display:flex}.select-list{min-height:150px}.body-editor{min-height:190px}.admin-record{border-bottom:1px solid #f1f1f3;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding-bottom:10px;display:grid}.admin-record .cover-fallback,.admin-record img{object-fit:cover;background:var(--soft);border-radius:8px;width:58px;height:58px}.admin-record>div:first-child:not(.cover-fallback){grid-column:span 2}.user-record em{color:var(--purple);justify-self:end;font-size:1.25rem;font-style:normal;font-weight:900}.share-layout{grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:18px;display:grid}.edit-game-form{border:1px solid var(--purple-line);border-radius:var(--radius);background:#fbfaff;gap:12px;padding:12px;display:grid}.share-panel{gap:12px;display:grid}.share-link{overflow-wrap:anywhere;border:1px dashed var(--purple-line);background:var(--purple-soft);color:var(--purple);border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.download-link{border:1px solid var(--purple-line);background:var(--purple-soft);color:var(--purple);border-radius:8px;justify-content:center;padding:9px 12px;font-weight:800;text-decoration:none;display:inline-flex}.local-rom-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:12px;max-width:680px;padding:14px;display:grid}.local-rom-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.local-rom-stage{width:min(100%, var(--game-stage-max-width,1180px));aspect-ratio:var(--game-stage-ratio,16 / 9);margin-top:14px;contain:layout paint;overscroll-behavior:contain;touch-action:none;background:#18181b;border:1px solid #27272a;border-radius:12px;height:auto;min-height:0;margin-inline:auto;overflow:hidden}.local-rom-stage iframe{border:0;width:100%;height:100%}.apps-grid{margin-bottom:14px}.cookie-notice{z-index:50;border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:10px;width:min(420px,100% - 36px);padding:14px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 50px #18181b29}.cookie-notice p{color:var(--muted);margin:0;line-height:1.55}.inline-status{color:var(--green);margin:0;font-weight:800}.form-error,.error-block{color:#9a3412;border-radius:var(--radius);background:#fff7ed;border:1px solid #fed7aa;padding:12px}.form-error .secondary-button{margin-top:8px}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);min-height:220px;color:var(--muted);text-align:center;place-items:center;padding:20px;display:grid}.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.skeleton-grid span,.skeleton-page span{border-radius:var(--radius);background:#ececf0;min-height:160px;animation:1.4s ease-in-out infinite pulse}.skeleton-page{gap:12px;padding:24px 0;display:grid}.site-footer{border-top:1px solid var(--line);gap:12px;padding:22px 0 34px;display:grid}.footer-language-row{flex-wrap:wrap}.footer-links{gap:8px;display:flex}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media (max-width:980px){.top-strip,.main-nav,.section-heading,.admin-heading,.player-topbar{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.player-topbar>div{flex:0 auto}.main-nav{flex-direction:column;display:flex}.nav-links{width:100%}.hero-band,.detail-layout,.player-tools,.admin-grid,.admin-section-grid,.share-layout,.live-console,.immersive-layout{grid-template-columns:1fr}.immersive-stage{min-height:auto;position:static}.immersive-header{grid-template-columns:1fr;align-items:stretch}.hero-metrics,.stats-strip,.meta-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.top-strip,.main-nav,main,.site-footer{width:min(100% - 20px,1280px)}.top-strip{flex-direction:column;align-items:stretch}.hero-band{padding:16px}.hero-band h1{font-size:2.1rem}.page-heading h1,.detail-copy h1,.admin-heading h1{font-size:var(--page-title-size)}.game-rail,.game-grid,.play-together-grid,.collections-row,.broadcast-grid,.room-grid,.blog-list,.pro-grid,.genre-mosaic,.platform-grid,.form-grid,.local-rom-options,.admin-game-filters,.file-row,.toggle-row,.hero-metrics,.stats-strip,.meta-grid,.skeleton-grid,.liked-list article,.game-row,.admin-record,.account-card,.account-game-row,.hall-row,.netplay-card{grid-template-columns:1fr}.liked-list img,.liked-list article>svg,.game-row img,.mini-cover{width:100%;height:150px}.message-panel form,.room-actions,.toolbar,.feature-form{flex-direction:column;align-items:stretch}.room-game-picker-head,.room-game-result-line{display:grid}.room-game-filter-row{grid-template-columns:1fr}.room-game-picker-grid{grid-template-columns:1fr;max-height:360px}.immersive-page{padding:10px}.immersive-side,.live-control-panel{min-width:0}.cookie-notice{width:calc(100% - 20px);bottom:10px;right:10px}}:root{--gg-sidebar:230px;--gg-primary:#4326d9;--gg-text:#17171c;--gg-muted:#707078;--gg-border:#e5e5e8;--gg-soft:#f4f4f5}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111113;--surface:#18181b;--soft:#242429;--line:#32323a;--ink:#f4f4f5;--muted:#a1a1aa;--gg-text:#f4f4f5;--gg-muted:#a1a1aa;--gg-border:#303038;--gg-soft:#242429}html[data-theme=contrast]{--gg-primary:#111827;--gg-text:#050505;--gg-muted:#27272a;--gg-border:#111827;--gg-soft:#f1f5f9}@media (prefers-color-scheme:dark){html[data-theme=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111113;--surface:#18181b;--soft:#242429;--line:#32323a;--ink:#f4f4f5;--muted:#a1a1aa;--gg-text:#f4f4f5;--gg-muted:#a1a1aa;--gg-border:#303038;--gg-soft:#242429}}body{background:var(--surface);height:100%;color:var(--gg-text);overflow:hidden}html{height:100%}.ggemu-app{grid-template-columns:var(--gg-sidebar) minmax(0, 1fr);background:var(--surface);min-height:100svh;display:grid}.gg-sidebar{border-right:1px solid var(--gg-border);background:var(--surface);z-index:30;grid-template-rows:auto auto auto auto 1fr auto;gap:10px;height:100svh;padding:18px 8px 8px;display:grid;position:sticky;top:0}.gg-logo{background:0 0;border:0;justify-content:flex-start;align-items:center;width:202px;padding:0 0 6px;line-height:1;display:flex}.gg-logo img{width:194px;height:auto;display:block}.locale-pop{color:#333;align-items:center;gap:4px;font-size:12px;display:flex;position:absolute;top:76px;right:12px}.locale-pop button{background:0 0;border:0;padding:2px}.pro-mode{background:var(--gg-primary);color:#fff;border:0;border-radius:5px;height:34px;font-weight:800;box-shadow:inset 0 -2px #00000026}.mobile-auth-entry{display:none}.community-card{border:1px solid #151515;border-radius:4px;gap:8px;padding:9px 8px;font-size:13px;display:grid}.community-icons{justify-content:space-around;align-items:center;font-size:18px;display:flex}.community-card button{color:#3f2bc9;background:0 0;border:0;font-size:12px}.auth-gateway-card{border-color:var(--gg-border);background:#fbfbfc}.auth-gateway-card p{color:var(--gg-muted);margin:0;font-size:12px;line-height:1.45}.auth-gateway-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.auth-gateway-actions button{background:#fff;border-radius:4px;min-height:30px;font-weight:800}.auth-gateway-actions button:first-child{color:#fff;background:#0b0b0d}.side-menu{flex-direction:column;gap:4px;padding-top:2px;display:flex;overflow:auto}.side-menu button{color:#222;text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:28px 1fr auto;align-items:center;width:100%;min-height:37px;padding:8px 10px;font-size:15px;display:grid}.side-menu button.active{color:#fff;background:#0b0b0d}.side-nav-group{gap:4px;display:grid}.side-menu-caret{color:inherit;justify-self:end;font-size:13px;font-weight:800}.side-submenu{border-left:1px solid var(--gg-border);gap:3px;margin-left:14px;padding:2px 0 4px 12px;display:grid}.side-submenu button{color:#3f3f46;grid-template-columns:22px 1fr auto;min-height:31px;padding:6px 8px;font-size:13px}.side-submenu button span{color:var(--gg-muted);font-size:13px}.side-submenu button strong{font-weight:650}.side-menu button em{color:#444;text-align:center;background:#f4f4f5;border-radius:999px;min-width:32px;padding:1px 6px;font-size:10px;font-style:normal}.side-taxonomy{border-top:1px solid var(--gg-border);gap:4px;margin-top:8px;padding-top:8px;display:grid}.side-taxonomy>strong{color:var(--gg-muted);padding:4px 10px;font-size:12px}.sidebar-bottom{gap:8px;display:grid}.login-button{color:#171717;text-align:left;background:#f7f7f7;border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:8px 10px;font-weight:800;display:flex}.login-button.is-user{color:#fff;background:#0b0b0d;justify-content:flex-start}.sidebar-user-avatar{color:#0b0b0d;background:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:inline-grid}.sidebar-user-copy{min-width:0;line-height:1.15;display:grid}.sidebar-user-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sidebar-user-copy em{color:#ffffffb8;font-size:11px;font-style:normal;font-weight:700}.theme-row{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.theme-row button{border:1px solid var(--gg-border);background:#fafafa;border-radius:5px;height:44px}.theme-row button.active{background:#fff;box-shadow:0 2px 8px #0000001f}.ggemu-main{scrollbar-width:none;min-width:0;height:100svh;overflow:hidden auto}.ggemu-main::-webkit-scrollbar{display:none}.gg-topbar{z-index:25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:360px minmax(0,1fr) auto;align-items:start;gap:24px 16px;padding:24px 24px 12px;display:grid;position:sticky;top:0}.search-box{border:1px solid var(--gg-border);color:#a1a1aa;border-radius:4px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;width:320px;height:40px;padding:0 12px;display:grid}.search-box input{background:0 0;border:0;outline:none;min-width:0}.search-box kbd{color:#444;background:#f7f7f7;border:1px solid #d4d4d8;border-radius:4px;place-items:center;width:20px;height:20px;font-size:12px;display:inline-grid}.genre-tabs{scrollbar-width:none;flex-wrap:nowrap;grid-column:1/-1;gap:14px;padding-top:0;display:flex;overflow-x:auto}.genre-tabs::-webkit-scrollbar{display:none}.genre-tabs button{color:#111;white-space:nowrap;background:#f7f7f8;border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-width:72px;height:32px;font-size:14px;font-weight:700;display:inline-flex}.random-button{border:1px solid var(--gg-border);background:#fafafa;border-radius:4px;grid-area:1/3;align-items:center;gap:8px;height:40px;padding:0 16px;font-weight:800;display:inline-flex}main.ggemu-scroll{width:auto;margin:0;padding:0 24px 42px}.gg-page,.page-shell,.detail-layout,.player-page,.admin-page{padding-top:10px}.home-hero{grid-template-columns:minmax(0,1fr) 291px;align-items:stretch;gap:8px;height:300px;display:grid}.hero-carousel{background:#09090b;border-radius:7px;height:300px;min-height:0;position:relative;overflow:hidden}.hero-carousel img{object-fit:contain;width:100%;height:100%}.hero-slide-button{color:#fff;text-align:left;background:#09090b;border:0;width:100%;height:100%;padding:0;position:relative}.hero-slide-button:after{content:"";pointer-events:none;background:linear-gradient(#0000,#000000c2);height:52%;position:absolute;inset:auto 0 0}.hero-slide-button>span{z-index:1;gap:4px;display:grid;position:absolute;bottom:18px;left:18px;right:76px}.hero-slide-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:26px;line-height:1.08;overflow:hidden}.hero-slide-button small{color:#ffffffd1;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.35;display:-webkit-box;overflow:hidden}.slide-dots{gap:7px;display:flex;position:absolute;bottom:8px;right:8px}.slide-dots button{background:#ffffffdb;border:0;border-radius:4px;width:24px;height:24px;font-weight:800}.slide-dots button.active{background:#fff}.feature-stack{grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;min-width:0;height:300px;display:grid;overflow:hidden}.feature-card{border:1px solid var(--gg-border);text-align:left;background:#fff;border-radius:8px;grid-template-columns:64px 1fr;gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.feature-card img{object-fit:cover;background:#111;border-radius:7px;width:64px;height:64px}.feature-card strong,.feature-card small{display:block}.feature-card strong{font-size:18px;line-height:1.2}.feature-card small{color:var(--gg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;line-height:1.35;display:-webkit-box;overflow:hidden}.ad-strip{color:#303036;cursor:pointer;text-align:center;place-items:center;min-height:34px;padding:0 128px;display:grid;position:relative}.ad-strip strong{font-size:16px;font-weight:500;display:block}.ad-strip p{color:#6b6b73;margin:4px 0 0;font-size:13px}.ad-strip small{color:#6f6f76;font-size:11px;position:absolute;bottom:-10px;left:52%}.recent-strip{margin-bottom:22px}.recent-strip h2,.section-heading h2{margin:0 0 12px;font-size:22px;line-height:1.2}.recent-strip>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:54px;max-width:1040px;display:grid}.recent-strip article{grid-template-columns:72px 1fr auto;align-items:center;gap:10px;display:grid}.recent-strip article>div{background:var(--gg-soft);border-radius:6px;width:72px;height:54px;overflow:hidden}.recent-strip strong,.recent-strip small{display:block}.recent-strip article>span{min-width:0}.recent-strip strong{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.recent-strip small{color:var(--gg-muted);text-transform:uppercase}.recent-strip button{background:#ececec;border:0;border-radius:999px;padding:6px 14px}.my-games-strip{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:16px}.my-games-empty{align-items:center;gap:10px;max-width:1040px;display:flex}.my-games-empty p{color:var(--gg-muted);flex:1;margin:0;line-height:1.55}.cache-progress{background:var(--soft);border-radius:999px;width:100%;height:8px;overflow:hidden}.cache-progress span{border-radius:inherit;background:var(--purple);height:100%;transition:width .18s;display:block}.cache-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.cache-note{color:var(--muted);margin:10px 0 0;font-size:13px}.play-together-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:16px;display:grid}.netplay-showcase{border:1px solid var(--gg-border);cursor:pointer;background:#0c0d10;border-radius:7px;min-width:0;position:relative;overflow:hidden}.netplay-showcase:after{z-index:1;-webkit-backdrop-filter:blur(8px)saturate(1.08);backdrop-filter:blur(8px)saturate(1.08);content:"";pointer-events:none;background:linear-gradient(#fff0,#f6f7fab8 24%,#f6f7fadb);border-radius:0 0 7px 7px;height:46%;position:absolute;bottom:0;left:0;right:0}.showcase-cover{aspect-ratio:4/3;background:var(--gg-soft);border:0;border-radius:7px;width:100%;padding:0;overflow:hidden}.showcase-cover img{object-fit:cover;width:100%;height:100%}.netplay-showcase h3{z-index:2;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;line-height:1.1;position:absolute;bottom:50px;left:12px;right:12px;overflow:hidden}.netplay-showcase span{z-index:2;color:var(--gg-muted);margin:0;font-size:14px;display:block;position:absolute;bottom:30px;left:12px;right:12px}.netplay-showcase strong{z-index:2;background:var(--gg-primary);color:#fff;text-align:center;border-radius:3px;margin:0;font-size:12px;line-height:16px;display:block;position:absolute;bottom:10px;left:12px;right:12px}.game-rail,.game-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.game-tile{background:#ffffffeb;border:1px solid #13131614;border-radius:7px;grid-template-rows:minmax(0,auto) minmax(116px,auto);display:grid;position:relative;overflow:hidden}.game-tile:after{display:none}.tile-cover{aspect-ratio:4/3;border-radius:7px 7px 0 0}.tile-cover span{color:#111;background:#f4f4f5;border-radius:0 0 7px;top:0;left:0}.tile-copy{z-index:1;pointer-events:auto;background:#ffffffe0;border-top:1px solid #13131614;grid-template-columns:1fr auto;gap:5px 10px;padding:10px 12px 12px;display:grid;position:relative}.tile-copy h3,.tile-copy p{grid-column:1/-1}.tile-copy h3{color:#121216;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;line-height:1.2;overflow:hidden}.tile-copy small{color:#6f6f78;text-transform:uppercase;align-self:end;font-size:11px}.tile-copy p{color:#3f3f46;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:34px;margin:0 0 4px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.tile-copy button{pointer-events:auto;background:#e7e7e9;border-radius:999px;place-self:center end;padding:6px 12px}img.cover-art-image{object-fit:contain;background:#f6f6f8;width:100%;height:100%}.library-page .page-heading{max-width:520px;margin-bottom:10px}.library-page .page-heading h1{font-size:var(--page-title-size);line-height:1.12}.library-page .page-heading p{margin:6px 0 0;font-size:13px;line-height:1.45}.library-toolbar{flex-wrap:nowrap;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,.75fr));align-items:center;display:grid;overflow:hidden}.library-toolbar .search-box{width:auto;min-width:0}.library-toolbar select{min-width:0}.library-page .game-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.library-page .game-tile{min-width:0}.library-page .game-tile:after{display:none}.library-page .tile-copy{gap:3px;padding:7px 8px 8px}.library-page .tile-copy h3{font-size:13px;line-height:1.15}.library-page .tile-copy small{font-size:10px;line-height:1.2}.library-page .tile-copy p{-webkit-line-clamp:1;min-height:0;margin:0 0 2px;font-size:11px;line-height:1.28}.library-page .tile-copy button{min-height:0;padding:3px 7px;font-size:11px}@media (max-width:900px){.library-page .game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.library-toolbar{grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,.75fr));gap:6px;padding:8px}.library-toolbar .search-box{height:36px;padding:0 8px}.library-toolbar .search-box input,.library-toolbar select{min-height:36px;padding-left:5px;padding-right:5px;font-size:12px}.library-page .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-footer{border-top:1px solid var(--gg-border);background:#f7f7f8;width:auto;margin:24px 0 0;padding:24px 34px 34px 26px}@media (max-width:1180px){.ggemu-app{grid-template-columns:1fr}body{overflow:auto}.ggemu-main{height:auto;overflow:visible}.gg-sidebar{border-right:0;border-bottom:1px solid var(--gg-border);grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;height:auto;padding:8px 14px;position:static}.locale-pop,.community-card,.side-taxonomy,.side-submenu,.sidebar-bottom{display:none}.pro-mode{justify-self:end;padding:0 14px}.side-menu{flex-direction:row;grid-column:1/-1;overflow-x:auto}.side-nav-group{flex:none}.side-menu button{white-space:nowrap;width:auto}.gg-topbar{grid-template-columns:minmax(240px,1fr) auto;padding:14px}.random-button{grid-column:2}.home-hero{grid-template-columns:1fr}.feature-stack{grid-template-columns:repeat(3,1fr)}.play-together-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-banner-grid{grid-template-columns:1fr}}@media (max-width:720px),(max-height:520px) and (pointer:coarse){html,body{width:100%;max-width:100%;overflow-x:hidden}.ggemu-app,.ggemu-main,.gg-sidebar,.gg-topbar,main.ggemu-scroll,.gg-page,.page-shell,.detail-layout,.player-page,.admin-page,.site-footer{min-width:0;max-width:100vw}.gg-sidebar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 10px;overflow:hidden}.gg-logo{width:min(184px,56vw)}.gg-logo img{width:100%}.locale-pop{top:58px}.pro-mode{display:none}.mobile-auth-entry{border:1px solid var(--gg-border);color:#171717;white-space:nowrap;background:#fff;border-radius:5px;justify-content:center;align-items:center;min-width:74px;height:34px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.mobile-auth-entry.is-user{color:#fff;background:#0b0b0d;border-radius:50%;width:34px;min-width:34px;padding:0}.side-menu{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;min-width:0;max-width:100%;padding:4px 0 0;display:grid;overflow:visible}.side-menu button{white-space:normal;text-align:center;grid-template-columns:1fr;align-content:center;justify-items:center;gap:2px;width:100%;min-width:0;min-height:38px;padding:6px 4px;font-size:12px;line-height:1.12;display:grid}.side-nav-group,.side-nav-group .side-menu-item{width:100%;min-width:0}.side-menu button .side-menu-caret,.side-menu button span,.side-menu button em{display:none}.side-menu button strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}main.ggemu-scroll{padding:0 10px 28px}.gg-topbar{grid-template-columns:1fr;row-gap:10px;padding:12px 10px;overflow:hidden}.search-box{grid-template-columns:auto 1fr;width:100%;min-width:0}.search-box kbd{display:none}.genre-tabs{overscroll-behavior-x:contain;gap:8px;width:100%;min-width:0;max-width:100%;overflow-x:auto}.random-button{grid-area:auto/1;justify-content:center;justify-self:stretch}.gg-topbar.is-player-route{display:none}main.ggemu-scroll.is-player-route{padding:6px 8px 28px}.detail-layout{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:10px;padding-top:6px;display:grid}.detail-layout .poster-frame{border-radius:8px;grid-column:1;width:100%}.detail-layout .poster-frame img,.detail-layout .poster-frame .cover-fallback{aspect-ratio:3/4}.detail-layout .poster-frame img{object-fit:cover}.detail-layout .detail-copy{display:contents}.detail-layout .detail-copy>.eyebrow,.detail-layout .detail-copy>h1,.detail-layout .detail-copy>.lead-text{grid-column:2}.detail-layout .detail-copy>.eyebrow{margin:0 0 4px;font-size:10px;line-height:1.2}.detail-layout .detail-copy>h1{font-size:22px;line-height:1.12}.detail-layout .detail-copy>.lead-text{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.detail-layout .meta-grid,.detail-layout .tag-row,.detail-layout .detail-copy>p:not(.eyebrow):not(.lead-text),.detail-layout .hero-actions{grid-column:1/-1}.detail-layout .meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0 0}.detail-layout .meta-grid div{padding:8px 10px}.detail-layout .meta-grid span{font-size:11px}.detail-layout .meta-grid strong{margin-top:3px;font-size:13px}.detail-layout .tag-row{gap:6px;margin:8px 0 0}.detail-layout .tag-row span{padding:4px 7px;font-size:11px}.detail-layout .detail-copy>p:not(.eyebrow):not(.lead-text){margin:8px 0 0;font-size:12px;line-height:1.5}.detail-layout .hero-actions{gap:6px;margin-top:8px}.detail-layout .hero-actions .primary-button,.detail-layout .hero-actions .secondary-button{min-height:32px;padding:0 10px;font-size:12px}.player-page:not(.is-immersive):not(.is-handheld){padding-top:0}.player-page:not(.is-immersive):not(.is-handheld) .player-topbar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-bottom:6px;display:grid}.player-page:not(.is-immersive):not(.is-handheld) .player-topbar>.secondary-button:first-child{border-radius:7px;min-height:30px;padding:0 8px;font-size:12px}.player-page:not(.is-immersive):not(.is-handheld) .player-title-copy{min-width:0}.player-page:not(.is-immersive):not(.is-handheld) .player-title-copy strong{font-size:13px;line-height:1.15}.player-page:not(.is-immersive):not(.is-handheld) .player-title-copy span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.2;overflow:hidden}.player-page:not(.is-immersive):not(.is-handheld) .dos-engine-picker{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;font-size:11px}.player-page:not(.is-immersive):not(.is-handheld) .dos-engine-picker select{min-height:30px;padding:4px 6px;font-size:11px}.player-page:not(.is-immersive):not(.is-handheld) .dos-engine-picker small{display:none}.player-page:not(.is-immersive):not(.is-handheld) .player-action-row{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;display:grid}.player-page:not(.is-immersive):not(.is-handheld) .player-action-row .primary-button,.player-page:not(.is-immersive):not(.is-handheld) .player-action-row .secondary-button{border-radius:7px;gap:3px;min-width:0;min-height:31px;padding:0 3px;font-size:11px;line-height:1}.player-page:not(.is-immersive):not(.is-handheld) .player-action-row .handheld-mode-button{display:inline-flex!important}.player-page:not(.is-immersive):not(.is-handheld) .player-action-row svg{flex:none;width:13px;height:13px}.player-window-layout{grid-template-columns:1fr;gap:6px}.player-side-controls{position:static}.player-side-controls .secondary-button{min-height:34px;font-size:12px}.gamepad-settings-backdrop{align-items:end;padding:10px}.gamepad-settings-modal{border-radius:10px;max-height:min(720px,100vh - 20px);padding:12px}.gamepad-settings-head{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.gamepad-settings-actions{align-items:stretch}.gamepad-pad-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.gamepad-binding-list{grid-template-columns:1fr}.gamepad-binding-row{grid-template-columns:minmax(48px,.55fr) minmax(0,1fr) auto}.gamepad-assignment-row{grid-template-columns:minmax(0,1fr) 92px}.genre-tabs button{flex:0 0 calc(25% - 6px);min-width:0;height:34px;padding:0 6px;font-size:12px}.home-hero{height:auto}.hero-carousel{height:clamp(210px,64vw,260px);min-height:210px}.feature-stack,.recent-strip>div,.play-together-grid{grid-template-columns:1fr}.my-games-empty{flex-direction:column;align-items:stretch}.feature-stack{grid-template-rows:none;height:auto;overflow:visible}.feature-card{grid-template-columns:54px minmax(0,1fr);min-height:82px;padding:10px}.policy-card{grid-template-columns:1fr}.policy-card p{grid-column:1}.feature-card img,.feature-card .cover-fallback{width:54px;height:54px}.feature-card strong{font-size:16px}.ad-strip{margin-top:8px;padding:16px 8px 10px}.ad-strip small{margin-top:6px;display:block;position:static}.site-footer{width:100%;padding:24px 18px 34px}.site-footer p{overflow-wrap:anywhere}.footer-language-row,.footer-links{min-width:0;max-width:100%;overflow:visible}.footer-links{flex-wrap:wrap}.cookie-notice{gap:8px;width:auto;max-width:calc(100vw - 24px);max-height:min(42svh,260px);padding:10px;font-size:13px;bottom:12px;left:12px;right:12px;overflow:auto}.cookie-notice p{font-size:12px;line-height:1.45}.cookie-notice .room-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cookie-notice .primary-button,.cookie-notice .secondary-button{width:100%;min-width:0;min-height:36px;padding:7px 8px}.admin-login{place-items:start stretch;min-height:auto;padding-top:18px}.virtual-gamepad{z-index:34;-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);touch-action:none;-webkit-user-select:none;user-select:none;--pad-arrow:#aeb9bb;--pad-arrow-active:#cf903b;background:radial-gradient(circle at 18% 0,#ffffffe6,#0000 38%),linear-gradient(135deg,#ffffffeb,#e0ebebdb);border:1px solid #84929442;border-radius:24px;gap:12px;width:100%;margin:12px 0 14px;padding:14px 12px 16px;display:grid;position:static;box-shadow:inset 0 1px #ffffffd1,0 24px 52px #1a262826}.broadcast-detail.is-immersive>.virtual-gamepad{z-index:1001;width:min(520px,100vw - 20px);max-height:min(42svh,360px);margin:0;position:fixed;bottom:10px;left:50%;right:auto;overflow:auto;transform:translate(-50%)}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage,.player-handheld-stage:fullscreen:not(.is-handheld){--switch-rail-width:clamp(78px, 18vw, 128px);--switch-gap:clamp(5px, 1.2vw, 12px);background:linear-gradient(90deg, #c81725 0 var(--switch-rail-width), #050507 var(--switch-rail-width) calc(100% - var(--switch-rail-width)), #0b90aa calc(100% - var(--switch-rail-width)) 100%);padding:0;display:block;position:fixed;inset:0;overflow:hidden}.player-page.is-immersive:not(.is-handheld) .player-shell,.player-handheld-stage:fullscreen:not(.is-handheld) .player-shell{left:calc(var(--switch-rail-width) + var(--switch-gap) + env(safe-area-inset-left));right:calc(var(--switch-rail-width) + var(--switch-gap) + env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));bottom:max(8px, env(safe-area-inset-bottom));aspect-ratio:auto;border:1px solid #ffffff26;border-radius:14px;margin:0;position:absolute;width:auto!important;height:auto!important;max-height:none!important}.player-page.is-immersive:not(.is-handheld) .player-handheld-stage>.virtual-gamepad,.player-handheld-stage:fullscreen:not(.is-handheld)>.virtual-gamepad{z-index:24;grid-template-columns:calc(var(--switch-rail-width) + env(safe-area-inset-left)) minmax(0, 1fr) calc(var(--switch-rail-width) + env(safe-area-inset-right));width:100%;height:100%;max-height:none;box-shadow:none;padding:max(10px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));pointer-events:none;background:0 0;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;margin:0;display:grid;position:absolute;inset:0;overflow:visible;transform:none}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad-body,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad-body{display:contents}.player-page.is-immersive:not(.is-handheld) .virtual-joystick,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-joystick{width:min(74%,116px)}.player-page.is-immersive:not(.is-handheld) .virtual-system,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system{width:min(76%,98px);margin-bottom:clamp(6px,3.4svh,22px)}.player-page.is-immersive:not(.is-handheld) .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-actions{width:min(78%,118px)}.player-page.is-immersive:not(.is-handheld) .virtual-extra,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-extra{width:min(390px,72%);padding:6px}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-actions{display:none}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-area:1/3;grid-template-columns:minmax(0,1fr);place-self:center;gap:6px;width:min(78%,118px);margin:0;padding:0}.player-page.is-immersive:not(.is-handheld) .stage-save-dock,.player-handheld-stage:fullscreen:not(.is-handheld) .stage-save-dock{top:max(12px, env(safe-area-inset-top));right:max(7px, env(safe-area-inset-right));width:min(92px, calc(var(--switch-rail-width) - 8px));max-width:calc(var(--switch-rail-width) - 8px);flex-direction:column;justify-content:flex-start;align-items:stretch;bottom:auto;left:auto;transform:none}.player-page.is-immersive:not(.is-handheld) .stage-save-dock .stage-save-slot,.player-handheld-stage:fullscreen:not(.is-handheld) .stage-save-dock .stage-save-slot{display:none}.player-page.is-immersive:not(.is-handheld) .stage-save-dock button,.player-handheld-stage:fullscreen:not(.is-handheld) .stage-save-dock button{gap:2px;width:100%;min-width:0;min-height:28px;padding:0 4px;font-size:10px;line-height:1}.player-page.is-immersive:not(.is-handheld) .stage-save-dock svg,.player-handheld-stage:fullscreen:not(.is-handheld) .stage-save-dock svg{width:12px;height:12px}@media (orientation:portrait){.player-page.is-immersive:not(.is-handheld) .player-handheld-stage,.player-handheld-stage:fullscreen:not(.is-handheld){--switch-rail-width:clamp(56px, 17vw, 76px);--switch-gap:5px}.player-page.is-immersive:not(.is-handheld) .player-shell,.player-handheld-stage:fullscreen:not(.is-handheld) .player-shell{transform-origin:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(90deg);width:calc(100dvh - var(--switch-rail-width) - var(--switch-rail-width) - var(--switch-gap) - var(--switch-gap))!important;height:calc(100dvw - var(--switch-rail-width) - var(--switch-rail-width) - var(--switch-gap) - var(--switch-gap))!important}.player-page.is-immersive:not(.is-handheld) .virtual-joystick,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-joystick{width:min(78%,72px)}.player-page.is-immersive:not(.is-handheld) .virtual-actions,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-actions{gap:5px;width:min(92%,66px)}.player-page.is-immersive:not(.is-handheld) .virtual-action-key>button:first-child,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-action-key>button:first-child{width:32px;height:32px;font-size:15px}.player-page.is-immersive:not(.is-handheld) .virtual-system .turbo-toggle,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system .turbo-toggle{width:32px;height:20px;min-height:20px;font-size:9px}.player-page.is-immersive:not(.is-handheld) .virtual-system,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system{width:min(82%,64px);margin-bottom:max(10px, env(safe-area-inset-bottom));gap:5px}.player-page.is-immersive:not(.is-handheld) .virtual-system button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-system button{min-height:24px;font-size:9px}.player-page.is-immersive:not(.is-handheld) .virtual-extra,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-extra{gap:4px;width:min(178px,100%);padding:5px}.player-page.is-immersive:not(.is-handheld) .virtual-extra button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-extra button{min-height:22px;padding:0 3px;font-size:8px}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra{gap:5px;width:min(92%,66px);padding:0}.player-page.is-immersive:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra button,.player-handheld-stage:fullscreen:not(.is-handheld) .virtual-gamepad.has-function-keys .virtual-extra button{min-height:24px;font-size:9px}}.player-page.is-handheld .player-handheld-stage,.player-handheld-stage.is-handheld,.player-handheld-stage.is-handheld:fullscreen{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:linear-gradient(#20272a 0%,#111619 51%,#d8e2df 51%,#aebbb8 100%);grid-template-rows:minmax(0,52fr) minmax(0,48fr);gap:0}.player-page.is-handheld .handheld-exit,.player-handheld-stage.is-handheld .handheld-exit{left:max(10px, env(safe-area-inset-left));right:auto}.player-page.is-handheld .player-handheld-stage .player-shell,.player-handheld-stage.is-handheld .player-shell,.player-handheld-stage.is-handheld:fullscreen .player-shell{background:#050507;border:2px solid #ffffff1f;border-bottom:0;border-radius:22px 22px 7px 7px;grid-row:1;align-self:stretch;min-height:0;box-shadow:inset 0 0 0 5px #00000070,0 12px 24px #00000047}.player-page.is-handheld .player-handheld-stage>.virtual-gamepad,.player-handheld-stage.is-handheld>.virtual-gamepad,.player-handheld-stage.is-handheld:fullscreen>.virtual-gamepad{background:linear-gradient(90deg,#ffffff57,#0000 16% 84%,#ffffff3d),linear-gradient(#e9f1ef 0%,#cdd9d7 50%,#aab8b5 100%);border:0;border-radius:7px 7px 26px 26px;grid-row:2;align-content:center;width:100%;height:100%;max-height:none;margin:0;padding:clamp(10px,2.6svh,18px) clamp(12px,4vw,22px);position:relative;bottom:auto;left:auto;right:auto;overflow:hidden;transform:none;box-shadow:inset 0 18px 28px #ffffff80,inset 0 -18px 28px #42505229}.player-page.is-handheld .player-handheld-stage .virtual-gamepad:before,.player-handheld-stage.is-handheld .virtual-gamepad:before,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#50606347 18%,#ffffff94 50%,#50606347 82%,#0000);border-radius:0 0 999px 999px;height:12px;position:absolute;top:0;left:10px;right:10px}.player-page.is-handheld .player-handheld-stage .virtual-gamepad-head,.player-handheld-stage.is-handheld .virtual-gamepad-head,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad-head{display:none}.player-page.is-handheld .player-handheld-stage .virtual-gamepad-body,.player-handheld-stage.is-handheld .virtual-gamepad-body,.player-handheld-stage.is-handheld:fullscreen .virtual-gamepad-body{grid-template-columns:minmax(104px,34vw) minmax(58px,1fr) minmax(104px,32vw);align-items:center;gap:min(5vw,24px);min-height:0}.player-page.is-handheld .player-handheld-stage .virtual-joystick,.player-handheld-stage.is-handheld .virtual-joystick,.player-handheld-stage.is-handheld:fullscreen .virtual-joystick{justify-self:center;width:min(36vw,148px)}.player-page.is-handheld .player-handheld-stage .virtual-actions,.player-handheld-stage.is-handheld .virtual-actions,.player-handheld-stage.is-handheld:fullscreen .virtual-actions{justify-self:center;width:min(34vw,132px)}.player-page.is-handheld .player-handheld-stage .virtual-extra,.player-handheld-stage.is-handheld .virtual-extra,.player-handheld-stage.is-handheld:fullscreen .virtual-extra{margin-top:min(2svh,8px)}.immersive-app .virtual-gamepad{color:#fff;--pad-arrow:#aeb9bb;background:radial-gradient(circle at 18% 0,#ffffff1f,#0000 38%),linear-gradient(135deg,#2a2f31eb,#151a1ce0);border-color:#ffffff2e}.virtual-gamepad-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;display:grid}.virtual-gamepad-head strong,.virtual-gamepad-head span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.virtual-gamepad-head span{color:var(--muted);font-size:12px}.immersive-app .virtual-gamepad-head span{color:#ffffff9e}.virtual-gamepad-head button{min-height:28px;color:var(--ink);background:linear-gradient(#ffffffeb,#e2ebebe0);border:1px solid #7e8c8e3d;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;box-shadow:0 7px 14px #2f3d3f17,inset 0 1px #ffffffdb,inset 0 -3px #6f7e8024}.virtual-gamepad-body{grid-template-columns:128px minmax(70px,1fr) 116px;align-items:center;gap:10px;display:grid}.virtual-gamepad.is-arcade .virtual-gamepad-body,.virtual-gamepad.is-extended .virtual-gamepad-body{grid-template-columns:118px minmax(54px,.72fr) minmax(144px,1fr)}.virtual-joystick{aspect-ratio:1;isolation:isolate;touch-action:none;background:radial-gradient(circle at 50% 92%,#fffffff2 0 13%,#0000 28%),radial-gradient(circle at 48% 45%,#e8f1f1 0 39%,#a6b4b5 59%,#edf5f5 83%);border:0;border-radius:999px;width:128px;position:relative;box-shadow:inset 0 16px 24px #ffffffb8,inset 0 -18px 20px #5e6c6e2e,0 18px 28px #1a26282e}.virtual-joystick:before,.virtual-joystick:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.virtual-joystick:before{z-index:1;background:radial-gradient(circle at 49% 38%,#e6f0f0eb 0 24%,#738284b3 53%,#172022f0 100%);inset:18%;box-shadow:0 10px 14px #00000042,inset 0 0 18px #000000d1,inset 0 18px 30px #ffffff6b,inset 0 44px 58px #ffffff29}.virtual-joystick:after{z-index:0;border:1px solid #ffffffe0;inset:8%;box-shadow:inset 0 12px 24px #ffffffb8,inset 0 -22px 34px #68767829}.virtual-joystick.is-active{box-shadow:inset 0 16px 24px #ffffffbf,inset 0 -18px 20px #5e6c6e33,0 19px 30px #1a262833}.joystick-cross,.joystick-cross:before{z-index:2;content:"";pointer-events:none;background:linear-gradient(90deg,#0000 7%,#7f8b8d29 18%,#0000 34% 66%,#7f8b8d29 82%,#0000 93%);border-radius:999px;width:128%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.joystick-cross:before{width:100%;transform:translate(-50%,-50%)rotate(90deg)}.joystick-arrow{z-index:4;background:var(--pad-arrow);clip-path:polygon(50% 0,100% 64%,72% 88%,50% 48%,28% 88%,0 64%);filter:drop-shadow(0 2px 1px #ffffffe6);opacity:.62;pointer-events:none;width:20px;height:16px;position:absolute}.joystick-arrow-up{background:var(--pad-arrow-active);opacity:.9;top:-2px;left:50%;transform:translate(-50%,-60%)}.joystick-arrow-right{top:50%;right:-4px;transform:translate(62%,-50%)rotate(90deg)}.joystick-arrow-down{bottom:-3px;left:50%;transform:translate(-50%,62%)rotate(180deg)}.joystick-arrow-left{top:50%;left:-4px;transform:translate(-62%,-50%)rotate(-90deg)}.joystick-knob{z-index:5;aspect-ratio:1;will-change:transform;background:radial-gradient(circle at 50% 19%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 79% 52%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 50% 82%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 21% 52%,#fbffff 0 3.6%,#aebbba 4.5% 6.4%,#0000 7%),radial-gradient(circle at 50% 32%,#ffffffdb,#0000 36%),linear-gradient(#f7ffff 0%,#dce8e8 52%,#b9c5c6 100%);border:1px solid #ffffffb8;border-radius:999px;width:43%;transition:filter .12s;position:absolute;top:50%;left:50%;box-shadow:0 9px 13px #0911133d,0 0 0 10px #f6fcfbad,inset 0 8px 12px #ffffffb8,inset 0 -9px 12px #5c6c6e38}.virtual-joystick.is-active .joystick-knob{filter:brightness(1.04)saturate(1.04)}.virtual-action-key>button,.virtual-system button,.virtual-extra button{color:#1f2628;background:radial-gradient(circle at 45% 18%,#ffffffeb,#0000 34%),linear-gradient(#f8ffff 0%,#e2ecec 54%,#c7d2d3 100%);border:1px solid #74828442;font-weight:900;transition:transform .14s,box-shadow .14s,filter .14s;box-shadow:0 12px 18px #23303324,inset 0 1px #ffffffe0,inset 0 -5px #65767829}.virtual-action-key>button:active,.virtual-system button:active,.virtual-extra button:active,.virtual-action-key>button.is-pressed,.virtual-system button.is-pressed,.virtual-extra button.is-pressed{filter:brightness(1.08);transform:translateY(1px)scale(.98)}.virtual-actions{grid-template-columns:1fr 1fr;align-items:end;gap:9px;display:grid}.virtual-gamepad.is-arcade .virtual-actions,.virtual-gamepad.is-extended .virtual-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.virtual-action-key{justify-items:center;gap:5px;display:grid}.virtual-action-key>button:first-child{border-radius:999px;width:54px;height:54px;font-size:21px}.virtual-gamepad.is-arcade .virtual-action-key>button:first-child,.virtual-gamepad.is-extended .virtual-action-key>button:first-child{width:44px;height:44px;font-size:16px}.virtual-actions .primary-action{color:#1f2628;background:radial-gradient(circle at 45% 18%,#ffffffeb,#0000 34%),linear-gradient(#f8ffff 0%,#e2ecec 54%,#c7d2d3 100%);border-color:#74828442}.virtual-action-key.turbo-on>button:first-child{filter:brightness(1.03);box-shadow:0 0 0 4px #ffffff70,0 12px 18px #23303324,inset 0 -5px #65767829}.virtual-system .turbo-toggle{border-radius:999px;width:54px;height:24px;min-height:24px;padding:0;font-size:10px;line-height:1}.virtual-gamepad.is-arcade .virtual-system{grid-template-columns:repeat(2,minmax(0,auto));justify-content:center;gap:6px}.virtual-gamepad.is-arcade .virtual-system .turbo-toggle{grid-column:1/-1;justify-self:center;margin-top:2px}.virtual-gamepad.is-arcade .virtual-system button{min-width:42px;padding:0 7px;font-size:10px}.virtual-system .turbo-toggle.active{color:#1f2628;background:radial-gradient(circle at 45% 18%,#ffffffeb,#0000 34%),linear-gradient(#f8ffff 0%,#e2ecec 54%,#c7d2d3 100%);border-color:#74828457}.virtual-system{gap:8px;display:grid}.virtual-system button{border-radius:999px;min-height:30px;font-size:11px}.virtual-extra{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.virtual-gamepad.has-function-keys .virtual-extra{grid-template-columns:minmax(0,1fr);justify-self:center;width:min(116px,100%);margin-top:0}.virtual-extra button{border-radius:999px;min-width:0;min-height:30px;padding:0 5px;font-size:11px}.immersive-header .gg-logo{width:120px}.immersive-header .room-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.immersive-library{max-height:280px}.broadcast-detail.is-immersive{grid-template-rows:minmax(0,1fr);padding:8px}.broadcast-detail.is-immersive .live-console{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;gap:0}.broadcast-detail.is-immersive .live-control-panel,.broadcast-detail.is-immersive .live-side-column{display:none}.broadcast-detail.is-immersive .live-stage{border-radius:10px}}.live-page .broadcast-grid,.live-page .live-list{grid-template-columns:repeat(auto-fill,minmax(176px,230px));justify-content:start;align-items:start;gap:14px;margin-top:14px;display:grid}.live-page .broadcast-card{width:100%;min-width:0;color:var(--ink);text-align:left;box-shadow:none;background:#fffffff0;border:1px solid #13131614;border-radius:7px;grid-template-rows:auto minmax(74px,auto);gap:0;padding:0;transition:transform .16s,border-color .16s,background-color .16s;display:grid;overflow:hidden}.live-page .broadcast-card:hover{background:#fff;border-color:#1313162e;transform:translateY(-2px)}.live-page .broadcast-thumb{aspect-ratio:4/3;background:var(--gg-soft);color:#fff;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.live-page .broadcast-card:hover .broadcast-thumb{transform:none}.live-page .broadcast-thumb img,.live-page .broadcast-thumb .cover-fallback{object-fit:cover;border-radius:0;width:100%;height:100%}.live-page .broadcast-copy{width:100%;min-height:74px;color:var(--ink);border-top:1px solid #13131614;gap:3px;padding:9px 10px 10px;display:grid}.live-page .broadcast-copy h3,.live-page .broadcast-copy span,.live-page .broadcast-copy small{-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.live-page .broadcast-copy h3{-webkit-line-clamp:1;color:#121216;min-height:0;font-size:14px;line-height:1.22}.live-page .broadcast-copy span,.live-page .broadcast-copy small{-webkit-line-clamp:1;color:var(--gg-muted);font-size:12px;line-height:1.28}.live-page .broadcast-copy small{color:#8a8a96}.live-page .live-history-card .broadcast-thumb:after{display:none}@media (max-width:640px){.live-page .broadcast-grid,.live-page .live-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.live-page .broadcast-copy{min-height:68px;padding:8px 8px 9px}.live-page .broadcast-copy h3{font-size:13px}}
