:root{--color-bg:#f5f1e6;--color-brand:#173e30;--color-accent:#cbf06b;--color-accent-strong:#a8d454;--color-text:#173e30;--color-text-muted:#5f7065;--color-border:#173e3029;--color-hud-bg:#173e30e6;--color-overlay:#0a19137a;--color-warning:#995125;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-control:8px;--radius-card:12px;--radius-modal:16px;--shadow-overlay:0 16px 48px #0a191329;color:var(--color-text);background:var(--color-bg);font-synthesis:none;font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,output{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:1px solid #0000;min-height:44px;font-weight:700;transition:background-color .14s,color .14s,border-color .14s,opacity .14s,transform .14s}button:hover{background-color:#173e300f}button:active:not(:disabled){transform:translateY(1px)}button:disabled,button[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}button[aria-busy=true]{cursor:progress;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-accent-strong);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.6px;font-size:32px;font-weight:700;line-height:1.15}h2{letter-spacing:-.4px;font-size:32px;font-weight:700;line-height:1.2}h3{font-size:20px;font-weight:700;line-height:1.2}p{line-height:1.5}small{font-size:14px;font-weight:400}input,select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:0 0;min-width:0;min-height:44px;padding:12px}input:hover,select:hover{border-color:var(--color-brand)}input::placeholder{color:var(--color-text-muted)}select option{color:var(--color-text);background:var(--color-bg)}label{font-size:14px}kbd{border:1px solid;border-radius:4px;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:2px 4px;font:700 12px Arial,Helvetica,sans-serif;display:inline-flex}.ui-icon{vertical-align:middle;fill:currentColor;width:20px;height:20px;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0;display:inline-block}.ui-icon svg{width:100%;height:100%}.club-logo{aspect-ratio:882/898;flex:none;width:44px;display:inline-block;position:relative;overflow:hidden}.club-logo img{width:142.177%;max-width:none;height:auto;display:block;position:absolute;top:-19.8218%;left:-21.0884%}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}#app{scrollbar-width:thin;scrollbar-color:var(--color-text-muted) var(--color-bg);position:fixed;inset:0;overflow:auto}#app.lobby{background:var(--color-bg)}#app.page-home{background:0 0}.header{z-index:2;border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:center;gap:32px;height:80px;padding:16px 24px;display:flex;position:relative}.brand{white-space:nowrap;align-items:center;gap:12px;padding:0;font-size:20px;display:flex}.brand .club-logo{width:36px}.header nav{align-self:stretch;gap:8px;display:flex}.header nav button{border-radius:8px;padding:8px 16px;font-size:14px}.header nav button.active{background:var(--color-brand);color:var(--color-bg)}.header-actions{align-items:center;gap:16px;margin-inline-start:auto;display:flex}.wallet{border-inline-end:1px solid var(--color-border);text-align:start;align-items:center;gap:8px;padding:0 16px;display:flex}.wallet b{font-variant-numeric:tabular-nums;font-size:20px}.wallet>span{letter-spacing:.4px;font-size:12px}.wallet small{color:var(--color-text-muted);letter-spacing:0;margin-top:4px;font-size:12px;font-weight:400;display:block}.icon-button{border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.footer{min-height:48px;color:var(--color-text-muted);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:0 24px;font-size:12px;display:flex}.footer button{align-items:center;gap:8px;font-size:14px;display:flex}.status-dot{background:var(--color-brand);border-radius:50%;width:6px;height:6px;margin-inline-end:8px;display:inline-block}.status-dot.off{background:var(--color-text-muted)}.lobby-main{max-width:1440px;min-height:calc(100dvh - 128px);margin:auto;padding:32px 24px 48px}.page-home .lobby-main{align-items:center;max-width:none;min-height:calc(100dvh - 128px);padding:24px;display:flex}.page-home .footer{background:var(--color-bg);position:relative}.home-content{width:340px;max-width:100%}.lobby-panel{background:var(--color-bg);border:1px solid var(--color-border);width:100%;box-shadow:var(--shadow-overlay);border-radius:12px;padding:24px;animation:.22s ease-out both panel-in}.panel-brand{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;font-size:16px;display:flex}.panel-brand .club-logo{width:32px}.lobby-panel-heading{margin-bottom:24px}.lobby-panel-heading h1{margin-top:8px}.lobby-panel-heading p{color:var(--color-text-muted);margin-top:8px;font-size:14px}.eyebrow{letter-spacing:1.2px;font-size:12px;font-weight:700;line-height:1.4;display:block}.lobby-panel-heading .eyebrow{color:var(--color-text-muted);font-size:10px}.field-heading{letter-spacing:.8px;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.field-heading span+span{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.quick-modes{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;display:grid}.quick-mode{border:1px solid var(--color-border);text-align:start;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:8px;font-size:14px;display:flex}.quick-mode .ui-icon{width:16px;height:16px}.quick-mode.selected{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-bg)}.mode-check{color:var(--color-accent);margin-inline-start:auto;font-size:12px}.selected-track{border:1px solid var(--color-border);text-align:start;border-radius:8px;align-items:center;gap:12px;width:100%;margin-bottom:24px;padding:12px;display:flex}.selected-track .track-photo{border-radius:4px;flex:none;width:64px;height:64px}.selected-track .track-theme{display:none}.selected-track-info{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.selected-track-info b{font-size:16px;line-height:1.2}.selected-track-info small{color:var(--color-text-muted);font-size:12px}.selected-track>.ui-icon{width:16px}.track-photo{background:#173e300f;position:relative;overflow:hidden}.track-photo img{object-fit:cover;width:100%;height:100%;display:block}.track-theme{inset-inline-start:12px;background:var(--color-bg);color:var(--color-brand);border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700;position:absolute;bottom:12px}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 16px;font-size:16px;line-height:1.3;text-decoration:none;display:inline-flex}.button.primary{background:var(--color-brand);color:var(--color-bg)}.button.primary:hover{background:var(--color-text-muted)}.button.accent{background:var(--color-accent);color:var(--color-brand)}.button.accent:hover{background:var(--color-accent-strong)}.button.outline{border-color:var(--color-border)}.button.outline:hover{border-color:var(--color-brand);background:#173e300a}.button.full,.full{width:100%}.button.small{min-height:44px;padding:8px 12px;font-size:14px}.lobby-start{justify-content:space-between;width:100%;margin-bottom:8px}.lobby-free{color:var(--color-text-muted);text-align:center;margin-top:12px;font-size:12px}.text-button{text-underline-offset:4px;border-radius:8px;min-height:44px;font-size:14px;text-decoration:underline}.lobby-scene-caption{inset-inline-end:24px;background:var(--color-hud-bg);color:var(--color-bg);pointer-events:none;border-radius:8px;max-width:min(420px,100% - 420px);padding:16px 24px;position:absolute;bottom:72px}.lobby-scene-caption b{margin:8px 0;font-size:20px;display:block}.lobby-scene-caption>span:last-child{opacity:.85;font-size:14px}.lobby-scene-caption .eyebrow{color:var(--color-accent)}.page-heading{max-width:800px;margin-bottom:32px}.page-heading .eyebrow{color:var(--color-text-muted);margin-bottom:12px}.page-heading h1 br{display:none}.page-heading p{color:var(--color-text-muted);margin-top:12px}.page-heading .button{margin-top:16px;margin-inline-end:8px}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.chapter-heading{border-bottom:1px solid var(--color-border);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:8px;padding-bottom:16px;display:flex}.chapter-heading h2{letter-spacing:0;font-size:20px}.chapter-heading>span{color:var(--color-text-muted);font-size:14px}.challenge-tile,.glass{border:1px solid var(--color-border);background:var(--color-bg);border-radius:12px;overflow:hidden}.challenge-tile{flex-direction:column;display:flex}.challenge-tile>.track-photo{height:176px}.challenge-content{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex}.challenge-meta{align-items:center;gap:12px;display:flex}.challenge-number{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.tag,.track-tag{background:#173e300f;border-radius:4px;width:fit-content;padding:4px 8px;font-size:12px;display:inline-block}.challenge-content h2{font-size:20px}.challenge-content p{color:var(--color-text-muted);min-height:42px;font-size:14px}.challenge-detail{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}.challenge-content .button{justify-content:space-between;margin-top:auto}.challenge-tile.locked .track-photo img{opacity:.7}.stars{gap:4px;display:flex}.stars .earned{color:var(--color-brand)}.stars .unearned{color:var(--color-border)}.online-layout,.vault-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:24px;display:grid}.form-panel,.race-rules,.balance-panel,.rewards-panel,.legacy-records{padding:24px}.form-panel>label{margin-bottom:8px;display:block}.form-panel>input{width:100%}.two-col{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}.two-col>div{flex-direction:column;align-items:stretch;gap:16px;display:flex}.two-col p{color:var(--color-text-muted);font-size:14px}.two-col label{flex-direction:column;gap:8px;display:flex}.two-col .button:last-child{margin-top:auto}.race-rules h2{margin:16px 0 24px;font-size:24px}.race-rules>div:not(.sim){border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.race-rules>div span{font-size:14px}.race-rules>p{color:var(--color-text-muted);margin-top:24px;font-size:14px}.sim{color:var(--color-text-muted);margin-top:16px;font-size:12px;display:block}.sim i{display:none}.balance-panel h2{font-variant-numeric:tabular-nums;margin:24px 0;font-size:48px}.balance-panel h2 small{font-size:16px}.pool-stats{border-block:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;display:grid}.pool-stats div{flex-direction:column;gap:8px;display:flex}.pool-stats span{color:var(--color-text-muted);font-size:14px}.pool-stats b{font-variant-numeric:tabular-nums;font-size:24px}.rewards-panel h2{margin:16px 0 24px;font-size:24px}.balance-row,.claim-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.claim-row small{overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.empty-state{text-align:center;padding:48px 16px}.empty-state>.ui-icon{width:32px;height:32px;margin-bottom:16px}.empty-state small{color:var(--color-text-muted);margin-top:8px;line-height:1.5;display:block}.legacy-records{margin-top:32px}.legacy-records h2{margin-bottom:16px;font-size:20px}.legacy-records p{margin-top:8px}.modal-backdrop{z-index:20;background:var(--color-overlay);justify-content:center;align-items:center;padding:24px;animation:.2s ease-out both panel-in;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg);width:640px;max-width:100%;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-overlay);scrollbar-width:thin;color:var(--color-text);border-radius:16px;padding:32px;position:relative;overflow:auto}.modal>h2{margin:8px 40px 24px 0}.modal>p{color:var(--color-text-muted);margin:16px 0;font-size:14px}.modal .modal-close{top:16px;z-index:2;position:absolute;inset-inline-end:16px}.modal-heading{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:32px 72px 24px 32px}.modal-heading .eyebrow{color:var(--color-text-muted);margin-bottom:8px}.modal-heading p{color:var(--color-text-muted);margin-top:8px;font-size:14px}.setup-modal,.settings-modal{flex-direction:column;padding:0;display:flex;overflow:hidden}.setup-modal{width:1080px;height:min(800px,100dvh - 48px)}.settings-modal{width:960px}.modal-scroll{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:24px 32px;overflow:auto}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading>span{color:var(--color-text-muted);font-size:12px}.track-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.track-option{text-align:start;border:1px solid var(--color-border);border-radius:12px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.track-option:hover{border-color:var(--color-brand)}.track-option.selected{border-color:var(--color-brand);outline:1px solid var(--color-brand);outline-offset:-2px}.track-option:focus-visible{outline:3px solid var(--color-accent-strong);outline-offset:3px}.track-option .track-photo{width:100%;height:132px}.track-option .track-theme{bottom:8px;font-size:10px;inset-inline-start:8px}.track-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:8px;width:100%;padding:16px;display:flex}.track-card-title{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.track-card-title b{font-size:16px;line-height:1.25}.track-check{width:24px;height:24px;color:var(--color-text-muted);border-radius:4px;flex:0 0 24px;justify-content:center;align-items:center;font-size:12px;font-weight:400;display:inline-flex}.selected .track-check{background:var(--color-brand);color:var(--color-accent);font-weight:700}.track-card-body small{color:var(--color-text-muted);font-size:12px}.track-card-detail{color:var(--color-text-muted);min-height:35px;font-size:12px;font-weight:400;line-height:1.45}.track-tag{margin-top:auto;font-weight:400}.race-options{border-top:1px solid var(--color-border);margin-top:32px;padding-top:24px}.selection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.selection-grid label{flex-direction:column;gap:8px;display:flex}.selection-grid select{font-size:14px}.form-note{color:var(--color-text-muted);margin-top:16px;font-size:14px;line-height:1.5}.modal-actions{border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding:16px 32px;display:flex}.modal-actions>.selection-summary,.modal-actions>.form-note{margin:0;margin-inline-end:auto;font-size:14px}.modal-actions .button{min-width:100px}.settings-group+.settings-group{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px}.settings-group h3{margin-bottom:16px}.settings-group .section-heading h3{margin:0}.setting-row{grid-template-columns:minmax(150px,1fr) minmax(0,1.25fr);align-items:center;gap:24px;min-height:48px;margin-top:8px;font-size:14px;display:grid}.setting-row select{width:100%;font-size:14px}.range-control{align-items:center;gap:16px;min-width:0;display:flex}.range-control output{text-align:end;font-variant-numeric:tabular-nums;flex-shrink:0;width:40px;font-size:14px}input[type=range]{width:100%;accent-color:var(--color-brand);cursor:pointer;border:0;padding:0}.language-picker{align-items:center;gap:8px;display:flex}.language-picker select{flex:1}.binding-grid{grid-template-columns:1fr 1fr;gap:8px 24px;display:grid}.binding-grid>div{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.key-button{border:1px solid var(--color-border);border-radius:8px;min-width:64px;padding:8px}.settings-group .button.text-button{justify-content:start;padding:0}@media (width>=1000px){.settings-scroll{grid-template-columns:1fr 1fr;gap:24px 32px;padding-block:16px;display:grid}.settings-scroll .settings-group{border:0;min-width:0;margin:0;padding:0}.settings-scroll .settings-group:nth-child(n+3){border-top:1px solid var(--color-border);grid-column:1/-1;padding-top:16px}.settings-scroll .setting-row{grid-template-columns:minmax(108px,1fr) minmax(0,1.3fr);gap:12px}.settings-scroll .settings-group:last-child{justify-content:space-between;align-items:center;gap:24px;display:flex}.settings-scroll .settings-group:last-child h3{margin:0}.settings-scroll .settings-group:last-child .setting-row{min-width:360px;margin:0}.settings-scroll .form-note{margin-top:8px}}.wallet-balances{grid-template-columns:1fr 1fr;gap:24px;margin:32px 0;display:grid}.wallet-balances span{color:var(--color-text-muted);margin-bottom:12px;font-size:14px;display:block}.wallet-balances b{font-variant-numeric:tabular-nums;font-size:32px}.wallet-balances small{font-size:14px}.help-list{color:var(--color-text-muted);gap:16px;margin-bottom:24px;font-size:14px;display:grid}.room-modal{width:800px}.room-code{flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0;font-size:14px;display:flex}.room-code b{letter-spacing:2px;font-size:24px}.room-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.slot{text-align:center;border:1px solid var(--color-border);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;display:flex}.slot-avatar{border:1px solid var(--color-border);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.slot b{overflow-wrap:anywhere;font-size:14px}.slot small{color:var(--color-text-muted);font-size:12px}.slot.is-ready{border-color:var(--color-brand)}.slot.is-ready .slot-avatar{color:var(--color-brand);background:var(--color-accent)}.room-summary{flex-wrap:wrap;gap:16px;margin:24px 0;font-size:14px;display:flex}.stack{flex-direction:column;gap:12px;margin-top:24px;display:flex}.hero-buttons{gap:12px;margin-top:24px;display:flex}.result-modal{text-align:center;width:720px}.result-modal h2{margin-inline:0}.result-modal .stars,.result-modal .hero-buttons{justify-content:center}.result-emblem{background:var(--color-accent);border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;margin:16px 0;display:inline-flex}.result-emblem .ui-icon{width:32px;height:32px}.result-stats{border-block:1px solid var(--color-border);grid-template-columns:1fr 1fr;margin-top:24px;padding:24px 0;display:grid}.result-stats span{color:var(--color-text-muted);margin-bottom:12px;font-size:14px;display:block}.result-stats b{font-variant-numeric:tabular-nums;font-size:40px}.result-stats b small{font-size:20px}.result-stats b small span{font-size:14px;display:inline}.classification{text-align:start;margin:24px 0}.classification>div{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;min-height:44px;padding:12px;font-size:14px;display:flex}.classification>div>span:nth-child(2){flex:1}.classification .you{background:var(--color-brand);color:var(--color-bg);border-radius:8px}.classification>div>b{width:24px}.classification strong{font-size:14px}.classification small{font-size:12px}.in-race{pointer-events:none;color:var(--color-bg);font-variant-numeric:tabular-nums;overflow:hidden!important}.in-race button,.in-race #modal-root{pointer-events:auto}.hud-panel{background:var(--color-hud-bg);color:var(--color-bg);border-radius:8px}.race-top{justify-content:center;display:flex;position:absolute;inset:24px 24px auto}.race-title{text-align:center;min-width:200px;padding:12px 24px}.race-title>span{margin-bottom:8px;font-size:12px;display:block}.race-title>b{color:var(--color-accent);font-size:20px}.race-top-end{inset-inline-end:0;align-items:flex-start;gap:8px;display:flex;position:absolute;top:0}.race-time{min-width:168px;padding:12px 16px}.race-time>span{letter-spacing:1px;margin-bottom:8px;font-size:10px;display:block}.race-time b{font-size:32px;line-height:1}.race-time small{font-size:20px}.race-menu{width:44px;height:44px}.race-menu:hover{background:var(--color-brand)}.race-position{top:24px;min-width:144px;padding:16px;position:absolute;inset-inline-start:24px}.race-position label{letter-spacing:1px;font-size:10px}.race-position>div{align-items:baseline;gap:8px;margin:4px 0;display:flex}.race-position b{color:var(--color-accent);font-size:56px;line-height:1}.race-position>div span{font-size:20px}.race-position small{letter-spacing:.8px;opacity:.8;font-size:10px;display:block}.race-bottom{justify-content:space-between;align-items:flex-end;display:flex;position:absolute;inset:auto 24px 48px}.minimap-box{padding:12px}.minimap-box>span{letter-spacing:1px;padding-inline:4px;font-size:10px;display:block}.minimap-box canvas{width:200px;height:156px;display:block}.driving-instruments{width:264px;padding:16px 24px}.speedometer{text-align:end}.speedometer>div{justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.speedometer b{color:var(--color-bg);font-size:56px;line-height:1}.speedometer small{font-size:12px}#boost-label{color:var(--color-accent);margin-bottom:8px;font-size:12px;display:block}#boost-label:empty{display:none}.speedometer.boosting b{color:var(--color-accent)}.nitro-box{border-top:1px solid #f5f1e633;margin-top:16px;padding-top:16px}.energy-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.energy-label b{font-size:12px;font-weight:400}.energy-label small{white-space:nowrap;font-size:12px}.nitro-track{background:#f5f1e633;border-radius:4px;height:8px;margin:8px 0 16px;overflow:hidden}.nitro-track i{background:var(--color-accent);width:0;height:100%;display:block}.nitro-track i.charge-penalty{background:#d9a676}.nitro-inventory{align-items:center;gap:8px;font-size:12px;display:flex}.nitro-inventory>span:first-child{flex:1;align-items:center;gap:8px;display:flex}.nitro-inventory kbd{border-color:#f5f1e64d}.nitro-charges{gap:4px;display:flex}.nitro-charge{border:1px solid #f5f1e680;border-radius:2px;width:8px;height:16px}.nitro-charge.full{border-color:var(--color-accent);background:var(--color-accent)}.race-hint{bottom:12px;background:var(--color-hud-bg);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-size:10px;display:flex;position:absolute;inset-inline-end:24px}.race-hint kbd{min-width:20px;min-height:20px;font-size:10px}.race-hint span{margin-inline-end:8px}.race-objective{top:176px;max-width:240px;padding:12px 16px;font-size:14px;line-height:1.45;position:absolute;inset-inline-start:24px}.race-objective:empty,.race-feedback:empty,.item-hud:empty,.countdown:empty{display:none}.race-sim:has(span:empty){display:none}.road-condition{inset-inline-start:24px;max-width:224px;color:var(--color-accent);padding:8px 12px;font-size:12px;position:absolute;bottom:252px}.road-condition[hidden]{display:none}.road-condition[data-surface=sand]{color:#ecc8a1}.race-feedback{bottom:292px;max-width:264px;color:var(--color-accent);padding:12px;font-size:12px;line-height:1.5;position:absolute;inset-inline-end:24px}.item-hud{top:120px;flex-wrap:wrap;align-items:center;gap:8px;max-width:264px;padding:12px;display:flex;position:absolute;inset-inline-end:24px}.item-hud b{max-width:160px;font-size:12px}.item-hud small{width:100%;font-size:12px}.countdown{text-align:center;min-width:96px;color:var(--color-accent);background:var(--color-hud-bg);border-radius:12px;padding:16px;font-size:56px;font-weight:700;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.race-sim{bottom:16px;background:var(--color-hud-bg);border-radius:4px;padding:4px 8px;font-size:12px;position:absolute;inset-inline-start:24px}#toast{z-index:50;background:var(--color-brand);max-width:min(560px,100vw - 48px);color:var(--color-bg);box-shadow:var(--shadow-overlay);opacity:0;pointer-events:none;border-radius:8px;padding:16px 24px;font-size:14px;line-height:1.5;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,8px)}#toast.show{opacity:1;transform:translate(-50%)}.loading{text-align:center;background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:32px;display:flex}.loading .club-logo{width:64px}.loading p{color:var(--color-text-muted)}#driving-debug{background:var(--color-hud-bg);color:var(--color-bg);z-index:5;pointer-events:none;padding:12px;font:12px monospace;position:fixed;top:120px;left:280px}@keyframes panel-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (height<=800px) and (width>=901px){.header{height:64px;padding-block:8px}.lobby-main{min-height:calc(100dvh - 112px)}.page-home .lobby-main{min-height:calc(100dvh - 112px);padding-block:16px}.lobby-panel{padding:16px 24px}.panel-brand{margin-bottom:16px;padding-bottom:12px}.lobby-panel-heading{margin-bottom:16px}.lobby-panel-heading p{display:none}.lobby-panel-heading h1{font-size:28px}.quick-modes,.selected-track{margin-bottom:16px}.quick-mode{min-height:44px}.selected-track{padding:8px}.selected-track .track-photo{width:48px;height:48px}.modal-heading{padding-block:24px 16px}.modal-heading h2{font-size:28px}.settings-group+.settings-group{margin-top:16px;padding-top:16px}.race-position b,.speedometer b{font-size:48px}.race-objective{top:160px}}@media (width>=1800px){.page-home .lobby-main{align-items:flex-start;padding-top:48px}.home-content{width:340px}.setup-modal{width:1200px}.track-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1100px){.header{gap:16px}.header nav{gap:4px}.header nav button{padding-inline:12px}.brand{font-size:16px}.header-actions{gap:8px}.online-layout,.vault-grid{grid-template-columns:1fr}.race-rules{max-width:none}.challenge-grid{gap:16px}.challenge-content{padding:16px}}@media (width<=900px){.header{flex-wrap:wrap;gap:8px 16px;height:auto;padding:12px 16px}.header nav{order:3;justify-content:center;width:100%}.header nav button{flex:1;padding-inline:8px}.wallet{border:0;padding:0 8px}.wallet b{font-size:16px}.wallet>span{font-size:10px}.wallet small{display:none}.lobby-main{min-height:calc(100dvh - 164px);padding:24px 16px}.page-home .lobby-main{align-items:flex-start;min-height:calc(100dvh - 164px);padding:16px}.home-content{width:320px}.lobby-panel{padding:16px}.lobby-scene-caption{max-width:calc(100% - 392px);font-size:12px;inset-inline-end:16px}.lobby-scene-caption b{font-size:16px}.lobby-scene-caption>span:last-child{display:none}.track-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-grid,.challenge-grid{grid-template-columns:1fr 1fr}.chapter-heading{gap:16px}.chapter-heading h2{font-size:16px}.modal-backdrop{padding:16px}.modal{max-height:calc(100dvh - 32px)}.race-top{inset:16px 16px auto}.race-position{top:16px;min-width:108px;padding:12px;inset-inline-start:16px}.race-position b{font-size:40px}.race-position>div span{font-size:16px}.race-title{min-width:140px;max-width:180px;padding:12px}.race-time{min-width:132px;padding:12px}.race-time b{font-size:24px}.race-time small{font-size:16px}.race-bottom{inset:auto 16px 48px}.minimap-box canvas{width:160px;height:125px}.driving-instruments{width:224px;padding:16px}.speedometer b{font-size:48px}.road-condition{inset-inline-start:16px;max-width:184px;bottom:220px}.race-feedback,.item-hud{max-width:224px;inset-inline-end:16px}.race-objective{inset-inline-start:16px;max-width:184px;font-size:12px;top:144px}}@media (width<=600px){h1,h2{font-size:28px}.brand .club-logo{width:28px}.page-home .lobby-main{min-height:calc(100dvh - 168px);padding-top:24px}.home-content{width:min(340px,100%)}.lobby-scene-caption{display:none}.panel-brand,.lobby-panel-heading,.quick-modes,.selected-track{margin-bottom:16px}.lobby-panel-heading p{display:none}.footer{padding-inline:16px}.footer>span{max-width:55%}.challenge-grid,.two-col{grid-template-columns:1fr}.chapter-heading{flex-direction:column;align-items:flex-start;gap:8px}.challenge-tile>.track-photo{height:160px}.modal-backdrop{padding:8px}.modal{max-height:calc(100dvh - 16px);padding:24px}.setup-modal,.settings-modal{padding:0}.modal-heading{padding:24px 56px 16px 16px}.modal-heading h2{font-size:24px}.modal-scroll{padding:16px}.modal-actions{gap:8px;padding:12px 16px}.modal-actions .selection-summary{display:none}.modal-actions .button{min-width:80px;font-size:14px}.modal-actions .form-note{font-size:12px}.track-picker{gap:8px}.track-option .track-photo{height:88px}.track-card-body{padding:12px}.track-card-title b{font-size:14px}.track-card-title{align-items:flex-start}.track-card-detail,.track-theme{display:none}.setting-row{grid-template-columns:1fr;gap:4px;margin-top:16px}.binding-grid{grid-template-columns:1fr}.section-heading>span{text-align:end;max-width:130px}.room-slots{grid-template-columns:1fr 1fr}.hero-buttons{flex-wrap:wrap}.result-stats b{font-size:28px}.classification>div{gap:8px;padding-inline:4px;font-size:12px}.race-top{justify-content:center;inset:8px 8px auto}.race-position{top:8px;min-width:72px;padding:8px;inset-inline-start:8px}.race-position b{font-size:40px}.race-position small{display:none}.race-position>div{gap:4px}.race-position>div span{font-size:12px}.race-title{min-width:112px;max-width:128px;margin-inline-end:12px;padding:8px}.race-title>span{margin-bottom:4px;font-size:10px}.race-title>b{font-size:16px}.race-top-end{flex-direction:column-reverse;align-items:flex-end;gap:4px}.race-time{min-width:96px;padding:8px}.race-time b{font-size:20px}.race-time small{font-size:12px}.race-time>span{margin-bottom:4px;font-size:8px}.race-bottom{inset:auto 8px 40px}.minimap-box{padding:8px}.minimap-box canvas{width:112px;height:88px}.driving-instruments{width:180px;padding:12px}.speedometer b{font-size:40px}.nitro-box{margin-top:12px;padding-top:12px}.nitro-inventory{flex-wrap:wrap}.nitro-inventory>span:first-child,.energy-label b,.energy-label small{font-size:10px}.race-hint{inset-inline-end:8px;gap:4px;font-size:8px;bottom:8px}.race-hint span{margin-inline-end:4px}.road-condition{inset-inline-start:8px;max-width:128px;padding:8px;font-size:10px;bottom:170px}.race-objective{inset-inline-start:8px;max-width:160px;padding:8px;font-size:10px;top:136px}.race-feedback{inset-inline-end:8px;max-width:180px;font-size:10px;bottom:248px}.item-hud{top:152px;max-width:156px;inset-inline-end:8px}.race-sim{display:none}}@media (width>=1000px){.eyebrow,.footer,.field-heading,.lobby-free,.selected-track-info small,.section-heading>span,.track-card-body small,.track-card-detail,.track-tag,.challenge-detail,.sim,.slot small,.lobby-panel-heading .eyebrow,.race-position label,.race-position small,.race-title>span,.race-time>span,.minimap-box>span,.energy-label b,.energy-label small,.nitro-inventory,.speedometer small,.race-hint,.road-condition,.race-feedback,.item-hud b{font-size:14px}.lobby-panel-heading .eyebrow,.track-option .track-theme{font-size:12px}.race-time b{font-size:40px}.race-time{min-width:192px}.race-position{min-width:160px}.race-feedback{bottom:348px}.race-position small{margin-top:8px}.race-objective{top:192px}.setting-row,.binding-grid>div{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.skill-feedback{inset-inline-end:24px;color:var(--color-accent);pointer-events:none;max-width:264px;padding:12px 16px;font-size:14px;position:absolute;bottom:292px}.skill-feedback[data-warning=true]{color:#ecc8a1}.skill-feedback[hidden]{display:none}.performance-review{border-top:1px solid var(--color-border);text-align:start;margin-top:16px;padding-top:16px}.performance-review h3{margin:0 0 8px;font-size:20px}.performance-review p{font-size:14px;line-height:1.5}.performance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.performance-grid div{flex-direction:column;gap:8px;min-width:0;display:flex}.performance-grid span{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:14px}.performance-grid b{color:var(--color-brand);font-variant-numeric:tabular-nums;font-size:24px}.event-failed{color:#a33823;font-weight:700}#practice-corner{width:100%;margin-block:12px;display:block}.race-feedback{bottom:348px}@media (width<=900px){.skill-feedback{max-width:224px;inset-inline-end:16px}.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.skill-feedback{inset-inline-end:8px;max-width:180px;padding:8px 12px;font-size:12px;bottom:248px}.race-feedback{bottom:304px}}
