:root{--void: #07030f;--ink: #fff6ff;--magenta: #ff2d95;--cyan: #21e6ff;--lime: #b4ff39;--amber: #ffb020;--font-display: "Archivo Black", "Arial Black", system-ui, sans-serif;--font-ui: "Space Grotesk", system-ui, -apple-system, sans-serif;--fit-pad: max(14px, min(clamp(20px, 4vw, 40px), calc(6.5dvh - 25px) ));--fit-wordmark: max(34px, min(clamp(48px, 12vw, 110px), calc(17.3dvh - 63px) ));--fit-gap: max(4px, min(10px, calc(1.5dvh - 5px) ));--fit-btn-pad: max(6px, min(14px, calc(2dvh - 6px) ));--fit-btn-font: max(12px, min(clamp(14px, 2.6vw, 17px), calc(1.32dvh + 3.8px) ));--fit-sub-font: max(9px, min(11px, calc(.67dvh + 4.3px) ));--fit-badge-gap: max(6px, min(18px, calc(3dvh - 12px) ))}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--void);color:var(--ink);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}#app{position:fixed;inset:0}#stage{display:block;width:100%;height:100%;image-rendering:pixelated}#overlay{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}.panel{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;width:min(680px,90vw);padding:var(--fit-pad);background:linear-gradient(160deg,#18082cf0,#07030ff7);border:2px solid rgba(255,45,149,.5);border-radius:18px;box-shadow:0 0 0 1px #21e6ff40,0 30px 90px #000000b3,inset 0 0 80px #ff2d9514;backdrop-filter:blur(6px);text-align:center;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.panel>*{flex-shrink:0}.panel button,.panel input,.chassis-grid{touch-action:pan-y}#pause-button{position:absolute;right:12px;bottom:max(8px,env(safe-area-inset-bottom));z-index:2;padding:8px 12px;border:1px solid var(--cyan);border-radius:8px;background:var(--void);color:var(--ink);cursor:pointer}#pause-button[hidden]{display:none}.build-stamp{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));z-index:2;font-size:10px;letter-spacing:.08em;white-space:nowrap;color:var(--ink);opacity:.45;pointer-events:auto;-webkit-user-select:text;user-select:text}.wordmark{font-family:var(--font-display);font-size:var(--fit-wordmark);line-height:.86;letter-spacing:-.03em;width:100%;text-align:center;margin:0 auto max(2px,min(8px,calc(2dvh - 9px)));color:var(--ink);text-shadow:-3px 0 var(--magenta),3px 0 var(--cyan),0 8px 0 rgba(0,0,0,.45)}.wordmark .w-tail{color:var(--magenta)}.title-badges{display:flex;gap:12px;margin:max(2px,min(8px,calc(2dvh - 9px))) auto var(--fit-badge-gap);font-size:11px;opacity:.85}.tagline{font-size:clamp(11px,2.2vw,14px);letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--cyan);width:100%;text-align:center;margin:0 auto 26px;opacity:.85}.menu{display:flex;flex-direction:column;gap:var(--fit-gap);margin:0 auto;width:100%;max-width:380px}.menu button{pointer-events:auto;font-family:var(--font-ui);font-weight:700;font-size:var(--fit-btn-font);letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;text-align:center;padding:var(--fit-btn-pad) 18px;color:var(--ink);background:#ffffff0a;border:2px solid rgba(255,255,255,.16);border-radius:12px;cursor:pointer;transition:transform 90ms ease,background 90ms ease,border-color 90ms ease}.menu button:hover,.menu button[data-focus="1"]{background:#ff2d952e;border-color:var(--magenta);transform:translate(4px)}.menu button .sub{display:block;font-weight:500;font-size:var(--fit-sub-font);letter-spacing:.08em;text-transform:none;opacity:.6;margin-top:max(1px,min(3px,calc(.8dvh - 4px)))}@media (max-height: 520px){:root{--fit-pad: max(10px, min(clamp(20px, 4vw, 40px), calc(6.5dvh - 25px) ));--fit-wordmark: max(26px, min(clamp(48px, 12vw, 110px), calc(17.3dvh - 63px) ));--fit-gap: max(3px, min(10px, calc(1.5dvh - 5px) ));--fit-btn-pad: max(4px, min(14px, calc(2dvh - 6px) ))}.menu button .sub{display:none}}.hint{margin-top:22px;font-size:12px;letter-spacing:.1em;opacity:.5;line-height:1.7}.kbd{display:inline-block;padding:1px 7px;margin:0 2px;border:1px solid rgba(255,255,255,.28);border-bottom-width:2px;border-radius:5px;font-size:11px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:4px 0 20px;width:100%}.stat{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 8px}.stat b{display:block;font-family:var(--font-display);font-size:24px;letter-spacing:-.02em}.stat span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}.tab-bar{display:flex;gap:8px;margin-bottom:16px;width:100%;justify-content:center}.tab-btn{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--ink);cursor:pointer}.tab-btn.active,.tab-btn:hover{background:#21e6ff33;border-color:var(--cyan);color:var(--cyan)}.score-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:12px}.score-table th{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.2);color:var(--cyan);text-align:left;letter-spacing:.1em}.score-table td{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--ink)}.chassis-grid{display:flex;flex-direction:column;gap:12px;width:100%;max-height:42vh;overflow-y:auto;margin-bottom:20px;padding-right:4px}.chassis-card{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:10px;text-align:left}.chassis-card.active{border-color:var(--lime);background:#b4ff3914}.chassis-info b{display:block;font-family:var(--font-display);font-size:16px;color:var(--ink)}.chassis-info span{display:block;font-size:11px;opacity:.7;margin-top:2px}.badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.1em;text-transform:uppercase}.badge-lime{background:#b4ff3933;color:var(--lime);border:1px solid var(--lime)}.badge-amber{background:#ffb02033;color:var(--amber);border:1px solid var(--amber)}.initials-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0;width:100%}.initials-input{font-family:var(--font-display);font-size:24px;letter-spacing:.2em;text-align:center;width:100px;padding:8px;background:#00000080;border:2px solid var(--cyan);border-radius:8px;color:var(--cyan);text-transform:uppercase}.hidden{display:none!important}
