.chess-matchup{gap:14px;margin-top:24px;display:grid}.chess{--game-bg:#dcece3;--game-color:#326452}.racing{--game-bg:#dce5fc;--game-color:#3c4f91}.catalog-pagination{color:#6d6179;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.in-room .lounge .game-art{height:clamp(65px,12vh,145px)}.chess-matchup h2{margin-bottom:5px;font-size:19px}.chess-game{grid-template-columns:190px minmax(0,1fr) 220px}.game-layout .chess-stage{flex-direction:column;gap:8px;min-height:0;padding:12px 18px;display:flex}.chess-status{flex-shrink:0;justify-content:space-between;align-items:center;min-height:22px;font-size:14px;display:flex}.chess-player{background:#f6f7f9;border:1px solid #e3e4e9;border-radius:10px;flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;display:flex}.chess-player.active{background:#edf7f1;border-color:#57917a}.chess-result-banner{color:#68420b;background:linear-gradient(115deg,#fff0bb,#fff9e8 65%,#fbe3a0);border:1px solid #eac467;border-radius:14px;flex-shrink:0;align-items:center;gap:14px;padding:12px 18px;animation:.5s ease-out both chess-result-arrive;display:flex}.chess-result-banner.draw{color:#523080;background:linear-gradient(115deg,#e9dfff,#f6f0ff);border-color:#c4a6eb}.chess-result-banner h2{overflow-wrap:anywhere;font-size:clamp(22px,2.1vw,32px);font-weight:800;line-height:1.1}.chess-result-label{letter-spacing:2px;font-size:10px;font-weight:800}.chess-result-banner p{margin-top:4px;font-size:12px}.chess-result-icon{flex-shrink:0}.chess-result-avatar{margin-left:auto;font-size:38px}.chess-player.winner{background:#fff7dc;border-color:#dcb350}.chess-winner-badge{color:#80500a;align-items:center;gap:5px;font-size:12px;font-weight:750;display:flex}.chess-finished .chess-board{box-shadow:0 0 0 3px #e8c777,0 8px 28px #73591c25}@keyframes chess-result-arrive{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.chess-result-banner{animation:none}}.chess-player .avatar{width:32px;height:32px;font-size:24px}.chess-player small{color:#596273;font-size:11px;display:block}.chess-player strong{font-size:14px}.chess-clock{font-variant-numeric:tabular-nums;font-size:clamp(22px,2vw,32px);font-weight:750;line-height:1}.chess-clock.low{color:#b42339}.chess-board-space{flex:1;justify-content:center;align-items:center;min-width:0;min-height:100px;display:flex}.chess-board{flex-shrink:0;box-shadow:0 5px 20px #122e2425}.chess-keyboard{flex-shrink:0;justify-content:center;gap:8px;display:flex}.chess-keyboard input{max-width:210px;height:30px;font-size:12px}.chess-keyboard button{height:30px}.chess-spectator-note{text-align:center;color:#596273;flex-shrink:0;font-size:12px}.chess-about{gap:16px;display:grid}.chess-about h3,.race-guide h3{letter-spacing:-.8px;font-size:24px;line-height:1.2}.chess-about p{font-size:13px;line-height:1.6}.chess-seat-summary{background:#f1f5f4;border-radius:10px;padding:12px}.chess-moves{grid-template-columns:28px 1fr 1fr;gap:4px;font-size:13px;display:grid}.chess-move-row{display:contents}.chess-move-row span{color:#667085;padding-block:6px}.chess-move-row button{text-align:left;border-radius:5px;padding:6px}.chess-move-row button:hover,.chess-move-row button.selected{background:#e6f2e9}.chess-history-note{margin-top:12px;font-size:11px}.chess-actions{gap:8px;margin-top:20px;display:grid}.chess-actions p{font-size:13px}.race-game{grid-template-columns:185px minmax(0,1fr) 200px}.game-layout .race-stage{color:#ecf1ff;background:#111c33;flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.race-heading{border-bottom:1px solid #ffffff18;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.race-heading h1{letter-spacing:-.8px;font-size:23px}.race-heading .eyebrow{color:#aebfdf;font-size:9px}.race-heading>span{font-variant-numeric:tabular-nums;font-size:13px}.race-surface{isolation:isolate;outline:none;flex:1;min-height:0;position:relative;overflow:hidden}.race-surface:focus-visible{outline-offset:-3px;outline:3px solid #a78bfa}.race-canvas{position:absolute;inset:0}.race-canvas canvas{width:100%;height:100%;display:block}.race-hud{pointer-events:none;background:linear-gradient(#0d162edb,#0000);gap:24px;padding:18px 22px 35px;display:flex;position:absolute;inset:0 0 auto}.race-hud>div{gap:4px;display:grid}.race-hud>div:last-child{text-align:right;margin-left:auto}.race-hud small{letter-spacing:1.6px;color:#d2dbf0;font-size:9px}.race-hud strong{font-variant-numeric:tabular-nums;font-size:30px;line-height:1}.race-hud em{color:#b5c4e2;font-size:14px;font-style:normal}.race-hud b{font-size:14px}.race-speed{text-align:right;pointer-events:none;background:#101b33cf;border:1px solid #fff2;border-radius:12px;width:150px;padding:12px;position:absolute;bottom:20px;right:22px}.race-speed strong{font-variant-numeric:tabular-nums;font-size:33px}.race-speed strong small{color:#c1cfe9;font-size:10px}.race-speed>small{letter-spacing:1.3px;font-size:8px}.race-energy{background:#ffffff20;border-radius:8px;height:5px;margin:6px 0;overflow:hidden}.race-energy span{background:linear-gradient(90deg,#a78bfa,#22d3ee);height:100%;display:block}.race-countdown{text-shadow:0 3px 15px #000;pointer-events:none;justify-items:center;gap:8px;display:grid;position:absolute;inset:20% 0 auto}.race-countdown strong{font-size:100px;font-weight:850;line-height:1}.race-countdown span{letter-spacing:4px;font-size:12px}.race-countdown small{font-size:13px}.race-focus{color:#2f2456;background:#eee9ff;border-radius:20px;padding:10px 16px;font-size:12px;font-weight:650;position:absolute;bottom:24px;left:18px;box-shadow:0 2px 18px #0003}.race-error{text-align:center;background:#14213bed;border-radius:14px;place-content:center;gap:15px;padding:22px;font-size:14px;display:grid;position:absolute;inset:20% 10%}.race-finish{text-align:center;background:#182544da;border:1px solid #22d3ee;border-radius:14px;padding:20px;font-size:22px;font-weight:700;position:absolute;top:30%;left:15%;right:15%}.race-finish span{margin-top:10px;font-size:12px;font-weight:400;display:block}.race-footer{color:#c3cfe7;flex-shrink:0;justify-content:space-between;gap:10px;padding:10px 16px;font-size:10px;display:flex}.race-positions{gap:8px;display:grid}.race-assist{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.race-garage{grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr);align-items:center;gap:28px;padding:12px 0;display:grid}.race-garage-preview{text-align:center;background:linear-gradient(140deg,#f0eaff,#e8f7fa);border-radius:18px;padding:20px}.car-preview{width:100%;max-width:260px;margin:0 auto;display:block}.race-garage-preview h3{font-size:22px;font-weight:750}.race-garage-preview p{margin-top:8px;font-size:12px;line-height:1.5}.race-garage-options{gap:18px;display:grid}.race-vehicles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.race-vehicles button{cursor:pointer;background:#faf9fd;border:1px solid #d9d4e8;border-radius:12px;min-width:0;padding:8px 4px;font-size:11px;line-height:1.4}.race-vehicles button[aria-pressed=true]{background:#eee8ff;border-color:#7655c9;box-shadow:inset 0 0 0 1px #7655c9}.race-vehicles button:focus-visible{outline-offset:2px;outline:3px solid #7655c9}.race-vehicles button:disabled{opacity:.6;cursor:wait}.race-colours{grid-template-columns:repeat(8,32px);gap:8px;display:grid}.race-colours button{color:#18233b;border:2px solid #29324955;border-radius:50%;width:32px;height:32px;font-weight:900}.race-colours button[aria-pressed=true]{outline-offset:3px;outline:3px solid #6550b5}.race-colours button:disabled{opacity:.4;cursor:not-allowed}.race-garage-options .action-row{flex-wrap:wrap}.race-garage-options>p{font-size:11px}.podium-car .car-preview{max-height:60px}.race-practice-dialog{flex-direction:column;width:min(1180px,94vw);height:min(740px,90vh);padding:24px;display:flex;max-width:min(1180px,94vw)!important}.race-practice-layout{flex:1;grid-template-columns:minmax(0,1fr) 260px;gap:20px;min-height:0;display:grid}.race-practice-track{color:#ecf1ff;background:#111c33;border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.race-practice-lessons{flex-direction:column;gap:10px;min-height:0;padding-right:6px;display:flex;overflow:hidden}.race-practice-lessons h3{font-size:18px;font-weight:750}.race-practice-lessons>p{color:#596273;font-size:12px}.race-practice-lessons ol{flex:1;gap:8px;min-height:0;padding-right:4px;display:grid;overflow:auto}.race-practice-lessons>h3,.race-practice-lessons>p,.race-practice-lessons>label{flex-shrink:0}.race-garage-selection{color:#403852;font-size:12px;font-weight:650}.race-hud>div:last-child{overflow-wrap:anywhere;min-width:0;max-width:44%}.race-footer{flex-wrap:wrap}.race-recap{gap:14px;font-size:12px;line-height:1.55;display:grid}.race-recap h3{font-size:20px;font-weight:750}.race-recap dl{gap:8px;display:grid}.race-recap dt{overflow-wrap:anywhere;font-weight:650}.race-recap dd{color:#596273;margin-bottom:4px}.race-practice-lessons li{background:#f5f4f9;border-radius:10px;padding:8px 10px}.race-practice-lessons li.complete{color:#226346;background:#e5f6ed}.race-practice-lessons li strong{font-size:12px;display:block}.race-practice-lessons li span{margin-top:3px;font-size:11px;line-height:1.45;display:block}.race-practice-lessons .race-assist{margin-top:0}.race-practice-lessons button{flex-shrink:0}.race-assist small{color:#596273;flex-basis:100%;font-size:11px}.race-start-lights{background:#101727dd;border-radius:30px;gap:10px;padding:10px 18px;display:flex}.race-start-lights i{background:#382b42;border-radius:50%;width:18px;height:18px}.race-start-lights i.lit{background:#ff516e;box-shadow:0 0 15px #ff516e88}.race-announcement{text-align:center;color:#fff4b4;text-shadow:0 3px 15px #000;pointer-events:none;font-size:clamp(24px,3vw,46px);font-weight:900;animation:.35s ease-out chess-result-arrive;position:absolute;top:22%;left:5%;right:5%}.race-gap{color:#e3eaff;pointer-events:none;background:#101b33b0;border-radius:8px;padding:5px 9px;font-size:11px;position:absolute;top:84px;left:22px}.race-last-lap strong{color:#ffe68b}.race-drift-charge{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.race-drift-charge i{background:#fff2;border-radius:4px;flex:1;height:8px}.race-drift-charge .charged{background:#22d3ee;box-shadow:0 0 8px #22d3ee88}.race-drift-charge .tier-1{background:#facc15}.race-drift-charge .tier-2{background:#fb7185}.race-drift-charge b{letter-spacing:1px;color:#fef0a8;flex-basis:100%;font-size:9px}.race-finish{pointer-events:none;max-width:48%;padding:12px 16px;font-size:18px;inset:auto auto 24px 18px}.race-finish span{margin-top:4px}.race-podium{text-align:center;background:linear-gradient(#111b32ed,#24305aee);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0;overflow:auto}.race-podium>.eyebrow{color:#ffe8a0}.race-podium h2{color:#fff3c7;font-size:clamp(22px,2.5vw,38px);font-weight:850;line-height:1.15}.race-podium>p{color:#d6e0f6;font-size:13px}.race-podium>small{color:#d6e0f6;font-size:11px}.race-podium-places{justify-content:center;align-items:flex-end;gap:12px;width:100%;max-width:620px;display:flex}.race-podium-place{background:linear-gradient(#6377a166,#293a66);border:1px solid #95a9d055;border-radius:16px 16px 5px 5px;flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;padding:10px;display:flex}.race-podium-place.place-1{background:linear-gradient(#8c672866,#4d3e33);border-color:#d7b565;order:2;padding-top:22px}.race-podium-place.place-2{order:1}.race-podium-place.place-3{order:3}.race-podium-place>span{font-size:24px}.race-podium-place strong{overflow-wrap:anywhere;font-size:14px}.race-podium-place small{color:#e1e9ff;font-size:11px}.podium-avatar{font-size:32px}.podium-car{border-bottom:4px solid var(--car-color,#a78bfa);width:70%;font-size:28px}.race-highlights{flex-wrap:wrap;justify-content:center;gap:8px;font-size:11px;display:flex}.race-highlights span{background:#ffffff12;border-radius:12px;padding:6px 10px}@media (prefers-reduced-motion:reduce){.race-announcement{animation:none}}.race-positions>button{text-align:left;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:9px 5px;display:flex}.race-positions>button.following{background:#f1edff;border-color:#d8cef4}.race-positions i{border-radius:4px;flex-shrink:0;width:5px;height:27px}.race-rank{width:17px;font-size:17px;font-weight:700}.race-positions strong{overflow-wrap:anywhere;font-size:12px;display:block}.race-positions small{color:#606b80;margin-top:3px;font-size:10px;display:block}.race-positions p,.race-guide p{font-size:12px;line-height:1.65}.race-guide{gap:14px;display:grid}.race-guide svg{background:#101c33;border-radius:12px;width:100%}.race-guide dl{grid-template-columns:auto 1fr;align-items:center;gap:10px 8px;font-size:11px;display:grid}.race-guide dd{text-align:right}.race-driving-tips{font-size:11px;line-height:1.5}.race-driving-tips summary{cursor:pointer;font-weight:650}.race-driving-tips p{margin-top:8px}@media (height<=760px){.race-guide{gap:8px}.race-guide h3{font-size:20px}.race-guide svg{max-height:100px}.race-guide dl{gap:6px 8px}.race-guide .race-assist{gap:5px;margin-top:4px}.race-guide .race-assist small{font-size:10px;line-height:1.3}.race-practice-lessons{gap:8px}.race-practice-lessons h3{font-size:16px}.race-practice-lessons li{padding:6px 8px}}.race-guide kbd{background:#f5f7fb;border:1px solid #d7dce5;border-bottom-width:2px;border-radius:4px;padding:2px 4px;font-family:inherit;font-size:10px}@media (width>=1800px){.chess-game{grid-template-columns:250px minmax(0,1fr) 280px}.race-game{grid-template-columns:240px minmax(0,1fr) 260px}.game-layout .chess-stage{gap:12px;padding:20px 30px}.chess-player{padding:10px 16px}.race-heading{padding:20px 24px}.race-heading h1{font-size:30px}.race-guide p,.race-positions strong{font-size:14px}}.showroom-garage{grid-template-columns:minmax(300px,1fr) minmax(370px,1.1fr);align-items:start;gap:24px;padding:8px 0}.showroom-garage .race-garage-preview{background:radial-gradient(at 50% 60%,#fff 0%,#f0ebff 55%,#e7edfc 100%);border:1px solid #e0d9f5;padding:16px 18px;position:relative;overflow:hidden}.showroom-topline{color:#65557c;letter-spacing:1.6px;justify-content:space-between;font-size:9px;font-weight:700;display:flex}.showroom-carousel{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.showroom-carousel h2{letter-spacing:-1px;color:#282239;margin:0;font-size:28px}.showroom-carousel>button{background:#ffffffa6;border-radius:50%;width:36px;padding:0;font-size:30px}.showroom-count{letter-spacing:3px;color:#726584;font-size:10px}.showroom-view{cursor:grab;touch-action:none;width:100%;height:clamp(150px,24vh,310px);position:relative}.showroom-view:active{cursor:grabbing}.showroom-view canvas{width:100%;height:100%;display:block}.showroom-view .car-preview{object-fit:contain;height:100%}.showroom-view-controls{justify-content:center;align-items:center;gap:6px;display:flex}.showroom-view-controls button{color:#493464;height:28px;font-size:11px}.showroom-garage .race-garage-preview p{color:#5b5070;margin-top:5px;font-size:11px}.showroom-garage .showroom-hint{font-size:10px}.showroom-garage .race-garage-options{gap:12px;padding-top:4px}.showroom-section-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.showroom-section-title h2{font-size:18px;font-weight:750}.showroom-section-title span{color:#6b607a;font-size:11px}.showroom-garage .race-vehicles{gap:8px}.showroom-garage .race-vehicles button{background:#f8f7fc;padding:5px 4px 9px;font-size:12px;font-weight:650;transition:border-color .15s,box-shadow .15s}.showroom-garage .race-vehicles button:hover{border-color:#9c7dde;box-shadow:0 4px 14px #76629a14}.showroom-garage .race-vehicles button[aria-pressed=true]{background:#ede6ff;border-color:#7552c8;box-shadow:inset 0 0 0 1px #7552c8}.showroom-garage .race-vehicles .car-preview{object-fit:contain;height:clamp(60px,9vh,110px)}.showroom-paint-title{margin:0;font-size:12px;font-weight:650}.showroom-garage .race-colours{grid-template-columns:repeat(8,28px);gap:8px}.showroom-garage .race-colours button{width:28px;height:28px}.showroom-garage .race-garage-selection{min-height:18px}.showroom-garage .action-row button{height:30px;padding-inline:12px;font-size:11px}@media (height<=750px){.showroom-garage{gap:18px;padding:0}.showroom-garage .race-garage-preview{padding:12px}.showroom-garage .race-garage-options{gap:8px}.showroom-view{height:150px}.showroom-carousel h2{font-size:24px}.showroom-garage .race-vehicles .car-preview{height:60px}}@media (prefers-reduced-motion:reduce){.showroom-garage .race-vehicles button{transition:none}}.race-quality{justify-content:space-between;align-items:center;gap:.5rem;margin-block:.5rem;font-size:.8rem;display:flex}.race-quality select{border:1px solid var(--border,#ddd8ed);background:var(--background,white);min-width:0;max-width:70%;color:inherit;border-radius:.5rem;padding:.4rem}
