*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#000;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app,#ui{width:100%;height:100%;position:fixed;inset:0}#app{z-index:0}#ui{z-index:10;pointer-events:none}.ui-hidden{display:none!important}#loading{z-index:100;background:#080812f7;justify-content:center;align-items:center;transition:opacity .45s;display:flex;position:fixed;inset:0}#loading.loading-fade{opacity:0}.loading-box{color:#fff;flex-direction:column;align-items:center;gap:16px;display:flex}.loading-spinner{border:3px solid #ffffff1f;border-top-color:#ffffffd9;border-radius:50%;width:42px;height:42px;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#ffffff80;letter-spacing:.04em;font-size:14px}.betting-bar{-webkit-backdrop-filter:blur(20px);z-index:30;pointer-events:auto;background:#080816ed;border-top:1px solid #ffffff1a;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.bet-notice{text-align:center;color:#ffd250e6;background:#ffc83c14;border-bottom:1px solid #ffc83c24;padding:5px 16px;font-size:12px}.bar-inner{align-items:stretch;gap:0;padding:10px 14px;display:flex}.bet-section{flex-direction:column;justify-content:center;gap:5px;padding:4px 14px;display:flex}.bet-divider{background:#ffffff1a;flex-shrink:0;width:1px;margin:4px 0}.bet-section-title{color:#fff6;letter-spacing:.03em;font-size:11px;font-weight:600}.winner-section{flex:1}.winner-btn-row{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.winner-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1.5px solid #ffffff1a;border-radius:8px;align-items:center;gap:5px;padding:5px 9px;font-family:inherit;font-size:13px;transition:background .15s,transform .1s;display:flex}.winner-btn:hover:not(:disabled){background:#ffffff21;transform:translateY(-1px)}.winner-btn:active:not(:disabled){transform:translateY(0)}.winner-btn:disabled{opacity:.38;cursor:not-allowed}.winner-btn.btn-selected{background:#ffffff24}.marble-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.exacta-section{flex:1.2}.exacta-title-row{align-items:center;gap:8px;display:flex}.exacta-clear-btn{color:#ffffff73;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:5px;padding:2px 7px;font-family:inherit;font-size:11px;transition:background .15s}.exacta-clear-btn:hover{color:#fff;background:#ffffff24}.exacta-row{align-items:center;gap:5px;display:flex}.exacta-row-label{color:#ffffff61;flex-shrink:0;width:16px;font-size:11px;font-weight:600}.exacta-dot-btn{cursor:pointer;background:0 0;border:1.5px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:border-color .15s,transform .1s;display:flex}.exacta-dot-btn:hover:not(:disabled){border-color:#fff6;transform:scale(1.12)}.exacta-dot-btn:disabled{opacity:.38;cursor:not-allowed}.exacta-dot-btn.btn-selected{border-color:#ffffffe6;box-shadow:0 0 0 2px #ffffff38}.exacta-dot{border-radius:50%;width:16px;height:16px;display:block}.action-section{flex-shrink:0;min-width:140px;padding-left:16px}.points-display{color:#ffffff80;font-variant-numeric:tabular-nums;font-size:13px}.points-value{color:#ffffffe6;font-weight:700}.stake-display{color:#ffffff61;font-variant-numeric:tabular-nums;font-size:12px}.stake-value{color:#ffffffa6;font-weight:600}.start-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:10px;margin-top:5px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:700;transition:background .2s,transform .1s}.start-btn:hover{background:#ffffff2e;transform:translateY(-1px)}.start-btn:active{transform:translateY(0)}.section-disabled{opacity:.38}.countdown-overlay{z-index:40;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cd-number{color:#fff;text-shadow:0 0 30px #fff6,0 0 80px #ffffff26;font-variant-numeric:tabular-nums;font-size:130px;font-weight:900;line-height:1}.cd-animate{animation:.65s ease-out forwards cd-pop}@keyframes cd-pop{0%{opacity:0;transform:scale(1.45)}15%{opacity:1;transform:scale(1.15)}65%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.82)}}.race-hud{z-index:20;pointer-events:none;-webkit-backdrop-filter:blur(14px);background:#080814b8;border:1px solid #ffffff14;border-radius:14px;min-width:188px;padding:10px 14px 8px;position:fixed;top:16px;left:16px}.hud-list{position:relative}.hud-row{color:#ffffffe0;align-items:center;gap:6px;width:100%;height:36px;font-size:13px;transition:transform .25s;display:flex;position:absolute;top:0;left:0}.hud-rank{font-variant-numeric:tabular-nums;color:#ffffff80;text-align:center;flex-shrink:0;width:16px;font-size:12px;font-weight:700}.hud-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.hud-name{flex:1;font-size:13px;font-weight:500}.hud-gap{font-variant-numeric:tabular-nums;color:#ffffff80;text-align:right;min-width:50px;font-size:11px}.hud-gap-lead{color:#64dc82e6;font-weight:600}.hud-gap-finished{color:#ffc83cd9}.hud-hint{color:#ffffff4d;letter-spacing:.04em;border-top:1px solid #ffffff12;margin-top:8px;padding-top:6px;font-size:11px}.result-overlay{z-index:50;pointer-events:auto;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.result-card{-webkit-backdrop-filter:blur(22px);color:#fff;text-align:center;background:#0c0c1cf0;border:1px solid #ffffff1c;border-radius:22px;width:min(390px,100vw - 32px);max-height:90vh;padding:28px 24px 24px;overflow-y:auto;box-shadow:0 28px 70px #000000a6}.result-winner{letter-spacing:.04em;margin-bottom:6px;font-size:30px;font-weight:900;line-height:1.1}.result-time{color:#ffffff73;font-variant-numeric:tabular-nums;margin-bottom:14px;font-size:13px}.result-order{text-align:left;background:#ffffff0a;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:14px;padding:12px;display:flex}.result-rank-row{color:#ffffffd9;align-items:center;gap:8px;font-size:14px;display:flex}.result-rank-num{text-align:right;font-variant-numeric:tabular-nums;color:#ffffff73;flex-shrink:0;width:18px;font-size:13px;font-weight:700}.result-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.result-name{font-weight:500}.bet-result{font-variant-numeric:tabular-nums;border-radius:10px;margin-bottom:8px;padding:9px 14px;font-size:14px;font-weight:600}.bet-win{color:#27c96d;background:#27c96d24;border:1px solid #27c96d47}.bet-lose{color:#e63b2e;background:#e63b2e24;border:1px solid #e63b2e47}.bet-neutral{color:#ffffff6b;background:#ffffff0d;border:1px solid #ffffff1a}.result-payout{color:#ffffff80;font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:13px}.payout-positive strong{color:#27c96d}.payout-negative strong{color:#e63b2e}.payout-neutral strong{color:#fff9}.result-points{font-variant-numeric:tabular-nums;color:#ffffffe6;margin-bottom:20px;font-size:20px;font-weight:700}.again-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:13px;width:100%;padding:13px;font-family:inherit;font-size:15px;font-weight:700;transition:background .2s,transform .1s}.again-btn:hover{background:#ffffff2e;transform:translateY(-1px)}.again-btn:active{transform:translateY(0)}@media (width<=700px){.bar-inner{flex-direction:column;max-height:55vh;padding:8px 10px;overflow-y:auto}.bet-divider{width:100%;height:1px;margin:2px 0}.bet-section{padding:6px 4px}.action-section{flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px;padding-left:4px}.winner-btn{padding:4px 7px;font-size:12px}.cd-number{font-size:90px}.race-hud{border-radius:11px;min-width:155px;padding:8px 10px 6px}.result-winner{font-size:24px}.result-points{font-size:17px}}
