:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;-webkit-text-size-adjust:100%;background:#0b0f14;width:100%;height:100dvh;margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex}.game-stage{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:8px;display:flex;position:relative;overflow:hidden}.top-bar{background:linear-gradient(160deg,#16233af7,#090e16f7);border:1px solid #ffffff12;border-radius:12px;flex:none;align-items:center;gap:10px;padding:2px 8px;display:flex}.top-bar__controls{flex:none;align-items:center;gap:8px;display:flex}.game-frame{background:#000;border-radius:12px;flex:auto;min-height:0;position:relative;overflow:hidden}.game-loader{z-index:20;color:#a3a3ae;text-align:center;background:#07070b;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:16px;font-family:Manrope,system-ui,Segoe UI,Roboto,sans-serif;display:flex;position:absolute;inset:0}.game-loader__brand{flex-direction:column;align-items:center;gap:12px;display:flex}.game-loader__mark{width:clamp(35px,9.6vw,51px);height:clamp(35px,9.6vw,51px);animation:2.4s ease-in-out infinite game-loader-pulse}@keyframes game-loader-pulse{0%,to{filter:drop-shadow(0 0 6px #7c3aed59)}50%{filter:drop-shadow(0 0 14px #00f5ff73)}}.game-loader__wordmark{letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(90deg,#00f5ff,#7c3aed 50%,#ff2e88);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(29px,8.4vw,41px);font-weight:800}.game-loader__status{flex-direction:column;align-items:center;gap:14px;display:flex}.game-loader__spinner{background:conic-gradient(#00f5ff,#7c3aed,#ff2e88,#00f5ff);border-radius:50%;width:32px;height:32px;animation:.85s linear infinite game-loader-spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3.5px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3.5px),#000 calc(100% - 3.5px))}@keyframes game-loader-spin{to{transform:rotate(360deg)}}.game-loader__text{letter-spacing:.02em;font-size:14px}.game-loader__text--error{color:#ff5c7a;text-align:center;max-width:280px}.game-loader__retry{color:#fff;cursor:pointer;background:0 0;border:1px solid #7c3aed;border-radius:8px;padding:8px 18px;font-weight:700}.game-loader__retry:hover{background:#7c3aed29}@media (height<=480px){.top-bar{border-radius:10px;gap:6px;padding:2px 8px}}.game-canvas{width:100%;height:100%;line-height:0;position:absolute;inset:0;overflow:hidden}.game-canvas canvas{display:block}.bet-amount-control{--bac-w:140px;width:var(--bac-w);flex:1 1 var(--bac-w);background:#16233aeb;border:1px solid #ffffff26;border-radius:10px;align-items:stretch;min-width:104px;height:40px;display:flex;position:relative;overflow:hidden}.bet-amount-control[aria-disabled=true]{opacity:.55}.bet-amount-control__step{color:#cdd8e6;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:0 0 32px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:700;line-height:1;transition:background .15s,color .15s;display:flex}.bet-amount-control__step--minus{border-right:1px solid #ffffff1f}.bet-amount-control__step--plus{border-left:1px solid #ffffff1f}.bet-amount-control__step:disabled{cursor:not-allowed;color:#cdd8e666}.bet-amount-control__step:hover:not(:disabled){color:#f2c94c;background:#f2c94c24}.bet-amount-control__step:active:not(:disabled){background:#f2c94c38}.bet-amount-control__value{color:#f4f7fb;text-align:center;background:0 0;border:none;flex:auto;min-width:0;padding:0 4px;font-size:16px;font-weight:700}.bet-amount-control__value:focus{outline:none}.betting-panel{flex:none}.betting-panel__dock{background:linear-gradient(160deg,#16233af7,#090e16f7);border:1px solid #ffffff12;border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:8px 16px;display:flex;box-shadow:0 10px 26px #00000059}.betting-panel__columns,.betting-panel__chips{display:contents}.betting-panel__row{flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;max-width:980px;display:flex}.betting-panel__row--horses{gap:8px}.betting-panel__row--controls{justify-content:flex-start;gap:16px}.horse-pick{--horse-color:#d64550;color:#cdd8e6;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#16233aeb;border:2px solid #ffffff1f;border-radius:10px;flex:none;align-items:flex-start;gap:8px;width:184px;padding:8px 10px;transition:border-color .15s,background .15s,transform .1s;display:flex}.horse-pick:hover:not(:disabled){border-color:var(--horse-color);transform:translateY(-1px)}.horse-pick--selected{border-color:var(--horse-color);background:color-mix(in srgb, var(--horse-color) 24%, #16233aeb);box-shadow:0 0 0 1px var(--horse-color)}.horse-pick:disabled{cursor:not-allowed;opacity:.55}.horse-pick--racing:disabled{cursor:default;opacity:1}.horse-pick__number{background:var(--horse-color);color:#0b0f14;text-align:center;border-radius:50%;flex-shrink:0;width:24px;height:24px;margin-top:1px;font-size:12px;font-weight:800;line-height:24px}.horse-pick__info{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.25;display:flex}.horse-pick__name{color:#f4f7fb;white-space:normal;overflow-wrap:break-word;font-size:13px;font-weight:700;line-height:1.15}.horse-pick__odds{color:var(--horse-color);margin-top:2px;font-size:16px;font-weight:700}.betting-panel__error{color:#f4b4b9;background:#d645502e;border:1px solid #d64550;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.betting-panel__bet-row{align-items:center;gap:6px;display:flex}.betting-panel__chip{color:#cdd8e6;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#16233aeb;border:1px solid #ffffff26;border-radius:8px;flex:none;min-height:32px;padding:7px 9px;font-size:12px}.betting-panel__chip:hover:not(:disabled){color:#f2c94c;border-color:#f2c94c}.betting-panel__chip:disabled{cursor:not-allowed;opacity:.4}.betting-panel__bet-btn{color:#0b2415;letter-spacing:.03em;text-transform:uppercase;text-shadow:0 1px #ffffff40;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(#5fd985 0%,#2f9e52 55%,#1f7a3d 100%);border:1px solid #ffffff38;border-radius:12px;flex:auto;min-width:120px;min-height:42px;padding:0 20px;font-size:16px;font-weight:800;transition:filter .15s,transform 80ms,box-shadow 80ms;position:relative}.betting-panel__bet-btn:hover:not(:disabled){filter:brightness(1.08)}.betting-panel__bet-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #175f2e,0 3px 8px #0000004d,inset 0 1px #ffffff4d}.betting-panel__bet-btn:disabled{cursor:not-allowed;filter:grayscale(.6)brightness(.85);box-shadow:0 3px #175f2e80,0 8px 18px #0003,inset 0 1px #ffffff26}.betting-panel__auto-row{align-items:center;gap:8px;display:flex}.betting-panel__auto-btn{color:#2b1f06;letter-spacing:.03em;text-transform:uppercase;text-shadow:0 1px #ffffff40;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffe27a 0%,#f2c94c 55%,#cf9d1f 100%);border:1px solid #ffffff38;border-radius:12px;flex:none;min-width:110px;min-height:42px;padding:0 16px;font-size:14px;font-weight:800;transition:filter .15s,transform 80ms,box-shadow 80ms;position:relative}.betting-panel__auto-btn--stop{color:#fff;text-shadow:0 1px #0003;background:linear-gradient(#ff7b84 0%,#d64550 55%,#a52631 100%)}.betting-panel__auto-btn:hover:not(:disabled){filter:brightness(1.08)}.betting-panel__auto-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #96731a,0 3px 8px #0000004d,inset 0 1px #ffffff4d}.betting-panel__auto-btn--stop:active:not(:disabled){box-shadow:0 1px #7a1620,0 3px 8px #0000004d,inset 0 1px #ffffff4d}.betting-panel__auto-btn:disabled{cursor:not-allowed;filter:grayscale(.55)brightness(.85);box-shadow:0 3px #00000040,0 8px 18px #0003,inset 0 1px #ffffff26}.betting-panel__auto-progress{color:#f2c94c;white-space:nowrap;font-size:12px;font-weight:700}@media (width<=760px),(height<=480px){.betting-panel__dock{width:100%}.betting-panel__row--horses{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.horse-pick{width:148px;padding:6px 8px}.horse-pick__name{font-size:11px}.horse-pick__odds{font-size:14px}.horse-pick__number{width:20px;height:20px;font-size:10px;line-height:20px}.betting-panel__row--controls{gap:10px}}@media (height<=480px){.betting-panel__dock{border-radius:14px;gap:6px;padding:10px 12px}.horse-pick{width:128px;padding:4px 8px}.horse-pick__name{font-size:10px}.horse-pick__odds{font-size:9px}.horse-pick__number{width:18px;height:18px;font-size:9px;line-height:18px}.betting-panel__bet-btn{min-width:100px;min-height:40px;padding:0 14px}.betting-panel__auto-btn{min-width:90px;min-height:40px;padding:0 12px}}@media (width<=760px){.betting-panel__columns{flex-direction:column;gap:8px;width:100%;display:flex}.betting-panel__row--horses{flex-wrap:nowrap;justify-content:space-between;gap:6px;width:100%;padding-bottom:0;overflow:visible}.horse-pick{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;width:auto;min-width:0;padding:8px 2px}.horse-pick__info{align-items:center}.horse-pick__name{display:none}.horse-pick__odds{margin-top:0}.betting-panel__row--controls{flex-direction:column;justify-content:flex-start;gap:8px;width:100%;min-width:0}.betting-panel__bet-row{flex-direction:column;align-items:stretch;gap:8px;width:100%}.bet-amount-control{--bac-w:unset;width:100%}.betting-panel__chips{gap:6px;display:flex}.betting-panel__chip{flex:1 1 0;width:auto;min-width:0;padding:7px 4px}.betting-panel__bet-btn{width:100%}.betting-panel__auto-row{justify-content:center;width:100%}.betting-panel__auto-btn{width:100%}.betting-panel__auto-btn--stop{width:80%}}.winner-modal__backdrop{-webkit-backdrop-filter:blur(3px);z-index:1000;background:#04080d99;justify-content:center;align-items:center;animation:.2s both winner-backdrop-fade;display:flex;position:fixed;inset:0}@keyframes winner-backdrop-fade{0%{opacity:0}to{opacity:1}}.winner-modal{text-align:center;background:linear-gradient(160deg,#16233a,#0c1524);border:2px solid #ffffff1a;border-radius:20px;flex-direction:column;align-items:center;gap:6px;width:min(360px,88vw);padding:32px 28px 26px;animation:.45s cubic-bezier(.34,1.56,.64,1) both winner-modal-pop;display:flex;position:relative;box-shadow:0 20px 60px #00000080}.winner-modal--win{border-color:#f2c94c;box-shadow:0 0 0 1px #f2c94c66,0 20px 60px #00000080,0 0 50px #f2c94c40}.winner-modal--lose{border-color:#d6455099}@keyframes winner-modal-pop{0%{opacity:0;transform:scale(.55)translateY(30px)}65%{opacity:1;transform:scale(1.05)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.winner-modal__badge{margin-bottom:4px;font-size:52px;line-height:1}.winner-modal--win .winner-modal__badge{animation:1.1s ease-in-out .3s infinite winner-badge-bounce}@keyframes winner-badge-bounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-6px)rotate(-6deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-3px)rotate(6deg)}}.winner-modal__title{letter-spacing:.3px;color:#f4f7fb;margin:0;font-size:26px;font-weight:800}.winner-modal--win .winner-modal__title{color:#f2c94c}.winner-modal__subtitle{color:#a9b6c8;margin:0;font-size:14px}.winner-modal__horse-name{font-weight:700}.winner-modal__payout{color:#7be0a0;margin:10px 0 4px;font-size:38px;font-weight:800;animation:.4s .15s both winner-payout-in}@keyframes winner-payout-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.winner-modal__message{color:#cdd8e6;margin:10px 0 4px;font-size:15px}.winner-modal__close{color:#fff;cursor:pointer;background:#d64550;border:none;border-radius:10px;width:100%;margin-top:18px;padding:12px 20px;font-size:15px;font-weight:700;transition:background .15s}.winner-modal--win .winner-modal__close{color:#16233a;background:#f2c94c}.winner-modal__close:hover{filter:brightness(1.1)}.countdown-overlay{z-index:500;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.countdown-overlay__number{color:#f2c94c;text-shadow:0 0 40px #f2c94cb3,0 4px #0006;-webkit-text-stroke:3px #0b0f1499;font-size:clamp(96px,18vw,220px);font-weight:800;line-height:1;animation:.8s cubic-bezier(.22,1,.36,1) both countdown-pop}.countdown-overlay__number--go{color:#4caf6e;text-shadow:0 0 50px #4caf6ecc,0 4px #0006}@keyframes countdown-pop{0%{opacity:0;transform:scale(.35)}18%{opacity:1;transform:scale(1.2)}32%{opacity:1;transform:scale(1)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.sound-toggle{aspect-ratio:1;color:#f2c94c;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#16233aeb;border:1px solid #ffffff26;border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;padding:0;transition:filter .15s,transform .1s,color .15s,border-color .15s;display:flex}.sound-toggle__icon{width:60%;height:60%}.sound-toggle:hover:not(.sound-toggle--muted){filter:brightness(1.1);border-color:#f2c94c80}.sound-toggle:active{transform:scale(.92)}.sound-toggle--muted{color:#cdd8e6}@media (height<=480px){.sound-toggle{width:34px}}.balance-display{background:#16233aeb;border:1px solid #ffffff26;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;min-width:130px;padding:3px 8px;display:flex}.balance-display__label{letter-spacing:.04em;text-transform:uppercase;color:#8a97ab;font-size:10px;font-weight:700}.balance-display__value{white-space:nowrap;text-overflow:ellipsis;color:#f2c94c;max-width:100%;font-size:16px;font-weight:800;overflow:hidden}@media (height<=480px){.balance-display{min-width:100px;padding:3px 10px}.balance-display__label{font-size:9px}.balance-display__value{font-size:13px}}@media (width<=480px){.balance-display{min-width:92px;padding:3px 10px}.balance-display__value{font-size:12px}}.session-history{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;flex-flow:row;flex:auto;align-items:center;gap:6px;min-width:0;padding:2px 1px;display:flex;overflow:auto hidden}.session-history::-webkit-scrollbar{display:none}.session-history--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.session-history__empty{color:#7c8aa0;white-space:nowrap;flex:none;font-size:12px}.session-history__chip{white-space:nowrap;background:#16233aeb;border:1.5px solid;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:800}.session-history__chip-name{font-weight:600}.session-history__chip--win{color:#2ce667;border-color:#2ce667}.session-history__chip--loss{color:#ff2525;border-color:#ff2525}@media (height<=480px){.session-history__chip{padding:3px 8px;font-size:11px}}.auto-bet-modal__backdrop{-webkit-backdrop-filter:blur(3px);z-index:1000;background:#04080d99;justify-content:center;align-items:center;animation:.2s both auto-bet-backdrop-fade;display:flex;position:fixed;inset:0}@keyframes auto-bet-backdrop-fade{0%{opacity:0}to{opacity:1}}.auto-bet-modal{background:linear-gradient(160deg,#16233a,#0c1524);border:2px solid #ffffff1a;border-radius:20px;flex-direction:column;gap:14px;width:min(340px,88vw);padding:26px 24px;animation:.3s cubic-bezier(.34,1.56,.64,1) both auto-bet-modal-pop;display:flex;box-shadow:0 20px 60px #00000080}@keyframes auto-bet-modal-pop{0%{opacity:0;transform:scale(.9)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.auto-bet-modal__title{text-align:center;color:#f4f7fb;margin:0 0 4px;font-size:20px;font-weight:800}.auto-bet-modal__field{flex-direction:column;gap:6px;display:flex}.auto-bet-modal__label{color:#cdd8e6;font-size:14px;font-weight:600}.auto-bet-modal__rounds-input{color:#f4f7fb;text-align:center;background:#080d14cc;border:1px solid #ffffff26;border-radius:10px;width:100%;padding:10px 12px;font-size:16px;font-weight:700}.auto-bet-modal__rounds-input:focus{border-color:#f2c94c;outline:none}.auto-bet-modal__hint{color:#f4b4b9;margin:-4px 0 0;font-size:12px}.auto-bet-modal__toggle-row{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.auto-bet-modal__switch{background:#ffffff26;border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.auto-bet-modal__switch--on{background:#f2c94c}.auto-bet-modal__switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.auto-bet-modal__switch-knob{background:#f4f7fb;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.auto-bet-modal__switch--on .auto-bet-modal__switch-knob{background:#16233a;transform:translate(18px)}.auto-bet-modal__start{color:#16233a;cursor:pointer;background:#f2c94c;border:none;border-radius:10px;margin-top:6px;padding:12px 20px;font-size:15px;font-weight:800;transition:filter .15s,opacity .15s}.auto-bet-modal__start:hover:not(:disabled){filter:brightness(1.08)}.auto-bet-modal__start:disabled{cursor:not-allowed;opacity:.5}.auto-bet-modal__cancel{color:#cdd8e6;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600}.auto-bet-modal__cancel:hover{color:#f4f7fb;border-color:#ffffff4d}
