*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;background:#1a1a1a;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden}.leaderboard-container{color:#fff;background:0 0;border:.2vh solid #333;border-radius:.5vw;flex-direction:column;width:100%;height:100%;padding:.5vh 1vw;display:flex;overflow-y:auto}.event-name-header{border-bottom:.2vh solid #333;flex-shrink:0;justify-content:center;align-items:center;gap:1vw;margin-bottom:.5vh;padding:.5vh 0;display:flex}.event-name-header h3{color:#fff;text-transform:uppercase;letter-spacing:.1vw;margin:0;font-size:1.5vw;font-weight:600}.event-date{color:#888;margin:0;font-size:1vw;font-weight:400}.leaderboard-controls{flex-shrink:0;justify-content:space-between;align-items:center;gap:1vw;margin-bottom:.5vh;padding:.5vh 1vw;display:flex}.view-toggle{perspective:1000px;background:#1a1a1a;border:.1vh solid #333;border-radius:.5vw;gap:.5vw;padding:.3vh;display:flex}.toggle-btn{color:#888;cursor:pointer;text-transform:uppercase;letter-spacing:.05vw;width:20vw;transform-style:preserve-3d;background:0 0;border:none;border-radius:.4vw;padding:.8vh 1.5vw;font-size:1.2vw;font-weight:600;transition:background .6s,color .6s,box-shadow .6s}.toggle-btn.flipping{animation:1.2s buttonFlip3D}@keyframes buttonFlip3D{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.toggle-btn:hover:not(:disabled){color:#fff;background:#252525}.toggle-btn.active{color:#fff;background:#4caf50;box-shadow:0 0 1vw #4caf504d}.toggle-btn:disabled:not(.active){color:#fff;background:#d32f2f;box-shadow:0 0 1vw #d32f2f4d}.toggle-btn:disabled{opacity:1;cursor:default}.leaderboard-content{min-height:0;transform-style:preserve-3d;perspective:1000px;flex:1;overflow-y:auto}.leaderboard-header{text-align:center;margin-bottom:1vh}.leaderboard-header h1{color:#fff;margin:0 0 1vh;font-size:4vw;font-weight:700}.leaderboard-header h2{color:#ccc;margin:0 0 1vh;font-size:2.5vw;font-weight:400}.last-updated{color:#888;font-size:1.5vw}.leaderboard-table{border-collapse:collapse;width:100%;font-size:2vw;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(1vh)}to{opacity:1;transform:translateY(0)}}.leaderboard-table td{border-bottom:none;padding:1.2vh 1vw}.leaderboard-table tbody tr{transform-style:preserve-3d;opacity:1;background-color:#1a1a1a99;transition:background-color .3s}.leaderboard-table tbody tr td{opacity:1}.leaderboard-content.transitioning .leaderboard-table tbody tr{animation:.6s rowFlip}.leaderboard-content.transitioning .leaderboard-table tbody tr:first-child{animation-delay:0s}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(2){animation-delay:60ms}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(3){animation-delay:.12s}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(4){animation-delay:.18s}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(5){animation-delay:.24s}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(6){animation-delay:.3s}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(7){animation-delay:.36s}.leaderboard-content.transitioning .leaderboard-table tbody tr:nth-child(n+8){animation-delay:.42s}@keyframes rowFlip{0%{opacity:1;transform:rotateX(0)}45%{opacity:.9}50%{opacity:.8;transform:rotateX(90deg)}55%{opacity:.9}to{opacity:1;transform:rotateX(0)}}.leaderboard-table tbody tr:hover{background:#252525}.rank{text-align:center;width:4vw;font-size:1.8vw;font-weight:700}.player-name{font-size:1.6vw;font-weight:600}.player-info{flex-direction:row;align-items:center;gap:1vw;display:flex}.player-avatar{object-fit:cover;border:.2vh solid #444;border-radius:50%;flex-shrink:0;width:4vw;height:4vw}.player-details{flex-direction:column;gap:.3vh;display:flex}.player-username{color:#fff;font-size:1.6vw;font-weight:600}.player-site{color:#888;font-size:1.1vw;font-weight:400}.team,.position{color:#aaa;font-size:1.8vw}.points{color:#4caf50;text-align:right;flex-direction:column;align-items:flex-end;gap:.2vh;font-size:1.8vw;font-weight:700;display:flex}.points-value{color:#4caf50;font-size:2.2vw;font-weight:700;line-height:1}.points-label{color:#888;text-transform:uppercase;letter-spacing:.05vw;font-size:1vw;font-weight:500}.rank-gold{background:linear-gradient(90deg,#ffd70033 0%,#ffd7000d 100%)}.rank-gold .rank{color:gold}.rank-silver{background:linear-gradient(90deg,#c0c0c033 0%,#c0c0c00d 100%)}.rank-silver .rank{color:silver}.rank-bronze{background:linear-gradient(90deg,#cd7f3233 0%,#cd7f320d 100%)}.rank-bronze .rank{color:#cd7f32}.no-players-message{color:#888;justify-content:center;align-items:center;height:60vh;font-size:2.5vw;font-weight:500;display:flex}.qr-code-container{background:#1a1a1a99;border:.2vh solid #333;border-radius:1vw;flex-direction:column;align-items:center;gap:2vh;padding:3vh 2vw;display:flex}.qr-code{background:#fff;border-radius:1vw;width:25vw;height:25vw;padding:1vw;box-shadow:0 0 2vw #4caf504d}.qr-message{color:#fff;text-align:center;max-width:30vw;margin:0;font-size:2vw;line-height:1.4}.qr-cta{color:#4caf50;text-align:center;text-transform:uppercase;letter-spacing:.1vw;margin:0;font-size:2.5vw;font-weight:700;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}.boxscore-container{color:#fff;background:0 0;width:100vw;min-height:100vh;padding:1vh 1vw;overflow-y:auto}.game-header{text-align:center;margin-top:2vh;margin-bottom:1vh}.game-status{margin-bottom:1vh}.status-badge{text-transform:uppercase;border-radius:2vw;padding:1vh 2vw;font-size:1.5vw;font-weight:700;display:inline-block}.status-badge.live,.status-badge.in-progress{background:#f44;animation:2s infinite pulse}.status-badge.final{background:#4caf50}.status-badge.pre-game,.status-badge.scheduled{background:#888}.teams{justify-content:center;align-items:center;gap:3vw;margin:1vh 0;display:flex}.team{text-align:center}.team h2{margin:0 0 1vh;font-size:3.5vw;font-weight:700}.team .score{color:#4caf50;font-size:6vw;font-weight:700}.vs{color:#888;font-size:2.5vw;font-weight:700}.game-info{color:#aaa;margin-top:1vh;font-size:1.8vw}.innings-section{margin-bottom:2vh}.innings-section h3{color:#fff;margin-bottom:1vh;font-size:2.5vw}.innings-table{border-collapse:collapse;background:#2a2a2a;width:100%;font-size:1.8vw}.innings-table th,.innings-table td{text-align:center;border:.1vh solid #444;padding:1.5vh 1vw}.innings-table th{color:#fff;background:#333;font-weight:700}.innings-table .team-name{text-align:left;font-size:2vw;font-weight:700}.innings-table .total{color:#4caf50;background:#333;font-weight:700}.player-stats-section{grid-template-columns:1fr 1fr;gap:2vw;display:grid}.stats-table-wrapper{margin-top:2vh}.stats-table-wrapper h3{color:#fff;margin-bottom:1vh;font-size:2.2vw}.stats-table{border-collapse:collapse;background:#2a2a2a;width:100%;font-size:1.5vw}.stats-table th,.stats-table td{text-align:center;border:.1vh solid #444;padding:1.5vh .8vw}.stats-table th{color:#fff;background:#333;font-weight:700}.stats-table .player-name{text-align:left;font-size:1.5vw;font-weight:400}.loading,.error,.no-data{color:#888;justify-content:center;align-items:center;height:100vh;font-size:3vw;display:flex}.error{color:#f44}.loading-logo{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.loading-logo img{object-fit:contain;opacity:.8;max-width:50%;max-height:50%}.loading-spinner-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.spinner{border:.5vw solid #ffffff1a;border-top-color:#4caf50;border-radius:50%;width:5vw;height:5vw;animation:1s linear infinite spin}.game-grid-single{width:100vw;height:100vh}.game-grid-carousel{width:100vw;height:100vh;position:relative}.carousel-indicator{color:#fff;z-index:100;background:#000000b3;border-radius:1vw;padding:1vh 2vw;font-size:1.5vw;position:absolute;top:2vh;right:2vw}.carousel-dots{z-index:100;gap:1vw;display:flex;position:absolute;bottom:2vh;left:50%;transform:translate(-50%)}.carousel-dots .dot{background:#ffffff4d;border-radius:50%;width:1vw;height:1vw;transition:background .3s}.carousel-dots .dot.active{background:#4caf50}.game-grid-2{grid-template-columns:1fr 1fr;gap:0;width:100vw;height:100vh;display:grid}.game-grid-3{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:0;width:100vw;height:100vh;display:grid}.game-grid-3 .grid-item:nth-child(3){grid-column:1/-1}.game-grid-4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:0;width:100vw;height:100vh;display:grid}.grid-item{border:.1vh solid #333;width:100%;height:100%;overflow:hidden}.grid-item .leaderboard-container,.grid-item .boxscore-container{width:100%;height:100%;padding:.5vh .5vw}.grid-item .leaderboard-header h1{margin-bottom:.5vh;font-size:2.5vw}.grid-item .leaderboard-header h2{margin-bottom:.5vh;font-size:1.5vw}.grid-item .leaderboard-header{margin-bottom:1vh}.grid-item .leaderboard-table{font-size:1.2vw}.grid-item .leaderboard-table th,.grid-item .leaderboard-table td{padding:1vh .5vw}.grid-item .rank{font-size:1.5vw}.grid-item .player-name{font-size:1.3vw}.grid-item .points{font-size:1.5vw}.grid-item .team h2{margin-bottom:.5vh;font-size:2vw}.grid-item .team .score{font-size:3.5vw}.grid-item .status-badge{padding:.3vh .8vw;font-size:1vw}.grid-item .game-header{margin-bottom:.5vh}.grid-item .teams{gap:2vw;margin:.5vh 0}.grid-item .innings-section{margin-bottom:1vh}.grid-item .innings-section h3{margin-bottom:.5vh}.grid-item .innings-table,.grid-item .stats-table{font-size:1vw}.grid-item .innings-table th,.grid-item .innings-table td,.grid-item .stats-table th,.grid-item .stats-table td{padding:.8vh .5vw}.game-grid-4 .grid-item .leaderboard-header h1{margin-bottom:.3vh;font-size:1.8vw}.game-grid-4 .grid-item .leaderboard-header h2{margin-bottom:.3vh;font-size:1.2vw}.game-grid-4 .grid-item .leaderboard-header{margin-bottom:.5vh}.game-grid-4 .grid-item .leaderboard-table{font-size:.9vw}.game-grid-4 .grid-item .leaderboard-table th,.game-grid-4 .grid-item .leaderboard-table td{padding:.5vh .3vw}.game-grid-4 .grid-item .team h2{margin-bottom:.3vh;font-size:1.5vw}.game-grid-4 .grid-item .team .score{font-size:2.5vw}.game-grid-4 .grid-item .game-header{margin-bottom:.3vh}.game-grid-4 .grid-item .teams{margin:.3vh 0}.game-grid-4 .grid-item .innings-section{margin-bottom:.5vh}.game-grid-4 .grid-item .innings-section h3{margin-bottom:.3vh;font-size:1.5vw}.game-grid-4 .grid-item .innings-table th,.game-grid-4 .grid-item .innings-table td,.game-grid-4 .grid-item .stats-table th,.game-grid-4 .grid-item .stats-table td{padding:.5vh .3vw}.pre-game-message-container{background:#1a1a1a99;border:.2vh solid #333;border-radius:1vw;flex-direction:column;align-items:center;gap:2vh;max-width:50vw;padding:3vh 2vw;display:flex}.pre-game-message-container h2{color:#fff;text-align:center;margin:0;font-size:3vw;font-weight:700}.pre-game-subtitle{color:#888;text-align:center;margin:0;font-size:1.8vw}.pre-game-list-centered{flex-direction:column;gap:1.5vh;width:100%;margin-top:1vh;display:flex}.pre-game-item-large{background:#ffffff0d;border:.1vh solid #444;border-radius:.5vw;flex-direction:column;align-items:center;gap:1vh;padding:1.5vh 2vw;display:flex}.pre-game-teams{color:#fff;align-items:center;gap:1vw;font-size:2vw;font-weight:600;display:flex}.pre-game-teams .team-name{color:#fff}.pre-game-teams .vs{color:#888;font-size:1.5vw;font-weight:400}.pre-game-time{color:#4caf50;font-size:1.5vw;font-weight:500}.pre-game-section{background:#1a1a1a66;border-top:.2vh solid #333;margin-top:1vh;padding:2vh 2vw}.pre-game-heading{color:#fff;text-align:center;margin:0 0 1vh;font-size:2vw;font-weight:600}.pre-game-list{flex-wrap:wrap;justify-content:center;gap:1vh 1vw;display:flex}.pre-game-item{background:#ffffff0d;border:.1vh solid #444;border-radius:.5vw;flex-direction:column;align-items:center;gap:.5vh;min-width:15vw;padding:1vh 1.5vw;display:flex}.pre-game-teams-small{color:#fff;text-align:center;font-size:1.3vw;font-weight:600}.vs-small{color:#888;margin:0 .3vw;font-weight:400}.pre-game-time-small{color:#4caf50;font-size:1.1vw;font-weight:500}@media (width<=1200px){.pre-game-message-container{max-width:70vw}.pre-game-message-container h2{font-size:4vw}.pre-game-subtitle,.pre-game-teams{font-size:2.5vw}.pre-game-time{font-size:2vw}}#root{width:100%;height:100vh;margin:0;padding:0}.app{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;background:#1a1a1a url(/background.webp) 50%/cover no-repeat;flex-direction:column;width:100vw;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden}*{box-sizing:border-box}.no-game-id-message{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:2vw;display:flex}.app-header{text-align:center;background:0 0;border-bottom:.3vh solid #333;padding:2vh 2vw;position:relative}.app-header .bets-logo,.bets-logo-carousel{z-index:100;width:8vw;height:auto;position:absolute;top:0;right:2vw}.app-header h1{color:#fff;text-transform:uppercase;letter-spacing:.2vw;margin:0;font-size:4vw;font-weight:700}.leaderboard-grid{box-sizing:border-box;flex:1;gap:.5vh .5vw;width:100%;padding:1vh 1vw;display:grid;overflow:hidden}.leaderboard-grid-1{grid-template-columns:1fr}.leaderboard-grid-2{grid-template-columns:repeat(2,1fr)}.leaderboard-grid-3{grid-template-rows:1fr 1fr;grid-template-columns:repeat(2,1fr)}.leaderboard-grid-3>:nth-child(3){grid-column:1/-1}.leaderboard-grid-4{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}
