@import "https://fonts.googleapis.com/css2?family=Quicksand:wght@400;600;700&family=Share+Tech&display=swap";*{box-sizing:border-box;margin:0}html{min-height:100%}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Share Tech", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Share Tech", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace}body{height:100vh;min-height:100vh;font-family:var(--sans);background:url(/assets/main-BpasXEbl.png) 50%/cover no-repeat;margin:0;padding:20px;transition:background-image .6s,background-position .6s;overflow:hidden}body.is-authenticated{background-image:url(/assets/lobby-CMDvS8Rd.png);background-position:50%}#root{grid-template-rows:80px minmax(0,1fr) 50px;grid-template-columns:100%;width:100%;height:100%;min-height:100%;display:grid;position:relative}.ConfettiCelebration{z-index:30;pointer-events:none;animation:60s linear forwards confettiCelebrationFade;position:fixed;inset:0;overflow:hidden}.ConfettiPiece{opacity:0;width:8px;height:20px;transform:translateX(-50%) rotate(var(--confetti-rotation));animation:confettiBurst 20s cubic-bezier(.12, .72, .3, 1) var(--confetti-delay) 1 both;border-radius:2px;position:absolute;bottom:-28px;left:50%}.ConfettiPiece.small{scale:.7}.ConfettiPiece.medium{scale:1}.ConfettiPiece.large{scale:1.4}.ConfettiPiece.strip{border-radius:2px;width:7px;height:31px}.ConfettiPiece.chip{border-radius:3px;width:13px;height:15px}.ConfettiPiece.circle{border-radius:50%;width:13px;height:13px}.ConfettiPiece.curl{background:0 0;border:4px solid;border-color:currentColor currentColor #0000 #0000;border-radius:50%;width:20px;height:28px}.ConfettiPiece.gold{color:#ffca4f;background:linear-gradient(135deg,#fff2a4,#ffca4f 52%,#ff8d29);box-shadow:0 0 10px #ffca4f7a}.ConfettiPiece.pink{color:#ff43b4;background:linear-gradient(135deg,#fface0,#ff43b4 55%,#be2eff);box-shadow:0 0 10px #ff43b466}.ConfettiPiece.cyan{color:#19d5ff;background:linear-gradient(135deg,#b0f8ff,#19d5ff 54%,#4476ff);box-shadow:0 0 10px #19d5ff6b}.ConfettiPiece.violet{color:#7a5cff;background:linear-gradient(135deg,#dbc8ff,#7a5cff 54%,#ff43b4);box-shadow:0 0 10px #7a5cff66}.ConfettiPiece.curl{background:0 0}.Header{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;grid-template-rows:1fr;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,40px);padding-right:clamp(14px,3vw,34px);display:grid;overflow:hidden;box-shadow:0 25px 50px #0000004d}.Header .Logo{background:linear-gradient(45deg,#0f0c29,#302b63,#24243e);border:1px solid #fff;border-radius:0 30px;align-items:center;width:200px;height:100%;margin-left:20px;overflow:hidden}.Header .Logo img{object-fit:cover;width:100%;height:100%}.Header .Nav{justify-content:flex-end;justify-self:end;align-items:center;gap:clamp(8px,1.4vw,16px);min-width:0;display:flex}.NavItem{color:#f6f1ffeb;cursor:pointer;min-height:42px;font:800 .95rem var(--sans);white-space:nowrap;background:linear-gradient(145deg,#19d5ff1f,#7a5cff1f),#0609167a;border:1px solid #5ee2ff38;border-radius:10px;padding:0 clamp(12px,1.7vw,20px);transition:transform .18s,border-color .18s,box-shadow .18s,color .18s;box-shadow:0 0 18px #14d2ff1f,inset 0 1px #ffffff1f}.NavItem:hover,.NavItem:focus-visible{color:#fff;border-color:#ffca4fad;outline:0;transform:translateY(-2px);box-shadow:0 0 22px #ffca4f2e,0 0 28px #7a5cff26,inset 0 1px #ffffff2e}.NavItem:last-child{border-color:#ff43b457}.NavItem.is-hidden{opacity:0;pointer-events:none;transform:translateY(-4px)}.MainArea{justify-content:flex-end;align-items:center;min-height:0;padding:20px 0 12px;display:flex;position:relative}.GameLobby{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:clamp(16px,2.2vw,28px);width:100%;height:100%;min-height:0;animation:.7s both lobbyReveal;display:grid}.GameCarouselPane,.GameDescriptionPane,.GameConfigPane,.WordRaceRoomPane,.WordRaceGamePane{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#19d5ff1a,#7a5cff21),#0508128a;border:1px solid #5ee2ff38;border-radius:18px;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:0 0 30px #14d2ff29,0 24px 60px #00000057,inset 0 1px #ffffff1f}.GameCarouselPane{grid-template-rows:auto minmax(0,1fr);padding:clamp(18px,2.4vw,26px);display:grid}.CarouselHeader{color:#f6f1ff;z-index:3;justify-content:space-between;align-items:center;gap:18px;display:flex;position:relative}.CarouselHeader p,.DescriptionKicker{color:#5ee2ff;letter-spacing:.13em;text-transform:uppercase;font-size:1rem;font-weight:800}.CarouselHeader h2,.GameDescriptionPane h2{color:#fff;font-family:var(--heading);text-shadow:0 0 22px #7a5cff85;font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:400;line-height:1}.CarouselControls{gap:10px;display:flex}.CarouselControls button{color:#fff;cursor:pointer;width:42px;height:42px;font:400 2rem/1 var(--sans);background:linear-gradient(145deg,#19d5ff2e,#ffca4f24),#0508129e;border:1px solid #ffca4f61;border-radius:50%;place-items:center;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;box-shadow:0 0 20px #ffca4f24}.CarouselControls button:hover,.CarouselControls button:focus-visible{border-color:#5ee2ffbd;outline:0;transform:translateY(-2px);box-shadow:0 0 24px #5ee2ff47}.CylinderScene{perspective:1300px;perspective-origin:50% 34%;place-items:center;min-height:0;padding:6px 0 14px;display:grid}.CylinderCarousel{--carousel-spread:clamp(76px, 11.5vw, 126px);--carousel-depth:clamp(48px, 7vw, 76px);--carousel-lift:clamp(12px, 2vw, 22px);--carousel-scale-step:.075;--carousel-tilt:-5deg;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--carousel-tilt));position:relative}.GameCard{aspect-ratio:3/4;color:#fff;cursor:pointer;width:clamp(112px,15vw,190px);transform:translate(-50%, -50%) translateX(calc(var(--card-offset) * var(--carousel-spread))) translateY(calc(var(--card-distance) * var(--carousel-lift) * -1)) translateZ(calc(210px - (var(--card-distance) * var(--carousel-depth)))) rotateY(calc(var(--card-offset) * -24deg)) rotateZ(calc(var(--card-offset) * 1.5deg)) scale(calc(1.15 - (var(--card-distance) * var(--carousel-scale-step))));transform-style:preserve-3d;backface-visibility:hidden;opacity:calc(1 - (var(--card-distance) * .055));background:#060916d1;border:2px solid #5ee2ff3d;border-radius:16px;padding:0;transition:transform .7s cubic-bezier(.2,.7,.18,1),border-color .22s,box-shadow .22s,filter .22s,opacity .22s;display:block;position:absolute;top:55%;left:50%;overflow:hidden;box-shadow:0 12px 34px #0000006b,0 0 22px #7a5cff29}.GameCard:after{content:"";pointer-events:none;background:linear-gradient(#0000 58%,#050812e6);position:absolute;inset:0}.GameCard img{object-fit:cover;width:100%;height:100%}.GameCard span{z-index:1;color:#fff;text-align:center;text-shadow:0 0 14px #19d5ffcc,0 2px 8px #000000d9;font-size:clamp(1rem,1.55vw,1.35rem);font-weight:900;line-height:1;position:absolute;bottom:10px;left:10px;right:10px}.GameCard.is-selected{opacity:1;border-color:#ffca4fdb;box-shadow:0 18px 42px #00000080,0 0 28px #ffca4f57,0 0 42px #19d5ff2e}.GameCard:hover,.GameCard:focus-visible{filter:brightness(1.12);border-color:#5ee2ffc7;outline:0}.GameDescriptionPane{color:#f6f1ffe6;flex-direction:column;justify-content:center;align-items:stretch;gap:16px;padding:clamp(18px,2vw,26px);display:flex}.GameConfigPane{color:#f6f1ffeb;flex-direction:column;justify-content:flex-start;gap:clamp(8px,1.2vw,12px);padding:clamp(14px,1.8vw,20px) clamp(18px,2.4vw,26px);display:flex;overflow:hidden}.GameConfigPane h2,.WordRaceRoomHeader h2{color:#fff;font-family:var(--heading);text-shadow:0 0 22px #7a5cff85;font-size:clamp(1.55rem,2.6vw,2.35rem);font-weight:400;line-height:1}.GameConfigContent{display:contents}.GameConfigForm{align-content:start;gap:clamp(7px,1vw,10px);width:100%;display:grid}.GameConfigPane .DescriptionKicker,.GameConfigPane h2{text-align:left;width:100%}.GameConfigForm label{color:#f6f1ffeb;text-align:left;grid-template-columns:minmax(118px,.85fr) minmax(116px,1fr);align-items:center;gap:12px;width:100%;font-size:.86rem;font-weight:800;display:grid}.GameConfigRow{color:#f6f1ffeb;text-align:left;grid-template-columns:minmax(118px,.85fr) minmax(116px,1fr);align-items:center;gap:12px;width:100%;margin-top:15px;font-size:.86rem;font-weight:800;display:grid}.GameConfigForm input,.GameConfigForm select{color:#fff;width:100%;min-height:35px;font:900 .95rem var(--sans);background:#0a0718bd;border:1px solid #ffffff29;border-radius:9px;outline:0;padding:0 11px}.GameConfigForm input:focus,.GameConfigForm select:focus{border-color:#5ee2ffc7;box-shadow:0 0 0 4px #5ee2ff1f,0 0 24px #5ee2ff2e}.VisibilityPicker,.RoomActionRow{grid-template-columns:1fr 1fr;gap:10px;display:grid}.GameConfigActions{justify-content:space-between;gap:14px;display:flex}.VisibilityPicker{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:11px;width:100%;padding:5px}.VisibilityPicker button,.RoomActionRow button,.WordRaceRoomHeader button{color:#f6f1ffd1;cursor:pointer;min-height:39px;font:900 .92rem var(--sans);background:#ffffff14;border:0;border-radius:9px;transition:transform .18s,box-shadow .18s,background .18s,color .18s}.GameConfigActions button{color:#f6f1ffe6;cursor:pointer;min-height:42px;font:900 .92rem var(--sans);background:0 0;border:0;align-items:center;gap:9px;transition:color .18s,transform .18s;display:inline-flex}.GameConfigArrow{color:#fff;width:42px;height:42px;font:400 2rem/1 var(--sans);background:linear-gradient(145deg,#19d5ff2e,#ffca4f24),#0508129e;border:1px solid #ffca4f61;border-radius:50%;place-items:center;transition:border-color .18s,box-shadow .18s;display:grid;box-shadow:0 0 20px #ffca4f24}.VisibilityPicker button.active,.RoomActionRow button{color:#050713;background:linear-gradient(135deg,#13c8ff,#7658ff 52%,#ffca4f);box-shadow:0 0 22px #14d2ff38}.WordRaceRoomHeader button{border:1px solid #ffffff29}.VisibilityPicker button:hover,.VisibilityPicker button:focus-visible,.GameConfigActions button:hover,.GameConfigActions button:focus-visible,.RoomActionRow button:hover,.RoomActionRow button:focus-visible,.WordRaceRoomHeader button:hover,.WordRaceRoomHeader button:focus-visible{outline:0;transform:translateY(-2px)}.GameConfigActions button:hover .GameConfigArrow,.GameConfigActions button:focus-visible .GameConfigArrow{border-color:#5ee2ffc7;box-shadow:0 0 24px #5ee2ff47,inset 0 0 22px #5ee2ff1f}.GameDescriptionPane img{aspect-ratio:3/4;object-fit:cover;border:2px solid #5ee2ff38;border-radius:14px;align-self:center;width:min(100%,160px);box-shadow:0 0 28px #14d2ff2e,0 20px 42px #0000005c}.GameDescriptionPane p:not(.DescriptionKicker){font-size:clamp(.94rem,1.3vw,1.08rem);line-height:1.45}.GameStats{flex-wrap:wrap;gap:10px;display:flex}.GameStats span{color:#fff;background:#ffca4f1a;border:1px solid #ffca4f47;border-radius:999px;padding:8px 11px;font-size:.82rem}.PlayModePicker{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:11px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.PlayModePicker button,.PlayModePanel button{color:#f6f1ffc7;cursor:pointer;min-height:38px;font:900 .9rem var(--sans);background:0 0;border:0;border-radius:8px;transition:transform .18s,box-shadow .18s,background .18s,color .18s}.PlayModePicker button.active{color:#050713;background:linear-gradient(135deg,#13c8ff,#7658ff 52%,#ffca4f);box-shadow:0 0 22px #14d2ff33}.PlayModePanel{background:#0508126b;border:1px solid #5ee2ff2e;border-radius:14px;gap:10px;padding:13px;display:grid}.PlayModePanel strong{color:#fff;font-size:1.05rem}.PlayModePanel p{color:#f6f1ffc7;font-size:.88rem;line-height:1.35}.PlayModePanel button{color:#050713;background:linear-gradient(135deg,#19d5ff,#7a5cff 54%,#ffd15a);box-shadow:0 0 22px #7a5cff2e}.PlayModePicker button:hover,.PlayModePicker button:focus-visible,.PlayModePanel button:hover,.PlayModePanel button:focus-visible{outline:0;transform:translateY(-2px)}.RoomCodeRow{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.RoomCodeRow input{color:#fff;min-width:0;min-height:38px;font:800 .9rem var(--sans);background:#0a0718b3;border:1px solid #ffffff24;border-radius:8px;outline:0;padding:0 10px}.RoomCodeRow input::placeholder{color:#f6f1ff6b}.JoinRoomOverlay{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04061261;place-items:center;animation:.22s both lobbyReveal;display:grid;position:absolute;inset:28px 0}.JoinRoomModal{color:#f6f1fff0;background:linear-gradient(145deg,#19d5ff21,#7a5cff29),#050812eb;border:1px solid #5ee2ff52;border-radius:16px;gap:16px;width:min(390px,100% - 28px);padding:22px;display:grid;box-shadow:0 0 34px #14d2ff33,0 24px 60px #00000080,inset 0 1px #ffffff24}.JoinRoomModal h2{color:#fff;font-family:var(--heading);text-shadow:0 0 22px #7a5cff85;font-size:2rem;font-weight:400;line-height:1}.JoinRoomModal label{gap:8px;font-size:.9rem;font-weight:800;display:grid}.JoinRoomModal input{color:#fff;width:100%;min-height:42px;font:900 1rem var(--sans);background:#0a0718c2;border:1px solid #ffffff29;border-radius:9px;outline:0;padding:0 12px}.JoinRoomModal input:focus{border-color:#5ee2ffcc;box-shadow:0 0 0 4px #5ee2ff1f,0 0 24px #5ee2ff33}.JoinRoomActions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.JoinRoomActions button{cursor:pointer;min-height:40px;font:900 .95rem var(--sans);border:0;border-radius:9px;transition:transform .18s,box-shadow .18s}.JoinRoomActions button:first-child{color:#050713;background:linear-gradient(135deg,#13c8ff,#7658ff 52%,#ffca4f);box-shadow:0 0 22px #14d2ff33}.JoinRoomActions button:last-child{color:#f6f1ffdb;background:#ffffff14;border:1px solid #ffffff29}.JoinRoomActions button:hover,.JoinRoomActions button:focus-visible{outline:0;transform:translateY(-2px)}.JoinRoomMessage{color:#fff;background:#ffca4f1a;border:1px solid #ffca4f4d;border-radius:9px;padding:9px 11px;font-size:.88rem;line-height:1.3}.WordRaceRoomPane,.WordRaceGamePane{color:#f6f1ffeb;align-content:start;gap:clamp(14px,2vw,22px);width:100%;height:100%;padding:clamp(18px,2.5vw,30px);animation:.5s both lobbyReveal;display:grid;overflow:auto}.WordRaceRoomPane:before,.WordRaceGamePane:before,.GameConfigPane:before{content:"";opacity:.55;pointer-events:none;background:linear-gradient(90deg,#0000,#ffca4f14,#0000),repeating-linear-gradient(90deg,#ffffff0a 0 1px,#0000 1px 64px);position:absolute;inset:0}.WordRaceRoomHeader,.RoomTabs,.RoomChatPanel,.RoomStatusGrid,.PlayerManifest,.WordRaceBoard,.WordRaceMessage,.GameConfigActions,.GameConfigForm{z-index:1;position:relative}.WordRaceRoomHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.WordRaceRoomHeader button{min-width:92px}.RoomTabs{border-bottom:1px solid #5ee2ff29;gap:8px;padding-bottom:2px;display:flex}.RoomTabs button{color:#f6f1ffa6;cursor:pointer;min-height:43px;font:900 .9rem var(--sans);background:0 0;border:1px solid #0000;border-radius:10px 10px 0 0;align-items:center;gap:9px;padding:0 18px;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.RoomTabs button.active,.RoomTabs button:hover,.RoomTabs button:focus-visible{color:#fff;background:#19d5ff1a;border-color:#5ee2ff42;outline:0}.RoomTabs button.active{color:#5ee2ff;box-shadow:inset 0 -2px #5ee2ffcc}.RoomTabs button span{color:#050713;background:#5ee2ff;border-radius:10px;place-items:center;min-width:20px;height:20px;font-size:.68rem;display:inline-grid}.LobbySidebarPane{justify-content:flex-start}.LobbyDescriptionPanel{gap:16px;display:grid}.RoomStatusGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.RoomStatusGrid>div{gap:6px;display:grid}.RoomStatusGrid span{color:#5ee2ffe6;letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:800}.RoomStatusGrid strong{color:#fff;text-transform:capitalize;background:linear-gradient(145deg,#ffca4f1f,#19d5ff14),#05081280;border:1px solid #ffca4f3d;border-radius:10px;place-items:center;min-height:42px;font-size:.92rem;font-weight:900;display:grid}.PlayerManifest{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.PlayerManifest div{background:#0a07188a;border:1px solid #5ee2ff3d;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:50px;padding:10px;display:grid}.PlayerManifest div.open{opacity:.62;border-style:dashed}.PlayerManifest span{color:#ffca4f;font-weight:900}.PlayerManifest strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.RoomActionRow{align-items:center}.RoomActionRow p{color:#f6f1ffc2}.RoomChatPanel{grid-template-rows:minmax(0,1fr) auto;gap:12px;font:400 12px Quicksand,system-ui,Segoe UI,Roboto,sans-serif;display:grid}.LobbySidebarPane .RoomChatPanel,.ScoreboardPane .RoomChatPanel{flex:1;min-height:0}.RoomChatMessages{scrollbar-color:#5ee2ffb3 #0508127a;scrollbar-width:thin;background:#05081275;border:1px solid #5ee2ff24;border-radius:13px;flex-direction:column;gap:6px;min-height:0;padding:6px;display:flex;overflow-y:auto}.RoomChatMessages::-webkit-scrollbar{width:9px}.RoomChatComposer textarea::-webkit-scrollbar{width:9px}.RoomChatMessages::-webkit-scrollbar-track{background:#0508127a;border-radius:999px;box-shadow:inset 0 0 0 1px #5ee2ff14}.RoomChatComposer textarea::-webkit-scrollbar-track{background:#0508127a;border-radius:999px;box-shadow:inset 0 0 0 1px #5ee2ff14}.RoomChatMessages::-webkit-scrollbar-thumb{background:linear-gradient(#5ee2ff,#7658ff);border:2px solid #0508129e;border-radius:999px;box-shadow:0 0 10px #5ee2ff52}.RoomChatComposer textarea::-webkit-scrollbar-thumb{background:linear-gradient(#5ee2ff,#7658ff);border:2px solid #0508129e;border-radius:999px;box-shadow:0 0 10px #5ee2ff52}.RoomChatMessages::-webkit-scrollbar-thumb:hover{background:linear-gradient(#8bedff,#a38aff)}.RoomChatComposer textarea::-webkit-scrollbar-thumb:hover{background:linear-gradient(#8bedff,#a38aff)}.RoomChatEmpty{color:#f6f1ff8f;text-align:center;margin:auto;font-size:12px}.RoomChatMessage{background:#19d5ff0e;border-radius:10px;gap:4px;padding:9px 11px;display:grid}.RoomChatMessage.pending{opacity:.7}.RoomChatMessage strong{color:#5ee2ff;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.RoomChatMessage strong.host{color:#ffca4f;text-shadow:0 0 10px #ffca4f57}.RoomChatMessage strong.session-owner{color:#ff78c8;text-shadow:0 0 10px #ff78c861}.RoomChatMessage strong span{color:#ffca4f;letter-spacing:.08em;text-transform:uppercase;background:#ffca4f14;border:1px solid #ffca4f59;border-radius:999px;padding:2px 7px;font-size:12px}.RoomChatMessage strong.session-owner span{color:#ff78c8;background:#ff78c81a;border-color:#ff78c85c}.LobbySidebarPane .RoomChatMessage p{color:#f6f1fff0;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.RoomChatComposer{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.RoomChatComposer textarea{resize:vertical;color:#fff;scrollbar-color:#5ee2ffb3 #0508127a;scrollbar-width:thin;background:#0a0718b8;border:1px solid #5ee2ff38;border-radius:10px;outline:0;min-width:0;min-height:72px;max-height:132px;padding:10px 13px;font:400 12px/1.45 Quicksand,system-ui,Segoe UI,Roboto,sans-serif}.RoomChatComposer textarea::placeholder{color:#f6f1ff6e}.RoomChatComposer textarea:focus{border-color:#5ee2ffb8;box-shadow:0 0 0 3px #5ee2ff1f}.RoomChatComposer button{color:#050713;cursor:pointer;background:linear-gradient(135deg,#19d5ff,#7a5cff);border:0;border-radius:10px;min-width:82px;font:700 10px Quicksand,system-ui,Segoe UI,Roboto,sans-serif}.RoomChatComposer button:disabled{color:#f6f1ff70;cursor:default;background:#ffffff14}.WordRaceGamePane{justify-items:center;overflow:hidden}.WordRaceGameLobbyButton{z-index:2;color:#f6f1ffeb;cursor:pointer;min-height:42px;font:900 .92rem var(--sans);background:0 0;border:0;align-items:center;gap:9px;display:inline-flex;position:absolute;top:clamp(18px,2.5vw,30px);right:clamp(18px,2.5vw,30px)}.WordRaceGameTimer{z-index:2;background:linear-gradient(145deg,#19d5ff14,#7a5cff1f),#0a0718b8;border:1px solid #5ee2ff61;border-radius:12px;justify-items:center;gap:4px;min-width:140px;padding:8px 13px 9px;display:grid;position:absolute;top:0;right:0;transform:translateY(calc(-100% - 30px));box-shadow:inset 0 0 16px #5ee2ff0f,0 0 19px #14d2ff1f}.WordRaceGameTimer span{color:#5ee2ffe6;letter-spacing:.15em;text-transform:uppercase;font-size:.62rem;font-weight:900}.WordRaceGameTimer strong{color:#fff;font:900 1.3rem/1 var(--mono);letter-spacing:.07em}.WordRaceGameTimer.warning{border-color:#ff43b4d1;animation:.7s ease-in-out infinite alternate timerWarningPulse}.WordRaceGameTimer.warning span,.WordRaceGameTimer.warning strong{color:#ffd15a}.WordRaceGameLobbyArrow{color:#fff;width:42px;height:42px;font:400 2rem/1 var(--sans);background:linear-gradient(145deg,#ff43b42b,#ffca4f29),#0508129e;border:1px solid #ffca4f75;border-radius:50%;place-items:center;transition:border-color .18s,box-shadow .18s;display:grid;box-shadow:0 0 20px #ffca4f29}.WordRaceGameLobbyButton:hover,.WordRaceGameLobbyButton:focus-visible{outline:0;transform:translateY(-2px)}.WordRaceGameLobbyButton:hover .WordRaceGameLobbyArrow,.WordRaceGameLobbyButton:focus-visible .WordRaceGameLobbyArrow{border-color:#ffca4fd1;box-shadow:0 0 26px #ffca4f57}.WordRaceGamePane .WordRaceRoomHeader,.WordRaceRoundResult,.WordRaceMessage{width:min(760px,100%)}.WordRaceRoundResult{z-index:1;color:#f6f1ffdb;text-align:center;font-size:.9rem;font-weight:800;position:relative}.WordRaceBoard{border-radius:12px;outline:0;justify-content:center;gap:10px;width:auto;display:grid;position:relative;overflow:visible}.WordRaceBoard:focus-visible{box-shadow:0 0 0 4px #5ee2ff33,0 0 32px #14d2ff38}.RoundCountdownOverlay{z-index:4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0406128f;place-items:center;display:grid;position:absolute;inset:0}.RoundCountdownModal{background:linear-gradient(145deg,#19d5ff1f,#7a5cff2e),#0a0718f0;border:1px solid #5ee2ff66;border-radius:18px;justify-items:center;gap:12px;min-width:min(260px,100% - 34px);padding:26px 32px 24px;display:grid;box-shadow:0 24px 62px #0000008f,0 0 30px #5ee2ff2b}.RoundCountdownModal p,.RoundCountdownModal span{color:#5ee2ffe6;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:900}.RoundCountdownModal strong{color:#fff;font:400 clamp(4.5rem, 12vw, 6rem)/1 var(--heading);text-shadow:0 0 24px #5ee2ff8f,0 0 50px #7a5cff70}.RoundCountdownModal h3{color:#fff;font-family:var(--heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:400}.RoundCountdownModal button{color:#050713;cursor:pointer;min-width:142px;min-height:42px;font:900 .94rem var(--sans);background:linear-gradient(135deg,#19d5ff,#7a5cff 54%,#ffd15a);border:0;border-radius:9px;box-shadow:0 0 22px #14d2ff38}.RoundCountdownModal button:disabled{color:#f6f1ffc7;box-shadow:none;cursor:default;background:#ffffff1a}.WordRaceRow{grid-template-columns:repeat(var(--word-length), 50px);justify-content:center;gap:10px;display:grid}.WordRaceTile{color:#fff;width:50px;height:50px;font:900 1.55rem/1 var(--sans);text-shadow:0 0 10px #ffffffb8;background:radial-gradient(circle at 32% 24%,#ffffff5c,#0000 34%),linear-gradient(145deg,#13c8ff6b,#7658ff5c 48%,#ffca4f47),#060916f0;border:2px solid #5ee2ff8f;border-radius:8px;place-items:center;display:grid;box-shadow:0 0 18px #14d2ff42,inset 0 1px #ffffff4d}.WordRaceTile.empty{opacity:.88}.WordRaceRow.active .WordRaceTile{border-width:3px;border-color:#ffb53ffa;box-shadow:0 0 24px #ffca4f57,inset 0 1px #ffffff57}.WordRaceRow.active.invalid{animation:.42s ease-in-out invalidGuessShake}.WordRaceTile.correct{background:linear-gradient(145deg,#31ffb7,#00b87e 56%,#07795c);border-color:#21ffb5f2;box-shadow:0 0 22px #21ffb57a,inset 0 1px #ffffff5c}.WordRaceTile.present{background:linear-gradient(145deg,#ffe15a,#ff9f1c 56%,#b84dff);border-color:#ffd952fa;box-shadow:0 0 22px #ffca4f80,inset 0 1px #ffffff61}.WordRaceTile.absent{background:linear-gradient(145deg,#ff43b475,#7a5cff61,#0c0a1ef5);border-color:#ff43b49e;box-shadow:0 0 18px #ff43b447,inset 0 1px #ffffff3d}.WordRaceMessage{color:#fff;text-align:center;background:#5ee2ff17;border:1px solid #5ee2ff47;border-radius:10px;padding:11px 13px}.ScoreboardPane{justify-content:flex-start;gap:18px}.ScoreboardHeader{gap:8px;display:grid}.ScoreboardHeader>p:last-child{color:#f6f1ffad;font-size:.9rem;font-weight:800}.ScoreboardColumns{color:#5ee2ffdb;letter-spacing:.13em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:0 10px 0 45px;font-size:.68rem;font-weight:900;display:grid}.ScoreboardList{align-content:start;gap:9px;min-height:0;margin:0;padding:0 2px;list-style:none;display:grid;overflow:auto}.ScoreboardList li{background:linear-gradient(135deg,#ffca4f17,#19d5ff14),#0508127a;border:1px solid #ffca4f33;border-radius:11px;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:48px;padding:7px 10px 7px 8px;display:grid}.ScoreboardList li.current{border-color:#5ee2ff80;box-shadow:inset 0 0 22px #5ee2ff14,0 0 16px #5ee2ff1f}.ScoreboardRank{color:#ffca4fe6;text-align:center;font-size:.82rem;font-weight:900}.ScoreboardList strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;font-weight:900;overflow:hidden}.ScoreboardList strong.podium-gold{color:#ffd15a;text-shadow:0 0 14px #ffca4f7a}.ScoreboardList strong.podium-silver{color:#dce8f5;text-shadow:0 0 12px #d5e5f766}.ScoreboardList strong.podium-bronze{color:#e79a62;text-shadow:0 0 12px #c96f3e66}.ScoreboardScore{color:#fff;text-align:center;background:#5ee2ff17;border:1px solid #5ee2ff42;border-radius:8px;min-width:34px;padding:6px 8px;font-size:.96rem;font-weight:900}.ScoreboardStatus{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:5px 7px;font-size:.68rem;font-weight:900}.ScoreboardStatus.waiting{color:#ffca4ff0;background:#ffca4f1a}.ScoreboardStatus.ready{color:#31ffb7;background:#31ffb71f}.ScoreboardStatus.done{color:#ff8d98;background:#ff486229;box-shadow:inset 0 0 14px #ff48621a}.RoundResultModal{border-color:#ffca4f94;min-width:min(370px,100% - 34px);box-shadow:0 24px 62px #0000008f,0 0 38px #ffca4f33}.RoundResultModal strong{color:#ffd15a;letter-spacing:.1em;font-size:clamp(2.8rem,8vw,4.5rem)}.ScoreboardStatus.rejoining{color:#ffd675;border-color:#f2be428c}.ScoreboardStatus.disconnected{color:#d6deecc7;border-color:#b1baca66}.ScoreboardStatus.playing{color:#5ee2ff;background:#5ee2ff21;box-shadow:inset 0 0 14px #5ee2ff14}.ScoreboardFooter{color:#f6f1ffa6;text-align:center;font-size:.82rem;font-weight:800}.Login.Block{z-index:1;width:min(360px,100%);margin-right:clamp(8px,4vw,70px);transition:opacity .5s,transform .5s,filter .5s;position:relative}.Login.Block.is-closing{opacity:0;filter:blur(8px);pointer-events:none;transform:translate(24px)scale(.96)}.Footer{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;min-height:50px;box-shadow:0 25px 50px #0000004d}.GameFooter{color:#f6f1ffe0;justify-content:center;align-items:center;gap:clamp(20px,3vw,42px);padding:14px 24px;display:flex}.GameFooter p{color:inherit;letter-spacing:.02em;text-align:center;font-size:clamp(1rem,1.35vw,1.2rem);font-weight:800}.GameFooter.result{background:linear-gradient(100deg,#ffca4f1f,#19d5ff1a,#ffca4f1f),#ffffff0d;border-color:#ffca4f6b;box-shadow:0 0 30px #ffca4f24,0 25px 50px #0000004d}.GameFooter.result p{color:#fff}.GameFooter.error{background:#ff43b41c;border-color:#ff43b473}.GameFooter.error p{color:#fff}.auth-card{color:#f6f1ff;background:linear-gradient(#050812f0, #050812f0) padding-box, conic-gradient(from var(--border-angle), #19d5ff, #7a5cff, #ffca4f, #ff43b4, #19d5ff) border-box, linear-gradient(145deg, #22c7ff24, #54208f4d 48%, #040812e6), #050812e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:3px solid #0000;border-radius:14px;max-height:none;animation:.8s both authCardRise,5s ease-in-out infinite authPulse,3.8s linear infinite runningBorder;position:relative;overflow:clip;box-shadow:0 0 34px #14d2ff33,0 0 54px #a936ff2e,0 24px 60px #00000080,inset 0 1px #ffffff2e}.auth-card:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 20%,#ffffff42,#0000 72%);animation:6s ease-in-out infinite authSweep;position:absolute;inset:0;transform:translate(-110%)}.auth-card-content{z-index:1;padding:18px;position:relative}.auth-orbit{filter:blur(3px);opacity:.5;pointer-events:none;border-radius:999px;position:absolute}.auth-orbit-one{border:1px solid #5ee2ff70;width:180px;height:180px;animation:9s linear infinite orbitFloat;top:-82px;right:-70px;box-shadow:0 0 40px #5ee2ff52}.auth-orbit-two{border:1px solid #ffd56a57;width:120px;height:120px;animation:7s linear infinite reverse orbitFloat;bottom:12%;left:-52px;box-shadow:0 0 34px #ffd56a3d}.auth-kicker{color:#5ee2ff;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800}.auth-card h1{font-family:var(--heading);text-shadow:0 0 24px #aa3bff9e;margin-bottom:7px;font-size:2.12rem;font-weight:400;line-height:1}.auth-copy{color:#f6f1ffe6;margin-bottom:12px;font-size:.94rem;line-height:1.32}.auth-tabs{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;padding:5px;display:grid}.auth-tabs button,.reset-link,.auth-button,.provider-button{font:inherit;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}.auth-tabs button{color:#f6f1ffb8;background:0 0;border:0;border-radius:7px;min-height:38px;font-weight:800}.auth-tabs button.active{color:#060b18;background:linear-gradient(135deg,#19d5ff,#7a5cff 54%,#ffd15a);box-shadow:0 0 22px #19d5ff3d}.auth-form{gap:8px;display:grid}.auth-form label{color:#f6f1fff0;gap:5px;font-size:.8rem;font-weight:700;display:grid}.auth-form input{color:#fff;background:#0a0718c2;border:1px solid #ffffff24;border-radius:8px;outline:0;width:100%;min-height:36px;padding:0 12px;box-shadow:inset 0 0 0 1px #ffffff08}.auth-form input::placeholder{color:#f6f1ff6b}.auth-form input:focus{border-color:#5ee2ffcc;box-shadow:0 0 0 4px #5ee2ff1f,0 0 24px #5ee2ff33}.auth-button{color:#050713;background:linear-gradient(135deg,#13c8ff,#7658ff 52%,#ffca4f);border:0;border-radius:9px;min-height:39px;margin-top:10px;font-weight:900;box-shadow:0 0 28px #14d2ff38}.auth-button.secondary{width:100%;margin-top:16px}.auth-button:hover,.provider-button:hover,.reset-link:hover{transform:translateY(-2px)}.auth-button:disabled,.provider-button:disabled{cursor:wait;opacity:.65;transform:none}.reset-link{color:#5ee2ff;background:0 0;border:0;width:100%;padding:8px 0 2px;font-weight:800}.provider-divider{color:#f6f1ff8f;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 8px;font-size:.68rem;display:grid}.provider-divider span{background:#ffffff29;height:1px}.provider-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.provider-button{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#19d5ff26,#7c50ff21),#ffffff14;border:1px solid #ffffff24;border-radius:9px;place-items:center;gap:8px;width:100%;min-height:0;display:grid}.provider-button svg{width:22px;height:22px;display:block}.provider-google{border-color:#5ee2ff57}.provider-apple{color:#fff;border-color:#ffffff57}.provider-twitter{color:#fff;border-color:#1d9bf080}.provider-facebook{color:#1877f2;border-color:#1877f280}.provider-github{color:#fff;border-color:#ffffff57}.provider-microsoft{border-color:#ffca4f7a}.provider-yahoo{color:#8d63ff;border-color:#7a5cff94}.auth-message{color:#fff;background:#5ee2ff17;border:1px solid #5ee2ff47;border-radius:9px;margin-top:9px;padding:9px 11px;font-size:.88rem;line-height:1.28}.privacy-note{color:#f6f1ffbd;background:#ffca4f14;border:1px solid #ffca4f38;border-radius:9px;margin-top:9px;padding:9px 10px;font-size:.76rem;line-height:1.28}.auth-warning{background:#ffd56a1f;border-color:#ffd56a5c;margin:0 0 16px}.signed-in-panel{background:#0a07187a;border:1px solid #5ee2ff3d;border-radius:14px;gap:6px;padding:18px;display:grid}.signed-in-panel span{color:#f6f1ff99}.signed-in-panel strong{color:#fff;word-break:break-word}@keyframes authCardRise{0%{opacity:0;transform:translate(-22px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes authPulse{0%,to{box-shadow:0 0 30px #14d2ff33,0 24px 60px #00000080,inset 0 1px #ffffff2e}50%{box-shadow:0 0 46px #7658ff47,0 24px 60px #00000080,inset 0 1px #ffffff2e}}@keyframes authSweep{0%,48%{transform:translate(-110%)}70%,to{transform:translate(110%)}}@keyframes orbitFloat{to{transform:rotate(360deg)}}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes runningBorder{to{--border-angle:360deg}}@keyframes timerWarningPulse{0%{box-shadow:0 0 15px #ff43b43d}to{box-shadow:0 0 29px #ffca4f7a}}.ScoreboardResults{gap:16px;min-height:0;display:grid}@keyframes invalidGuessShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-9px)}40%,80%{transform:translate(9px)}}@keyframes confettiBurst{0%{opacity:0;transform:translate3d(-50%, 0, 0) rotate(var(--confetti-rotation)) scale(.55)}1%{opacity:1}11%{opacity:1;transform:translate3d(calc(-50% + var(--confetti-launch-x)), calc(-1 * var(--confetti-peak-y)), 0) rotate(calc(var(--confetti-rotation) + 340deg)) scale(1)}20%{opacity:1;transform:translate3d(calc(-50% + var(--confetti-launch-x) + 20px), calc(-1 * var(--confetti-peak-y) + 3vh), 0) rotate(calc(var(--confetti-rotation) + 510deg)) scale(1)}to{opacity:0;transform:translate3d(calc(-50% + var(--confetti-landing-x)), 108vh, 0) rotate(calc(var(--confetti-rotation) + 1460deg)) scale(.92)}}@keyframes confettiCelebrationFade{0%,94%{opacity:1}to{opacity:0}}@keyframes lobbyReveal{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=760px){body{height:auto;min-height:100vh;padding:12px;overflow-y:auto}#root{grid-template-rows:72px auto 64px;min-height:calc(100vh - 24px)}.Header,.Footer{border-radius:14px}.Header .Logo{width:160px}.Header{grid-template-columns:170px minmax(0,1fr);gap:8px;padding-right:10px}.Header .Nav{scrollbar-width:none;gap:6px;padding:0 2px 4px 0;overflow-x:auto}.Header .Nav::-webkit-scrollbar{display:none}.NavItem{border-radius:8px;min-height:34px;padding:0 9px;font-size:.76rem}.MainArea{justify-content:center;align-items:flex-start;padding:18px 0}.GameLobby{grid-template-rows:minmax(430px,56vh) auto;grid-template-columns:1fr}.GameCarouselPane,.GameDescriptionPane,.GameConfigPane,.WordRaceRoomPane,.WordRaceGamePane{border-radius:14px}.CylinderCarousel{--carousel-spread:58px;--carousel-depth:46px;--carousel-lift:12px}.GameCard{width:118px}.GameDescriptionPane{justify-content:flex-start}.GameConfigForm label,.GameConfigRow{grid-template-columns:minmax(96px,.78fr) minmax(108px,1fr);gap:8px}.GameConfigPane,.WordRaceRoomPane,.WordRaceGamePane{justify-content:flex-start}.GameDescriptionPane img{width:150px}.RoomStatusGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.RoomActionRow{grid-template-columns:1fr}.LobbySidebarPane .RoomChatPanel{min-height:360px}.WordRaceTile{border-radius:7px;width:44px;height:44px;font-size:1.32rem}.WordRaceRow{grid-template-columns:repeat(var(--word-length), 44px);gap:7px}.WordRaceBoard{gap:7px}.WordRaceGameTimer{min-width:112px;padding:6px 10px;transform:translateY(calc(-100% - 16px))}.Login.Block{margin-right:0}.auth-card{max-height:none}.provider-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
