html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}#root{min-height:100vh}*{box-sizing:border-box}:root{color:#e9f5ff;font-synthesis:none;text-rendering:optimizelegibility;background:#040914;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 38% 16%,#342c9a24,#0000 28%),radial-gradient(circle at 10% 82%,#009bd212,#0000 24%),#040914;min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{appearance:none}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #42dfffc7}.clientShell{min-height:100vh}.loginLayout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.loginPanel{z-index:2;background:linear-gradient(#040b16fb,#030811fe),radial-gradient(circle at 60% 30%,#295f991a,#0000 38%);border-right:1px solid #429ccf24;min-width:0;position:relative;box-shadow:28px 0 90px #00000038}.loginPanelInner{grid-template-rows:auto 1fr auto;gap:28px;width:min(100%,840px);min-height:100vh;margin:0 auto;padding:clamp(28px,3vw,54px);display:grid}.clientBrand{align-items:center;gap:13px;display:flex}.brandMark{background:linear-gradient(135deg,#103e62bf,#250f48e0);border:1px solid #45cfff6b;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative;transform:rotate(45deg);box-shadow:0 0 18px #37bfff1f,inset 0 0 18px #763beb21}.brandMark span{border-top:3px solid #7a67ff;border-right:3px solid #35dcff;width:13px;height:13px}.brandName{color:#f2f8ff;letter-spacing:.07em;font-size:16px;font-weight:900}.brandName span{color:#42dfff}.endorsement{color:#4f7085;letter-spacing:.2em;text-transform:uppercase;margin-top:2px;font-size:7px;font-weight:700}.joinContent{align-self:center;width:min(100%,700px);margin:0 auto}.eyebrow{color:#42b9e8;letter-spacing:.1em;font-size:10px;font-weight:800}.joinContent h1,.connectedCard h1{color:#edf7ff;letter-spacing:-.04em;margin:10px 0;font-size:clamp(42px,4vw,62px);line-height:.98}.intro,.connectedTop p{color:#6f8b9c;margin:0;font-size:15px;line-height:1.5}.joinForm{gap:20px;margin-top:30px;display:grid}.roomCodeField{gap:8px;display:grid}.roomCodeField>span,.sectionHeading>span,.nicknameLabel{color:#5b8298;letter-spacing:.075em;font-size:10px;font-weight:900}.roomCodeField input{color:#eff9ff;letter-spacing:.18em;text-transform:uppercase;background:#030b15eb;border:1px solid #43a9de3b;border-radius:11px;outline:none;width:100%;height:60px;padding:0 18px;font-size:28px;font-weight:900;transition:border-color .16s,box-shadow .16s,background .16s}.roomCodeField input:focus{background:#040f1bf7;border-color:#39dcff9e;box-shadow:0 0 0 3px #32ccff12}.roomLookupStatus{color:#4f6d80;min-height:15px;font-size:10px}.roomLookupStatus.checking{color:#d4b756}.roomLookupStatus.found{color:#52cfa5}.roomLookupStatus.missing,.roomLookupStatus.error{color:#d87080}.avatarSection{background:linear-gradient(#07121ff0,#040c15e6);border:1px solid #3a84ab26;border-radius:14px;gap:12px;padding:16px 16px 12px;display:grid}.sectionHeading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sectionHeading small{color:#3e6074;font-size:9px;font-weight:700}.avatarRow{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.avatarSlot{grid-template-rows:auto 24px;justify-items:center;gap:5px;min-width:0;display:grid}.avatarChoice{color:#dcebf4;cursor:pointer;background:linear-gradient(#081522cc,#040c15db);border:1px solid #3d87b029;border-radius:14px;place-items:center;width:100%;min-width:0;min-height:158px;padding:8px 5px;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:grid}.avatarChoice:hover:not(:disabled){background:linear-gradient(#0a1f2feb,#05111cf0);border-color:#41cff861;transform:translateY(-2px)}.avatarChoice.selected{background:linear-gradient(#0a2b3df5,#051622f7);border-color:#41e1ffb8;transform:translateY(-2px);box-shadow:0 0 0 2px #32cfff12,0 12px 28px #00000038}.avatarChoice:disabled{cursor:default}.avatarPortrait{aspect-ratio:1;background:0 0;border-radius:0;place-items:center;width:min(124px,100%);display:grid;overflow:visible}.avatarPortrait img{object-fit:contain;filter:drop-shadow(0 10px 12px #00000057);width:100%;height:100%;transition:filter .18s,opacity .18s;display:block}.avatarChoice.occupied .avatarPortrait img,.avatarChoice.locked .avatarPortrait img,.avatarChoice.blockedAttempt .avatarPortrait img{opacity:.34;filter:grayscale()saturate(0)brightness(.72)}.avatarFeedbackMessage{color:#0000;letter-spacing:.035em;text-align:center;text-transform:uppercase;opacity:0;justify-content:center;align-items:flex-start;min-height:24px;font-size:8px;font-weight:900;line-height:1.15;transition:opacity .22s;display:flex}.avatarFeedbackMessage.visible{color:#ff526a;opacity:1}.nicknameCard{background:#040e18b8;border:1px solid #3a84ab26;border-radius:11px;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:12px;min-height:76px;padding:13px 13px 13px 18px;display:grid}.nicknameCard>div{min-width:0}.nicknameLabel{margin-bottom:5px;display:block}.nicknameCard strong{color:#587383;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,1.3vw,24px);font-weight:900;display:block;overflow:hidden}.nicknameCard.active{border-color:#45bee240}.nicknameCard.active strong{color:#e7f7ff}.cycleNameButton{color:#4fd9f6;cursor:pointer;background:#071f2dd9;border:1px solid #3fbee43d;border-radius:10px;place-items:center;width:46px;height:46px;display:grid}.cycleNameButton:hover:not(:disabled){background:#092c3df0;border-color:#4ce2ff9e}.cycleNameButton:disabled{opacity:.25;cursor:default}.cycleNameButton svg{width:22px;height:22px}.joinButton,.leaveButton{color:#4be0ff;letter-spacing:.08em;cursor:pointer;background:linear-gradient(#083044f5,#061f2efa);border:1px solid #37d0fa52;border-radius:10px;width:100%;min-height:52px;font-size:10px;font-weight:900}.joinButton:hover:not(:disabled),.leaveButton:hover{background:linear-gradient(#0a3e54fa,#072738fa);border-color:#4be3ffb8}.joinButton:disabled{opacity:.42;cursor:default}.errorBox{color:#ff8e9e;background:#4c101d57;border:1px solid #ff657938;border-radius:7px;padding:11px 12px;font-size:11px;line-height:1.45}.serviceStatus{color:#587789;letter-spacing:.055em;text-transform:uppercase;justify-content:center;align-items:center;gap:7px;margin-top:18px;font-size:8px;font-weight:700;display:flex}.serviceStatus i{background:#4fc99e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #4fc99e6b}.serviceStatus.connecting i{background:#efc34d;box-shadow:0 0 8px #efc34db3}.serviceStatus.error i,.serviceStatus.disconnected i{background:#ff6474;box-shadow:0 0 8px #ff6474ad}.loginFooter{color:#315164;letter-spacing:.065em;justify-content:space-between;gap:15px;font-size:7px;font-weight:800;display:flex}.loginFooter b{color:#684ca3}.comingSoonPanel{background:radial-gradient(circle at 50% 45%,#2c48701f,#0000 42%),#060914;align-items:center;min-width:0;min-height:100vh;padding:clamp(28px,3vw,54px);display:grid;overflow:hidden}.comingSoonPanelInner{grid-template-rows:auto 1fr;align-content:center;gap:28px;width:min(100%,760px);min-height:calc(100vh - 56px);margin:0 auto;display:grid}.comingSoonTop{justify-content:space-between;align-items:center;gap:18px;display:flex}.comingSoonTop>span{color:#6fe6ff;letter-spacing:.17em;background:#030d17ad;border:1px solid #67ddff6b;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:950}.comingSoonTop small{color:#e1f0f794;letter-spacing:.12em;font-size:8px;font-weight:850}.comingSoonHero{background:#02060c8f;border:1px solid #529bc529;border-radius:16px;justify-items:center;gap:20px;padding:22px 20px 26px;display:grid;box-shadow:0 22px 70px #00000047}.comingSoonCopy{text-align:center;width:100%}.comingSoonCopy>span{color:#68dcf7;letter-spacing:.15em;font-size:10px;font-weight:900}.comingSoonCopy h2{color:#f4f8fb;letter-spacing:-.045em;margin:8px 0 0;font-size:clamp(42px,4.2vw,68px);font-weight:950;line-height:.95}.comingSoonImageFrame{place-items:center;width:min(100%,610px);display:grid}.comingSoonImage{object-fit:contain;object-position:center;width:100%;height:auto;max-height:66vh;display:block}.connectedShell{background:radial-gradient(circle at 50% 18%,#342c9a2e,#0000 28%),radial-gradient(circle at 15% 78%,#009bd214,#0000 24%),#040914;grid-template-rows:auto 1fr auto;display:grid}.connectedHeader{background:#030811db;border-bottom:1px solid #429ccf1f;align-items:center;min-height:74px;padding:14px 22px;display:flex}.connectedMain{align-items:center;width:100%;max-width:1180px;margin:0 auto;padding:34px 18px 48px;display:grid}.connectedCard{background:linear-gradient(#081422f5,#040c16f7);border:1px solid #3797cc33;border-radius:13px;width:100%;padding:24px;box-shadow:0 24px 70px #00000057,inset 0 0 50px #164d6f06}.connectedTop{justify-content:space-between;align-items:center;gap:18px;padding:7px 5px 24px;display:flex}.selfIdentity{background:radial-gradient(circle,#1d678878,#040f1ae6);border:1px solid #36daff59;border-radius:50%;flex:none;place-items:center;width:76px;height:76px;display:grid;position:relative;overflow:hidden}.selfIdentity img{object-fit:contain;width:100%;height:100%}.selfIdentity strong{color:#55e2ff;background:#061522;border:1px solid #3fdcff6b;border-radius:8px;place-items:center;min-width:28px;height:24px;padding:0 5px;font-size:9px;font-weight:900;display:grid;position:absolute;bottom:-1px;right:-1px}.rosterHeader{color:#55798e;letter-spacing:.06em;border-top:1px solid #428fb71f;justify-content:space-between;align-items:center;padding:11px 3px;font-size:9px;font-weight:900;display:flex}.rosterHeader strong{color:#76a3ba}.playerList{gap:9px;display:grid}.playerRow{background:#040d17b8;border:1px solid #3789b51f;border-radius:8px;grid-template-columns:36px 48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:9px 11px;display:grid}.playerRow.occupied{border-color:#3bcfa82e}.playerRow.self{border-color:#39d4ff5c;box-shadow:inset 0 0 22px #30b1dd09}.playerSlot{color:#48697c;font-size:9px;font-weight:900}.playerAvatar{color:#52ddff;background:#081d2beb;border:1px solid #43adde33;border-radius:50%;place-items:center;width:44px;height:44px;font-size:12px;font-weight:900;display:grid;overflow:hidden}.playerAvatar img{object-fit:contain;width:100%;height:100%}.playerRow.open .playerAvatar{color:#405665;border-style:dashed}.playerCopy{min-width:0}.playerCopy strong,.playerCopy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.playerCopy strong{color:#dceaf3;font-size:11px}.playerCopy span{color:#4b6c7f;margin-top:3px;font-size:9px}.playerState{color:#4fc99e;letter-spacing:.05em;font-size:7px;font-weight:900}.playerRow.open .playerState{color:#486474}.nextStage{background:#110c2a3d;border:1px solid #5743b424;border-radius:8px;margin:19px 0;padding:15px}.nextStage span{color:#765dbb;letter-spacing:.06em;font-size:8px;font-weight:900}.nextStage strong{color:#b8a8dc;margin-top:5px;font-size:11px;display:block}.nextStage p{color:#625b7a;margin:5px 0 0;font-size:9px}.leaveButton{color:#ff8292;background:#320c1785;border-color:#ff647733}.connectedFooter{color:#345669;letter-spacing:.06em;border-top:1px solid #3787b31a;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 22px;font-size:7px;font-weight:800;display:flex}.connectedFooter b{color:#684ca3}@media (width<=1200px){.avatarChoice{min-height:146px}.avatarPortrait{width:min(110px,100%)}}@media (width<=980px){.loginLayout{grid-template-columns:1fr}.loginPanel{border-bottom:1px solid #429ccf24;border-right:0}.loginPanelInner{min-height:auto;padding:24px 18px 34px}.comingSoonPanel{min-height:auto;padding:28px 18px 34px}.comingSoonPanelInner{min-height:auto}.comingSoonCopy h2{font-size:clamp(38px,9vw,56px)}}@media (width<=640px){.loginPanelInner{gap:20px;padding-inline:14px}.joinContent h1{font-size:38px}.intro{font-size:14px}.avatarSection{padding:14px 12px 10px}.avatarRow{gap:6px}.avatarChoice{border-radius:10px;min-height:116px;padding:6px 3px}.avatarPortrait{width:min(78px,100%)}.avatarFeedbackMessage{font-size:6px}.sectionHeading small{display:none}.nicknameCard strong{font-size:16px}.comingSoonTop small{display:none}.comingSoonHero{padding:18px 14px 22px}.connectedHeader{padding-inline:16px}.connectedMain{padding:20px 12px 32px}.connectedCard{padding:20px}.playerRow{grid-template-columns:30px 42px minmax(0,1fr)}.playerState{grid-column:3}.connectedFooter{padding-inline:14px}}.remoteStreamPanel{background:#02080fdb;border:1px solid #3c9dd02e;border-radius:10px;margin:20px 0;overflow:hidden}.remoteStreamPanel.live{border-color:#41d7ff4d;box-shadow:0 16px 46px #00000047}.remoteStreamHeader{border-bottom:1px solid #4194be1f;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 14px;display:flex}.remoteStreamHeader>div:first-child span,.remoteStreamStats span{color:#4d7186;letter-spacing:.07em;font-size:8px;font-weight:900;display:block}.remoteStreamHeader>div:first-child strong{color:#dcecf5;margin-top:4px;font-size:11px;display:block}.remoteRtcState{color:#647f8f;text-transform:uppercase;align-items:center;gap:6px;font-size:8px;font-weight:900;display:flex}.remoteRtcState i{background:#657786;border-radius:50%;width:7px;height:7px}.remoteRtcState.connected i{background:#4ce4a0;box-shadow:0 0 9px #4ce4a0a6}.remoteRtcState.connecting i,.remoteRtcState.new i{background:#e2bd50}.remoteRtcState.failed i,.remoteRtcState.disconnected i,.remoteRtcState.closed i{background:#ff6175}.remoteVideoStage{background:#000;place-items:center;width:100%;min-height:420px;display:grid;overflow:hidden}.remoteGameVideo{object-fit:contain;background:#000;width:100%;height:100%;max-height:68vh;display:block}.remoteVideoPlaceholder{color:#476678;text-align:center;place-content:center;gap:8px;min-height:420px;padding:30px;display:grid}.remoteVideoPlaceholder strong{color:#7793a4;letter-spacing:.06em;font-size:12px}.remoteVideoPlaceholder span{font-size:10px}.remoteStreamStats{border-top:1px solid #4194be1f;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.remoteStreamStats>div{border-right:1px solid #4194be17;min-width:0;padding:10px 12px}.remoteStreamStats>div:last-child{border-right:0}.remoteStreamStats strong{color:#a8c1cf;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;font-weight:850;display:block;overflow:hidden}@media (width<=760px){.remoteVideoStage,.remoteVideoPlaceholder{min-height:260px}.remoteStreamStats{grid-template-columns:repeat(2,minmax(0,1fr))}.remoteStreamStats>div{border-bottom:1px solid #4194be14}}.roomLikeShell{background:radial-gradient(circle at 50% 18%,#342c9a2e,#0000 28%),radial-gradient(circle at 15% 78%,#009bd214,#0000 24%),#040914;min-height:100vh}.clientRoomLayout{grid-template-columns:320px minmax(0,1fr) 320px;gap:18px;min-height:100vh;padding:18px;display:grid}.clientRoomRail{flex-direction:column;gap:14px;min-width:0;display:flex}.railSection{background:linear-gradient(#081422f5,#040c16f7);border:1px solid #3797cc33;border-radius:12px;padding:16px;box-shadow:inset 0 0 30px #164d6f08}.railBrandSection{padding:18px 16px}.railGameSection h1{letter-spacing:-.04em;margin:10px 0 8px;font-size:34px;line-height:.96}.railSubcopy,.railNoteCopy{color:#6f8b9c;margin:0;font-size:13px;line-height:1.5}.railLabel,.railSectionHeader span,.streamDiagnosticsGrid span{color:#4d7186;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.railIdentityCard{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;display:grid}.railIdentityAvatar{background:radial-gradient(circle,#1d678878,#040f1ae6);border:1px solid #36daff59;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.railIdentityAvatar img{object-fit:contain;width:100%;height:100%}.railIdentityCopy strong,.railPlayerCopy strong,.streamDiagnosticsGrid strong,.railSectionHeader strong{color:#e7f4fc;display:block}.railIdentityCopy strong{font-size:18px}.railIdentityCopy span,.railPlayerCopy span{color:#658396;margin-top:4px;font-size:11px;display:block}.railSectionHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.railSectionHeader strong{color:#89aebf;font-size:13px;font-weight:900}.railSectionHeader.stacked{justify-items:start;display:grid}.inviteCodeBig{letter-spacing:.08em;color:#f2f7fb!important;font-size:34px!important}.roomServiceStatus{justify-content:flex-start;margin-top:10px;font-size:9px}.railPlayersSection{flex-direction:column;flex:auto;display:flex}.railPlayerList.singleColumn{gap:10px;display:grid}.railPlayerCard{background:#040d17b8;border:1px solid #3789b51f;border-radius:10px;grid-template-columns:38px 52px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:10px 12px;display:grid}.railPlayerCard.occupied{border-color:#3bcfa82e}.railPlayerCard.self{border-color:#39d4ff5c;box-shadow:inset 0 0 22px #30b1dd09}.railPlayerSlot{color:#5f8297;font-size:11px;font-weight:900}.railPlayerAvatar{color:#52ddff;background:#081d2beb;border:1px solid #43adde33;border-radius:50%;place-items:center;width:48px;height:48px;font-size:13px;font-weight:900;display:grid;overflow:hidden}.railPlayerAvatar img{object-fit:contain;width:100%;height:100%}.railPlayerCard.open .railPlayerAvatar{color:#405665;border-style:dashed}.railPlayerCopy{min-width:0}.railPlayerCopy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.roomLeaveButton{margin-top:auto}.clientRoomStageWrap{background:#02080feb;border:1px solid #3c9dd02e;border-radius:14px;grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid;overflow:hidden;box-shadow:0 24px 70px #00000057}.clientRoomStageHeader{border-bottom:1px solid #4194be1f;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:12px 16px;display:flex}.clientRoomStageHeader span{color:#4d7186;letter-spacing:.08em;font-size:10px;font-weight:900;display:block}.clientRoomStageHeader strong{color:#dcecf5;margin-top:4px;font-size:14px;display:block}.clientRoomStage{background:#000;place-items:center;min-height:0;display:grid}.roomScaleVideo{object-fit:contain;width:100%;height:100%;min-height:calc(100vh - 120px);max-height:calc(100vh - 120px)}.roomPlaceholder{min-height:calc(100vh - 120px)}.diagnosticsRailCard .railSectionHeader{margin-bottom:14px}.streamDiagnosticsGrid{grid-template-columns:1fr;gap:10px;display:grid}.streamDiagnosticsGrid>div{background:#030b14c2;border:1px solid #4194be17;border-radius:10px;padding:11px 12px}.streamDiagnosticsGrid strong{color:#a8c1cf;margin-top:5px;font-size:14px;font-weight:850}.notesRailCard{margin-top:auto}@media (width<=1500px){.clientRoomLayout{grid-template-columns:280px minmax(0,1fr) 280px}.roomScaleVideo,.roomPlaceholder{min-height:calc(100vh - 110px);max-height:calc(100vh - 110px)}}@media (width<=1240px){.clientRoomLayout{grid-template-columns:1fr}.clientRoomStageWrap{order:1}.leftRail{order:2}.rightRail{order:3}.roomScaleVideo,.roomPlaceholder{min-height:58vh;max-height:58vh}}.roomLikeShell{height:100vh;overflow:hidden}.clientRoomLayout{height:100vh;min-height:0;overflow:hidden}.clientRoomRail{min-height:0;overflow:hidden}.clientStageHeaderActions{align-items:center;gap:12px;display:flex}.clientAudioControls{background:#03111bd1;border:1px solid #42d5ff29;border-radius:9px;align-items:center;gap:9px;padding:4px 8px 4px 4px;display:flex}.clientAudioButton{color:#70cfe8;letter-spacing:.055em;cursor:pointer;background:#052535db;border:1px solid #42d5ff3d;border-radius:6px;min-height:30px;padding:0 10px;font-size:9px;font-weight:900}.clientAudioButton.enabled{color:#50ecaa;background:#074130b8;border-color:#31e5957a}.clientAudioButton:disabled{opacity:.4;cursor:default}.clientAudioControls input[type=range]{accent-color:#39d7f5;cursor:pointer;width:84px}.clientAudioControls input[type=range]:disabled{opacity:.35;cursor:default}.clientAudioError{color:#ff8797;margin:10px 0 0;font-size:11px;line-height:1.45}.clientFullscreenButton{color:#54dfff;letter-spacing:.07em;cursor:pointer;background:#061f2eeb;border:1px solid #42d5ff4d;border-radius:8px;min-height:36px;padding:0 14px;font-size:10px;font-weight:900}.clientFullscreenButton:hover:not(:disabled){background:#082d3dfa;border-color:#4fe4ffb8}.clientFullscreenButton:disabled{opacity:.35;cursor:default}.clientRoomStage{min-width:0;min-height:0;overflow:hidden}.clientFullscreenSurface{background:#000;place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.clientGameAspectFrame{width:min(100%, calc((100vh - 100px) * var(--client-game-aspect-number,1.77778)));background:#000;max-width:100%;height:auto;max-height:calc(100vh - 100px);position:relative;overflow:hidden}.clientGameAspectFrame .remoteGameVideo{width:var(--crop-width,100%);height:var(--crop-height,100%);left:var(--crop-left,0%);top:var(--crop-top,0%);object-fit:fill;background:#000;max-width:none;min-height:0;max-height:none;display:block;position:absolute;bottom:auto;right:auto}.clientGameAspectFrame .roomPlaceholder{width:100%;height:100%;min-height:0}:-webkit-any(.clientFullscreenSurface:fullscreen .clientGameAspectFrame,.clientFullscreenSurface:-webkit-full-screen .clientGameAspectFrame){width:min(100vw, calc(100vh * var(--client-game-aspect-number,1.77778)));max-width:100vw;max-height:100vh}:is(.clientFullscreenSurface:fullscreen .clientGameAspectFrame,.clientFullscreenSurface:fullscreen .clientGameAspectFrame){width:min(100vw, calc(100vh * var(--client-game-aspect-number,1.77778)));max-width:100vw;max-height:100vh}:-webkit-any(.clientFullscreenSurface:fullscreen .remoteGameVideo,.clientFullscreenSurface:-webkit-full-screen .remoteGameVideo){cursor:none}:is(.clientFullscreenSurface:fullscreen .remoteGameVideo,.clientFullscreenSurface:fullscreen .remoteGameVideo){cursor:none}@media (width<=1240px){.roomLikeShell,.clientRoomLayout{height:auto;min-height:100vh;overflow:visible}.clientGameAspectFrame{width:100%;max-height:none}}.clientGameAspectFrame .roomScaleVideo{min-height:0;max-height:none}.clientRoomStage,.clientFullscreenSurface{min-width:0;min-height:0}.clientFullscreenSurface{background:#000;place-items:center;display:grid;position:relative;overflow:hidden}.clientFullscreenSurface .clientGameAspectFrame{background:#000;flex:none;place-self:center;min-width:0;min-height:0;position:relative;overflow:hidden;max-width:100%!important;max-height:100%!important}.clientFullscreenSurface .clientGameAspectFrame .remoteGameVideo{object-position:center center;background:#000;position:absolute;width:var(--crop-width,100%)!important;height:var(--crop-height,100%)!important;left:var(--crop-left,0%)!important;top:var(--crop-top,0%)!important;object-fit:fill!important;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;bottom:auto!important;right:auto!important}:-webkit-any(.clientFullscreenSurface:fullscreen,.clientFullscreenSurface:-webkit-full-screen){background:#000!important;place-items:center!important;width:100vw!important;height:100vh!important;display:grid!important;overflow:hidden!important}:is(.clientFullscreenSurface:fullscreen,.clientFullscreenSurface:fullscreen){background:#000!important;place-items:center!important;width:100vw!important;height:100vh!important;display:grid!important;overflow:hidden!important}html.couchlink-mobile-video-fullscreen,body.couchlink-mobile-video-fullscreen{overscroll-behavior:none;overflow:hidden!important}.clientFullscreenSurface.mobileViewportFullscreen{z-index:2147483000!important;background:#000!important;place-items:center!important;width:100dvw!important;max-width:none!important;height:100dvh!important;max-height:none!important;display:grid!important;position:fixed!important;inset:0!important;overflow:hidden!important}.mobileViewportFullscreenExit{z-index:2147483001;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));color:#77e9ff;min-width:54px;height:34px;font:inherit;letter-spacing:.08em;-webkit-tap-highlight-color:transparent;background:#020c14c7;border:1px solid #4bdcff8c;border-radius:7px;padding:0 12px;font-size:10px;font-weight:900;position:fixed}.clientGameViewport{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid}.clientFullscreenSurface.touchGameplayActive{--nes-red:#d53a31;--nes-red-dark:#7f1713;--nes-black:#090909;--nes-charcoal:#1a1a1a;--nes-dark-gray:#343434;--nes-mid-gray:#7d7d7d;--nes-light-gray:#c9c9c9;--nes-offwhite:#ececec;--touch-action-size:clamp(70px, 8.8vw, 86px);isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#000;grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(188px,23vw,238px) minmax(0,1fr) clamp(160px,19vw,194px);place-items:stretch stretch;width:100dvw;max-width:100dvw;height:100dvh;max-height:100dvh;display:grid;overflow:hidden}.clientFullscreenSurface.touchGameplayActive .touchGameViewport{background:#000;grid-area:1/2;place-items:center;width:100%;min-width:0;height:100dvh;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 1px #000000d9}.clientFullscreenSurface.touchGameplayActive .touchGameViewport .clientGameAspectFrame{aspect-ratio:var(--client-game-aspect-number);width:min(100%, calc(100dvh * var(--client-game-aspect-number)))!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:100dvh!important;margin:auto!important;overflow:hidden!important}.touchControllerRail{z-index:30;box-sizing:border-box;touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 20%,#ffffff09,#0000 32%),linear-gradient(#222 0%,#171717 48%,#101010 100%);width:100%;min-width:0;max-width:100%;height:100dvh;min-height:0;position:relative;overflow:hidden}.touchControllerRail *,.touchControllerRail :before,.touchControllerRail :after{box-sizing:border-box}.touchControllerRail:before{content:"";z-index:0;pointer-events:none;border:2px solid #cdcdcdb8;border-radius:15px;position:absolute;inset:8px;box-shadow:inset 0 0 0 3px #000000b8,inset 0 1px #ffffff38,0 1px #ffffff0f}.touchControllerLeftRail{padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));border-right:1px solid #cdcdcd29;grid-area:1/1;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:clamp(6px,1.5dvh,10px);display:grid}.touchControllerRightRail{padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) 10px;border-left:1px solid #cdcdcd29;grid-area:1/3;grid-template-rows:auto auto minmax(0,1fr) auto;justify-items:center;gap:clamp(7px,1.6dvh,12px);display:grid}.touchAdminArea,.touchRailDecor,.touchMovementStage,.touchSpeakerGrille,.touchRightDecor,.touchSecondaryPanel,.touchPrimaryButtons{z-index:2;position:relative}.touchAdminArea{z-index:120;grid-template-columns:.76fr 1.18fr 1.18fr;gap:5px;padding:5px 5px 0;display:grid;position:relative;overflow:visible}.touchAdminMenuWrap{min-width:0;position:static}.touchAdminButton{border:2px solid var(--nes-light-gray);width:100%;min-width:0;min-height:40px;color:var(--nes-red);font:inherit;letter-spacing:.035em;text-align:center;text-transform:uppercase;white-space:normal;text-wrap:balance;touch-action:manipulation;background:linear-gradient(#1b1b1b,#090909 78%);border-radius:6px;padding:5px 4px;font-size:clamp(7px,.9vw,9px);font-weight:950;line-height:1.02;overflow:hidden;box-shadow:inset 0 0 0 2px #343434,inset 0 1px #ffffff2e,0 3px #050505,0 4px 8px #00000073}.touchAdminButton:active,.touchAdminButton.active{color:#f14c43;transform:translateY(2px);box-shadow:inset 0 0 0 2px #2e2e2e,inset 0 2px 4px #0009,0 1px #050505}.touchProfileMenu{z-index:180;background:#0c0c0cfb;border:2px solid #c9c9c9e0;border-radius:7px;gap:4px;width:auto;min-width:0;max-height:min(54dvh,210px);padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:5px;right:5px;overflow-y:auto;box-shadow:inset 0 0 0 2px #343434f0,0 12px 30px #000000b8}.touchButtonProfileMenu{width:auto;min-width:0;left:5px;right:5px}.touchProfileMenu button{color:#d7d7d7;min-height:30px;font:inherit;letter-spacing:.08em;text-align:left;background:linear-gradient(#282828,#171717);border:1px solid #545454;border-radius:4px;padding:5px 8px;font-size:9px;font-weight:900}.touchProfileMenu button.selected{border-color:var(--nes-red);color:var(--nes-red);box-shadow:inset 3px 0 0 var(--nes-red)}.touchProfileMenu button.disabled{opacity:.42}.touchProfileMenu button small{float:right;opacity:.75;font-size:7px}.touchRailDecor,.touchRightDecor{gap:7px;padding-inline:clamp(16px,3vw,30px);display:grid}.touchRailDecor span,.touchRightDecor span{opacity:.82;background:linear-gradient(#505050,#383838);border-radius:5px;height:clamp(10px,2.8dvh,18px);display:block;box-shadow:inset 0 1px 2px #ffffff0d}.touchMovementStage{place-items:center;min-width:0;min-height:0;padding:0;display:grid;overflow:hidden}.touchDpad{aspect-ratio:1;touch-action:none;filter:drop-shadow(0 9px 9px #00000075);isolation:isolate;width:min(100%,190px);max-width:100%;position:relative}.touchDpad:before{content:"";z-index:0;filter:drop-shadow(0 3px #555)drop-shadow(0 7px 8px #00000061);background:linear-gradient(#f1f1f1 0%,#b8b8b8 45%,#8d8d8d 100%) 50% 0/39% 100% no-repeat,linear-gradient(#f1f1f1 0%,#b8b8b8 45%,#8d8d8d 100%) 0/100% 39% no-repeat;border-radius:10px;position:absolute;inset:3%}.touchDpad:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(145deg,#191919 0%,#080808 72%) 50% 0/34% 100% no-repeat,linear-gradient(145deg,#191919 0%,#080808 72%) 0/100% 34% no-repeat;border-radius:7px;position:absolute;inset:8%;box-shadow:inset 1px 1px 2px #ffffff0d}.touchDpadKey{z-index:3;appearance:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#202020 0%,#0b0b0b 68%,#050505 100%);border:1px solid #303030;border-radius:4px;place-items:center;margin:0;padding:0;transition:transform 45ms,filter 45ms,box-shadow 45ms;display:grid;position:absolute;box-shadow:inset 2px 2px 2px #ffffff0d,inset -3px -3px 4px #000000b8,0 1px 1px #ffffff08}.touchDpadUp,.touchDpadDown{width:31%;height:31%;left:34.5%}.touchDpadLeft,.touchDpadRight{width:31%;height:31%;top:34.5%}.touchDpadUp{top:3.5%}.touchDpadRight{right:3.5%}.touchDpadDown{bottom:3.5%}.touchDpadLeft{left:3.5%}.touchDpadKey i{opacity:.82;filter:drop-shadow(0 1px #ffffff17);pointer-events:none;width:0;height:0;display:block;position:relative}.touchDpadUp i{border-bottom:clamp(11px,1.45vw,15px) solid #484848;border-left:clamp(8px,1.1vw,11px) solid #0000;border-right:clamp(8px,1.1vw,11px) solid #0000}.touchDpadDown i{border-top:clamp(11px,1.45vw,15px) solid #484848;border-left:clamp(8px,1.1vw,11px) solid #0000;border-right:clamp(8px,1.1vw,11px) solid #0000}.touchDpadLeft i{border-top:clamp(8px,1.1vw,11px) solid #0000;border-bottom:clamp(8px,1.1vw,11px) solid #0000;border-right:clamp(11px,1.45vw,15px) solid #484848}.touchDpadRight i{border-top:clamp(8px,1.1vw,11px) solid #0000;border-bottom:clamp(8px,1.1vw,11px) solid #0000;border-left:clamp(11px,1.45vw,15px) solid #484848}.touchDpadCenter{z-index:5;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle at 43% 38%,#0a0a0a 0 23%,#272727 25% 40%,#090909 43% 68%,#020202 70% 100%);border-radius:50%;width:27%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 2px 2px 3px #ffffff14,inset -3px -3px 5px #000000d1,0 2px 4px #000000b8}.touchDpadKey.pressed,.touchDpad.dpadUp .touchDpadUp,.touchDpad.dpadRight .touchDpadRight,.touchDpad.dpadDown .touchDpadDown,.touchDpad.dpadLeft .touchDpadLeft{filter:brightness(1.5);transform:scale(.93);box-shadow:inset 3px 3px 5px #000000bd,inset -1px -1px 2px #ffffff0a}.touchSteeringWheel{aspect-ratio:1;outline:6px solid var(--nes-light-gray);touch-action:none;background:radial-gradient(circle,#2a2a2a 0 18%,#101010 19% 100%);border:clamp(12px,1.6vw,18px) solid #171717;border-radius:50%;width:clamp(132px,17vw,205px);transition:transform 70ms linear,filter 70ms linear;position:relative;transform:rotate(0);box-shadow:inset 0 0 0 3px #3a3a3a,0 8px 14px #00000080}.touchSteeringWheel.steeringLeft{filter:brightness(1.12);transform:rotate(-26deg)}.touchSteeringWheel.steeringRight{filter:brightness(1.12);transform:rotate(26deg)}.touchWheelRing{border:3px solid #555;border-radius:50%;position:absolute;inset:29%}.touchWheelHub{aspect-ratio:1;background:radial-gradient(circle at 38% 32%, #f45a50, var(--nes-red) 48%, var(--nes-red-dark) 100%);border-radius:50%;width:23%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000080}.touchWheelSpoke{transform-origin:0;background:#bdbdbd;border-radius:999px;width:34%;height:7px;position:absolute;top:50%;left:50%;box-shadow:0 2px 2px #00000073}.touchWheelSpokeA{transform:rotate(-90deg)}.touchWheelSpokeB{transform:rotate(30deg)}.touchWheelSpokeC{transform:rotate(150deg)}.touchSpeakerGrille{gap:4px;padding:0 clamp(14px,2.5vw,24px) 4px;display:grid}.touchSpeakerGrille span{background:#060606;border-radius:99px;height:3px;display:block;box-shadow:0 1px #4d4d4d}.touchRightDecor{width:min(72%,132px);margin-inline:auto;padding:6px 0 0}.touchSecondaryPanel{width:min(78%,124px);margin-inline:auto}.touchSecondaryLabelRow{color:var(--nes-red);letter-spacing:.06em;text-align:center;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;font-size:clamp(8px,1.15vw,12px);font-weight:950;display:grid}.touchSecondaryButtons{border:2px solid var(--nes-light-gray);background:linear-gradient(#d6d6d6,#8d8d8d);border-radius:7px;grid-template-columns:1fr 1fr;gap:5px;padding:7px;display:grid;box-shadow:inset 0 0 0 2px #6f6f6f,0 4px #4a4a4a,0 6px 10px #0000005c}.touchSecondaryButtons button{aspect-ratio:auto;touch-action:none;background:linear-gradient(#242424,#070707);border:1px solid #0c0c0c;border-radius:999px;width:100%;min-width:0;height:clamp(20px,4.6dvh,28px);min-height:20px;max-height:28px;padding:0;box-shadow:inset 0 2px 2px #ffffff0d,0 3px #111}.touchSecondaryButtons button.pressed{background:linear-gradient(#151515,#050505);transform:translateY(2px);box-shadow:inset 0 2px 5px #000000bd}.touchPrimaryButtons{flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2.7dvh,18px);width:100%;min-width:0;min-height:0;display:flex}.touchActionCluster{grid-template-columns:minmax(0,1fr);place-items:center;gap:0;width:100%;min-width:0;display:grid;position:relative}.touchActionButton{flex:0 0 var(--touch-action-size);width:var(--touch-action-size);height:var(--touch-action-size);min-width:var(--touch-action-size);min-height:var(--touch-action-size);max-width:var(--touch-action-size);max-height:var(--touch-action-size);touch-action:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#d4d4d4,#8a8a8a 68%,#6c6c6c);border:2px solid #a9a9a9;border-radius:8px;justify-self:center;margin:0;padding:clamp(9px,1.05vw,11px);overflow:visible;transform:translate(0,0);box-shadow:inset 1px 1px 1px #ffffff80,0 5px #444,0 7px 13px #00000070}.touchActionFace{aspect-ratio:1;transform-origin:50%;background:radial-gradient(circle at 35% 25%,#ff6b5e 0 5%,#e64a40 20%,#c7261e 62%,#82100d 100%);border:2px solid #5a0b08;border-radius:50%;width:100%;height:100%;transition:transform 55ms ease-out,box-shadow 55ms ease-out,filter 55ms ease-out;display:block;transform:translateY(0)scale(1);box-shadow:inset 0 4px 6px #ffffff45,inset 0 -7px 10px #4f000073,0 4px #650b08,0 7px 10px #0000006b}.touchActionButton:active,.touchActionButton.pressed{background:linear-gradient(145deg,#d4d4d4,#8a8a8a 68%,#6c6c6c);transform:translate(0,0);box-shadow:inset 1px 1px 1px #ffffff80,0 5px #444,0 7px 13px #00000070}.touchActionButton:active .touchActionFace,.touchActionButton.pressed .touchActionFace{filter:brightness(.92);transform:translateY(4px)scale(.985);box-shadow:inset 0 4px 8px #5700007a,inset 0 -2px 4px #4f00004d,0 1px #650b08}.touchActionLabel{color:var(--nes-red);letter-spacing:.02em;text-shadow:0 2px #000000b3;pointer-events:none;margin:0;font-size:clamp(22px,3vw,32px);font-weight:950;line-height:1;position:absolute;top:50%;left:calc(50% + 48px);transform:translateY(-50%)}.touchSpeakerGrilleRight{width:min(78%,124px);margin-inline:auto;padding:0 0 6px}.touchRotatePrompt{z-index:80;color:var(--nes-red);text-align:center;background:#060606f7;place-content:center;gap:8px;padding:28px;display:grid;position:absolute;inset:0}.touchRotatePrompt strong{letter-spacing:.08em;font-size:18px}.touchRotatePrompt span{color:#aaa;font-size:12px}@media (orientation:portrait){.touchControllerRail{display:none!important}}@media (height<=430px) and (orientation:landscape){.clientFullscreenSurface.touchGameplayActive{--touch-action-size:clamp(68px, 8.6vw, 80px);grid-template-columns:clamp(188px,23vw,232px) minmax(0,1fr) clamp(158px,19vw,190px)}.touchControllerLeftRail,.touchControllerRightRail{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom));gap:5px}.touchAdminArea{gap:4px;padding-top:4px}.touchAdminButton{letter-spacing:.02em;min-height:36px;padding:4px 3px;font-size:clamp(7px,.86vw,8.2px)}.touchRailDecor span,.touchRightDecor span{height:8px}.touchDpad{width:min(100%,184px);max-width:100%}.touchSecondaryPanel,.touchSpeakerGrilleRight{width:min(78%,118px)}.touchSecondaryButtons button{height:22px;min-height:22px;max-height:22px}.touchActionLabel{font-size:clamp(20px,2.7vw,27px);left:calc(50% + 45px)}.touchSpeakerGrille{gap:3px}}.characterSection{gap:9px;display:grid}.characterSection .sectionHeading{align-items:baseline}.characterSection .sectionHeading small{display:none}.characterGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.characterCard{color:#bcd1dd;cursor:pointer;min-width:0;min-height:108px;box-shadow:none;background:0 0;border:0;border-radius:0;place-items:center;padding:4px 2px 6px;transition:transform .16s,opacity .15s,filter .16s;display:grid;position:relative;overflow:visible}.characterCard:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#30d4f71f,#7d4fff0f 48%,#0000 72%);border-radius:999px;width:84%;height:84%;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.94)}.characterCard:hover:not(:disabled){transform:translateY(-3px)scale(1.02)}.characterCard:hover:not(:disabled):before{opacity:1;transform:translate(-50%,-50%)scale(1)}.characterCard.selected{transform:translateY(-4px)scale(1.035)}.characterCard.selected:before{opacity:1;background:radial-gradient(circle,#3cdfff2e,#7d4fff1a 48%,#0000 74%);transform:translate(-50%,-50%)scale(1.03)}.characterCard.occupied{cursor:default;opacity:.32;filter:grayscale(.95)}.characterPortrait{aspect-ratio:1;background:0 0;border-radius:0;place-items:center;width:min(92px,100%);display:grid;position:relative;overflow:visible}.characterPortrait img,.characterFallback{grid-area:1/1}.characterPortrait img{z-index:2;object-fit:contain;filter:drop-shadow(0 2px #ffffff14)drop-shadow(0 8px 10px #00000052)drop-shadow(0 18px 18px #00000042)drop-shadow(0 0 10px #40dcfa14);width:100%;height:100%;transition:transform .16s,filter .16s,opacity .16s;display:block;transform:translateZ(0)}.characterCard:hover:not(:disabled) .characterPortrait img{filter:drop-shadow(0 2px #ffffff17)drop-shadow(0 10px 12px #00000057)drop-shadow(0 20px 20px #0000004d)drop-shadow(0 0 12px #4ae0ff1f);transform:translateY(-2px)scale(1.03)}.characterCard.selected .characterPortrait img{filter:drop-shadow(0 2px #ffffff1a)drop-shadow(0 10px 13px #0000005c)drop-shadow(0 22px 22px #00000052)drop-shadow(0 0 14px #54e7ff29);transform:translateY(-3px)scale(1.05)}.characterFallback{z-index:1;color:#65d4edb8;letter-spacing:.04em;background:radial-gradient(circle at 50% 42%,#0d2839f0,#040e17fa);border:1px solid #42b1d333;border-radius:999px;place-items:center;width:84%;height:84%;font-size:24px;font-weight:950;display:grid;box-shadow:inset 0 1px #ffffff08,0 12px 18px #00000038}.characterLabel,.characterState{display:none}.playerNameField{gap:7px;display:grid}.playerNameField>span{color:#6d93a8;letter-spacing:.075em;font-size:8px;font-weight:900}.playerNameField input{color:#e9f8ff;width:100%;min-height:48px;font:inherit;letter-spacing:.015em;background:#030d16e0;border:1px solid #3c91bb38;border-radius:9px;outline:none;padding:0 14px;font-size:14px;font-weight:750;transition:border-color .15s,box-shadow .15s,background .15s}.playerNameField input::placeholder{color:#416276}.playerNameField input:focus{background:#04121df2;border-color:#39dcff9e;box-shadow:0 0 0 3px #32ccff12}@media (width<=720px){.characterGrid{gap:7px}.characterCard{min-height:88px;padding:2px 1px 4px}.characterPortrait{width:min(70px,100%)}.characterFallback{font-size:20px}.playerNameField input{min-height:44px;font-size:13px}}@media (width<=390px){.characterGrid{gap:6px}.characterCard{min-height:82px}.characterPortrait{width:min(62px,100%)}.characterFallback{font-size:18px}}@media (width<=720px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.connectedShell.roomLikeShell{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.connectedShell.roomLikeShell *,.connectedShell.roomLikeShell :before,.connectedShell.roomLikeShell :after{box-sizing:border-box}.clientRoomLayout{width:100%;min-width:0;max-width:100%;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand invite""stage stage""players players""roomerror roomerror""leave leave";align-items:stretch;gap:0;display:grid;overflow:visible}.clientRoomRail.leftRail,.clientRoomRail.rightRail{display:contents}.railBrandSection{background:linear-gradient(#081725f0,#05101cf5);border:1px solid #398bb833;border-right:0;border-radius:12px 0 0 12px;grid-area:brand;align-items:center;min-width:0;min-height:84px;margin:0;padding:12px 8px 12px 12px;display:flex;overflow:hidden}.railBrandSection .clientBrand{transform-origin:0;min-width:0;transform:scale(.88)}.inviteRailCard{text-align:right;background:linear-gradient(#081725f0,#05101cf5);border:1px solid #398bb833;border-left:0;border-radius:0 12px 12px 0;flex-direction:column;grid-area:invite;justify-content:center;align-items:flex-end;gap:4px;width:auto;min-width:124px;min-height:84px;margin:0;padding:12px 12px 12px 4px;display:flex}.inviteRailCard .railSectionHeader.stacked{margin:0;display:block}.inviteRailCard .railSectionHeader.stacked>span{display:none}.inviteCodeBig{color:#edf9ff;letter-spacing:0;white-space:nowrap;margin:0;font-weight:900;line-height:1.05;display:block;font-size:11px!important}.inviteCodeBig:before{content:"Room "}.roomServiceStatus{justify-content:flex-end;align-items:center;gap:6px;margin:0;padding:0;display:flex}.roomServiceStatus i{flex:none;width:7px;height:7px}.roomServiceStatus span{display:none}.roomServiceStatus:after{content:"CONNECTED";color:#66869a;letter-spacing:.1em;font-size:8px;font-weight:900}.railGameSection,.railIdentityCard,.diagnosticsRailCard,.notesRailCard{display:none!important}.clientRoomStageWrap{grid-area:stage;grid-template-rows:auto auto;gap:12px;width:100%;min-width:0;max-width:100%;margin:14px 0 0;padding:0;display:grid;overflow:visible}.clientRoomStage{grid-row:1;width:100%;min-width:0;max-width:100%;margin:0;padding:0;overflow:hidden;height:auto!important;min-height:0!important}.clientFullscreenSurface:not(.touchGameplayActive){width:100%;min-width:0;max-width:100%;margin:0;overflow:hidden;height:auto!important;min-height:0!important}.clientFullscreenSurface:not(.touchGameplayActive) .clientGameViewport{width:100%;min-width:0;max-width:100%;margin:0;overflow:hidden;min-height:0!important}.clientFullscreenSurface:not(:fullscreen):not(.mobileViewportFullscreen):not(.touchGameplayActive) .clientGameAspectFrame{margin:0 auto;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important}.remoteGameVideo,.roomScaleVideo,.remoteVideoPlaceholder{max-width:100%}.clientRoomStageHeader{background:0 0;border:0;grid-row:2;width:100%;min-width:0;max-width:100%;margin:0;padding:0;display:block}.clientRoomStageHeader>div:first-child{display:none}.clientStageHeaderActions{grid-template-columns:minmax(0,1.25fr) minmax(118px,.85fr);align-items:stretch;gap:10px;width:100%;min-width:0;max-width:100%;display:grid}.remoteRtcState{display:none!important}.clientAudioControls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;width:100%;min-width:0;max-width:100%;min-height:46px;margin:0;padding:5px 8px;display:grid;overflow:hidden}.clientAudioButton{white-space:normal;min-width:0;max-width:94px;height:34px;padding:0 9px;line-height:1.05}.clientAudioControls input[type=range]{width:100%;min-width:0;max-width:100%;margin:0}.clientFullscreenButton{white-space:nowrap;width:100%;min-width:0;max-width:100%;height:auto;min-height:46px;margin:0;padding:0 10px}.railPlayersSection{grid-area:players;width:100%;min-width:0;max-width:100%;margin:18px 0 0;padding:12px}.railPlayersSection .railSectionHeader{margin-bottom:10px}.railPlayerList.singleColumn{gap:9px;width:100%;min-width:0}.railPlayerCard{width:100%;min-width:0;max-width:100%;min-height:76px;padding:10px 11px;overflow:hidden}.railPlayerAvatar{flex:none}.railPlayerCopy{min-width:0}.railPlayerCopy strong,.railPlayerCopy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clientRoomRail.leftRail>.errorBox{grid-area:roomerror;width:100%;margin-top:12px}.roomLeaveButton{grid-area:leave;width:100%;margin-top:14px}}@media (width<=390px){.clientRoomLayout{padding-left:max(9px, env(safe-area-inset-left));padding-right:max(9px, env(safe-area-inset-right))}.railBrandSection{min-height:78px;padding-left:9px}.railBrandSection .clientBrand{transform:scale(.8)}.inviteRailCard{min-width:112px;min-height:78px;padding-right:9px}.inviteCodeBig{font-size:10px!important}.clientStageHeaderActions{grid-template-columns:minmax(0,1.18fr) minmax(108px,.82fr);gap:8px}.clientAudioControls{gap:6px;padding-inline:6px}.clientAudioButton{max-width:82px;padding-inline:6px;font-size:8px}.clientFullscreenButton{padding-inline:7px;font-size:8px}}@media (width<=720px){.clientFullscreenSurface:not(.touchGameplayActive) .clientGameViewport,.clientFullscreenSurface:not(.touchGameplayActive) .clientGameAspectFrame{min-width:0;max-width:100%}.clientFullscreenSurface:not(.touchGameplayActive) .clientGameAspectFrame{overflow:hidden}.remoteGameVideo.roomScaleVideo{max-width:none;max-height:none}}.clientPrejoinBrandRow{justify-content:space-between;align-items:flex-start;gap:18px;display:flex;position:relative}.dandonLogoStage{z-index:2;pointer-events:none;background:0 0;flex:none;width:clamp(190px,19vw,280px);height:clamp(105px,11vw,155px);margin-top:-4px;position:relative}.dandonLogoModel{--poster-color:transparent;background:0 0;width:100%;height:100%;display:block}@media (width<=900px){.clientPrejoinBrandRow{gap:12px}.dandonLogoStage{width:clamp(145px,27vw,210px);height:clamp(82px,15vw,118px);margin-top:-2px}}@media (width<=600px){.clientPrejoinBrandRow{align-items:flex-start;gap:8px}.dandonLogoStage{width:clamp(118px,34vw,150px);height:clamp(68px,19vw,86px);margin-top:0}}@media (width<=390px){.dandonLogoStage{width:112px;height:65px}}.setupGuideButton{color:#dff8ff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#081e2de6,#0f1226eb);border:1px solid #40c8ef3d;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;margin-top:0;margin-bottom:14px;padding:8px 12px;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:grid;box-shadow:inset 0 1px #ffffff09,0 8px 20px #00000024}.setupGuideButton:hover{background:linear-gradient(135deg,#082638f5,#171432f5);border-color:#40d3fa7a;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d,0 10px 24px #0003,0 0 24px #32bef00d}.setupGuideButton:focus-visible,.setupGuideClose:focus-visible,.setupGuideFooter a:focus-visible{outline-offset:2px;outline:2px solid #42d7f5}.setupGuideButtonIcon{color:#40d3f6;background:#29c5ec17;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.setupGuideButtonIcon svg{width:21px;height:21px}.setupGuideButtonCopy{gap:2px;min-width:0;display:grid}.setupGuideButtonCopy strong{color:#e8faff;letter-spacing:.075em;font-size:10px;font-weight:900}.setupGuideButtonCopy small{color:#6f9db5;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:650;overflow:hidden}.setupGuideButtonArrow{color:#865cff;font-size:24px;font-weight:300;line-height:1}.setupGuideBackdrop{z-index:10000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#01070cd1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.setupGuideDialog{color:#e7f5fb;background:#061522;border:1px solid #35b1dc4d;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,94vw);height:min(92dvh,1080px);min-height:520px;display:grid;overflow:hidden;box-shadow:0 34px 100px #00000094,0 0 0 1px #8051ff0f}.setupGuideHeader{background:linear-gradient(90deg,#102d3fad,#110e2ab8);border-bottom:1px solid #3aaed233;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:14px 16px 13px 20px;display:flex}.setupGuideEyebrow{color:#3fd7f5;letter-spacing:.12em;margin-bottom:2px;font-size:9px;font-weight:900;display:block}.setupGuideHeader h2{color:#f4fbff;margin:0;font-size:20px;font-weight:850;line-height:1.05}.setupGuideHeader p{color:#729eb5;margin:4px 0 0;font-size:10px;font-weight:650}.setupGuideClose{color:#bdafff;cursor:pointer;background:#0b0d1cad;border:1px solid #7a65ff4d;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;padding:0;transition:border-color .15s,background .15s,color .15s;display:grid}.setupGuideClose:hover{color:#fff;background:#1f1741eb;border-color:#8b67ffb3}.setupGuideClose svg{width:20px;height:20px}.setupGuidePdfStage{background:radial-gradient(circle at 50% 0,#3dcef40e,#0000 32%),#020910;min-width:0;min-height:0;padding:12px}.setupGuidePdf{background:#0a1926;border:0;border-radius:8px;width:100%;height:100%;display:block}.setupGuideFooter{background:#06131f;border-top:1px solid #3aaed229;justify-content:space-between;align-items:center;gap:14px;min-height:42px;padding:8px 18px;display:flex}.setupGuideFooter span{color:#51788c;letter-spacing:.04em;font-size:9px;font-weight:800}.setupGuideFooter a{color:#46daf4;letter-spacing:.08em;font-size:9px;font-weight:900;text-decoration:none}.setupGuideFooter a:hover{color:#fff}@media (width<=720px){.setupGuideButton{grid-template-columns:31px minmax(0,1fr) auto;min-height:48px;margin-top:0;margin-bottom:12px;padding:7px 10px}.setupGuideButtonIcon{width:31px;height:31px}.setupGuideBackdrop{padding:0}.setupGuideDialog{border:0;border-radius:0;width:100dvw;height:100dvh;min-height:0}.setupGuideHeader{min-height:70px;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left))}.setupGuideHeader h2{font-size:17px}.setupGuideHeader p{font-size:9px}.setupGuidePdfStage{padding:6px}.setupGuidePdf{border-radius:5px}.setupGuideFooter{min-height:40px;padding:7px max(14px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}}
