.RaceContent-module__Gwc3DG__pageWrapper{background-color:var(--background);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.RaceContent-module__Gwc3DG__main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.RaceContent-module__Gwc3DG__loadingArea{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:400px;display:flex}.RaceContent-module__Gwc3DG__spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:50px;height:50px;animation:1s linear infinite RaceContent-module__Gwc3DG__spin}.RaceContent-module__Gwc3DG__spinnerMini{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:1s linear infinite RaceContent-module__Gwc3DG__spin}@keyframes RaceContent-module__Gwc3DG__spin{to{transform:rotate(360deg)}}.RaceContent-module__Gwc3DG__loadingText{color:var(--text-muted);font-size:1.0625rem;font-weight:500}.RaceContent-module__Gwc3DG__landingLayout{flex-direction:column;gap:2.5rem;display:flex}.RaceContent-module__Gwc3DG__landingHero{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:750px;margin:0 auto;display:flex}.RaceContent-module__Gwc3DG__heroBadge{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#38bdf81a,#0ea5e926);border:1px solid #38bdf84d;border-radius:99px;padding:.35rem .875rem;font-size:.8125rem;font-weight:700}.RaceContent-module__Gwc3DG__landingHero h1{background:linear-gradient(135deg, var(--text), var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.75rem;font-weight:800;line-height:1.2}.RaceContent-module__Gwc3DG__landingHero p{color:var(--text-muted);font-size:1.125rem;line-height:1.6}.RaceContent-module__Gwc3DG__menuGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.75rem;display:grid}.RaceContent-module__Gwc3DG__menuCard{background:linear-gradient(135deg, var(--background-subtle), var(--background));border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);cursor:pointer;flex-direction:column;align-items:center;padding:2.5rem 2rem;display:flex}.RaceContent-module__Gwc3DG__menuCard:hover{border-color:var(--primary);box-shadow:0 12px 24px -10px #00000026, var(--shadow-md);transform:translateY(-5px)}[data-theme=dark] .RaceContent-module__Gwc3DG__menuCard:hover{box-shadow:0 12px 24px -10px #ffffff0d, var(--shadow-md)}.RaceContent-module__Gwc3DG__menuIcon{filter:drop-shadow(0 4px 8px #00000026);margin-bottom:1.25rem;font-size:3.5rem}.RaceContent-module__Gwc3DG__menuCard h3{margin-bottom:.75rem;font-size:1.375rem;font-weight:700}.RaceContent-module__Gwc3DG__menuCard p{color:var(--text-muted);flex:1;margin-bottom:2rem;font-size:.9375rem;line-height:1.5}.RaceContent-module__Gwc3DG__btnPrimary,.RaceContent-module__Gwc3DG__btnAccent,.RaceContent-module__Gwc3DG__btnSecondary,.RaceContent-module__Gwc3DG__btnDanger{border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:700;display:inline-flex}.RaceContent-module__Gwc3DG__btnPrimary{background-color:var(--primary);color:#fff}.RaceContent-module__Gwc3DG__btnPrimary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.RaceContent-module__Gwc3DG__btnAccent{background-color:var(--accent);color:#fff}.RaceContent-module__Gwc3DG__btnAccent:hover{opacity:.92;transform:translateY(-1px)}.RaceContent-module__Gwc3DG__btnSecondary{background-color:var(--background-subtle);border:1px solid var(--border);color:var(--text)}.RaceContent-module__Gwc3DG__btnSecondary:hover{background-color:var(--border);border-color:var(--text-muted)}.RaceContent-module__Gwc3DG__btnDanger{background-color:var(--error);color:#fff}.RaceContent-module__Gwc3DG__btnDanger:hover{opacity:.9}.RaceContent-module__Gwc3DG__main button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.RaceContent-module__Gwc3DG__navRow{justify-content:center;margin-top:1rem;display:flex}.RaceContent-module__Gwc3DG__backBtn{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none}.RaceContent-module__Gwc3DG__backBtn:hover{border-color:var(--text);color:var(--text);background-color:var(--background-subtle)}.RaceContent-module__Gwc3DG__lobbyContainer{flex-direction:column;gap:2rem;display:flex}.RaceContent-module__Gwc3DG__lobbyHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:1.5rem;display:flex}.RaceContent-module__Gwc3DG__headerInfo h2{align-items:center;gap:.75rem;font-size:1.75rem;font-weight:800;display:flex}.RaceContent-module__Gwc3DG__privateBadge{background-color:var(--border);color:var(--text-muted);border-radius:var(--radius-sm);text-transform:uppercase;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.RaceContent-module__Gwc3DG__lobbyHeader p{color:var(--text-muted);margin-top:.25rem;font-size:.9375rem}.RaceContent-module__Gwc3DG__lobbyHeader button{width:auto}.RaceContent-module__Gwc3DG__lobbyContentGrid{grid-template-columns:1.2fr 1fr;gap:1.75rem;display:grid}@media (max-width:900px){.RaceContent-module__Gwc3DG__lobbyContentGrid{grid-template-columns:1fr}}.RaceContent-module__Gwc3DG__glassCard{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:1.5rem;padding:2rem;display:flex;position:relative;overflow:hidden}.RaceContent-module__Gwc3DG__cardTitle{border-bottom:1px solid var(--border);padding-bottom:.75rem;font-size:1.125rem;font-weight:700}.RaceContent-module__Gwc3DG__playerList{flex-direction:column;gap:1rem;display:flex}.RaceContent-module__Gwc3DG__playerRow{background-color:var(--background-subtle);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:1rem;padding:1rem;display:flex}.RaceContent-module__Gwc3DG__playerRow:hover{border-color:var(--primary-light)}.RaceContent-module__Gwc3DG__playerAvatar{background-color:var(--background);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.75rem;display:flex}.RaceContent-module__Gwc3DG__playerDetails{flex-direction:column;flex:1;display:flex}.RaceContent-module__Gwc3DG__playerName{align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.RaceContent-module__Gwc3DG__youBadge{background-color:var(--primary);color:#fff;border-radius:4px;padding:.125rem .375rem;font-size:.6875rem;font-weight:800}.RaceContent-module__Gwc3DG__playerRole{color:var(--text-muted);font-size:.8125rem;font-weight:500}.RaceContent-module__Gwc3DG__readyBadge{color:var(--success);background-color:#22c55e1a;border:1px solid #22c55e33;border-radius:99px;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.RaceContent-module__Gwc3DG__startingPulse{color:var(--warning);font-size:.75rem;font-weight:700;animation:1s ease-in-out infinite alternate RaceContent-module__Gwc3DG__flash}@keyframes RaceContent-module__Gwc3DG__flash{0%{opacity:.4}to{opacity:1}}.RaceContent-module__Gwc3DG__lobbyActions{margin-top:1rem}.RaceContent-module__Gwc3DG__hostControls{grid-template-columns:1.5fr 1fr 1fr;gap:.75rem;display:grid}@media (max-width:600px){.RaceContent-module__Gwc3DG__hostControls{grid-template-columns:1fr}}.RaceContent-module__Gwc3DG__waitingNotice{background-color:var(--background-subtle);border-radius:var(--radius-md);border:1px dashed var(--border);color:var(--text-muted);justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-size:.875rem;font-weight:600;display:flex}.RaceContent-module__Gwc3DG__inviteDescription{color:var(--text-muted);font-size:.875rem;line-height:1.5}.RaceContent-module__Gwc3DG__inviteInputRow{gap:.75rem;display:flex}.RaceContent-module__Gwc3DG__inviteInput{background-color:var(--background-subtle);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);color:var(--text-muted);outline:none;flex:1;padding:.625rem .875rem;font-size:.8125rem}.RaceContent-module__Gwc3DG__inviteInput:focus{border-color:var(--primary);color:var(--text)}.RaceContent-module__Gwc3DG__inviteInputRow button{width:auto}.RaceContent-module__Gwc3DG__promptPreviewCard{background-color:var(--background-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.RaceContent-module__Gwc3DG__promptPreviewCard h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.8125rem;font-weight:700}.RaceContent-module__Gwc3DG__promptPreviewText{color:var(--text-muted);font-size:.9375rem;font-style:italic;line-height:1.5}.RaceContent-module__Gwc3DG__countdownOverlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;animation:RaceContent-module__Gwc3DG__fadeIn var(--transition-fast);background-color:#0f172ad9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.RaceContent-module__Gwc3DG__countdownBox{text-align:center;color:#fff;flex-direction:column;align-items:center;gap:1rem;display:flex}.RaceContent-module__Gwc3DG__countdownLabel{letter-spacing:.15em;color:var(--primary);font-size:1.125rem;font-weight:800}.RaceContent-module__Gwc3DG__countdownNumber{text-shadow:0 0 30px #38bdf866;font-size:7.5rem;font-weight:900;line-height:1;animation:1s ease-out infinite RaceContent-module__Gwc3DG__pulseZoom}@keyframes RaceContent-module__Gwc3DG__pulseZoom{0%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}to{opacity:.5;transform:scale(.95)}}.RaceContent-module__Gwc3DG__countdownBox p{color:#ffffffb3;font-size:1rem;font-weight:500}.RaceContent-module__Gwc3DG__raceArenaContainer{flex-direction:column;gap:1.5rem;display:flex}.RaceContent-module__Gwc3DG__arenaHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.RaceContent-module__Gwc3DG__arenaTitle{font-size:1.25rem;font-weight:800}.RaceContent-module__Gwc3DG__leaveArenaBtn{border:1px solid var(--error);color:var(--error);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.RaceContent-module__Gwc3DG__leaveArenaBtn:hover{background-color:#ef444414}.RaceContent-module__Gwc3DG__tracksContainer{flex-direction:column;gap:1.25rem;display:flex}.RaceContent-module__Gwc3DG__trackLane{border-radius:var(--radius-md);background-color:var(--background-subtle);border:1px solid var(--border);transition:border-color var(--transition-fast);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.RaceContent-module__Gwc3DG__trackLaneMe{border-color:var(--primary-light);background-color:#38bdf808}.RaceContent-module__Gwc3DG__laneStats{align-items:center;gap:.75rem;font-size:.875rem;display:flex}.RaceContent-module__Gwc3DG__lanePos{font-weight:800;font-family:var(--font-mono);color:var(--primary)}.RaceContent-module__Gwc3DG__laneName{flex:1;font-weight:700}.RaceContent-module__Gwc3DG__laneWpm{font-weight:700;font-family:var(--font-mono);color:var(--text-muted)}.RaceContent-module__Gwc3DG__laneTrack{align-items:center;gap:1rem;display:flex}.RaceContent-module__Gwc3DG__laneProgressBarTrack{background-color:var(--border);border-radius:12px;flex:1;height:24px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}[data-theme=dark] .RaceContent-module__Gwc3DG__laneProgressBarTrack{background-color:#1e293b}.RaceContent-module__Gwc3DG__laneProgressBarFill{background:linear-gradient(90deg, var(--border), var(--text-muted));border-radius:12px;height:100%;transition:width .3s cubic-bezier(.1,.9,.2,1)}.RaceContent-module__Gwc3DG__laneProgressFillMe{background:linear-gradient(90deg, var(--primary), var(--accent));box-shadow:0 0 10px #38bdf84d}.RaceContent-module__Gwc3DG__laneCarIndicator{pointer-events:none;z-index:2;filter:drop-shadow(0 2px 3px #00000040);font-size:1.15rem;transition:left .3s cubic-bezier(.1,.9,.2,1);position:absolute;top:1px}.RaceContent-module__Gwc3DG__lanePercent{font-size:.8125rem;font-weight:700;font-family:var(--font-mono);text-align:right;width:38px}.RaceContent-module__Gwc3DG__typingAreaContainer{background-color:var(--background-subtle);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);cursor:text;min-height:140px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:1.75rem;font-size:1.35rem;line-height:1.7;position:relative}.RaceContent-module__Gwc3DG__focusedArea{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background-color:var(--background)}.RaceContent-module__Gwc3DG__focusOverlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--text-muted);z-index:5;cursor:pointer;background-color:#ffffffb3;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex;position:absolute;inset:0}[data-theme=dark] .RaceContent-module__Gwc3DG__focusOverlay{background-color:#0f172acc}.RaceContent-module__Gwc3DG__pulseRing{border:2px solid var(--primary);border-radius:50%;width:32px;height:32px;animation:1.5s infinite RaceContent-module__Gwc3DG__radar}@keyframes RaceContent-module__Gwc3DG__radar{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.RaceContent-module__Gwc3DG__textDisplay{-webkit-user-select:none;user-select:none;white-space:pre-wrap;word-break:break-word}.RaceContent-module__Gwc3DG__letterCorrect{color:var(--success);font-weight:600}.RaceContent-module__Gwc3DG__letterIncorrect{color:var(--error);background-color:#ef444426;border-radius:2px;font-weight:600}.RaceContent-module__Gwc3DG__letterPending{color:var(--text-muted);opacity:.65}.RaceContent-module__Gwc3DG__activeCaret{background-color:var(--primary);vertical-align:middle;width:2px;height:1.55rem;margin-left:-1px;margin-right:-1px;animation:.9s steps(2,start) infinite RaceContent-module__Gwc3DG__blinkCaret;display:inline-block}@keyframes RaceContent-module__Gwc3DG__blinkCaret{to{visibility:hidden}}.RaceContent-module__Gwc3DG__liveMetricsFooter{border-top:1px dashed var(--border);justify-content:space-around;padding-top:1.25rem;display:flex}.RaceContent-module__Gwc3DG__metric{flex-direction:column;align-items:center;gap:.25rem;display:flex}.RaceContent-module__Gwc3DG__metric span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.RaceContent-module__Gwc3DG__metric strong{font-size:1.35rem;font-family:var(--font-mono);font-weight:800}.RaceContent-module__Gwc3DG__errorHighlight{color:var(--error)}.RaceContent-module__Gwc3DG__resultsOverlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;animation:RaceContent-module__Gwc3DG__fadeIn var(--transition-fast);background-color:#0f172ad9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.RaceContent-module__Gwc3DG__resultsModal{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:650px;box-shadow:var(--shadow-lg);animation:RaceContent-module__Gwc3DG__pop var(--transition-normal);flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem;display:flex}.RaceContent-module__Gwc3DG__resultsModal h2{background:linear-gradient(135deg, var(--primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2rem;font-weight:800}.RaceContent-module__Gwc3DG__resultsModal p{color:var(--text-muted);font-size:.9375rem}.RaceContent-module__Gwc3DG__podiumContainer{justify-content:center;align-items:flex-end;gap:1.25rem;width:100%;height:180px;margin:1rem 0;display:flex}.RaceContent-module__Gwc3DG__podiumStep{width:110px;transition:all var(--transition-normal);flex-direction:column;align-items:center;display:flex}.RaceContent-module__Gwc3DG__podiumCrown{margin-bottom:.25rem;font-size:1.5rem}.RaceContent-module__Gwc3DG__podiumName{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;margin-bottom:.25rem;font-size:.8125rem;font-weight:700;overflow:hidden}.RaceContent-module__Gwc3DG__podiumWpm{font-size:.75rem;font-weight:800;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:.5rem}.RaceContent-module__Gwc3DG__podiumCard{border-radius:var(--radius-md) var(--radius-md) 0 0;color:#fff;width:100%;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex}.RaceContent-module__Gwc3DG__firstPlace .RaceContent-module__Gwc3DG__podiumCard{background:linear-gradient(135deg,#fbbf24,#f59e0b);height:90px}.RaceContent-module__Gwc3DG__secondPlace .RaceContent-module__Gwc3DG__podiumCard{background:linear-gradient(135deg,#94a3b8,#64748b);height:65px}.RaceContent-module__Gwc3DG__thirdPlace .RaceContent-module__Gwc3DG__podiumCard{background:linear-gradient(135deg,#b45309,#78350f);height:45px}.RaceContent-module__Gwc3DG__scoreboardTableCard{background-color:var(--background-subtle);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;overflow:hidden}.RaceContent-module__Gwc3DG__scoreboardTable{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.RaceContent-module__Gwc3DG__scoreboardTable th,.RaceContent-module__Gwc3DG__scoreboardTable td{padding:.75rem 1rem}.RaceContent-module__Gwc3DG__scoreboardTable th{background-color:var(--background);border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:700}.RaceContent-module__Gwc3DG__scoreboardTable tr:not(:last-child){border-bottom:1px solid var(--border)}.RaceContent-module__Gwc3DG__scoreboardSelfRow{background-color:#38bdf80d;font-weight:700}.RaceContent-module__Gwc3DG__statusSuccess{color:var(--success);font-weight:700}.RaceContent-module__Gwc3DG__statusFail{color:var(--text-muted);font-size:.8125rem}.RaceContent-module__Gwc3DG__expBox{border:1px dashed var(--warning);color:var(--warning);border-radius:var(--radius-md);background:linear-gradient(135deg,#eab3081a,#f973161a);width:100%;padding:1rem;font-size:1rem;font-weight:800}.RaceContent-module__Gwc3DG__expBox strong{font-size:1.15rem}.RaceContent-module__Gwc3DG__guestExpWarning{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;font-weight:600}.RaceContent-module__Gwc3DG__resultsActions{gap:.75rem;width:100%;display:flex}.RaceContent-module__Gwc3DG__resultsActions button{flex:1}.RaceContent-module__Gwc3DG__guestNotice{background-color:var(--background-subtle);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:.75rem;font-size:.8125rem;font-weight:600;display:flex}@keyframes RaceContent-module__Gwc3DG__fadeIn{0%{opacity:0}to{opacity:1}}@keyframes RaceContent-module__Gwc3DG__pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.RaceContent-module__Gwc3DG__matchmakingTimerRow{border-radius:var(--radius-md);width:100%;animation:RaceContent-module__Gwc3DG__fadeIn var(--transition-fast);background:linear-gradient(135deg,#38bdf814,#0ea5e91f);border:1px solid #38bdf840;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.5rem;display:flex}.RaceContent-module__Gwc3DG__matchmakingBadge{text-transform:uppercase;background-color:var(--primary);color:#fff;border-radius:var(--radius-sm);letter-spacing:.05em;box-shadow:var(--shadow-sm);padding:.25rem .625rem;font-size:.75rem;font-weight:800;animation:2s ease-in-out infinite RaceContent-module__Gwc3DG__heartbeat}@keyframes RaceContent-module__Gwc3DG__heartbeat{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.RaceContent-module__Gwc3DG__matchmakingTime{color:var(--text-muted);font-size:.9375rem;font-weight:500}.RaceContent-module__Gwc3DG__matchmakingTime strong{color:var(--primary);font-family:var(--font-mono);font-size:1.125rem;font-weight:800}
