:root{--color-bg:#f5f1e6;--color-brand:#173e30;--color-accent:#c0fa67;--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:not(:disabled):not([aria-disabled=true]){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}.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:not(:disabled){background:var(--color-text-muted)}.button.accent{background:var(--color-accent);color:var(--color-brand)}.button.accent:hover:not(:disabled){background:var(--color-accent-strong)}.button.outline{border-color:var(--color-border)}.button.outline:hover:not(:disabled){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}.map-filter-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.map-filter-heading b{font-size:14px}.map-filter-status,.map-rating-help,.map-filter-selection,.map-filter-empty{color:var(--color-text-muted);font-size:12px;line-height:1.5}.map-rating-filters{flex-wrap:wrap;gap:8px;display:flex}.map-rating-filter{border:1px solid var(--color-brand);min-width:44px;min-height:44px;color:var(--color-brand);background:var(--color-bg);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:inline-flex}.map-rating-filter:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent)}.map-rating-filter.selected,.map-rating-filter.selected:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand);color:var(--color-accent);font-weight:700}.map-rating-filter.selected:before{content:"✓"}.map-rating-filter:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}.map-filter-count{font-variant-numeric:tabular-nums;font-size:11px}.map-rating-help{margin:10px 0 18px}.map-filter-selection{border-inline-start:3px solid var(--color-brand);background:var(--color-accent);color:var(--color-brand);margin:0 0 16px;padding:10px 12px}.map-filter-empty{grid-column:1/-1;padding:20px 0}.map-tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.map-rating-tag,.map-mechanic-tag,.map-new-tag{color:var(--color-brand);border-radius:4px;align-items:center;gap:3px;padding:4px 6px;font-size:10px;font-weight:500;line-height:1.3;display:inline-flex}.map-rating-tag{background:var(--color-brand);color:var(--color-bg)}.map-mechanic-tag{border:1px solid var(--color-border);background:var(--color-bg)}.map-new-tag{background:var(--color-accent)}.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-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>span{letter-spacing:1px;margin-bottom:8px;font-size:10px;display:block}.race-time b{font-size:32px;line-height:1}.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>span{letter-spacing:1px;padding-inline:4px;font-size:10px;display:block}.minimap-box canvas{width:200px;height:156px;display:block}.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}}.quick-mode{min-width:0}.quick-modes{margin-bottom:8px}.mode-description{min-height:36px;color:var(--color-text-muted);margin-bottom:16px;font-size:12px;line-height:1.45}.kart-preview-link{border-radius:var(--radius-control);align-items:center;gap:4px;margin-inline-start:auto;padding:4px;font-size:12px;display:inline-flex}.kart-preview-link .ui-icon{width:16px;height:16px}.panel-brand{gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:14px}.panel-brand .club-logo{width:28px}.mode-applicability{color:var(--color-text-muted);margin-top:12px;font-size:12px}select:disabled{opacity:.55;cursor:not-allowed}#app.page-garage{background:0 0}.page-garage .lobby-main{align-items:center;max-width:none;padding:24px;display:flex}.page-garage .footer{background:var(--color-bg)}.garage-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);width:320px;max-width:100%;box-shadow:var(--shadow-overlay);padding:24px}.garage-panel h1{margin-block:12px 16px;font-size:32px}.garage-panel>p{color:var(--color-text-muted);font-size:14px}.garage-kart-name{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;margin-block:8px 24px;padding-block:24px;display:flex}.garage-kart-name span{color:var(--color-text-muted);margin-top:8px;font-size:12px;display:block}.view-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.view-controls .button{min-height:44px;padding:8px 4px;font-size:14px}.view-controls .selected{color:var(--color-bg);border-color:var(--color-brand);background:var(--color-brand)}.garage-panel>.button{margin-top:24px;font-size:14px}.race-position{min-width:128px;padding:12px}.race-position b,.speedometer b{font-size:44px}.race-position label,.race-position small,.race-title>span,.race-time>span,.minimap-box>span{letter-spacing:0;font-size:12px}.race-position small{margin-top:4px}.mode-time .race-position>div,.mode-practice .race-position>div{display:none}.mode-time .race-position,.mode-practice .race-position{min-width:0}.race-time{min-width:164px;padding:12px}.race-time b{font-size:36px}.race-time small{font-size:18px}.race-title{min-width:176px;max-width:248px;padding:12px 16px}.race-title>span{margin-bottom:4px}.race-title>b{font-size:18px}.race-objective{max-width:224px;padding:12px;font-size:12px;top:152px}.race-bottom{gap:24px;bottom:44px}.minimap-box{padding:8px}.minimap-box canvas{width:160px;height:125px}.hud-driving-rail{flex-direction:column;flex:none;gap:8px;width:244px;display:flex}.driving-instruments{width:100%;padding:12px 16px}.energy-label b,.energy-label small,.nitro-inventory,.speedometer small{font-size:12px}.nitro-box{margin-top:12px;padding-top:12px}.nitro-track{height:6px;margin-bottom:12px}.nitro-inventory{flex-wrap:wrap;gap:6px}.nitro-inventory>span:first-child{gap:6px}.nitro-charge{width:10px;height:16px}.nitro-status{color:var(--color-bg);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;margin-top:10px;font-size:12px;line-height:1.4;display:flex}.nitro-status small{opacity:.85;font-size:12px}.nitro-box[data-state=collect] #nitro-state,.nitro-box[data-state=full] #nitro-state,.nitro-box[data-state=releasing] #nitro-state{color:var(--color-accent)}.nitro-release{background:#f5f1e633;border-radius:4px;height:3px;margin-top:8px;overflow:hidden}.nitro-release i{background:var(--color-accent);height:100%;display:block}.nitro-release[hidden],.nitro-status[hidden]{display:none}.race-feedback-stack{flex-direction:column;gap:8px;display:flex}.race-feedback-stack:has(.race-feedback:empty):has(.skill-feedback[hidden]){display:none}.race-feedback-stack .race-feedback,.race-feedback-stack .skill-feedback{max-width:none;padding:8px 12px;font-size:12px;line-height:1.4;position:static}.road-condition{max-width:176px;font-size:12px;bottom:216px}.race-hint{font-size:12px}.item-hud{max-width:244px;top:124px}.item-hud b{font-size:12px}.pause-modal{width:480px}.pause-summary{border-block:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-top:24px;padding-block:16px;font-size:14px;display:grid}.pause-summary b{font-size:24px}.pause-summary>small{color:var(--color-text-muted);font-size:12px}.result-modal{flex-direction:column;width:760px;padding:0;display:flex;overflow:hidden}.result-scroll{overscroll-behavior:contain;min-height:0;padding:24px 32px;overflow:auto}.result-scroll h2{margin:12px 0 16px}.result-scroll>p{color:var(--color-text-muted);margin-top:12px;font-size:14px}.result-emblem{width:48px;height:48px;margin-bottom:0}.result-emblem .ui-icon{width:24px;height:24px}.result-stats{gap:16px;margin-top:16px;padding-block:16px}.result-stats b{font-size:36px}.result-stats span{margin-bottom:8px;font-size:12px}.classification>div{grid-template-columns:24px minmax(0,1fr) auto auto;gap:12px;display:grid}.classification>div>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.classification>div>span:nth-child(3){font-variant-numeric:tabular-nums}.result-actions{flex-wrap:wrap;padding:16px 24px}.result-actions .button{flex:auto}.reward-status{border:1px solid var(--color-border);border-radius:var(--radius-card);text-align:start;margin-top:24px;padding:16px}.reward-status>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-block:8px;display:flex}.reward-status h3{font-size:16px}.reward-status b{font-size:24px}.reward-status p,.audit-status,.reward-status b small{font-size:12px}.audit-status{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px;display:block}.reward-status[data-state=credited],.claim-confirmation{background:#c0fa672e}.claim-confirmation{border:1px solid var(--color-border);border-radius:var(--radius-control);margin-top:12px;padding:12px;font-size:14px}.claim-confirmation small{overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}[dir=rtl] .eyebrow,[dir=rtl] .field-heading{letter-spacing:0}[dir=rtl] .modal-heading{padding-inline:32px 72px}@media (height<=800px) and (width>=901px){.panel-brand{margin-bottom:12px;padding-bottom:8px}.lobby-panel-heading{margin-bottom:12px}.quick-modes{margin-bottom:8px}.lobby-panel-heading h1{font-size:26px}}@media (width<=900px){.race-position{min-width:100px}.race-position b,.speedometer b{font-size:40px}.race-title{min-width:140px;max-width:184px;padding:8px 12px}.race-time{min-width:136px;padding:8px 12px}.race-time b{font-size:32px}.hud-driving-rail{width:224px}.minimap-box canvas{width:136px;height:106px}.road-condition{max-width:152px;bottom:192px}.race-objective{max-width:192px;top:140px}}@media (width<=600px){.page-garage .lobby-main{padding:260px 16px 24px}.garage-panel{width:100%;padding:20px}.garage-panel h1{font-size:28px}.garage-kart-name{margin-block:0 16px;padding-block:16px}.race-title{min-width:104px;max-width:128px;padding:8px}.race-title>span{font-size:12px}.race-title>b{font-size:14px}.race-position{min-width:64px;padding:8px}.race-position b{font-size:36px}.race-position label{font-size:12px}.race-time{min-width:96px;padding:8px}.race-time b{font-size:28px}.race-time>span{font-size:12px}.race-bottom{gap:8px;bottom:44px}.hud-driving-rail{width:196px}.driving-instruments{padding:12px}.speedometer b{font-size:36px}.minimap-box canvas{width:96px;height:75px}.minimap-box>span{display:none}.nitro-inventory>span:first-child{flex-basis:100%;font-size:12px}.nitro-inventory kbd,.nitro-charges{margin-inline-start:auto}.race-objective{max-width:150px;font-size:12px;top:140px}.road-condition{max-width:112px;padding:8px;bottom:144px}.race-hint{font-size:12px}.race-hint span{display:none}.race-hint kbd{min-width:24px;min-height:24px;font-size:12px}.item-hud{max-width:156px;top:160px}.result-scroll{padding:20px}.result-scroll h2{font-size:26px}.result-stats b{font-size:32px}.result-actions{padding:12px 16px}.result-actions .button{padding-inline:12px;font-size:14px}.classification>div{grid-template-columns:20px minmax(0,1fr) auto;gap:8px}.classification strong{grid-column:2/-1}[dir=rtl] .modal-heading{padding-inline:16px 56px}}@media (height<=540px) and (width>=601px){.race-top{inset:8px 16px auto}.race-position{top:8px;padding:8px 12px;inset-inline-start:16px}.race-position small{display:none}.race-position b,.race-time b{font-size:32px}.race-title,.race-time{padding:8px 12px}.race-bottom{inset-inline:16px;bottom:32px}.hud-driving-rail{width:216px}.driving-instruments{padding:8px 12px}.speedometer b{font-size:32px}.nitro-box{margin-top:8px;padding-top:8px}.nitro-status{margin-top:8px}.minimap-box canvas{width:112px;height:88px}.minimap-box>span{display:none}.race-objective{max-width:200px;top:96px}.road-condition{max-width:128px;padding:8px;bottom:144px}.race-hint{font-size:12px;bottom:4px}.race-hint span{display:none}.item-hud{max-width:216px;padding:8px;top:96px}.garage-panel{padding:20px}.garage-panel h1{font-size:28px}}#app.page-garage{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.page-garage .lobby-main{width:100%;height:100%;min-height:0;margin:0}.kart-garage{flex-direction:column;gap:16px;width:340px;max-height:100%;padding:20px;display:flex}.kart-garage header h1{margin:8px 0;font-size:28px}.kart-garage header p,.kart-garage-actions p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.45}.kart-garage-content{overscroll-behavior:contain;min-height:0;margin:-3px;padding:3px;overflow-y:auto}.kart-model-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block:8px 16px;display:grid}.kart-model-option{text-align:start;min-height:68px;color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:12px 8px;transition:background .14s,border-color .14s;display:flex;position:relative}.kart-model-option>span:nth-child(2){min-width:0}.kart-model-option b{font-size:13px;line-height:1.4;display:block}.kart-model-option small{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:11px;line-height:1.35;display:block}.kart-paint-sample{background:var(--kart-paint);border:1px solid var(--color-border);border-inline-start:3px solid var(--kart-trim);border-radius:4px;flex:0 0 18px;height:32px}.kart-model-option:hover{border-color:var(--color-brand);background:#173e300d}.kart-model-option.selected{border-color:var(--color-brand);background:#173e3012}.kart-model-option:active{background:#173e301f}.kart-model-option:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}.kart-model-option:disabled{opacity:.5;cursor:default}.kart-option-check{inset-inline-end:4px;color:var(--color-brand);font-size:11px;font-weight:700;position:absolute;top:3px}.kart-equipped{border-block:1px solid var(--color-border);margin-bottom:16px;padding-block:16px}.kart-equipped>b{margin-block:4px 8px;font-size:20px;display:block}.kart-equipped p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.kart-garage-actions{border-top:1px solid var(--color-border);gap:12px;padding-top:16px;display:grid}.kart-garage-actions>.button{margin:0}.kart-garage-views{flex-shrink:0}.kart-garage-views .field-heading{margin-bottom:8px}.kart-garage .view-controls .button.selected,.kart-garage .view-controls .button.selected:hover{background:var(--color-brand);color:var(--color-bg)}@media (width<=600px){#app.page-garage{display:block;overflow:auto}.page-garage .lobby-main{height:auto}.kart-garage{width:100%;max-height:none}.kart-model-option b{font-size:14px}.kart-model-option small{font-size:12px}}@media (prefers-reduced-motion:reduce){.kart-model-option{transition:none}}.garage-tabs{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.garage-tabs button{border:1px solid var(--color-border);min-height:44px;color:var(--color-brand);cursor:pointer;background:0 0;border-radius:8px;font:700 14px Arial,Helvetica,sans-serif;transition:background .14s}.garage-tabs button.selected,.garage-tabs button.selected:hover,.garage-tabs button.selected:focus-visible{background:var(--color-brand);color:var(--color-bg);border-color:var(--color-brand)}.garage-tabs button:not(.selected):hover{background:#173e3012}.garage-tabs button:active{background:var(--color-accent-strong);color:var(--color-brand)}.garage-tabs button:focus-visible,.driver-color-option:focus-visible,.driver-outfit-option:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}.driver-color-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:8px 0 16px;display:grid}.driver-color-option{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;place-items:center;min-height:44px;transition:background .14s;display:grid}.driver-color-option span{background:var(--driver-color);color:#102c20;border:1px solid #173e3033;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.driver-color-option:hover,.driver-outfit-option:hover{background:#173e300f}.driver-color-option.selected,.driver-outfit-option.selected{border-color:var(--color-brand);background:#173e3012}.driver-color-option:active,.driver-outfit-option:active{background:#173e3021}.driver-color-option:disabled{opacity:.45;cursor:default}.driver-outfit-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 16px;display:grid}.driver-outfit-option{text-align:start;border:1px solid var(--color-border);min-height:60px;color:var(--color-brand);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px;transition:background .14s;display:flex;position:relative}.driver-outfit-option b{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.driver-outfit-mark{color:var(--driver-color);flex-shrink:0;font-size:24px}.driver-equipped{border-top:1px solid var(--color-border);padding-top:12px}.driver-equipped>b{margin:4px 0 8px;font-size:20px;display:block}.driver-equipped p,.driver-colors p{color:var(--color-text-muted);margin:0 0 12px;font-size:14px;line-height:1.45}@media (prefers-reduced-motion:reduce){.garage-tabs button,.driver-color-option,.driver-outfit-option{transition:none}}@media (width>=601px) and (height<=780px){.kart-garage[data-garage-active=driver]{gap:8px;padding:16px}.kart-garage[data-garage-active=driver] header h1{margin:4px 0;font-size:24px}.kart-garage[data-garage-active=driver] header p{font-size:12px}.kart-garage[data-garage-active=driver] .kart-garage-views>.field-heading{display:none}.kart-garage[data-garage-active=driver] .kart-garage-actions{gap:8px;padding-top:8px}.kart-garage[data-garage-active=driver] .kart-garage-actions p{font-size:12px}}.skill-feedback{color:var(--color-accent);pointer-events:none;padding:12px 16px;font-size:12px}.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}@media (width<=900px){.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.vfx-podium .vfx-podium-anchor,.vfx-podium.vfx-podium-anchor{isolation:isolate;position:relative}.vfx-podium .result-scroll,.vfx-podium .result-actions{z-index:2;position:relative}.vfx-podium .vfx-podium-emblem{z-index:3;position:relative;overflow:visible}.vfx-podium .vfx-podium-emblem>.ui-icon{opacity:.12}.vfx-podium .vfx-podium-medallion{pointer-events:none;filter:drop-shadow(0 7px 12px #0f1e1838);opacity:1;place-items:center;display:grid;position:absolute;inset:-8px;scale:1}.vfx-podium.vfx-podium-medal-animated .vfx-podium-medallion{animation:vfx-podium-medal-in var(--vfx-medal-duration) cubic-bezier(.2, .8, .25, 1) both}.vfx-podium .vfx-podium-medallion-1{--vfx-medal-start:.88;--vfx-medal-duration:2.4s;--vfx-bright:#ffd86a;--vfx-deep:#c68c2d;--vfx-core:#fff8df}.vfx-podium .vfx-podium-medallion-2{--vfx-medal-start:.94;--vfx-medal-duration:1.8s;--vfx-bright:#e7f0f7;--vfx-deep:#8ebad1;--vfx-core:#f8fcff}.vfx-podium .vfx-podium-medallion-3{--vfx-medal-start:.96;--vfx-medal-duration:1.4s;--vfx-bright:#e4a16b;--vfx-deep:#a66b43;--vfx-core:#fff4e8}.vfx-podium .vfx-podium-medallion-core{z-index:2;border:3px solid var(--vfx-core);color:#17372d;background:radial-gradient(circle at 35% 26%, var(--vfx-core) 0 8%, var(--vfx-bright) 30%, var(--vfx-deep) 100%);width:56px;height:56px;box-shadow:0 0 0 3px var(--vfx-deep), inset 0 0 12px #fff9;border-radius:50%;place-items:center;font:800 30px/1 Georgia,serif;display:grid;position:relative}.vfx-podium .vfx-podium-ornament{border:3px solid var(--vfx-bright);opacity:.92;border-radius:50%;width:72px;height:72px;position:absolute}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament{border-width:0 0 0 4px;border-radius:50% 0 0 50%;width:36px;height:67px}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament:before,.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament:after{background:var(--vfx-bright);content:"";border-radius:100% 0;width:11px;height:6px;position:absolute;left:-7px}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament:before{box-shadow:1px 14px 0 var(--vfx-bright), 3px 28px 0 var(--vfx-bright), 7px 41px 0 var(--vfx-bright);top:10px;rotate:-32deg}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament:after{box-shadow:2px 14px 0 var(--vfx-bright), 5px 28px 0 var(--vfx-bright);top:17px;left:1px;rotate:38deg}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament-1{translate:-42px 3px;rotate:-18deg}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament-2{translate:42px 3px;rotate:198deg}.vfx-podium .vfx-podium-medallion-2 .vfx-podium-ornament-2{opacity:.55;border-style:dashed;width:82px;height:82px}.vfx-podium .vfx-podium-medallion-3 .vfx-podium-ornament{border-bottom-color:#0000;border-right-color:#0000;width:72px;height:72px;rotate:22deg}.vfx-podium .vfx-podium-overlay{z-index:1;border-radius:inherit;pointer-events:none;contain:layout paint;position:absolute;inset:0;overflow:hidden}.vfx-podium .vfx-podium-halo{aspect-ratio:1;opacity:0;border:2px solid;border-radius:50%;width:min(240px,56%);animation:.65s ease-out .16s both vfx-podium-halo-out;position:absolute;top:23%;left:50%;translate:-50% -50%}.vfx-podium .vfx-podium-overlay-1{color:#ffd86a}.vfx-podium .vfx-podium-overlay-2{color:#cfeaff}.vfx-podium .vfx-podium-overlay-3{color:#e4a16b}.vfx-podium .vfx-podium-particle{top:var(--vfx-y);left:var(--vfx-x);opacity:0;width:6px;height:11px;animation:vfx-podium-confetti var(--vfx-life) cubic-bezier(.15, .65, .45, 1) var(--vfx-delay) both;background:currentColor;border-radius:2px;position:absolute;box-shadow:inset 0 0 2px #fffc}.vfx-podium .vfx-podium-overlay-2 .vfx-podium-particle{border-radius:4px;width:4px;height:15px}.vfx-podium .vfx-podium-overlay-3 .vfx-podium-particle{width:5px;height:7px}.vfx-podium .vfx-podium-row[data-podium-rank]{border-inline-start:2px solid var(--vfx-row-edge);position:relative;overflow:hidden}.vfx-podium .vfx-podium-row[data-podium-rank]:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(100deg, transparent 12%, var(--vfx-row-glint) 50%, transparent 88%);position:absolute;inset:0;translate:-110%}.vfx-podium.vfx-podium-rows-animated .vfx-podium-row[data-podium-rank]:after{animation:.4s ease-out .12s both vfx-podium-row-sweep}.vfx-podium .vfx-podium-row-1{--vfx-row-glint:#ffd86a52;--vfx-row-edge:#c68c2d}.vfx-podium .vfx-podium-row-2{--vfx-row-glint:#8ebad147;--vfx-row-edge:#8ebad1}.vfx-podium .vfx-podium-row-3{--vfx-row-glint:#e4a16b47;--vfx-row-edge:#a66b43}@keyframes vfx-podium-halo-out{0%{opacity:.65;scale:.55}to{opacity:0;scale:1.25}}@keyframes vfx-podium-confetti{0%{opacity:0;translate:0;rotate:0deg}12%{opacity:.95}to{translate:var(--vfx-drift) min(52vh, 430px);rotate:var(--vfx-spin);opacity:0}}@keyframes vfx-podium-row-sweep{0%{opacity:0;translate:-110%}35%{opacity:1}to{opacity:0;translate:110%}}@media (height<=640px){.vfx-podium .vfx-podium-particle{--vfx-y:15%}}@media (prefers-reduced-motion:reduce){.vfx-podium .vfx-podium-overlay{display:none}.vfx-podium .vfx-podium-medallion,.vfx-podium .vfx-podium-row[data-podium-rank]:after{opacity:1;animation:none!important}}.vfx-podium .vfx-podium-emblem{background:0 0;width:112px;height:98px;margin:14px auto 16px}.vfx-podium .vfx-podium-medallion{inset:0}.vfx-podium .vfx-podium-medallion-1{--vfx-medal-start:.48;--vfx-medal-duration:.44s}.vfx-podium .vfx-podium-medallion-2{--vfx-medal-start:.58;--vfx-medal-duration:.39s}.vfx-podium .vfx-podium-medallion-3{--vfx-medal-start:.66;--vfx-medal-duration:.34s}.vfx-podium .vfx-podium-medallion-core{text-shadow:0 2px #ffffffa0;width:78px;height:78px;box-shadow:0 0 0 3px var(--vfx-deep), 0 5px 0 var(--vfx-deep), inset 0 0 0 3px #fff9, inset 0 -9px 16px #50300f30;border-width:4px;font:italic 900 48px/1 Arial,sans-serif}.vfx-podium .vfx-podium-medallion-core:after{content:"";border-top:3px solid #fff9;border-radius:50%;position:absolute;inset:6px;rotate:-24deg}.vfx-podium .vfx-podium-ornament{width:96px;height:96px}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament{width:36px;height:82px}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament-1{translate:-51px 3px}.vfx-podium .vfx-podium-medallion-1 .vfx-podium-ornament-2{translate:51px 3px}.vfx-podium .vfx-podium-medallion-2 .vfx-podium-ornament{border-inline-color:#0000;rotate:-24deg}.vfx-podium .vfx-podium-medallion-2 .vfx-podium-ornament-2{opacity:.8;border-style:solid;width:108px;height:108px;rotate:34deg}.vfx-podium .vfx-podium-medallion-3 .vfx-podium-ornament{width:92px;height:92px}.vfx-podium-rays{position:absolute;inset:0}.vfx-podium-rays i{transform-origin:0;width:30px;height:4px;rotate:var(--ray-angle);background:linear-gradient(90deg, var(--vfx-bright), transparent);opacity:.5;border-radius:2px;position:absolute;top:50%;left:50%;transform:translate(51px)}.vfx-podium-medallion-3 .vfx-podium-rays i{opacity:.8;width:12px}.vfx-podium-medal-animated .vfx-podium-rays{animation:.65s ease-out both vfx-podium-rays-in}.vfx-podium-medal-animated .vfx-podium-medallion-2 .vfx-podium-ornament{animation:.5s ease-out both vfx-podium-arc-in}@keyframes vfx-podium-medal-in{0%{scale:var(--vfx-medal-start);opacity:0;translate:0 -22px}42%{opacity:1;translate:0 5px;scale:1.16 .93}70%{translate:0 -2px;scale:.97 1.04}to{opacity:1;translate:0;scale:1}}@keyframes vfx-podium-rays-in{0%{opacity:0;scale:.5}30%{opacity:1;scale:1.16}to{opacity:1;scale:1}}@keyframes vfx-podium-arc-in{0%{opacity:0;transform:rotate(-70deg)scale(.7)}to{opacity:.8;transform:rotate(0)scale(1)}}@media (height<=640px){.vfx-podium .vfx-podium-emblem{width:96px;height:76px;margin-block:10px 12px}.vfx-podium .vfx-podium-medallion{scale:.82}.vfx-podium .vfx-podium-medallion-core{width:68px;height:68px;font-size:42px}}@media (prefers-reduced-motion:reduce){.vfx-podium-rays,.vfx-podium-ornament{animation:none!important}}.countdown.vfx-countdown{--countdown-accent:#c5ff83;z-index:22;width:clamp(164px,19vw,244px);min-width:0;height:clamp(154px,17vw,212px);box-shadow:none;text-shadow:none;pointer-events:none;isolation:isolate;background:0 0;border:0;border-radius:0;place-items:center;margin:0;padding:0;animation:none;display:grid;position:absolute;inset:38% auto auto 50%;transform:translate(-50%,-50%)scale(1)}.countdown.vfx-countdown[hidden]{display:none}.vfx-countdown-value{z-index:1;font-variant-numeric:tabular-nums;letter-spacing:-.065em;color:#faffef;text-shadow:0 4px #254d3c,0 9px 18px #071e2699;transform-origin:50% 65%;padding:0 .08em .08em 0;font:italic 900 clamp(100px,12vw,156px)/1 Arial,Helvetica,sans-serif;position:relative}.vfx-countdown-frame{background:radial-gradient(#102f3399,#102f3322 54%,#0000 73%);position:absolute;inset:0}.vfx-countdown-side{--corner-x:left;--corner-shift:-20px;opacity:.85;background:linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) top / 29px 3px, linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) top / 3px 25px, linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) bottom / 29px 3px, linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) bottom / 3px 25px;filter:drop-shadow(0 0 5px #c5ff8340);background-repeat:no-repeat;width:42%;position:absolute;inset-block:8px 15px}.vfx-countdown-left{left:0}.vfx-countdown-right{--corner-x:right;--corner-shift:20px;right:0}.vfx-countdown-lights{gap:6px;display:flex;position:absolute;bottom:0}.vfx-countdown-lights i{background:#163c35c9;border-radius:2px;width:21px;height:4px;box-shadow:inset 0 0 0 1px #efffde5c}.vfx-countdown-lights i:first-child,.vfx-countdown[data-step="2"] .vfx-countdown-lights i:nth-child(2),.vfx-countdown[data-step="1"] .vfx-countdown-lights i,.vfx-countdown[data-phase=go] .vfx-countdown-lights i{background:var(--countdown-accent);box-shadow:0 0 7px #c5ff8355}.vfx-countdown[data-step="1"]{--countdown-accent:#e6ffa3}.vfx-countdown[data-step="1"] .vfx-countdown-value,.vfx-countdown[data-phase=go] .vfx-countdown-value{color:var(--countdown-accent)}.vfx-countdown[data-phase=go] .vfx-countdown-value{letter-spacing:-.07em;font-size:clamp(86px,10.6vw,138px)}.vfx-countdown-enter[data-phase=go] .vfx-countdown-lights{animation:.6s ease-out both vfx-countdown-lights-out}@keyframes vfx-countdown-lock{0%{opacity:.2;transform:translateX(var(--corner-shift)) scaleY(1.12)}45%{opacity:1;transform:translate(0)scaleY(1)}to{opacity:.85;transform:translate(0)scaleY(1)}}@keyframes vfx-countdown-open{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateX(calc(var(--corner-shift) * 2.2))}}@keyframes vfx-countdown-lights-out{0%{opacity:1}to{opacity:0}}.vfx-countdown[data-motion=off] *,.vfx-hud-paused .vfx-countdown[data-motion=off] *{animation:none!important}@media (prefers-reduced-motion:reduce){.vfx-countdown *{animation:none!important}}@media (height<=480px){.countdown.vfx-countdown{width:144px;height:126px;top:40%}.vfx-countdown-value{font-size:84px}.vfx-countdown[data-phase=go] .vfx-countdown-value{font-size:74px}}.countdown.vfx-countdown{width:clamp(210px,24vw,316px);height:clamp(172px,19vw,232px)}.vfx-countdown-value{-webkit-text-stroke:1.3px #f4ffda;paint-order:stroke fill;text-shadow:0 2px #f6ffe0,0 5px #42634a,0 9px #0c2d2e,0 13px #061e2680,0 15px 22px #061b2670;font-size:clamp(114px,13vw,172px)}.vfx-countdown-value:after{content:attr(data-echo);color:#0000;-webkit-text-stroke:2px var(--countdown-accent);text-shadow:none;opacity:0;pointer-events:none;position:absolute;inset:0}.vfx-countdown-frame{background:radial-gradient(#12313cba,#0d26333d 48%,#0000 72%)}.vfx-countdown-side{background:linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) top / 42px 5px, linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) top / 5px 32px, linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) bottom / 42px 5px, linear-gradient(var(--countdown-accent), var(--countdown-accent)) var(--corner-x) bottom / 5px 32px, repeating-linear-gradient(to bottom, #e9ffccee 0 3px, transparent 3px 12px) var(--corner-x) center / 9px 40px;filter:drop-shadow(0 2px #102c36)drop-shadow(0 0 7px #c5ff8350);background-repeat:no-repeat;width:36%;inset-block:12px 22px}.vfx-countdown-side:after{content:"";border-block:1px solid #ddffbd70;position:absolute;inset:10px}.vfx-countdown-lights{gap:9px;bottom:1px}.vfx-countdown-lights i{border-radius:0;width:29px;height:5px;transform:skew(-18deg)}.vfx-countdown[data-phase=go] .vfx-countdown-value{font-size:clamp(98px,12vw,156px)}.vfx-countdown[data-compress=on] .vfx-countdown-value{transition:scale .1s ease-in;scale:.88 .92}.vfx-countdown[data-compress=on] .vfx-countdown-frame{transition:scale .1s ease-in;scale:.94 1}.vfx-countdown-enter .vfx-countdown-value{animation:.3s cubic-bezier(.15,.8,.25,1) both vfx-countdown-number}.vfx-countdown-enter .vfx-countdown-side{animation:.36s cubic-bezier(.15,.8,.25,1) 60ms both vfx-countdown-lock}.vfx-countdown-enter[data-phase=go] .vfx-countdown-value{animation:.72s linear both vfx-countdown-go}.vfx-countdown-enter[data-phase=go] .vfx-countdown-value:after{animation:.36s ease-out 70ms both vfx-countdown-echo}.vfx-countdown-enter[data-phase=go] .vfx-countdown-side{animation:.42s cubic-bezier(.12,.65,.2,1) both vfx-countdown-open}.vfx-countdown-ray{width:64px;height:3px;rotate:var(--ray-angle);transform-origin:0;opacity:0;background:linear-gradient(90deg,#eaffcf,#c5ff8366,#0000);position:absolute;top:45%;left:50%}.vfx-countdown-ray-0{--ray-angle:-28deg}.vfx-countdown-ray-1{--ray-angle:0deg}.vfx-countdown-ray-2{--ray-angle:28deg}.vfx-countdown-ray-3{--ray-angle:152deg}.vfx-countdown-ray-4{--ray-angle:180deg}.vfx-countdown-ray-5{--ray-angle:208deg}.vfx-countdown-enter[data-phase=go] .vfx-countdown-ray{animation:.33s ease-out 60ms both vfx-countdown-ray-out}@keyframes vfx-countdown-number{0%{opacity:.15;transform:translateY(-24px)scale(1.42)}45%{opacity:1;transform:translateY(4px)scale(.94,.88)}72%{transform:translateY(-2px)scale(1.04)}to{opacity:1;transform:none}}@keyframes vfx-countdown-go{0%{opacity:.5;transform:scale(.8)}11.1%{opacity:1;transform:scale(1.14)}27.8%,66.7%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-8px)scale(1.08)}}@keyframes vfx-countdown-echo{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes vfx-countdown-ray-out{0%{opacity:.9;transform:translate(64px)scaleX(.35)}to{opacity:0;transform:translate(172px)scaleX(1.45)}}.vfx-countdown[data-motion=off] .vfx-countdown-value:after{opacity:0;animation:none!important}@media (prefers-reduced-motion:reduce){.vfx-countdown-value:after{opacity:0;animation:none!important}.vfx-countdown[data-compress=on] .vfx-countdown-value,.vfx-countdown[data-compress=on] .vfx-countdown-frame{transition:none;scale:1}}@media (height<=480px),(width<=540px){.countdown.vfx-countdown{width:204px;height:152px}.vfx-countdown-value{font-size:106px}.vfx-countdown[data-phase=go] .vfx-countdown-value{font-size:96px}}.vfx-hud-host{--vfx-cyan:#9cf9ff;--vfx-lime:var(--lime,#c8ff66);--vfx-gold:#ffd783}.vfx-hud-layer{z-index:18;pointer-events:none;contain:layout paint;--vfx-speed:0;position:absolute;inset:0;overflow:hidden}.vfx-hud-wind{opacity:var(--vfx-wind-opacity);transition:opacity .18s ease-out;position:absolute;inset:8% 3%}.vfx-hud-wind i{top:var(--vfx-line-top);width:var(--vfx-wind-length);filter:drop-shadow(0 0 3px #65ddecaa);height:1px;animation:.62s linear infinite vfx-wind-pass;animation-delay:var(--vfx-line-delay);background:linear-gradient(90deg,#0000,#dcffffc9,#0000);position:absolute}.vfx-hud-wind i:nth-child(odd){left:0;transform:rotate(-12deg)}.vfx-hud-wind i:nth-child(2n){right:0;transform:rotate(12deg)}.vfx-boost-sustain .vfx-hud-wind{opacity:max(.28, var(--vfx-wind-opacity))}.vfx-hud-layer[data-quality=low] .vfx-hud-wind i:nth-child(n+5),.vfx-hud-layer[data-motion=off] .vfx-hud-wind{display:none}.vfx-hud-mini-window{border:2px solid color-mix(in srgb, #fff 45%, var(--vfx-gold));width:74px;height:38px;opacity:var(--vfx-mini-opacity);transform:scale(var(--vfx-mini-scale));border-radius:50%;margin:-19px 0 0 -37px;transition:opacity 45ms linear,transform 45ms linear;position:absolute;top:61%;left:50%;box-shadow:0 0 13px #ffbd6788,inset 0 0 12px #fff4c43d}.vfx-hud-threat{width:190px;height:92px;translate:-50% -50%;rotate:var(--vfx-threat-angle);border:1px solid #ffb06f9e;border-radius:50% 50% 0 0;transition:rotate 90ms linear;animation:.76s ease-in-out infinite vfx-threat-breathe;position:absolute;top:50%;left:50%}.vfx-hud-threat>i{clip-path:polygon(50% 0,100% 82%,64% 68%,50% 100%,36% 68%,0 82%);filter:drop-shadow(0 0 7px #ff763dcc);background:#ffd19e;width:19px;height:19px;position:absolute;top:-5px;left:50%;translate:-50% -50%}.vfx-hud-burst{opacity:0;width:120px;height:60px;position:absolute;top:48%;left:50%;translate:-50% -50%}.vfx-hud-burst i{width:46px;height:32px;filter:drop-shadow(0 0 9px var(--vfx-lime));border:solid #f7ffd7;position:absolute;top:12px}.vfx-hud-burst i:first-child{border-width:3px 0 0 3px;left:0;transform:skew(-24deg)}.vfx-hud-burst i:last-child{border-width:3px 3px 0 0;right:0;transform:skew(24deg)}.vfx-hud-burst.vfx-burst-active{animation:.42s ease-out both vfx-start-burst}.vfx-hud-marker{opacity:0;background:#efffdc;border-radius:50%;width:28px;height:28px;margin-left:86px;position:absolute;top:174px;left:50%;box-shadow:0 0 13px #bdfd8bcc}.vfx-hud-marker:before{content:"";border:3px solid #28515b;border-width:0 3px 3px 0;position:absolute;inset:7px;transform:rotate(45deg)translate(-1px,-2px)}.vfx-hud-marker[data-kind=hit]{background:#ffe2a5}.vfx-hud-marker[data-kind=block]{background:var(--vfx-cyan)}.vfx-hud-marker.vfx-marker-active{animation:.38s ease-out both vfx-marker-pop}.vfx-charge-filled .nitro-track:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 20%,#fff 48%,#0000 76%);animation:.36s ease-out both vfx-bar-sweep;position:absolute;inset:4px 8px}.vfx-charge-full .nitro-track{box-shadow:inset 0 0 0 1px #d9ff8e80,0 0 10px #bfff5f35}.vfx-inventory-full .nitro-charges{filter:drop-shadow(0 0 5px #d7ff88)}.nitro-charge.vfx-nitro-collected,.vfx-nitro-collected .nitro-charges{animation:.36s cubic-bezier(.15,.8,.2,1) vfx-cell-land}.nitro-charge.vfx-nitro-used,.vfx-nitro-used .nitro-charges{animation:.25s ease-out vfx-cell-use}.vfx-nitro-chained .nitro-release{animation:.17s ease-out vfx-chain-flash}.vfx-energy-loss .nitro-track:before{content:"";z-index:2;left:var(--vfx-energy-loss-left);width:min(var(--vfx-energy-loss-width), calc(100% - var(--vfx-energy-loss-left)));background:linear-gradient(90deg,#0000,#ff8a67);height:100%;animation:.22s ease-out both vfx-energy-break;position:absolute;top:0}.vfx-item-picked:before{content:"";border:2px solid var(--vfx-lime);border-radius:inherit;pointer-events:none;animation:.36s cubic-bezier(.15,.8,.2,1) vfx-item-land;position:absolute;inset:0}.vfx-item-used:after{content:"";border:2px solid var(--vfx-cyan);border-radius:inherit;pointer-events:none;animation:.3s ease-out vfx-item-release;position:absolute;inset:4px}.vfx-item-used.vfx-item-boost:after{animation-name:vfx-item-release-boost}.vfx-hit-count:after,.vfx-block-count:after{content:"";border-radius:inherit;border:2px solid #ffe6a2;animation:.34s ease-out both vfx-ring-out;position:absolute;inset:-5px}.vfx-block-count:after{border-color:var(--vfx-cyan)}.vfx-lap-change,.vfx-training-step,.vfx-objective-step,.vfx-sector-improved,.vfx-pb-saved{animation:.48s ease-out vfx-label-sweep}.vfx-final-lap{text-shadow:0 0 10px #ffc44d88;color:#fff2a9!important}.vfx-failed{animation:.36s ease-out vfx-failure-settle}.vfx-hud-paused [class*=vfx-],.vfx-hud-paused [class*=vfx-]:before,.vfx-hud-paused [class*=vfx-]:after{animation-play-state:paused!important}.vfx-result-feedback{z-index:3;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.vfx-result-status-mark{opacity:.32;border:2px solid #eaffc0;border-radius:50%;width:62px;height:62px;position:absolute;top:72px;left:50%;translate:-50% -50%;box-shadow:0 0 24px #c8ff6660}.vfx-result-feedback[data-result=finished] .vfx-result-status-mark:before{content:"";border-bottom:3px solid #efffcf;border-right:3px solid #efffcf;width:13px;height:23px;position:absolute;top:14px;left:21px;transform:rotate(45deg)}.vfx-result-feedback[data-result=failed] .vfx-result-status-mark{border-color:#dca78e;border-radius:5px;width:52px;height:42px;box-shadow:0 0 18px #a6503c42}.vfx-result-animated .vfx-result-status-mark{animation:.6s ease-out both vfx-result-settle}.vfx-result-static .vfx-result-status-mark{opacity:.22}.vfx-result-pb{color:#36501c;letter-spacing:.12em;background:#edf6d7;border:1px solid #779947;border-radius:5px;padding:4px 9px;font:700 12px/1.3 sans-serif;position:absolute;top:20px;right:22px}.vfx-result-pb-animated{animation:.65s ease-out vfx-label-sweep}.vfx-result-fragments i{left:var(--vfx-x);top:var(--vfx-y);width:8px;height:8px;animation:1.05s ease-out both vfx-result-fragment;animation-delay:var(--vfx-delay);background:#eaffbc;position:absolute}.vfx-result-fragments i:nth-child(2n){background:#8fe9ee}.vfx-result-star{transition:filter .18s,opacity .18s}.vfx-result-star-earned{filter:drop-shadow(0 0 8px #ffda6f)}.vfx-result-star-animated{animation:.42s ease-out both vfx-star-light;animation-delay:var(--vfx-star-delay)}@keyframes vfx-wind-pass{0%{opacity:0;translate:0 18px}30%{opacity:.8}to{opacity:0;translate:0 -42px}}@keyframes vfx-threat-breathe{50%{opacity:.72;scale:.965}}@keyframes vfx-start-burst{0%{opacity:0;scale:.58}30%{opacity:1}to{opacity:0;scale:1.5}}@keyframes vfx-marker-pop{0%{opacity:0;scale:.5}35%{opacity:1;scale:1.12}to{opacity:0;translate:0 -12px}}@keyframes vfx-bar-sweep{0%{opacity:0;translate:-100%}35%{opacity:.9}to{opacity:0;translate:100%}}@keyframes vfx-cell-land{0%{filter:brightness(2.2);scale:.72}to{scale:1}}@keyframes vfx-cell-use{45%{opacity:.5;scale:.88}}@keyframes vfx-chain-flash{50%{filter:brightness(2.2);scale:1.025}}@keyframes vfx-energy-break{0%{opacity:.9;scale:1}to{opacity:0;scale:.3 1}}@keyframes vfx-item-land{0%{filter:brightness(2.2);scale:.78}to{scale:1}}@keyframes vfx-item-release{45%{filter:brightness(1.8);scale:1.08}}@keyframes vfx-item-release-boost{45%{filter:brightness(1.9)drop-shadow(0 0 14px #42e6c8);scale:1.08}}@keyframes vfx-ring-out{0%{opacity:.9;scale:.76}to{opacity:0;scale:1.28}}@keyframes vfx-label-sweep{35%{color:#f4ffd1;text-shadow:0 0 12px #c9ff75}}@keyframes vfx-failure-settle{0%{opacity:.4;translate:0 -7px}to{opacity:1;translate:0}}@keyframes vfx-result-settle{0%{opacity:0;scale:1.42}60%{opacity:.75;scale:.94}to{opacity:.32;scale:1}}@keyframes vfx-result-fragment{0%{opacity:0;translate:0;rotate:0deg}20%{opacity:.85}to{opacity:0;translate:var(--vfx-drift) 160px;rotate:240deg}}@keyframes vfx-star-light{0%{opacity:.35;scale:.66}55%{opacity:1;scale:1.22}to{scale:1}}@media (prefers-reduced-motion:reduce){.vfx-hud-wind{display:none}.vfx-hud-host [class*=vfx-],.vfx-hud-host [class*=vfx-]:before,.vfx-hud-host [class*=vfx-]:after,.vfx-result-feedback *,.vfx-result-star{transition:none!important;animation:none!important}}@media (width<=700px){.vfx-hud-marker{margin-left:63px;top:196px}.vfx-hud-threat{width:156px;height:76px}.vfx-result-status-mark{top:58px}}.vfx-boost-sustain .vfx-hud-wind i{transform-origin:50%;animation-duration:.41s}.vfx-boost-sustain .vfx-hud-wind i:nth-child(odd){transform:perspective(180px)rotateY(-34deg)rotate(-10deg)}.vfx-boost-sustain .vfx-hud-wind i:nth-child(2n){transform:perspective(180px)rotateY(34deg)rotate(10deg)}.vfx-hud-mini-window{border:0}.vfx-hud-mini-window:before,.vfx-hud-mini-window:after{content:"";border:2px solid var(--vfx-gold);clip-path:inset(0 50% 0 0);border-radius:50%;position:absolute;inset:0}.vfx-hud-mini-window:after{clip-path:inset(0 0 0 50%)}.vfx-mini-success{animation:.28s ease-out vfx-mini-open}.vfx-hud-threat{border-color:#ffb06fd1 #0000 #0000;border-top-style:solid;border-top-width:2px}.vfx-hud-energy-trail{left:var(--vfx-trail-x);top:var(--vfx-trail-y);opacity:0;background:linear-gradient(90deg, transparent, #fff, var(--vfx-lime));width:42px;height:3px;box-shadow:0 0 9px var(--vfx-lime);border-radius:3px;position:absolute}.vfx-energy-trail-active{animation:.35s cubic-bezier(.2,.75,.2,1) both vfx-energy-flight}.vfx-hud-shield{opacity:0;border:2px solid var(--vfx-cyan);clip-path:polygon(50% 0,92% 17%,82% 73%,50% 100%,18% 73%,8% 17%);filter:drop-shadow(0 0 10px #64e8ff);background:linear-gradient(#affcff22,#63deff08);width:68px;height:78px;position:absolute;top:54%;left:50%;translate:-50% -50%}.vfx-hud-shield.vfx-shield-active{opacity:.28}.vfx-hud-shield.vfx-shield-event{animation:.36s ease-out vfx-shield-open}.vfx-hud-shield[data-kind=block]{animation-name:vfx-shield-block}.vfx-hud-impact{opacity:0;border-inline:3px solid #ffb176;width:86px;height:30px;position:absolute;top:72%;left:50%;transform:skew(-16deg)}.vfx-impact-active[data-severity=light]{animation:.18s ease-out vfx-impact-light}.vfx-impact-active[data-severity=medium]{animation:.21s ease-out vfx-impact-medium}.vfx-impact-active[data-severity=heavy]{animation:.24s ease-out vfx-impact-heavy}.vfx-impact-light{animation:.18s ease-out vfx-instrument-impact-light}.vfx-impact-medium{animation:.21s ease-out vfx-instrument-impact-medium}.vfx-impact-heavy{animation:.24s ease-out vfx-instrument-impact-heavy}.vfx-speedometer-launch{animation:.36s ease-out vfx-gauge-start}.vfx-hud-host #nitro-fill{position:relative;overflow:visible}.vfx-hud-host #nitro-fill:after{content:"";width:7px;height:16px;box-shadow:0 0 7px var(--vfx-lime), 0 0 13px #8fefff99;background:#f6fff0;border-radius:50%;position:absolute;top:50%;right:-3px;translate:0 -50%}.vfx-charge-full #nitro-fill:after{width:10px;height:20px;box-shadow:0 0 9px #fff, 0 0 20px var(--vfx-lime);right:-5px}@keyframes vfx-energy-flight{0%{opacity:0;transform:translate(0)scaleX(.3)}25%{opacity:1}to{opacity:0;transform:translate(var(--vfx-trail-dx), var(--vfx-trail-dy)) scaleX(.12)}}@keyframes vfx-mini-open{45%{filter:brightness(2);scale:1.22}}@keyframes vfx-shield-open{0%{opacity:0;scale:.6}45%{opacity:.9}to{opacity:.28;scale:1}}@keyframes vfx-shield-block{35%{opacity:1;filter:brightness(2);scale:1.18}}@keyframes vfx-impact-light{40%{opacity:.55;translate:calc(2px - 50%) -50%}}@keyframes vfx-impact-medium{35%{opacity:.75;translate:calc(-50% - 5px) -50%}70%{translate:calc(4px - 50%) -50%}}@keyframes vfx-impact-heavy{25%{opacity:1;translate:calc(-50% - 9px) -50%}55%{translate:calc(8px - 50%) -50%}}@keyframes vfx-instrument-impact-light{40%{filter:brightness(1.12);transform:translate(2px)}}@keyframes vfx-instrument-impact-medium{35%{filter:brightness(1.25);transform:translate(-5px)}70%{transform:translate(4px)}}@keyframes vfx-instrument-impact-heavy{25%{filter:brightness(1.45);transform:translate(-9px)}55%{transform:translate(8px)}}@keyframes vfx-gauge-start{35%{filter:brightness(1.8) drop-shadow(0 0 12px var(--vfx-cyan))}}.vfx-hud-host .nitro-box,.vfx-hud-host .nitro-track{position:relative}.vfx-energy-loss:after{content:"−" attr(data-energy-loss);color:#ffcfb7;pointer-events:none;background:#273632;border:1px solid #ff9b7370;border-radius:4px;padding:3px 7px;font:800 14px/1.2 Arial,sans-serif;animation:.22s ease-out both vfx-loss-value;position:absolute;bottom:calc(100% + 4px);right:0}@keyframes vfx-loss-value{0%,65%{opacity:1;transform:translateY(2px)}to{opacity:0;transform:translateY(-5px)}}.vfx-hud-marker[data-kind=hit]:before,.vfx-hud-marker[data-kind=received-hit]:before{background:linear-gradient(#633924,#633924) 50%/100% 3px no-repeat,linear-gradient(#633924,#633924) 50%/3px 100% no-repeat;border:0;inset:7px;transform:rotate(45deg)}.vfx-hud-marker[data-kind=received-hit]{background:#ffc5a0;border-radius:3px}.vfx-hud-marker[data-kind=block]:before{clip-path:polygon(50% 0,100% 18%,86% 72%,50% 100%,14% 72%,0 18%);background:#205260;border:0;inset:5px 7px;transform:none}.vfx-speedometer-chain{animation:.17s ease-out vfx-gauge-connect}@keyframes vfx-gauge-connect{45%{filter:brightness(1.3)}}.vfx-boost-launch .vfx-hud-wind{animation:.18s ease-out vfx-wind-flare}@keyframes vfx-wind-flare{0%,25%{opacity:.88;transform:scale(.97)}to{opacity:var(--vfx-wind-opacity);transform:scale(1.02)}}.vfx-hud-burst[data-kind=nitro]{width:min(460px,54vw);height:80px;top:66%}.vfx-hud-burst[data-kind=nitro] i{border-color:var(--vfx-cyan);width:82px;height:10px}.vfx-hud-burst[data-kind=nitro].vfx-burst-active{animation:.18s ease-out both vfx-nitro-release}@keyframes vfx-nitro-release{0%{opacity:.95;scale:.8 .85}to{opacity:0;scale:1.15 1}}.vfx-hud-mini-window.vfx-mini-success{box-shadow:none;animation:none}.vfx-mini-success:before{animation:.28s ease-out both vfx-mini-left}.vfx-mini-success:after{animation:.28s ease-out both vfx-mini-right}@keyframes vfx-mini-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-42px)scale(.75)}}@keyframes vfx-mini-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(42px)scale(.75)}}.vfx-hud-threat{width:calc(190px - var(--vfx-threat-urgency,0) * 50px);border-top-width:calc(2px + var(--vfx-threat-urgency,0) * 2px);opacity:calc(.65 + var(--vfx-threat-urgency,0) * .35);animation-duration:calc(.76s - var(--vfx-threat-urgency,0) * .38s);transform:translateY(calc(-1*min(36vh,37vw)))}.vfx-hud-layer[data-motion=off] *,.vfx-hud-layer[data-motion=off] :before,.vfx-hud-layer[data-motion=off] :after{transition:none!important;animation:none!important}@media (width<=700px){.vfx-hud-threat{width:calc(156px - var(--vfx-threat-urgency,0) * 30px)}}.obstacle-hud{left:var(--hud-edge,28px);background:var(--color-hud-bg,#173e30e6);width:230px;color:var(--color-bg,#f5f1e6);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:12;text-align:start;border:1px solid #cbf06b40;border-radius:10px;gap:9px;padding:10px 12px;font-family:inherit;display:flex;position:fixed;bottom:280px}.obstacle-hud[hidden]{display:none}.obstacle-hud svg{fill:none;width:23px;height:23px;stroke:var(--color-accent,#cbf06b);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 23px;margin-top:14px}.obstacle-hud-copy{gap:4px;min-width:0;display:grid}.obstacle-hud small{letter-spacing:.06em;font-size:10px;line-height:1.3}.obstacle-hud strong{font-size:14px;line-height:1.2}.obstacle-hud span{font-size:12px;line-height:1.4}.obstacle-hud-risk{color:var(--color-accent,#cbf06b)}.obstacle-hud-copy>small:first-child{opacity:.8;font-size:9px}.obstacle-hud[data-risk=on-line]{border-color:#e4b56d80}.obstacle-hud[data-risk=on-line] .obstacle-hud-risk,.obstacle-hud[data-risk=on-line] svg{color:#f0c68a;stroke:#f0c68a}@media (width<=900px){.obstacle-hud{bottom:254px}}@media (width<=760px){.obstacle-hud{gap:6px;width:166px;padding:8px;left:12px}.obstacle-hud strong{font-size:11px}.obstacle-hud span{font-size:9px}.obstacle-hud svg{flex-basis:20px;width:20px}}@media (width<=600px){.obstacle-hud{bottom:216px}}@media (height<=520px){.obstacle-hud{width:166px;padding:6px 8px;bottom:216px}.obstacle-hud-copy{gap:2px}.obstacle-hud-copy>small:first-child{display:none}}@media (prefers-reduced-motion:reduce){.obstacle-hud,.obstacle-hud *{transition:none;animation:none}}.multiplayer-service{border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 15px;font-size:13px;display:flex}.multiplayer-service.online{color:var(--color-brand)}.multiplayer-service.offline{color:var(--color-warning)}.multiplayer-service small{max-width:48ch;color:var(--color-text-muted);margin-top:5px;line-height:1.5;display:block}.multiplayer-service button{flex-shrink:0;margin-inline-start:auto}.room-invite{margin:18px 0}.room-invite label{color:var(--color-text-muted);margin-bottom:8px;font-size:12px;display:block}.room-invite>div{gap:8px;display:flex}.room-invite input{flex:1;min-width:0;font-size:12px}.room-invite .button{flex-shrink:0;padding:12px;font-size:12px}.room-wait{color:var(--color-text-muted);margin:12px 0;font-size:13px}.room-wait b{color:var(--color-brand);font-variant-numeric:tabular-nums}.room-modal .slot-avatar{font-size:15px;font-weight:700}.online-layout #room-code{text-transform:none}@media (width<=600px){.room-invite>div{flex-direction:column}.room-modal .room-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
