:root{color:#f5fbff;font-synthesis:none;--cyan:#22d9ff;--rose:#ff4f99;--ink:#050d19c2;--line:#9be1ff3d;--muted:#def1ffa3;background:#06101d;font-family:Inter,Segoe UI,Pretendard,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit}.game-shell{background:#06101d;width:100%;height:100%;position:relative}.game-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.game-canvas:active{cursor:grabbing}.vignette{pointer-events:none;background:radial-gradient(circle,#0000 42%,#02070e75 100%);position:absolute;inset:0}.hud-layer{padding:max(20px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));pointer-events:none;position:absolute;inset:0}.hud-layer>*{pointer-events:auto}.glass-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#071425db,#070d1a99);box-shadow:0 14px 42px #0000003d}.brand-lockup{pointer-events:none;align-items:baseline;gap:12px;display:flex;position:absolute;top:22px;left:28px}.brand-title{letter-spacing:-.08em;text-shadow:0 0 26px #22d9ff6b;font-size:clamp(28px,4vw,48px);font-weight:900}.brand-subtitle{color:var(--muted);letter-spacing:.22em;font-size:10px;font-weight:700}.connection-pill{color:var(--muted);letter-spacing:.14em;pointer-events:none;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex;position:absolute;top:30px;right:28px}.connection-dot{background:#ffb020;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px}.connection-pill[data-state=online] .connection-dot{background:#39ef9d}.connection-pill[data-state=offline] .connection-dot{background:#ff6b5e}.launch-panel{border-radius:3px;width:min(430px,100vw - 56px);padding:26px;position:absolute;top:50%;left:28px;transform:translateY(-46%)}.eyebrow,.panel-kicker{color:var(--cyan);letter-spacing:.18em;margin:0 0 12px;font-size:10px;font-weight:900}.launch-panel h1{letter-spacing:-.055em;max-width:360px;margin:0;font-size:clamp(30px,4vw,54px);line-height:.98}.launch-copy{max-width:360px;color:var(--muted);margin:18px 0;font-size:13px;line-height:1.65}.charge-meter{background:#ffffff14;border:0;width:100%;height:7px;overflow:hidden}.charge-meter::-webkit-progress-bar{background:#ffffff14}.charge-meter::-webkit-progress-value{background:linear-gradient(90deg, var(--cyan), #fff, var(--rose))}.charge-meter::-moz-progress-bar{background:linear-gradient(90deg, var(--cyan), #fff, var(--rose))}.livery-row,.render-distance-row{color:var(--muted);letter-spacing:.14em;gap:10px;margin-top:20px;font-size:9px;font-weight:800;display:grid}.color-presets{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-swatch{cursor:pointer;border:1px solid #ffffff47;border-radius:50%;width:25px;height:25px;padding:0}.color-swatch[data-selected=true]{outline-offset:2px;border-color:#fff;outline:2px solid #22d9ff85}.swatch-0{background:#f4f1e8}.swatch-1{background:#ff6b35}.swatch-2{background:#20d9ff}.swatch-3{background:#c45cff}.swatch-4{background:#1fe887}.color-presets input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;width:30px;height:30px;padding:2px}.random-color,.chat-form button{letter-spacing:.12em;cursor:pointer;background:#22d9ff17;border:1px solid #22d9ff7a;min-height:30px;font-size:9px;font-weight:900}.render-distance-row select{color:#f5fbff;border:1px solid var(--line);background:#0b1728;width:130px;min-height:34px;padding:0 10px}.compass{width:min(380px,45vw);height:42px;color:var(--muted);letter-spacing:.14em;pointer-events:none;border-radius:3px;justify-content:space-around;align-items:center;font-size:9px;display:flex;position:absolute;top:28px;left:50%;transform:translate(-50%)}.compass strong{color:#fff;font-size:13px}.compass-marker{background:var(--cyan);width:1px;height:11px;box-shadow:0 0 10px var(--cyan);position:absolute;bottom:-6px}.flight-metrics{pointer-events:none;border-radius:3px;grid-template-columns:repeat(2,minmax(88px,1fr));display:grid;position:absolute;top:112px;left:28px;overflow:hidden}.flight-metrics div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:112px;padding:14px 16px}.flight-metrics span{color:var(--muted);letter-spacing:.16em;font-size:8px;font-weight:900;display:block}.flight-metrics strong{font-variant-numeric:tabular-nums;margin-right:5px;font-size:24px;font-weight:800}.flight-metrics small{color:var(--cyan);font-size:9px}.ranking-panel{border-radius:3px;width:270px;padding:16px;position:absolute;top:82px;right:28px}.ranking-panel ol{margin:0;padding:0;list-style:none}.ranking-panel li{border-top:1px solid #9be1ff1a;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:30px;font-size:11px;display:grid}.ranking-panel li span{color:var(--cyan);font-variant-numeric:tabular-nums}.ranking-panel li strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-panel li em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.ranking-empty{color:var(--muted);margin:0;font-size:11px}.crash-status{color:var(--rose);letter-spacing:.08em;margin:12px 0 0;font-size:9px;font-weight:900}.chat-panel{border-radius:3px;width:min(430px,100vw - 56px);position:absolute;bottom:24px;left:28px;overflow:hidden}.chat-heading{border-bottom:1px solid var(--line);height:34px;color:var(--cyan);letter-spacing:.15em;justify-content:space-between;align-items:center;padding:0 12px;font-size:9px;font-weight:900;display:flex}.filter-toggle{color:var(--muted);letter-spacing:0;cursor:pointer;align-items:center;gap:6px;font-size:9px;display:flex}.filter-toggle input{accent-color:var(--cyan)}.chat-log{scrollbar-width:thin;height:110px;padding:9px 12px;overflow:auto}.chat-empty{color:#def1ff6b;font-size:11px}.chat-message{gap:8px;margin:4px 0;font-size:11px;line-height:1.35;display:flex}.chat-message strong{color:var(--cyan)}.boost-message span{color:#fff;text-shadow:0 0 10px var(--cyan)}.chat-form{border-top:1px solid var(--line);grid-template-columns:1fr 66px;display:grid}.chat-form input{color:#fff;border:0;border-right:1px solid var(--line);background:#020810bd;min-width:0;height:38px;padding:0 12px}.chat-form button{border:0}.chat-form input:focus,.render-distance-row select:focus,.color-presets input:focus{border-color:var(--cyan);box-shadow:none;outline:none}.flight-hint{color:#ffffffc2;letter-spacing:.13em;text-shadow:0 2px 12px #000;pointer-events:none;font-size:10px;font-weight:800;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.crash-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#02050c7a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.crash-overlay span{color:var(--rose);letter-spacing:.24em;font-size:10px;font-weight:900}.crash-overlay strong{letter-spacing:-.06em;margin-top:10px;font-size:clamp(34px,6vw,72px)}.crash-overlay small{color:var(--muted);margin-top:12px}@media (width<=820px){.hud-layer{padding:14px}.brand-lockup{top:14px;left:16px}.brand-subtitle{display:none}.connection-pill{top:20px;right:16px}.launch-panel{width:calc(100vw - 28px);max-height:45vh;padding:18px;top:auto;bottom:190px;left:14px;overflow:auto;transform:none}.launch-panel h1{font-size:32px}.launch-copy{margin:12px 0}.compass{width:calc(100vw - 32px);top:62px}.flight-metrics{grid-template-columns:repeat(4,1fr);width:calc(100vw - 32px);top:116px;left:16px}.flight-metrics div{min-width:0;padding:10px 8px}.flight-metrics strong{font-size:18px}.ranking-panel{width:210px;max-height:160px;top:202px;right:16px;overflow:hidden}.ranking-panel li:nth-child(n+5),.game-shell[data-phase=rooftop] .ranking-panel{display:none}.chat-panel{width:calc(100vw - 28px);bottom:14px;left:14px}.chat-log{height:78px}.flight-hint{text-align:center;width:90vw;bottom:144px}}@media (height<=620px) and (orientation:landscape){.launch-panel{max-height:calc(100vh - 90px);top:76px;bottom:14px;overflow:auto;transform:none}.chat-panel{width:340px;left:auto;right:16px}.ranking-panel{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
