.mobile-ad{background-color:var(--bg-secondary);border-radius:8px;justify-content:center;align-items:center;min-height:200px;margin:1rem 0;padding:1rem;display:flex}.mobile-ad-content{text-align:center}.mobile-ad-title{color:var(--text-muted);margin-bottom:.25rem;font-size:1rem}.mobile-ad-size{color:var(--text-secondary);font-size:.875rem}@media (min-width:1023px){.mobile-ad{display:none}}
.match-detail-page{background-color:var(--bg-primary);min-height:var(--app-main-min-height)}.match-info-panel{background-color:var(--bg-secondary);flex:60%;min-width:0}.match-detail-container{background-color:var(--bg-secondary);max-width:800px}.match-detail-header{display:flex}.match-meta-row{justify-content:space-between;align-items:center;width:100%;display:flex}.match-header .match-status{justify-content:flex-end;align-items:center;display:flex}.match-detail-backend-unconfigured{color:var(--text-secondary,#6b7280);background:var(--surface-secondary,#f3f4f6);border-radius:.375rem;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.875rem}.match-overview .home-team-info{flex:40%;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}.match-overview .away-team-info{flex:40%;justify-content:flex-end;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}.match-overview .tournament-info,.match-overview a.tournament-info{color:var(--text-secondary);text-decoration:none}.match-overview .match-status{color:var(--text-primary)}.match-overview .match-score{justify-content:space-between;align-items:center;display:flex;position:relative}.match-overview .match-score-top-row,.match-overview .match-score-bottom-row{display:none}.match-overview .match-score-desktop-layout{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;display:flex}.match-overview .home-team-logo-container,.match-overview .away-team-logo-container{align-items:center;display:flex}.match-overview .team-logo{border-radius:50%;flex-shrink:0;width:32px;height:32px}.match-overview .team-name,.match-overview a.team-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-weight:600;text-decoration:none;display:inline-block;overflow:hidden}.match-overview .away-team-info .team-name{text-align:right}.match-overview .score-section{z-index:1;flex:17%;justify-content:space-between;align-items:center;display:flex}.match-overview .home-score,.match-overview .away-score{color:var(--score-color);white-space:nowrap;flex:1;min-width:0;line-height:1;display:flex}.match-overview .home-score{justify-content:flex-start}.match-overview .away-score{justify-content:flex-end}.match-overview .score-separator{color:var(--text-secondary);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:70px;font-size:.75rem;font-weight:500;display:flex}.match-overview .score-separator .score-status-line1,.match-overview .score-separator .score-status-line2{text-align:center;white-space:nowrap;display:block}.match-overview .score-separator .score-status-live{color:#22c55e}.match-overview .score-separator .match-minutes-border{--sweep:0deg;--sweep-start:0deg;--border-width:2px;padding:var(--border-width);border-radius:4px;align-self:center;animation:4s ease-in-out infinite match-minutes-sweep;position:relative}.match-overview .score-separator .match-minutes-border:before{content:"";-webkit-mask-image:conic-gradient(from 45deg,transparent 0deg,transparent var(--sweep-start),#000 var(--sweep-start),#000 var(--sweep),transparent var(--sweep),transparent 360deg);-webkit-mask-image:conic-gradient(from 45deg,transparent 0deg,transparent var(--sweep-start),#000 var(--sweep-start),#000 var(--sweep),transparent var(--sweep),transparent 360deg);mask-image:conic-gradient(from 45deg,transparent 0deg,transparent var(--sweep-start),#000 var(--sweep-start),#000 var(--sweep),transparent var(--sweep),transparent 360deg);pointer-events:none;background:#22c55e;border-radius:4px;position:absolute;top:0;bottom:0;left:0;right:0}.match-overview .score-separator .match-minutes-border-inner{z-index:1;background:var(--bg-secondary);border-radius:2px;justify-content:center;align-items:center;min-height:1.5em;padding:0 4px;display:flex;position:relative}.match-overview .home-score .penalty-score,.match-overview .away-score .penalty-score{vertical-align:baseline}.goal-section .goals-list{flex-direction:column;display:flex}.goal-section .goal-row{color:var(--text-primary);justify-content:space-between;align-items:center;display:flex;position:relative}.goal-section .home-goal-cell{flex:1;justify-content:flex-start;min-width:0;display:flex;overflow:hidden}.goal-section .away-goal-cell{flex:1;justify-content:flex-end;min-width:0;display:flex;overflow:hidden}.goal-section .goal-info{min-width:0;color:var(--text-primary);align-items:center;font-weight:500;display:flex;overflow:hidden}.goal-section .goal-scorer,.goal-section .goal-assist{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-secondary);font-weight:500;overflow:hidden}.goal-section .goal-minute{color:var(--text-secondary);font-weight:500}.goal-section .no-goals{text-align:center;color:var(--text-secondary);font-style:italic}.match-details{border:1px solid var(--border-color);box-shadow:0 1px 3px rgba(0,0,0,.05)}.match-details .details-tabs{border-bottom:1px solid var(--border-color);display:flex}.match-details .tab{cursor:pointer;letter-spacing:.5px;text-align:center;color:var(--text-primary);flex:1;font-weight:550;line-height:1;transition:all .2s}.match-details .tab:hover{color:var(--text-primary);background-color:var(--bg-hover)}.match-details .tab.active{border-bottom:2px solid var(--accent-color)}.players-content,.players-content .players-list{flex-direction:column;display:flex}.players-content .player-card{border-bottom:1px solid var(--border-color);align-items:center;transition:background-color .2s;display:flex}.players-content .player-card:last-child{border-bottom:none}.players-content .player-card:hover{background-color:var(--bg-hover)}.players-content .player-team-logo{background-color:var(--bg-primary);border:1px solid var(--border-color);box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:21px;height:21px;display:flex;overflow:hidden}.players-content .player-team-logo img{width:100%;height:100%}.players-content .team-logo-placeholder{justify-content:center;align-items:center;display:flex}.players-content .player-info{flex:1;width:100%;min-width:0}.players-content .player-info-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.players-content .player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;align-items:center;font-weight:500;display:flex;overflow:hidden}.players-content .player-name a{color:inherit}.players-content .player-rate-star{cursor:pointer;flex:0 30%;justify-content:left;align-items:center;display:flex}.players-content .player-rate-star .star-icon{font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;line-height:1;display:inline-block}.players-content .player-rate-star .blue-outline-star{color:#3b82f6;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.players-content .player-rate-star .blue-filled-star{color:#3b82f6;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.players-content .player-rate-star .rating-text{color:var(--text-primary);font-weight:500}.players-content .player-rate-star.player-rate-star-disabled{opacity:.5;cursor:default;pointer-events:none}.players-content .player-stats-text{color:var(--text-secondary);line-height:1.3}.players-content .player-right{flex-direction:column;flex-shrink:0;align-items:center;width:80px;min-width:80px;max-width:80px;display:flex}.players-content .player-photo{border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}.players-content .player-photo img{object-fit:cover;width:100%;height:100%}.players-content .player-photo-placeholder{background-color:var(--bg-primary);width:100%;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-weight:700;display:flex}.players-content .player-rating{flex-wrap:wrap;justify-content:center;align-items:center;width:100%;min-width:0;line-height:1;display:flex}.players-content .rating-value{color:var(--text-primary);align-items:center;font-weight:500;line-height:1;display:inline-flex}.players-content .rating-star{justify-content:center;align-items:center;line-height:1;display:flex}.players-content .rating-star .star-icon{font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;line-height:1;display:inline-block}.players-content .rating-star .yellow-star{color:#fbbf24}.players-content .rating-count-value{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;max-width:100%;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.players-content .no-players{text-align:center}.players-content .no-players-text{color:var(--text-secondary);font-style:italic}.stats-content .no-stats{text-align:center}.stats-content .no-stats-text{color:var(--text-secondary);font-style:italic}.stats-content,.stats-content .stats-grid{flex-direction:column;display:flex}.stats-content .stat-item{background-color:var(--bg-secondary);flex-direction:column;display:flex;position:relative}.stats-content .stat-label-row{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.stats-content .stat-label{color:var(--text-primary);text-align:center;z-index:1;background-color:var(--bg-secondary);font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.stats-content .stat-value{z-index:2;flex-shrink:0;font-weight:600}.stats-content .stat-value.home-value{color:var(--text-primary);text-align:left}.stats-content .stat-value.away-value{color:var(--text-primary);text-align:right}.stats-content .stat-bar{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;height:6px;display:flex;position:relative;overflow:hidden}.stats-content .stat-fill{min-width:0;height:100%;transition:all .3s;display:block}.stats-content .stat-fill.home{border-radius:7px 0 0 7px}.stats-content .stat-fill.away{border-radius:0 7px 7px 0}.stats-content .stats-header{margin-bottom:4px}.stats-content .stat-teams{justify-content:center;font-weight:600;display:flex;position:relative}.stats-content .team-name{position:absolute;top:50%;transform:translateY(-50%)}.stats-content .team-name.home{color:var(--text-primary);left:8px}.stats-content .team-name.away{color:var(--text-primary);right:8px}.match-detail-page .loading-container,.match-detail-page .error-container{justify-content:center;align-items:center;min-height:400px;display:flex}.match-detail-page .loading-spinner{border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.match-detail-page .loading-text,.match-detail-page .error-message{color:var(--text-secondary)}.match-detail-page .retry-button{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:16px;font-weight:600;transition:background-color .2s}.match-detail-page .retry-button:hover{background-color:var(--accent-hover)}@media (max-width:640px){.match-detail-page .main-container{margin-right:0}.match-detail-container{margin:0 auto}.match-detail-header{padding:4px}.match-header{gap:.75rem;margin-bottom:.75rem}.match-overview .match-score-desktop-layout{display:none!important}.match-overview .match-score-top-row{justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:0 1rem;display:flex!important}.match-overview .match-score-bottom-row{justify-content:space-between;gap:2rem;width:100%;margin-top:.5rem;padding:0 .5rem;display:flex!important}.match-overview .match-score{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;margin-bottom:16px}.match-overview .home-team-logo-container,.match-overview .away-team-logo-container{flex-shrink:0;align-items:center;display:flex}.match-overview .match-score-top-row{order:1}.match-overview .match-score-bottom-row{order:2}.match-overview .match-score-top-row .score-section{z-index:1;flex:none;order:2;justify-content:space-between;align-items:center;gap:1rem;display:flex}.match-overview .match-score-top-row .home-team-logo-container{order:1}.match-overview .match-score-top-row .away-team-logo-container{order:3}.match-overview .home-team-name{text-align:left;min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.match-overview .away-team-name{text-align:right;min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.match-overview .home-team-info,.match-overview .away-team-info{gap:6px}.match-overview .goal-section{margin-top:16px}.goal-section .goals-list{gap:1px}.goal-section .goal-row{gap:2rem}.goal-section .goal-info{gap:4px}.players-content{gap:20px}.players-content .players-list{gap:0}.players-content .player-card{gap:8px}.players-content .player-rate-star,.players-content .player-right,.players-content .player-rating,.stats-content{gap:4px}.stats-content .stats-grid{gap:4px;margin-bottom:8px}.stats-content .stat-item{gap:4px}.stats-content .stat-label-row{margin-bottom:4px}.match-rating-container .material-symbols-rounded.star-icon,.players-content .player-rate-star .material-symbols-rounded.star-icon{font-size:18px}.match-overview{padding:12px}.match-rating-container .my-rating-label{font-size:14px}.match-avg-rating{font-size:13px}.match-rating-container .star-icon{font-size:18px}.match-rating-container .rating-text,.match-overview .tournament-info{font-size:13px}.match-overview .match-status{font-size:12px}.match-overview .team-name{font-size:18px}.match-overview .home-score,.match-overview .away-score{font-size:1.9rem}.match-overview .home-score .penalty-score,.match-overview .away-score .penalty-score{font-size:1rem}.goal-section .goal-row{padding:0;font-size:14px}.goal-section .goal-scorer,.goal-section .goal-assist,.goal-section .goal-minute{font-size:11px}.goal-section .no-goals{padding:12px;font-size:14px}.match-details .tab{padding:16px 20px;font-size:14px}.players-content .player-card{padding:4px 4px 4px 12px}.players-content .team-logo-placeholder{font-size:12px}.players-content .player-name{font-size:13px}.players-content .player-rate-star .star-icon{font-size:18px}.players-content .player-rate-star .rating-text{font-size:13px}.players-content .player-stats-text{font-size:12px}.players-content .player-photo-placeholder{font-size:14px}.players-content .player-rating{padding:4px}.players-content .rating-value{font-size:13px}.players-content .rating-star .star-icon{font-size:18px}.players-content .rating-count-value{font-size:12px}.players-content .no-players{padding:40px 20px}.players-content .no-players-text{font-size:16px}.stats-content .no-stats{padding:40px 20px}.stats-content .no-stats-text{font-size:16px}.stats-content{padding:0 8px}.stats-content .stat-item{padding:4px}.stats-content .stat-label-row{padding:0 4px}.stats-content .stat-label{padding:0 4px;font-size:12px}.stats-content .stat-value{font-size:12px}.stats-content .stat-teams{padding:12px;font-size:14px}.match-detail-page .loading-text,.match-detail-page .error-message{margin-top:16px;font-size:16px}.match-detail-page .retry-button{padding:12px 24px;font-size:14px}}@media (min-width:640px) and (max-width:1023px){.match-detail-page .main-container{margin-right:0}.match-detail-container{margin:0 auto}.match-detail-header{padding:4px 0}.match-header{gap:6px;margin-bottom:16px}.match-rating-container{gap:6px}.my-rating-section{gap:2px}.match-rating-container .my-rating-label{margin-right:4px}.match-avg-rating{gap:4px;margin-left:.5rem}.match-overview .match-score-top-row,.match-overview .match-score-bottom-row{display:none}.match-overview .match-score-desktop-layout{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;display:flex}.match-overview .home-team-info,.match-overview .away-team-info{gap:6px}.match-overview .match-score{gap:24px;margin-bottom:16px}.match-overview .score-section{gap:.5rem}.match-overview .goal-section{margin-top:16px}.goal-section .goals-list{gap:1px}.goal-section .goal-row{gap:2rem}.goal-section .goal-info{gap:4px}.players-content{gap:20px}.players-content .players-list{gap:0}.players-content .player-card{gap:8px}.players-content .player-rate-star,.players-content .player-right,.players-content .player-rating,.stats-content{gap:4px}.stats-content .stats-grid{gap:4px;margin-bottom:8px}.stats-content .stat-item{gap:4px}.stats-content .stat-label-row{margin-bottom:4px}.match-rating-container .material-symbols-rounded.star-icon,.players-content .player-rate-star .material-symbols-rounded.star-icon{font-size:18px}.match-overview{padding:12px}.match-rating-container .my-rating-label{font-size:14px}.match-avg-rating{font-size:13px}.match-rating-container .star-icon{font-size:18px}.match-rating-container .rating-text{font-size:13px}.match-overview .tournament-info{font-size:14px}.match-overview .match-status{font-size:13px}.match-overview .team-name{font-size:18px}.match-overview .home-score,.match-overview .away-score{font-size:1.7rem}.match-overview .home-score .penalty-score,.match-overview .away-score .penalty-score{font-size:.6em}.goal-section .goal-row{padding:0;font-size:14px}.goal-section .goal-scorer,.goal-section .goal-assist,.goal-section .goal-minute{font-size:12px}.goal-section .no-goals{padding:12px;font-size:14px}.match-details .tab{padding:16px 20px;font-size:14px}.players-content .player-card{padding:4px 4px 4px 12px}.players-content .team-logo-placeholder{font-size:12px}.players-content .player-name{font-size:13px}.players-content .player-rate-star .star-icon{font-size:18px}.players-content .player-rate-star .rating-text{font-size:14px}.players-content .player-stats-text{font-size:12px}.players-content .player-photo-placeholder{font-size:14px}.players-content .player-rating{padding:4px}.players-content .rating-value{font-size:14px}.players-content .rating-star .star-icon{font-size:18px}.players-content .rating-count-value{font-size:12px}.players-content .no-players{padding:40px 20px}.players-content .no-players-text{font-size:16px}.stats-content .no-stats{padding:40px 20px}.stats-content .no-stats-text{font-size:16px}.stats-content{padding:0 8px}.stats-content .stat-item{padding:4px}.stats-content .stat-label-row{padding:0 4px}.stats-content .stat-label{padding:0 4px;font-size:12px}.stats-content .stat-value{font-size:12px}.stats-content .stat-teams{padding:12px;font-size:14px}.match-detail-page .loading-text,.match-detail-page .error-message{margin-top:16px;font-size:16px}.match-detail-page .retry-button{padding:12px 24px;font-size:14px}}@media (min-width:1023px){.match-detail-page .main-container{margin-right:25%}.match-detail-container{margin:0 auto}.match-detail-header{padding:4px}.match-header{gap:6px;margin-bottom:16px}.match-rating-container{gap:6px}.my-rating-section{gap:2px}.match-rating-container .my-rating-label{margin-right:4px}.match-avg-rating{gap:4px;margin-left:.5rem}.match-overview .match-score-top-row,.match-overview .match-score-bottom-row{display:none}.match-overview .match-score-desktop-layout{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;display:flex}.match-overview .home-team-info,.match-overview .away-team-info{gap:6px}.match-overview .match-score{gap:24px;margin-bottom:16px}.match-overview .score-section{gap:.5rem}.match-overview .goal-section{margin-top:16px}.goal-section .goals-list{gap:1px}.goal-section .goal-row{gap:2rem}.goal-section .goal-info{gap:4px}.players-content{gap:20px}.players-content .players-list{gap:0}.players-content .player-card{gap:8px}.players-content .player-rate-star,.players-content .player-right,.players-content .player-rating,.stats-content{gap:4px}.stats-content .stats-grid{gap:4px;margin-bottom:8px}.stats-content .stat-item{gap:4px}.stats-content .stat-label-row{margin-bottom:4px}.match-rating-container .material-symbols-rounded.star-icon,.players-content .player-rate-star .material-symbols-rounded.star-icon{font-size:18px}.match-overview{padding:12px}.match-rating-container .my-rating-label,.match-avg-rating{font-size:14px}.match-rating-container .star-icon{font-size:18px}.match-rating-container .rating-text{font-size:14px}.match-overview .tournament-info,.match-overview .match-status{font-size:13px}.match-overview .team-name{font-size:16px}.match-overview .home-score,.match-overview .away-score{font-size:1.7rem}.match-overview .home-score .penalty-score,.match-overview .away-score .penalty-score{font-size:.6em}.goal-section .goal-row{padding:0;font-size:14px}.goal-section .goal-scorer,.goal-section .goal-assist,.goal-section .goal-minute{font-size:12px}.goal-section .no-goals{padding:12px;font-size:14px}.match-details .tab{padding:16px 20px;font-size:14px}.players-content .player-card{padding:4px 4px 4px 12px}.players-content .team-logo-placeholder{font-size:12px}.players-content .player-name{font-size:14px}.players-content .player-rate-star .star-icon{font-size:18px}.players-content .player-rate-star .rating-text{font-size:14px}.players-content .player-stats-text{font-size:12px}.players-content .player-photo-placeholder{font-size:14px}.players-content .player-rating{padding:4px}.players-content .rating-value{font-size:13px}.players-content .rating-star .star-icon{font-size:18px}.players-content .rating-count-value{font-size:12px}.players-content .no-players{padding:40px 20px}.players-content .no-players-text{font-size:16px}.stats-content .no-stats{padding:40px 20px}.stats-content .no-stats-text{font-size:16px}.stats-content{padding:0 8px}.stats-content .stat-item{padding:4px}.stats-content .stat-label-row{padding:0 4px}.stats-content .stat-label{padding:0 4px;font-size:12px}.stats-content .stat-value{font-size:12px}.stats-content .stat-teams{padding:12px;font-size:14px}.match-detail-page .loading-text,.match-detail-page .error-message{margin-top:16px;font-size:16px}.match-detail-page .retry-button{padding:12px 24px;font-size:14px}}
