.racing-start-simulator{max-width:800px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;box-shadow:0 8px 32px #0000004d}.light-gantry{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:3rem 2rem;background:#000;border-radius:12px;margin-bottom:2rem;box-shadow:inset 0 0 30px #000c}.light{width:100px;height:100px;border-radius:50%;transition:all .1s ease;position:relative}.light.off{background:#333;box-shadow:inset 0 4px 8px #0009}.light.on{background:radial-gradient(circle,#f33,#c00);box-shadow:0 0 30px #ff0000e6,0 0 60px #ff000080,inset 0 0 20px #ff646480;animation:pulse .5s ease-in-out}@keyframes pulse{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}.status-message{text-align:center;min-height:3rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:#00d9ff;margin-bottom:2rem;text-transform:uppercase;letter-spacing:1px}.action-buttons{display:flex;justify-content:center;margin-bottom:2rem}.btn{padding:1.25rem 3rem;border:none;border-radius:8px;font-weight:600;font-size:1.25rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:1px;min-width:200px}.btn-primary,.btn-start{background:linear-gradient(135deg,#00d9ff,#00a8cc);color:#000;box-shadow:0 4px 12px #00d9ff4d}.btn-primary:hover:not(:disabled),.btn-start:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00d9ff66}.btn-primary:active:not(:disabled),.btn-start:active:not(:disabled){transform:translateY(0)}.btn-react{background:linear-gradient(135deg,#4ade80,#22c55e);color:#000;box-shadow:0 4px 12px #4ade804d;animation:glow-green 1s ease-in-out infinite}@keyframes glow-green{0%,to{box-shadow:0 4px 12px #4ade804d}50%{box-shadow:0 6px 20px #4ade8099}}.btn-react:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4ade8080}.btn-react:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#2a2a40;color:#e0e0e0;border:1px solid #3a3a50}.btn-secondary:hover:not(:disabled){background:#323250;border-color:#4a4a60;transform:translateY(-2px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-disabled{background:#2a2a40;color:#666;cursor:not-allowed;opacity:.5}.result-display{text-align:center;padding:2rem;background:#00d9ff14;border:1px solid rgba(0,217,255,.25);border-radius:12px;box-shadow:inset 0 0 25px #00d9ff0d}.result-time{margin-bottom:1.5rem}.false-start-warning{color:#ef4444;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;animation:flash .5s ease-in-out 3}@keyframes flash{0%,to{opacity:1}50%{opacity:.5}}.time-value{font-size:3rem;font-weight:800;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.3);line-height:1}.result-message{font-size:1rem;color:#e0f7ff;font-weight:500;line-height:1.5}.personal-best{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,217,255,.2)}.new-best{font-size:1.125rem;font-weight:700;color:#4ade80;text-transform:uppercase;letter-spacing:.5px;animation:celebrate .6s ease-in-out}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.previous-best{font-size:.875rem;color:#9ca3af;font-weight:500}@media(max-width:768px){.racing-start-simulator{padding:1.5rem}.light-gantry{gap:.75rem;padding:2rem 1rem}.light{width:50px;height:50px}.light.on{box-shadow:0 0 15px #ff0000e6,0 0 30px #ff000080,inset 0 0 10px #ff646480}.status-message{font-size:1.25rem;min-height:2.5rem}.btn{padding:1rem 2rem;font-size:1rem;min-width:160px}.time-value{font-size:2rem}.result-message,.false-start-warning{font-size:.875rem}}@media(max-width:480px){.light-gantry{gap:.5rem;padding:1.5rem .5rem}.light{width:40px;height:40px}.btn{width:100%;min-width:auto}}@media(prefers-contrast:high){.light.off{background:#000;border:2px solid #666}.light.on{border:2px solid #ff0000}.result-display{border:2px solid #00d9ff}}@media(prefers-reduced-motion:reduce){.light,.btn,.btn-react{transition:none;animation:none}.btn:hover:not(:disabled){transform:none}}.simulator-modal-backdrop{position:fixed;inset:0;background:#080a16d9;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:90}.simulator-modal{background:linear-gradient(160deg,#121b2d,#0a1222);border-radius:18px;padding:2rem;max-width:420px;width:100%;box-shadow:0 24px 64px #0000008c;text-align:center;border:1px solid rgba(0,217,255,.2)}.simulator-modal h3{margin:0 0 1rem;font-size:1.4rem;color:#00d9ff}.simulator-modal p{color:#e8ecff;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.simulator-modal p strong{color:#ffd166}.simulator-modal .btn{width:100%}.leaderboard-modal .modal-input-group{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;text-align:left;margin-bottom:1rem}.leaderboard-modal .modal-label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#8ea4ff}.leaderboard-modal input{background:#080c20e6;border:1px solid rgba(0,217,255,.25);border-radius:8px;padding:.6rem .8rem;color:#fff;font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.leaderboard-modal input:focus{border-color:#00d9ff;box-shadow:0 0 0 2px #00d9ff40}.leaderboard-modal .modal-hint{display:flex;justify-content:flex-end;font-size:.75rem;color:#7f8ac9}.modal-error{color:#ff8a80;font-size:.85rem;margin:-.25rem 0 1rem}.leaderboard-modal .modal-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.leaderboard-modal .modal-actions .btn{flex:1;min-width:0}.leaderboard-panel{background:#1a1a2e;padding:1.5rem;border-radius:12px;border:1px solid #2a2a40;margin-top:2rem}.leaderboard-panel h3{margin:0 0 1rem;color:#e0e0e0;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.leaderboard-panel .flex{display:flex}.leaderboard-panel .items-center{align-items:center}.leaderboard-panel .gap-2{gap:.5rem}.leaderboard-panel .w-4{width:1rem}.leaderboard-panel .h-4{height:1rem}.leaderboard-panel .text-primary{color:#00d9ff}.empty-leaderboard{text-align:center;color:gray;font-size:.9rem;padding:2rem 0}.leaderboard-status{text-align:center;color:#e0e0e0;font-size:.9rem;padding:2rem 0}.leaderboard-status.error{color:#ff6b6b;display:flex;flex-direction:column;align-items:center;gap:1rem}.leaderboard-status.error .btn{width:auto;min-width:120px;font-size:.8rem}.leaderboard-metadata{margin:-.25rem 0 .75rem;font-size:.75rem;color:#7f8ac9;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem;max-height:14rem;overflow-y:auto;padding-right:.25rem}.leaderboard-list::-webkit-scrollbar{width:6px}.leaderboard-list::-webkit-scrollbar-track{background:#0f0f1e66;border-radius:999px}.leaderboard-list::-webkit-scrollbar-thumb{background:#00d9ff66;border-radius:999px}.leaderboard-list::-webkit-scrollbar-thumb:hover{background:#00d9ff99}.leaderboard-entry{display:grid;grid-template-columns:40px 1fr auto;gap:.75rem;padding:.75rem;background:#0f0f1e;border-radius:6px;border:1px solid #1e1e3f;transition:all .2s ease}.leaderboard-entry:hover{background:#14142a;border-color:#00d9ff4d;transform:translate(4px)}.leaderboard-entry .rank{font-weight:600;color:#7f8ac9;font-size:.85rem}.leaderboard-entry .name{font-weight:500;color:#e0e0e0;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-entry .time{font-weight:700;color:#00d9ff;font-size:.9rem;white-space:nowrap}
