*{box-sizing:border-box;margin:0;padding:0}:root{--gold:#e8a800;--gold2:#f5c300;--bg:#111;--bg2:#1a1a1a;--bg3:#222;--bg4:#2a2a2a;--bg5:#333;--text:#fff;--muted:#aaa;--border:#333;--green:#2d8a4e;--green2:#3aad64;--red:#c0392b}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;font-size:13px}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.header{background:#000;border-bottom:2px solid var(--gold);height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;z-index:200}.logo{display:flex;align-items:center;gap:10px;cursor:pointer}.logo-text{font-size:22px;font-weight:800;color:var(--gold);letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:10px}.conn-btn{background:var(--gold);color:#000;border:none;border-radius:3px;padding:7px 14px;font-size:13px;font-weight:700;letter-spacing:.3px}.conn-btn:hover{background:var(--gold2)}.user-info{display:flex;align-items:center;gap:10px}.username-badge{color:var(--gold);font-weight:700}.balance-badge{background:#1a2e1a;border:1px solid var(--green2);color:var(--green2);padding:4px 10px;border-radius:3px;font-weight:700;font-variant-numeric:tabular-nums}.logout-link{color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline}.logout-link:hover{color:#fff}.subnav{background:var(--gold);border-bottom:2px solid #c88000;height:42px;display:flex;align-items:center;flex-shrink:0}.snav-btn{display:flex;align-items:center;gap:7px;padding:0 22px;height:42px;color:#000;font-size:13px;font-weight:700;letter-spacing:.4px;border:none;background:none;border-right:1px solid #c88000;transition:.15s;text-transform:uppercase}.snav-btn:hover,.snav-btn.active{background:#c88000}.snav-btn.ml-auto{margin-left:auto}.home-full{display:flex;flex:1;overflow:hidden;height:calc(100vh - 50px)}.layout{display:flex;flex:1;overflow:hidden;height:calc(100vh - 92px)}.sidebar{width:245px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;background:var(--bg3);border-bottom:1px solid var(--border);color:#ccc;font-size:13px;font-weight:600}.cal-filter-bar{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;background:#1a1a1a;border-bottom:2px solid var(--border);width:100%;box-sizing:border-box;flex-shrink:0}.cal-filter-tab{padding:9px 0;font-size:10px;font-weight:700;letter-spacing:.2px;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis}.cal-filter-tab:hover{color:#fff}.cal-filter-tab.active{color:#fff;border-bottom-color:var(--gold)}.cal-filter-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg2);border-bottom:1px solid var(--border);color:#aaa;font-size:11px;font-weight:600;letter-spacing:.3px;flex-shrink:0}.cal-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.cal-tab{flex:1;text-align:center;padding:8px 4px;cursor:pointer;font-size:12px;color:var(--muted);border-right:1px solid var(--border);transition:.15s}.cal-tab:last-child{border-right:none}.cal-tab:hover{background:var(--bg3);color:#fff}.cal-tab.active{background:var(--gold);color:#000;font-weight:700}.sidebar-section{padding:7px 10px;font-size:12px;font-weight:700;color:#fff;background:var(--gold);border-bottom:1px solid #c88000;letter-spacing:.5px}.country-item{border-bottom:1px solid var(--border)}.country-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;transition:.15s;cursor:pointer}.country-head:hover{background:var(--bg3)}.country-head.open{background:var(--bg4)}.country-flag-name{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500}.country-arrow{color:var(--muted);font-size:11px;transition:.2s;display:inline-block}.country-head.open .country-arrow{transform:rotate(90deg);color:var(--gold)}.track-list{display:none}.track-list.open{display:block;background:var(--bg)}.track-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 7px 14px;cursor:pointer;border-bottom:1px solid #1a1a1a;transition:.15s;gap:6px}.track-item:hover{background:var(--bg3)}.track-item.active{background:#1a1500;border-left:3px solid var(--gold)}.track-icon{font-size:14px;flex-shrink:0;opacity:.8}.track-name{font-size:12px;color:#ddd;flex:1}.track-time{font-size:11px;color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.sidebar-empty{padding:16px 12px;color:var(--muted);font-size:12px}.country-race-count{background:var(--bg5);border-radius:8px;font-size:9px;color:var(--muted);padding:1px 5px;margin-left:5px;font-weight:700}.track-group{border-bottom:1px solid #1c1c1c}.sb-track-head{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 18px;background:var(--bg3);cursor:pointer;transition:.15s;border-bottom:1px solid var(--border)}.sb-track-head:hover{background:var(--bg4)}.sb-track-head.open .sb-track-name{color:#fff}.sb-track-icon{font-size:11px;opacity:.6;flex-shrink:0}.sb-track-name{flex:1;font-size:11px;font-weight:600;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-track-cnt{font-size:9px;color:var(--muted);background:var(--bg5);border-radius:8px;padding:1px 5px}.sb-track-arrow{color:var(--muted);font-size:11px;flex-shrink:0}.sb-race{display:flex;align-items:stretch;cursor:pointer;border-bottom:1px solid #161616;transition:.15s}.sb-race:hover{background:var(--bg3)}.sb-race.active{background:#1a1500;border-left:3px solid var(--gold)}.sb-race-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 6px;min-width:44px;gap:2px;flex-shrink:0}.sb-race-num{font-size:10px;font-weight:800;color:#fff;line-height:1;letter-spacing:.3px}.sb-race-time{font-size:9px;color:#ffffffbf;font-variant-numeric:tabular-nums;line-height:1}.sb-race-info{flex:1;padding:7px 8px 7px 0;min-width:0}.sb-race-name{font-size:11px;font-weight:600;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;margin-bottom:3px}.sb-race-meta{display:flex;gap:5px;flex-wrap:wrap}.sb-race-meta span{font-size:9px;color:var(--muted)}.center{flex:1;display:flex;flex-direction:column;overflow:hidden}.live-bar{background:#0a0a0a;border-bottom:1px solid #222;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.live-badge{display:flex;align-items:center;gap:6px;background:#c0392b;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:700;letter-spacing:.5px}.live-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.utc-clock{color:var(--muted);font-size:12px}.center-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.runners-table-wrap{overflow-x:auto;width:100%}.no-race{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:16px;color:var(--muted)}.no-race-icon{font-size:48px;opacity:.3}.race-header{background:var(--bg2);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.race-track-info{display:flex;align-items:center;gap:10px}.race-flag{font-size:20px}.race-track-name{font-size:16px;font-weight:700}.race-date{font-size:12px;color:var(--muted);margin-top:2px}.race-tabs{display:flex;gap:4px}.race-tab{padding:0 10px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg4);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:12px;font-weight:700;color:var(--muted);transition:.15s;white-space:nowrap;text-transform:uppercase}.race-tab:hover{background:var(--bg5);color:#fff}.race-tab.active{background:var(--green2);color:#fff;border-color:var(--green2)}.race-info-card{background:var(--bg3);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;gap:12px}.race-num-box{width:36px;height:36px;background:var(--green2);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0}.race-name{font-size:14px;font-weight:700}.race-meta{font-size:11px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:10px}.race-time-badge{background:var(--red);color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:700}.race-type-badge{background:var(--bg5);color:var(--gold);padding:2px 7px;border-radius:3px;font-size:11px;font-weight:600}.status-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px}.bet-table-wrap{padding:12px 14px;border-bottom:1px solid var(--border)}.bet-table{width:100%;border-collapse:collapse;font-size:12px}.bet-table th{background:var(--bg4);color:var(--muted);padding:6px 8px;text-align:center;border:1px solid var(--border);font-weight:600}.bet-table th.gold-hdr{background:var(--gold);color:#000;font-weight:700}.bet-table td{padding:6px 8px;text-align:center;border:1px solid var(--border);color:#ddd}.bet-table tr:hover td{background:var(--bg4)}.bet-cell{background:none;border:1px solid var(--border);color:#fff;padding:4px 10px;border-radius:3px;font-size:12px;font-weight:600;width:100%;transition:.15s}.bet-cell:hover,.bet-cell.sel{background:var(--gold);color:#000;border-color:var(--gold)}.mise-input{background:var(--bg3);border:1px solid var(--gold);color:#fff;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:600;width:80px;text-align:center}.runners-table{width:100%;border-collapse:collapse;min-width:700px}.runners-table th{background:var(--bg4);color:var(--muted);padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);font-weight:600;font-size:11px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.runners-table td{padding:8px 10px;border-bottom:1px solid #1a1a1a;vertical-align:middle}.runners-table tr:hover td{background:var(--bg3)}.runner-num{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}.runner-name{font-size:13px;font-weight:700}.odds-box{background:var(--bg4);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:14px;font-weight:800;text-align:center;min-width:60px;font-variant-numeric:tabular-nums;color:#fff;transition:.15s}.odds-box.sel{background:var(--gold);color:#000;border-color:var(--gold)}.odds-box.disabled{pointer-events:none}.runner-row-sel td{background:#1a1500}.runner-row-sel td:first-child{border-left:3px solid var(--gold)}.race-bet-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg2);border-top:2px solid var(--border);flex-shrink:0}.race-bet-label{font-size:12px;color:var(--muted);font-weight:600}.race-bet-sel{flex:1;font-size:11px;color:var(--muted);text-align:center}.stake-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stake-chip{background:var(--bg4);border:1px solid var(--border);color:#ddd;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;transition:.15s;white-space:nowrap}.stake-chip:hover{background:var(--bg5);color:#fff}.stake-chip.active{background:var(--gold);border-color:var(--gold);color:#000}.stake-presets.compact .stake-chip{padding:4px 8px;font-size:10px}.select-runner{width:18px;height:18px;cursor:pointer;accent-color:var(--gold)}.slip{width:270px;background:var(--bg2);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.slip-header{background:#000;border-bottom:1px solid var(--gold);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.slip-title{font-size:12px;font-weight:700;color:#fff;letter-spacing:.3px;text-transform:uppercase}.slip-count{color:var(--muted);font-size:10px}.slip-body{min-height:80px;max-height:340px;overflow-y:auto;padding:8px}.slip-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100px;gap:8px;color:var(--muted);font-size:12px;text-align:center}.slip-race{background:var(--bg3);border-radius:3px;padding:8px 10px;margin-bottom:6px;border:1px solid var(--border)}.slip-race-name{font-size:11px;font-weight:700;color:#ddd}.slip-x{background:none;border:none;color:var(--red);cursor:pointer;font-size:14px;padding:0 2px}.slip-mise-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg3);border-top:1px solid var(--border)}.slip-mise-label{font-size:11px;color:var(--muted);font-weight:600}.slip-mise-total{font-size:10px;color:var(--gold);margin-left:auto;font-weight:700}.slip-validate-btn{background:var(--bg4)}.slip-validate-btn:hover{background:#1a2e1a;color:var(--green2)}.slip-actions{display:flex;border-top:1px solid var(--border)}.slip-action-btn{flex:1;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;cursor:pointer;color:#ccc;font-size:11px;font-weight:700;letter-spacing:.3px;transition:.15s;background:var(--bg3);text-transform:uppercase;border:none}.slip-action-btn:first-child{border-right:1px solid var(--border)}.slip-action-btn:hover{background:var(--bg4);color:#fff}.place-btn{width:100%;background:#2e7d32;color:#fff;border:none;padding:10px;font-size:13px;font-weight:700;border-radius:3px;margin-top:8px;letter-spacing:.3px;transition:.15s;text-transform:uppercase}.place-btn:hover{background:#388e3c}.side-sec{border-top:1px solid var(--border)}.side-sec-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg3);font-size:11px;font-weight:700;letter-spacing:.6px;cursor:pointer;color:#fff;border-bottom:1px solid var(--border);text-transform:uppercase}.side-tabs{display:flex;border-bottom:1px solid var(--border)}.side-tab{flex:1;text-align:center;padding:6px 4px;font-size:11px;font-weight:700;cursor:pointer;color:var(--muted);transition:.15s;border-right:1px solid var(--border);letter-spacing:.3px;background:none;border-top:none;border-bottom:none}.side-tab:last-child{border-right:none}.side-tab.active{color:var(--gold);background:var(--bg3)}.next-race-item{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid #1a1a1a;cursor:pointer;transition:.15s;font-size:12px}.next-race-item:hover{background:var(--bg3)}.next-race-name{flex:1;color:#ddd;font-weight:500}.next-race-c{color:var(--gold);font-weight:700;font-size:11px}.next-race-time{color:var(--muted);font-size:11px;min-width:38px;text-align:right}.my-bets-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg3);font-size:11px;font-weight:700;cursor:pointer;color:#fff;text-transform:uppercase;border:none;width:100%}.my-bet-row{padding:7px 12px;border-bottom:1px solid #1a1a1a;font-size:11px}.my-bet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.my-bet-name{font-weight:600;color:#ddd}.bet-badge{font-size:10px;font-weight:700;padding:1px 5px;border-radius:2px}.bet-badge.pending{background:#f5c30022;color:#f5c300;border:1px solid #f5c30055}.bet-badge.won{background:#2d8a4e22;color:#3aad64;border:1px solid #2d8a4e55}.bet-badge.lost{background:#c0392b22;color:#e74c3c;border:1px solid #c0392b55}.my-bet-details{color:var(--muted);display:flex;justify-content:space-between}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:500;display:none;align-items:center;justify-content:center}.modal-bg.open{display:flex}.modal{background:var(--bg2);border:1px solid var(--gold);border-radius:6px;width:380px;max-width:95vw}.modal-head{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg3)}.modal-title{font-size:16px;font-weight:700;color:var(--gold)}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:20px}.modal-close:hover{color:#fff}.modal-body{padding:18px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:600}.field input{width:100%;background:var(--bg3);border:1px solid var(--border);color:#fff;padding:9px 11px;border-radius:4px;font-size:14px;outline:none;transition:.15s}.field input:focus{border-color:var(--gold)}.auth-err{background:#3a0a0a;border:1px solid var(--red);color:#ff6b6b;font-size:12px;padding:8px 12px;border-radius:4px;margin-bottom:12px;display:none}.auth-err.show{display:block}.auth-switch{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}.auth-switch a{color:var(--gold);cursor:pointer}.modal-foot{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:10px;background:var(--bg3)}.modal-foot .conn-btn{flex:1;padding:10px}.cancel-btn{background:none;border:1px solid var(--border);color:var(--muted);border-radius:3px;padding:10px 16px;cursor:pointer;font-size:13px}.cancel-btn:hover{border-color:#fff;color:#fff}.bm-modal{width:420px;max-width:96vw}.bm-status-bar{padding:10px 18px;display:flex;align-items:center;justify-content:center}.bm-status-badge{padding:5px 18px;border-radius:20px;font-size:13px;font-weight:800;letter-spacing:.5px}.bm-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:0}.bm-section-title{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin:10px 0 6px}.bm-section-title:first-child{margin-top:0}.bm-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #1e1e1e;gap:12px}.bm-row:last-of-type{border-bottom:none}.bm-label{font-size:11px;color:var(--muted);flex-shrink:0;min-width:100px}.bm-value{font-size:12px;color:#ddd;text-align:right;word-break:break-all}.bm-divider{height:1px;background:var(--border);margin:6px 0}.bm-cancel-btn{width:100%;background:transparent;border:1px solid var(--red);color:var(--red);border-radius:4px;padding:9px;font-size:12px;font-weight:700;cursor:pointer;transition:.15s;letter-spacing:.3px}.bm-cancel-btn:hover:not(:disabled){background:var(--red);color:#fff}.bm-cancel-btn:disabled{opacity:.4;cursor:not-allowed}.view-modal-inner{width:700px;max-width:95vw}.vm-table{width:100%;border-collapse:collapse}.vm-table th{background:var(--bg3);color:var(--muted);padding:10px;text-align:left;font-size:11px;border-bottom:1px solid var(--border)}.vm-table td{padding:10px;border-bottom:1px solid #1a1a1a;font-size:12px}.vm-table tr:hover td{background:var(--bg3)}.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:7px;pointer-events:none}.toast{background:var(--bg3);border:1px solid var(--border);border-radius:5px;padding:10px 14px;font-size:13px;min-width:220px;box-shadow:0 8px 24px #000c;animation:tin .2s ease;display:flex;align-items:center;gap:8px}@keyframes tin{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.toast.success{border-color:var(--green2)}.toast.error{border-color:var(--red)}.toast.info{border-color:var(--gold)}.calendar-grid{padding:10px;flex:1;overflow-y:auto}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px}.calendar-nav span{font-size:13px;font-weight:700;color:#fff;text-transform:capitalize}.calendar-nav button{background:none;border:1px solid var(--border);color:var(--muted);border-radius:3px;width:26px;height:26px;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.15s}.calendar-nav button:hover{border-color:var(--gold);color:var(--gold)}.calendar-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.calendar-dow span{text-align:center;font-size:10px;font-weight:700;color:var(--muted);padding:4px 0;letter-spacing:.3px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 2px;border-radius:4px;cursor:pointer;font-size:12px;color:#bbb;transition:.15s;min-height:32px;border:1px solid transparent;-webkit-user-select:none;user-select:none}.calendar-day:hover{background:var(--bg4);color:#fff}.calendar-day.today{color:var(--gold);font-weight:700;border-color:#e8a80044}.calendar-day.selected{background:var(--gold);color:#000;font-weight:700}.calendar-day.selected:hover{background:var(--gold2)}.calendar-day.selected.today{border-color:transparent}.calendar-day.empty{cursor:default;pointer-events:none}.cal-day-num{line-height:1;font-size:12px}.cal-badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 2px;background:var(--gold);color:#000;font-size:8px;font-weight:800;border-radius:7px;line-height:1;margin-top:2px}@media (max-width: 1024px){.layout,.home-full{height:auto;overflow:auto}.layout{flex-direction:column}.sidebar,.slip{width:100%;border-left:none;border-right:none}.sidebar{border-bottom:1px solid var(--border);max-height:42vh}.slip{border-top:1px solid var(--border);max-height:none}.race-header,.race-info-card,.race-bet-bar,.live-bar{flex-wrap:wrap;gap:10px}.race-tabs{width:100%;overflow-x:auto;padding-bottom:2px}.race-tab{flex:0 0 auto}.race-bet-sel{flex-basis:100%;order:3;text-align:left}}@media (max-width: 768px){.header{height:auto;padding:10px 12px;gap:10px;align-items:flex-start}.header-right{width:100%;justify-content:flex-end}.user-info{flex-wrap:wrap;justify-content:flex-end}.logo-text{font-size:20px}.subnav{height:auto;overflow-x:auto}.snav-btn{height:auto;flex:0 0 auto;padding:10px 14px}.race-header,.race-info-card,.bet-table-wrap,.race-bet-bar{padding-left:10px;padding-right:10px}.runners-table{min-width:620px}.slip-header{position:static}.slip-body{max-height:none}.home-race-grid{grid-template-columns:1fr}.toast-wrap{left:12px;right:12px;bottom:12px}.toast{min-width:0}}.calendar-day.selected .cal-badge{color:#000}.calendar-loading{text-align:center;color:var(--muted);font-size:11px;padding:10px;margin-top:6px}.home-page{display:flex;flex-direction:column;flex:1;overflow:hidden}.home-hero{position:relative;flex-shrink:0;overflow:hidden;background:linear-gradient(125deg,#060606,#0d1f08 45%,#1a0e00);border-bottom:2px solid var(--gold);padding:34px 32px 28px;min-height:200px}.home-hero:before{content:"🏇";position:absolute;right:-10px;bottom:-40px;font-size:240px;opacity:.04;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.home-hero-utc{position:absolute;top:10px;right:14px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.home-hero-live{position:absolute;top:10px;left:14px}.home-hero-content{position:relative;z-index:1;max-width:580px}.hero-label{font-size:10px;font-weight:700;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}.hero-countdown{font-size:62px;font-weight:900;color:#fff;line-height:1;margin-bottom:8px;font-variant-numeric:tabular-nums;letter-spacing:-3px}.hero-track{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.hero-race-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:10px;line-height:1.25}.hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.hero-meta span{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:3px 8px;font-size:11px;color:var(--muted)}.hero-bet-btn{background:var(--green2);color:#fff;border:none;border-radius:4px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:.15s;letter-spacing:.3px}.hero-bet-btn:hover{background:var(--green)}.home-program{flex:1;overflow-y:auto;padding:14px 16px}.home-program-head{font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.home-race-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:7px}.home-race-card{background:var(--bg2);border:1px solid var(--border);border-radius:5px;padding:10px 11px;cursor:pointer;transition:.15s}.home-race-card:hover{background:var(--bg3);border-color:var(--gold);transform:translateY(-1px)}.home-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.home-card-flag{font-size:10px;color:var(--muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-card-time{font-size:10px;font-weight:700;color:var(--gold);white-space:nowrap;margin-left:4px;font-variant-numeric:tabular-nums}.home-card-time.live{color:var(--red)}.home-card-course{font-size:10px;color:var(--muted);margin-bottom:2px}.home-card-name{font-size:12px;font-weight:700;color:#ddd;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.home-card-meta{display:flex;gap:4px;flex-wrap:wrap}.home-card-meta span{font-size:9px;color:var(--muted);background:var(--bg4);border-radius:2px;padding:1px 5px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}:root{--gold-grad:linear-gradient(135deg,#f5c300 0%,#e8a800 55%,#d49000 100%);--gold-glow:0 0 18px rgba(232,168,0,.28);--green-grad:linear-gradient(135deg,#3aad64,#2d8a4e);--shadow-1:0 1px 3px rgba(0,0,0,.4);--shadow-2:0 4px 16px rgba(0,0,0,.45);--shadow-3:0 12px 36px rgba(0,0,0,.55);--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}html,body,#root{font-family:Inter,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#e8a80055;color:#fff}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}button:focus-visible,input:focus-visible{outline-offset:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes ping{75%,to{transform:scale(2.4);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes oddsFlash{0%{box-shadow:0 0 #e8a8008c}to{box-shadow:0 0 0 8px #e8a80000}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:8px;border:2px solid #111}::-webkit-scrollbar-thumb:hover{background:#e8a80088}.header{background:linear-gradient(180deg,#0d0d0d,#000);border-bottom:1px solid #e8a80066;box-shadow:0 1px #e8a80040,0 6px 18px #00000080;position:relative}.logo-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(232,168,0,.25));transition:filter .25s var(--ease-out)}.logo:hover .logo-text{filter:drop-shadow(0 0 18px rgba(232,168,0,.5))}.conn-btn{background:var(--gold-grad);border-radius:4px;box-shadow:0 2px 10px #e8a8004d;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-out)}.conn-btn:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 4px 18px #e8a80073}.conn-btn:active{transform:scale(.97)}.balance-badge{box-shadow:inset 0 1px #3aad6433,0 0 12px #3aad641f;border-radius:4px}.subnav{background:var(--gold-grad);border-bottom:none;box-shadow:0 2px 12px #e8a80038}.snav-btn{position:relative;transition:background .18s var(--ease-out)}.snav-btn:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:#000;transform:translate(-50%);transition:width .22s var(--ease-out)}.snav-btn:hover:after,.snav-btn.active:after{width:60%}.country-head,.track-item,.sb-race,.sb-track-head,.next-race-item{transition:background .18s var(--ease-out),border-color .18s var(--ease-out),transform .18s var(--ease-out)}.track-item:hover,.sb-race:hover{transform:translate(2px)}.track-item.active,.sb-race.active{background:linear-gradient(90deg,#e8a80024,#e8a80008);border-left:3px solid var(--gold)}.cal-tab.active{background:var(--gold-grad)}.sidebar-section{background:var(--gold-grad);text-shadow:0 1px 1px rgba(0,0,0,.25);color:#000}.calendar-day{transition:background .15s var(--ease-out),color .15s,transform .15s var(--ease-spring)}.calendar-day:hover{transform:scale(1.08)}.calendar-day.selected{background:var(--gold-grad);box-shadow:var(--gold-glow)}.calendar-day.today{box-shadow:inset 0 0 0 1px #e8a80055}.race-tab{transition:all .18s var(--ease-out)}.race-tab:hover{transform:translateY(-1px)}.race-tab.active{background:var(--green-grad);box-shadow:0 2px 10px #3aad644d}.race-num-box{background:var(--green-grad);box-shadow:0 2px 8px #3aad644d;border-radius:6px}.runners-table tr td{transition:background .15s var(--ease-out)}.runners-table tbody tr:hover td{background:#222}.runner-row-sel td{background:linear-gradient(90deg,#e8a8001f,#e8a8000a)!important}.odds-box{border-radius:5px;cursor:pointer;transition:transform .15s var(--ease-spring),background .18s,border-color .18s,box-shadow .25s var(--ease-out)}.odds-box:hover{transform:translateY(-2px) scale(1.05);border-color:var(--gold);box-shadow:0 4px 12px #0006}.odds-box.sel{background:var(--gold-grad);box-shadow:var(--gold-glow);animation:oddsFlash .5s var(--ease-out)}.bet-cell{border-radius:4px;transition:all .15s var(--ease-out)}.bet-cell:hover{transform:scale(1.04)}.bet-cell.sel{background:var(--gold-grad);box-shadow:var(--gold-glow)}.mise-input{border-radius:4px;transition:box-shadow .2s var(--ease-out)}.mise-input:focus{outline:none;box-shadow:0 0 0 3px #e8a80033}.slip{box-shadow:-4px 0 18px #00000059}.slip-header{background:linear-gradient(180deg,#0d0d0d,#000)}.slip-race{border-radius:5px;animation:fadeUp .3s var(--ease-out) both;transition:border-color .18s,transform .18s var(--ease-out)}.slip-race:hover{border-color:#e8a80055;transform:translate(-2px)}.slip-x{transition:transform .15s var(--ease-spring),color .15s}.slip-x:hover{transform:scale(1.3) rotate(90deg);color:#ff6b6b}.place-btn{background:var(--green-grad);border-radius:5px;box-shadow:0 3px 12px #2e7d3259;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-out),filter .2s}.place-btn:hover{background:var(--green-grad);filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 5px 18px #2e7d3280}.place-btn:active{transform:scale(.97)}.hero-bet-btn{background:var(--green-grad);border-radius:5px;box-shadow:0 3px 14px #3aad6459;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-out),filter .2s}.hero-bet-btn:hover{background:var(--green-grad);filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 6px 22px #3aad6480}.hero-bet-btn:active{transform:scale(.97)}.live-dot{position:relative;animation:none;opacity:1}.live-dot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;animation:ping 1.3s var(--ease-out) infinite}.modal-bg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b8}.modal-bg.open{animation:fadeIn .2s var(--ease-out) both}.modal{border-radius:10px;border-color:#e8a80055;box-shadow:var(--shadow-3),0 0 0 1px #e8a80014,var(--gold-glow);animation:scaleIn .28s var(--ease-spring) both;overflow:hidden}.field input{border-radius:5px;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8a80029}.cancel-btn{border-radius:5px;transition:all .18s var(--ease-out)}.toast{border-radius:7px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#222222eb;animation:tin .35s var(--ease-spring) both;box-shadow:var(--shadow-2)}.toast.success{box-shadow:var(--shadow-2),0 0 16px #3aad6426}.toast.error{box-shadow:var(--shadow-2),0 0 16px #c0392b2e}.toast.info{box-shadow:var(--shadow-2),0 0 16px #e8a80026}.hero-countdown{background:linear-gradient(180deg,#fff 30%,#e8a800 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 18px rgba(232,168,0,.18))}.home-hero{animation:fadeIn .4s var(--ease-out) both}.home-hero-content{animation:fadeUp .5s var(--ease-out) both}.home-race-card{border-radius:7px;transition:transform .2s var(--ease-out),border-color .2s,box-shadow .25s var(--ease-out),background .2s}.home-race-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow-2),0 0 14px #e8a8001f}.home-race-grid>.home-race-card{animation:fadeUp .4s var(--ease-out) both}.home-race-grid>.home-race-card:nth-child(1){animation-delay:.02s}.home-race-grid>.home-race-card:nth-child(2){animation-delay:.05s}.home-race-grid>.home-race-card:nth-child(3){animation-delay:.08s}.home-race-grid>.home-race-card:nth-child(4){animation-delay:.11s}.home-race-grid>.home-race-card:nth-child(5){animation-delay:.14s}.home-race-grid>.home-race-card:nth-child(6){animation-delay:.17s}.home-race-grid>.home-race-card:nth-child(7){animation-delay:.2s}.home-race-grid>.home-race-card:nth-child(8){animation-delay:.23s}.bet-badge,.bm-status-badge,.race-time-badge,.race-type-badge{border-radius:4px}.bet-badge.pending{box-shadow:0 0 8px #f5c3001a}.bet-badge.won{box-shadow:0 0 8px #3aad641f}.skeleton{background:linear-gradient(90deg,#222 25%,#2e2e2e,#222 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px}.center-scroll>*,.layout{animation:fadeIn .25s var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
