:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#071018;color:#f6fbff;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}.game-shell{position:relative;width:100%;height:100%;min-height:100dvh;background:#071018;overflow:hidden;user-select:none;touch-action:none}.race-canvas{position:absolute;inset:0;width:100%;height:100%}.top-hud,.footer-bar,.race-status,.dashboard,.phase-banner,.shift-pop,.ready-panel,.result-panel{position:absolute;z-index:2}.top-hud{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto}.top-hud>div,.footer-bar,.race-status,.telemetry,.ready-panel,.result-panel{border:1px solid rgba(255,255,255,.14);background:#071018bd;box-shadow:0 16px 40px #00000052;backdrop-filter:blur(16px)}.top-hud>div{display:grid;gap:2px;min-width:128px;padding:10px 12px;border-radius:8px}.eyebrow,.telemetry span{color:#f6fbff94;font-size:.68rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.ghost-button,.restart-button{min-height:40px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#f6fbff17;color:#f6fbff;cursor:pointer;transition:background .16s ease,transform .16s ease}.ghost-button{padding:0 14px}.ghost-button:hover,.restart-button:hover{transition:none;background:#f6fbff29}.ghost-button:active,.restart-button:active{transform:translateY(1px)}.phase-banner{top:72px;left:50%;transform:translate(-50%);min-width:168px;padding:10px 18px;border-radius:8px;background:#f6fbffeb;color:#071018;text-align:center;font-size:clamp(1.4rem,4vw,3.2rem);font-weight:950;line-height:1;box-shadow:0 12px 32px #00000059;animation:banner-pop .6s cubic-bezier(.2,1.4,.2,1)}.shift-pop{top:22%;left:50%;display:grid;gap:4px;min-width:min(320px,calc(100vw - 32px));padding:14px 18px;transform:translate(-50%);border-radius:8px;background:#f6fbff;color:#071018;text-align:center;box-shadow:0 20px 60px #0000005c;animation:shift-pop .9s cubic-bezier(.2,1.4,.2,1) both}.shift-pop strong{font-size:clamp(1.1rem,5vw,2rem);line-height:1}.shift-pop span{color:#cf263d;font-weight:950}.shift-pop.good{background:#d6fbff}.shift-pop.early,.shift-pop.late,.shift-pop.miss{background:#ffcdc4}.dashboard{right:max(16px,env(safe-area-inset-right));bottom:calc(104px + env(safe-area-inset-bottom));display:grid;grid-template-columns:auto 112px;align-items:center;gap:14px}.rpm-panel{display:grid;place-items:center}.rpm-gauge{width:clamp(156px,21vw,236px);aspect-ratio:1;filter:drop-shadow(0 18px 32px rgba(0,0,0,.38));overflow:visible}.rpm-gauge-bg{fill:#071018e6;stroke:#ffffff14;stroke-width:22}.rpm-arc{fill:none;stroke-linecap:butt;stroke-width:18}.rpm-arc-base{stroke:#ffffff2b}.rpm-arc-sweet{stroke:#ffe071;filter:url(#rpmGlow)}.rpm-arc-red{stroke:#ff355d;opacity:.76}.rpm-tick{stroke:#ffffff6b;stroke-width:1}.rpm-tick.major{stroke:#ffffffc7;stroke-width:2}.rpm-number{fill:#f6fbffdb;font-size:16px;font-weight:900;text-anchor:middle;dominant-baseline:middle}.rpm-inner{fill:#071018;stroke:#28d7ff29;stroke-width:2}.rpm-value{fill:#f6fbff;font-size:34px;font-weight:950;text-anchor:middle;dominant-baseline:middle}.rpm-label{fill:#f6fbff94;font-size:11px;font-weight:900;text-anchor:middle;dominant-baseline:middle}.rpm-needle{stroke:#fff;stroke-linecap:round;stroke-width:5;filter:url(#rpmGlow);transition:x1 80ms linear,y1 80ms linear,x2 80ms linear,y2 80ms linear}.rpm-hub{fill:#071018;stroke:#ffffffdb;stroke-width:4}.telemetry{display:grid;grid-template-columns:1fr;gap:8px;min-width:112px;padding:12px;border-radius:8px}.telemetry div{display:grid;gap:1px}.telemetry strong{font-size:1.65rem;font-weight:950;line-height:1}.race-status{left:max(16px,env(safe-area-inset-left));bottom:calc(112px + env(safe-area-inset-bottom));display:grid;gap:10px;width:min(340px,calc(100vw - 32px));padding:12px;border-radius:8px}.player-stat{display:grid;gap:8px}.player-stat-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-stat-top span{font-weight:850}.player-stat-top strong{font-size:.92rem}.progress-track{height:10px;overflow:hidden;border-radius:8px;background:#ffffff1f}.progress-track div{height:100%;border-radius:inherit;background:#ff4d4d;transition:width 80ms linear}.player-stat.p2 .progress-track div{background:#28d7ff}.ready-panel{top:50%;left:50%;display:grid;gap:10px;width:min(340px,calc(100vw - 32px));padding:18px;transform:translate(-50%,-50%);border-radius:8px;text-align:center}.ready-panel strong{font-size:2rem;line-height:1}.ready-panel span{color:#f6fbffad;font-size:.94rem}.ready-button{min-height:54px;border:0;border-radius:8px;background:#ffe071;color:#071018;cursor:pointer;font-weight:950;transition:transform .13s ease,filter .13s ease}.ready-button:hover{transition:none;filter:brightness(1.06)}.ready-button:active{transform:translateY(2px)}.ready-button:disabled{background:#ffffff38;color:#f6fbff94;cursor:default}.footer-bar{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;padding:0 14px;border-radius:8px;color:#f6fbffb8;font-size:.9rem}.footer-bar span:first-child{color:#f6fbff;font-weight:900}.spacebar-hint{display:inline-grid;place-items:center;min-width:190px;min-height:34px;border:2px solid #8f8065;border-radius:6px;background:#d7c5a3;box-shadow:inset 0 -4px #07101838;color:#071018;font-weight:950}.result-panel{top:50%;left:50%;display:grid;gap:14px;width:min(360px,calc(100vw - 32px));padding:18px;transform:translate(-50%,-50%);border-radius:8px;text-align:center}.result-panel strong{font-size:2rem;line-height:1}.restart-button{padding:0 18px}@keyframes shift-pop{0%{opacity:0;transform:translate(-50%,16px) scale(.8)}16%{opacity:1;transform:translate(-50%) scale(1.06)}to{opacity:0;transform:translate(-50%,-42px) scale(1)}}@keyframes banner-pop{0%{transform:translate(-50%) scale(.86)}to{transform:translate(-50%) scale(1)}}@media (max-width: 760px){.phase-banner{top:68px}.dashboard{right:12px;bottom:calc(92px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:8px}.telemetry{grid-template-columns:repeat(4,1fr);width:min(360px,calc(100vw - 24px))}.telemetry strong{font-size:1.2rem}.race-status{top:122px;bottom:auto;left:12px;width:min(300px,calc(100vw - 24px))}.footer-bar{justify-content:center}.footer-bar span:not(.spacebar-hint){display:none}}@media (max-width: 520px){.top-hud{align-items:flex-start}.top-hud>div{min-width:104px;padding:8px 10px}.ghost-button{min-height:36px}.race-status{top:112px}.dashboard{left:12px;right:12px;bottom:calc(98px + env(safe-area-inset-bottom));justify-items:center}.rpm-gauge{width:148px}.spacebar-hint{min-width:170px}}
/*# sourceMappingURL=client.css.map */
