.mobile-root,.mobile-root *{box-sizing:border-box}.mobile-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:linear-gradient(180deg,#1c130d,#2a1d12);color:#ede2be;font-family:system-ui,-apple-system,sans-serif;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-root button{min-width:44px;min-height:44px;font-family:inherit;cursor:pointer}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid #e8bd7933;flex-shrink:0;background:#1c130dd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mobile-header .mobile-title{font-size:14px;letter-spacing:2px;color:#e8bd79;font-weight:700}.mobile-header .mobile-balance{font-size:24px;color:#e8bd79;font-weight:700;text-shadow:0 0 12px rgba(232,189,121,.3);font-family:JetBrains Mono,Menlo,Consolas,monospace}.mobile-header .mobile-logout{background:transparent;border:1px solid #555;color:#aaa;font-size:11px;padding:4px 10px;border-radius:3px;min-height:32px}.mobile-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-footer{flex-shrink:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e8bd7933;background:#1c130dd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mobile-primary-btn{width:100%;padding:14px;background:#e8bd79;color:#1c130d;border:none;border-radius:6px;font-size:15px;font-weight:700;letter-spacing:1px;box-shadow:0 0 16px #e8bd7940;transition:transform .1s ease,box-shadow .2s ease}.mobile-primary-btn:active:not(:disabled){transform:scale(.97)}.mobile-primary-btn:disabled{background:#555;color:#999;box-shadow:none}.mobile-secondary-btn{width:100%;padding:12px;background:transparent;color:#ede2be;border:1px solid #555;border-radius:6px;font-size:14px}.mobile-centered{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.mobile-centered h1{font-size:22px;color:#e8bd79;letter-spacing:3px}.mobile-centered p{font-size:14px;color:#aaa;max-width:320px;line-height:1.5}.mobile-error{color:#c8412c;font-size:13px;background:#c8412c1f;padding:10px 14px;border-radius:4px;max-width:320px}.mobile-spinner{width:32px;height:32px;border:3px solid #333;border-top-color:#e8bd79;border-radius:50%;animation:mobile-spin .9s linear infinite}@keyframes mobile-spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.mobile-buyin-btn{padding:6px 14px;background:linear-gradient(135deg,#e8bd79,#bb7e52);color:#000;border:none;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;cursor:pointer;min-height:32px;min-width:auto;transition:transform .1s ease,box-shadow .2s ease;box-shadow:0 0 8px #e8bd794d}.mobile-buyin-btn:active{transform:scale(.95)}.mobile-buyin-btn--prominent{width:100%;padding:16px;font-size:16px;border-radius:8px;margin-bottom:12px}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes countdown-flash{0%,to{opacity:1;color:#c8412c}50%{opacity:.3;color:#d65d3a}}.countdown-urgent{color:#c8412c!important;animation:countdown-pulse 1s ease-in-out infinite}.countdown-critical{color:#c8412c!important;animation:countdown-flash .5s ease-in-out infinite;text-shadow:0 0 8px rgba(200,65,44,.5)}@keyframes bet-toast-enter{0%{transform:translate(-50%,20px);opacity:0}20%{transform:translate(-50%);opacity:1}80%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-10px);opacity:0}}.bet-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#7ba05b,#5a7a3f);color:#fff;padding:10px 24px;border-radius:20px;font-size:14px;font-weight:700;letter-spacing:1px;font-family:JetBrains Mono,Menlo,Consolas,monospace;box-shadow:0 4px 20px #7ba05b66;animation:bet-toast-enter 1.2s ease forwards;pointer-events:none;z-index:100}@keyframes result-reveal{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes payout-count{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes gold-shimmer{0%{text-shadow:0 0 10px rgba(232,189,121,.3)}50%{text-shadow:0 0 24px rgba(232,189,121,.6),0 0 40px rgba(232,189,121,.2)}to{text-shadow:0 0 10px rgba(232,189,121,.3)}}.result-reveal{animation:result-reveal .6s cubic-bezier(.34,1.56,.64,1) forwards}.payout-amount{animation:payout-count .6s ease-in-out}.gold-shimmer{animation:gold-shimmer 2s ease-in-out infinite}@keyframes photo-finish-flash{0%,to{opacity:1}50%{opacity:.5}}.photo-finish{color:#e8bd79;font-weight:700;letter-spacing:2px;text-shadow:0 0 12px rgba(232,189,121,.5);animation:photo-finish-flash .6s ease-in-out infinite}.race-lane-bar{transition:width .3s ease-out}.wager-btn{min-height:48px;border-radius:8px;font-weight:700;font-size:15px;font-family:JetBrains Mono,Menlo,Consolas,monospace;transition:transform .1s ease,box-shadow .2s ease;border:2px solid transparent}.wager-btn:active{transform:scale(.95)}.wager-btn--selected{background:#e8bd79;color:#1c130d;border-color:#e8bd79;box-shadow:0 0 12px #e8bd7959}.wager-btn--unselected{background:#3a2418;color:#ccc;border-color:#333}.quinella-row{transition:background .15s ease,transform .1s ease}.quinella-row:active:not(:disabled){transform:scale(.98);background:#46261a!important}@keyframes achievement-slide-in{0%{transform:translate(-50%) translateY(-80px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes achievement-badge-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.jockey-view{position:relative;overflow:hidden}.jockey-stats-bar{display:flex;justify-content:space-around;align-items:center;padding:8px 10px;background:#000000bf;border-bottom:1px solid #e8bd7933;font-family:JetBrains Mono,Menlo,Consolas,monospace;flex-shrink:0;z-index:10}.jockey-stat{text-align:center;min-width:0}.jockey-stat-label{font-size:9px;color:#666;letter-spacing:1px}.jockey-stat-value{font-size:14px;font-weight:700;white-space:nowrap}.jockey-score-value{color:#e8bd79;font-size:18px}.jockey-combo-value{font-size:18px;display:inline-block}.jockey-beat-bar{height:4px;background:#111;flex-shrink:0;overflow:hidden;position:relative}.jockey-beat-pulse{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,#e8bd79,transparent);transform-origin:center;will-change:transform,opacity}.jockey-tap-zones{flex:1;display:flex;align-items:stretch;min-height:0}.jockey-tap-zone{flex:1;display:flex;align-items:center;justify-content:center;transition:background .1s ease;position:relative}.jockey-tap-left{border-right:1px solid #222}.jockey-tap-active{background:#e8bd790f}.jockey-tap-left.jockey-tap-active{background:linear-gradient(90deg,#e8bd791a,#e8bd7905)}.jockey-tap-right.jockey-tap-active{background:linear-gradient(270deg,#e8bd791a,#e8bd7905)}.jockey-tap-circle{width:90px;height:90px;border-radius:50%;border:3px solid #333;display:flex;align-items:center;justify-content:center;font-size:32px;font-family:JetBrains Mono,Menlo,Consolas,monospace;color:#444;font-weight:700;transition:border-color .1s,color .1s}.jockey-tap-circle-active{border-color:#e8bd79;color:#e8bd79;box-shadow:0 0 20px #e8bd7926}@keyframes jockey-ripple-expand{0%{width:0;height:0;opacity:.6}to{width:160px;height:160px;opacity:0}}.jockey-ripple{position:fixed;border-radius:50%;border:2px solid;pointer-events:none;transform:translate(-50%,-50%);animation:jockey-ripple-expand .6s ease-out forwards;z-index:20}@keyframes jockey-ripple-expand-lg{0%{width:0;height:0;opacity:.7}to{width:200px;height:200px;opacity:0}}.jockey-ripple-perfect{border-width:3px;animation-name:jockey-ripple-expand-lg}.jockey-ripple-perfect:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;background:conic-gradient(from 0deg,currentColor 0deg 8deg,transparent 8deg 37deg,currentColor 37deg 45deg,transparent 45deg 82deg,currentColor 82deg 90deg,transparent 90deg 127deg,currentColor 127deg 135deg,transparent 135deg 172deg,currentColor 172deg 180deg,transparent 180deg 217deg,currentColor 217deg 225deg,transparent 225deg 262deg,currentColor 262deg 270deg,transparent 270deg 307deg,currentColor 307deg 315deg,transparent 315deg 352deg,currentColor 352deg 360deg);-webkit-mask:radial-gradient(closest-side,transparent 82%,#000 84%,#000 92%,transparent 94%);mask:radial-gradient(closest-side,transparent 82%,#000 84%,#000 92%,transparent 94%);color:inherit;opacity:.9}.jockey-ripple-great{border-width:5px}.jockey-ripple-good{border-width:2px;border-style:solid}.jockey-ripple-ok{border-width:1px;border-style:dashed}.jockey-ripple-miss{border:none;background:linear-gradient(45deg,transparent calc(50% - 1.5px),currentColor calc(50% - 1.5px),currentColor calc(50% + 1.5px),transparent calc(50% + 1.5px)),linear-gradient(-45deg,transparent calc(50% - 1.5px),currentColor calc(50% - 1.5px),currentColor calc(50% + 1.5px),transparent calc(50% + 1.5px));color:inherit}@keyframes jockey-rating-rise{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}30%{transform:translate(-50%,-70%) scale(1.2);opacity:1}to{transform:translate(-50%,-120%) scale(.8);opacity:0}}@keyframes jockey-rating-perfect-burst{0%{transform:translate(-50%,-50%) scale(.3);opacity:1;text-shadow:0 0 8px #e8bd79}20%{transform:translate(-50%,-60%) scale(1.4);text-shadow:0 0 30px #e8bd79,0 0 50px #ff880088}to{transform:translate(-50%,-130%) scale(.9);opacity:0;text-shadow:0 0 0 transparent}}@keyframes jockey-rating-miss-shake{0%{transform:translate(-50%,-50%) scale(1)}10%{transform:translate(calc(-50% + 4px),-55%) scale(1.1)}20%{transform:translate(calc(-50% - 4px),-60%) scale(1.1)}30%{transform:translate(calc(-50% + 3px),-65%) scale(1.05)}40%{transform:translate(calc(-50% - 3px),-70%) scale(1)}to{transform:translate(-50%,-110%) scale(.8);opacity:0}}.jockey-rating-popup{position:fixed;font-weight:700;font-family:JetBrains Mono,Menlo,Consolas,monospace;pointer-events:none;z-index:25;animation:jockey-rating-rise .8s ease-out forwards;font-size:22px;letter-spacing:1px}.jockey-rating-perfect{font-size:30px;animation:jockey-rating-perfect-burst .8s ease-out forwards;text-shadow:0 0 20px #e8bd79}.jockey-rating-great{font-size:24px}.jockey-rating-good{font-size:20px}.jockey-rating-ok{font-size:18px}.jockey-rating-miss{font-size:24px;animation:jockey-rating-miss-shake .8s ease-out forwards}@keyframes jockey-combo-glow-10{0%,to{text-shadow:0 0 6px rgba(255,136,0,.4)}50%{text-shadow:0 0 14px rgba(255,136,0,.7),0 0 24px rgba(255,68,0,.3)}}@keyframes jockey-combo-glow-20{0%,to{text-shadow:0 0 8px rgba(255,68,0,.6),0 0 20px rgba(255,0,0,.3)}50%{text-shadow:0 0 16px rgba(255,136,0,.9),0 0 32px rgba(255,0,0,.5),0 0 48px rgba(255,200,0,.2)}}.jockey-combo-fire-10{animation:jockey-combo-glow-10 1s ease-in-out infinite}.jockey-combo-fire-20{animation:jockey-combo-glow-20 .6s ease-in-out infinite}@keyframes jockey-orient-fade{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}10%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0}}.jockey-orient-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000d9;color:#e8bd79;padding:24px 32px;border-radius:12px;border:1px solid #e8bd7944;text-align:center;font-size:14px;font-family:JetBrains Mono,Menlo,Consolas,monospace;z-index:100;animation:jockey-orient-fade 4s ease forwards;pointer-events:auto;cursor:pointer}.jockey-orient-icon{font-size:36px;margin-bottom:12px;animation:jockey-orient-rotate 1.5s ease-in-out infinite}@keyframes jockey-orient-rotate{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media (orientation: landscape) and (max-height: 500px){.mobile-header{padding:4px 12px;gap:12px;align-items:center}.mobile-header .mobile-title{font-size:12px;letter-spacing:1.5px}.mobile-header .mobile-balance{font-size:18px}.mobile-header .mobile-logout{font-size:10px;padding:3px 8px;min-height:26px}.mobile-footer{padding:6px 12px calc(6px + env(safe-area-inset-bottom))}.mobile-primary-btn{padding:9px 14px;font-size:13px}.mobile-secondary-btn{padding:8px 14px;font-size:12px}.mobile-centered{padding:10px 16px;gap:8px}.mobile-centered h1{font-size:18px}.mobile-buyin-btn{padding:4px 10px;font-size:11px;min-height:26px}.mobile-buyin-btn--prominent{padding:10px;font-size:13px}.bet-toast{bottom:64px;padding:8px 18px;font-size:12px}}@media (orientation: landscape){.jockey-view.jockey-landscape{flex-direction:column}.jockey-landscape .jockey-stats-bar{padding:4px 12px;gap:4px}.jockey-landscape .jockey-stat-label{font-size:8px}.jockey-landscape .jockey-stat-value{font-size:12px}.jockey-landscape .jockey-score-value,.jockey-landscape .jockey-combo-value{font-size:15px}.jockey-landscape .jockey-beat-bar{height:3px}.jockey-landscape .jockey-tap-zones{flex-direction:row}.jockey-landscape .jockey-tap-zone{min-height:0}.jockey-landscape .jockey-tap-circle{width:80px;height:80px;font-size:28px}}@media (orientation: portrait){.jockey-view.jockey-portrait .jockey-stats-bar{flex-wrap:wrap;gap:2px 8px;padding:8px 12px}.jockey-portrait .jockey-stat{flex:0 0 auto}.jockey-portrait .jockey-tap-zones{flex-direction:row}.jockey-portrait .jockey-tap-circle{width:100px;height:100px;font-size:34px}}
