.sports-sidebar{width:240px;min-height:0;overflow-y:auto;overflow-x:hidden;flex-shrink:0;scrollbar-gutter:stable both-edges;position:sticky;top:60px;max-height:calc(100vh - 60px);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sports-sidebar::-webkit-scrollbar{width:3px}.sports-sidebar::-webkit-scrollbar-track{background:transparent}.sports-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.sports-sidebar::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.sports-sidebar-nav{display:flex;flex-direction:column;padding:0}.sports-sidebar-search{padding:8px .375rem .5rem}.sports-sidebar-search input{width:100%;height:1.75rem;padding:0 .5rem 0 1.75rem;border:none;border-radius:6px;background:transparent;color:hsl(var(--foreground));font-size:.8125rem;outline:none;transition:background .15s}.sports-sidebar-search input::-moz-placeholder{color:hsl(var(--muted-foreground))}.sports-sidebar-search input::placeholder{color:hsl(var(--muted-foreground))}.sports-sidebar-search input:hover{background:hsl(var(--muted-foreground) / .06)}.sports-sidebar-search input:focus{background:hsl(var(--muted-foreground) / .08)}.sports-sidebar-search-wrap{position:relative}.sports-sidebar-search-icon{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.sports-league-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:none;cursor:pointer;transition:background .15s ease;color:hsl(var(--foreground));width:100%;text-align:left;font-size:.8125rem;font-weight:500;border-radius:6px;box-sizing:border-box}.sports-league-item:hover{background:hsl(var(--muted-foreground) / .08)}.sports-league-item.active{color:var(--accent);font-weight:600}.sports-league-item.active .sports-league-name{font-weight:600;color:var(--accent)}.sports-league-item.active .sports-sport-total{color:var(--muted-foreground)!important;font-weight:400}.sports-league-name{flex:1;font-weight:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sports-league-count{font-size:.8125rem;color:hsl(var(--muted-foreground));font-weight:500}.sports-sport-total{color:var(--muted-foreground)!important;font-weight:400}.sports-category{display:flex;flex-direction:column}.sports-category-arrow{width:16px;height:16px;color:var(--muted-foreground)!important;transition:transform .2s ease;flex-shrink:0;margin-left:auto}.sports-category-arrow.expanded{transform:rotate(90deg)}.sports-subcategories{display:flex;flex-direction:column;padding-left:.75rem;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.sports-subcategories .sports-league-item{font-size:.8125rem}.sidebar-live-radio .radio-arc{opacity:.4}.sidebar-live-radio--active .radio-arc--inner{animation:radioArcPulse 1.5s ease-in-out infinite}.sidebar-live-radio--active .radio-arc--outer{animation:radioArcPulse 1.5s ease-in-out .3s infinite}@keyframes radioArcPulse{0%,to{opacity:.3}50%{opacity:1}}@media (max-width: 768px){.sports-sidebar{width:100%;height:auto;position:relative;top:0;border-bottom:1px solid hsl(var(--border));border-radius:0;max-height:250px;overflow-y:auto;flex-shrink:0}}.sports-match-card-wrapper{position:relative}.sports-match-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:.625rem .75rem;margin-bottom:0;transition:all .2s ease;height:172px;display:flex;flex-direction:column}.sports-match-goal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.375rem;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;background:linear-gradient(135deg,#eab30840,#ea580c33);animation:sports-goal-flash 2.2s ease-out forwards}.sports-match-goal-text{font-size:1.75rem;font-weight:900;letter-spacing:.2em;color:#fbbf24;text-shadow:0 0 20px rgba(251,191,36,.8),0 2px 4px rgba(0,0,0,.5);animation:sports-goal-pop 2s ease-out forwards}@keyframes sports-goal-flash{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes sports-goal-pop{0%{transform:scale(.3);opacity:0}20%{transform:scale(1.35);opacity:1}30%{transform:scale(1)}70%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.sports-match-card:hover{border-color:var(--accent);transform:translateY(-1px)}@media (min-width: 768px){.sports-match-card-selected{border-color:var(--accent);background:var(--card)}}.sports-match-content{display:flex;align-items:center;gap:1rem;width:100%}.sports-match-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem;cursor:pointer}.sports-match-time-info{display:flex;flex-direction:column;gap:.1rem}.sports-match-time-value{font-size:.7rem;font-weight:600;color:var(--text-primary);line-height:1.2}.sports-match-live-badge{color:#ef4444!important}.sports-match-live-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background-color:#ef4444;flex-shrink:0}.sports-match-volume{font-size:.6rem;color:var(--text-secondary);line-height:1.2}.sports-match-teams{display:flex;align-items:center;gap:.375rem;flex-wrap:nowrap;min-width:0}.sports-match-teams--tennis{flex-direction:column;align-items:stretch;gap:.25rem}.sports-team{display:flex;align-items:center;gap:.375rem}.sports-team-logo{height:32px;width:auto;max-width:48px;-o-object-fit:contain;object-fit:contain;flex-shrink:0;padding:2px}.sports-team-info{display:flex;flex-direction:column;gap:.125rem}.sports-team-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;line-height:1.2}.sports-match-vs{font-size:.65rem;font-weight:600;color:var(--text-secondary);padding:0 .375rem;flex-shrink:0}.sports-match-outcomes{display:flex;align-items:center;gap:.375rem;flex-shrink:0;flex-wrap:nowrap}.sports-bet-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .75rem;min-width:72px;background:var(--bg-surface-muted);border:1px solid var(--border-subtle);border-radius:.5rem;cursor:pointer;transition:border-color .15s ease,transform .15s ease;flex-shrink:0}.sports-bet-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.sports-bet-btn--team1{background:#ef44441a;border-color:#ef44444d}.sports-bet-btn--team2{background:#3b82f61a;border-color:#3b82f64d}.sports-bet-label{font-size:.6rem;font-weight:700;color:var(--text-secondary);letter-spacing:.07em;line-height:1;white-space:nowrap;text-transform:uppercase}.sports-bet-odds{font-size:.9rem;font-weight:700;color:var(--text-primary);line-height:1;white-space:nowrap}.sports-bet-btn--team1 .sports-bet-odds{color:#ef4444}.sports-bet-btn--team2 .sports-bet-odds{color:#3b82f6}@media (min-width: 768px){.sports-bet-btn{min-width:80px;padding:.55rem .875rem}.sports-bet-label{font-size:.65rem}.sports-bet-odds{font-size:.95rem}}@media (max-width: 768px){.sports-bet-btn{min-width:56px;padding:.4rem .5rem}.sports-bet-odds{font-size:.8rem}}.sports-outcome-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-width:48px;padding:.35rem .45rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle);border-radius:.375rem;cursor:pointer;transition:all .2s ease;text-align:center;flex-shrink:0}@media (min-width: 768px){.sports-outcome-btn{min-width:65px;padding:.45rem .6rem}}.sports-outcome-btn:hover:not(:disabled){background:var(--bg-surface-soft);border-color:var(--accent);transform:translateY(-1px)}.sports-outcome-btn:disabled,.sports-outcome-btn-disabled{opacity:.5;cursor:not-allowed;background:var(--bg-surface-muted);border-color:var(--border-subtle)}.sports-outcome-btn:disabled:hover,.sports-outcome-btn-disabled:hover{transform:none}.sports-outcome-label{font-size:.6rem;font-weight:500;color:var(--text-primary);white-space:nowrap;line-height:1.1}.sports-outcome-odds{font-size:.8rem;font-weight:700;color:var(--accent);line-height:1.1}.sports-outcome-percentage{font-size:.55rem;color:var(--text-secondary);line-height:1.1}@media (min-width: 768px){.sports-outcome-label{font-size:.65rem}.sports-outcome-odds{font-size:.9rem}.sports-outcome-percentage{font-size:.6rem}}.sports-game-view-btn{padding:.35rem .45rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle);border-radius:.375rem;font-size:.6rem;font-weight:500;color:var(--accent);cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-left:.375rem;flex-shrink:0}@media (min-width: 768px){.sports-game-view-btn{padding:.45rem .6rem;font-size:.7rem}}.sports-game-view-btn:hover{background:var(--bg-surface-soft);border-color:var(--accent);transform:translateY(-1px)}@media (max-width: 768px){.sports-match-card{padding:.5rem .625rem}.sports-match-content{flex-direction:row;align-items:center;gap:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.sports-match-info{flex:1;min-width:0;gap:.3rem}.sports-match-teams{flex-direction:column;align-items:stretch;gap:.25rem}.sports-match-vs{display:none}.sports-team{flex-direction:row;align-items:center;justify-content:center;width:100%;gap:.5rem}.sports-team-logo{height:24px;max-width:32px}.sports-team-name{font-size:.7rem}.sports-team-name-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.sports-match-outcomes{flex-shrink:0;overflow-x:visible;gap:.3rem}.sports-outcome-btn{min-width:45px;padding:.3rem .4rem;flex-shrink:0}.sports-game-view-btn{flex-shrink:0;padding:.3rem .4rem;font-size:.55rem;margin-left:.3rem}}
