/* Neutral source UI symbols retain currentColor in both layout modes. */
.eg-sport .eg-time-tab>.eg-time-content{display:flex;align-items:center;gap:4px;font-size:inherit}
.eg-time-icon{display:block;flex-shrink:0;width:1em;height:1em;background:currentColor;mask:var(--sport-time-icon) center/contain no-repeat;-webkit-mask:var(--sport-time-icon) center/contain no-repeat}
.eg-time-bar{display:none}
.eg-league-letters{display:flex;gap:6px}
.eg-league-letters>button{border:1px solid #333;border-radius:50%;width:24px;height:24px;padding:0;color:#aaa;background:transparent}
.eg-league-letters>button.active{background:#ffe033;color:#111}
/* The league picker keeps its source footer geometry above the phone gesture area. */
:root[data-layout=source] .eg-filter>form{padding-bottom:calc(var(--source-rem,39px)*.32 + env(safe-area-inset-bottom,0px))}
:root[data-layout=source] .eg-filter>form>.btn{bottom:calc(var(--source-rem,39px)*.32 + env(safe-area-inset-bottom,0px))}
/* Source sport-type li inherits 1.5 line-height. Time options reserve a separate active bar. */
:root[data-layout=source] .eg-sport .eg-sport-tab{line-height:1.5}
:root[data-layout=source] .eg-sport .eg-time-tab{display:flex;flex-direction:column;align-items:center;gap:calc(var(--eg-u)*.10667);padding:0;line-height:1.15;min-height:0}
:root[data-layout=source] .eg-time-content{display:flex;align-items:center;gap:calc(var(--eg-u)*.10667)}
:root[data-layout=source] .eg-time-icon{display:block;flex-shrink:0;width:1em;height:1em;background:currentColor;mask:var(--sport-time-icon) center/contain no-repeat;-webkit-mask:var(--sport-time-icon) center/contain no-repeat}
:root[data-layout=source] .eg-time-bar{display:block;width:40%;height:calc(var(--eg-u)*.05333);background:#ffe33b;opacity:0}
:root[data-layout=source] .eg-time-tab.active .eg-time-bar{opacity:1}
:root[data-layout=source] .eg-time-tab.active:after{content:none}
:root[data-layout=source] .eg-time-content>span:not(.eg-time-icon){line-height:normal}
:root[data-layout=source] .eg-match-list{gap:calc(var(--eg-u)*.2)}
:root[data-layout=source][data-download=false] .eg-sport:not(.eg-match-detail){padding-bottom:calc(var(--source-nav-height) + 20px)}
:root[data-layout=source] .eg-platform-symbol{display:block;flex:none;width:calc(var(--source-rem)*.53333);height:calc(var(--source-rem)*.53333);border-radius:calc(var(--source-rem)*.13333);background:#292925}
/* LeagueFilter uses fixed 50px virtual rows and a 32px group label, even at 320px. */
:root[data-layout=source] .eg-filter-content{min-height:0;overflow:hidden;padding-bottom:0}
:root[data-layout=source] .eg-filter-content .eg-league-search{height:calc(var(--source-rem)*1.06667);min-height:0;padding:0 calc(var(--source-rem)*.32);font-size:calc(var(--source-rem)*.32)}
:root[data-layout=source] .eg-league-head{display:flex;flex-direction:column;gap:calc(var(--source-rem)*.16);flex:none}
:root[data-layout=source] .eg-league-letters{display:flex;gap:calc(var(--source-rem)*.21333);overflow-x:auto;scrollbar-width:none}
:root[data-layout=source] .eg-league-letters>button{display:grid;place-items:center;flex-shrink:0;width:calc(var(--source-rem)*.69333);height:calc(var(--source-rem)*.69333);padding:calc(var(--source-rem)*.02667) 0 0;border:calc(var(--source-rem)*.02667) solid #ffffff0d;border-radius:50%;background:transparent;color:#999;font-size:calc(var(--source-rem)*.32);line-height:1}
:root[data-layout=source] .eg-league-letters>button.active{background:#ffe033;border-color:#ffe033;color:#0f172a}
:root[data-layout=source] .eg-league-scroll{min-height:0;flex:1;overflow-y:auto;margin:0 calc(var(--source-rem)*-.42667);scrollbar-width:none}
:root[data-layout=source] .eg-league-scroll .eg-league-list{margin:0}
:root[data-layout=source] .eg-league-letter-heading{height:32px;display:flex;align-items:center;padding:0 calc(var(--source-rem)*.42667);font-size:calc(var(--source-rem)*.32);color:#999}
:root[data-layout=source] .eg-league-letter-heading[hidden]{display:none}
:root[data-layout=source] .eg-filter-content .eg-league-choice{height:50px;min-height:50px;padding:calc(var(--source-rem)*.26667) calc(var(--source-rem)*.42667);font-size:calc(var(--source-rem)*.34667);font-weight:400}
:root[data-layout=source] .eg-filter-content .eg-league-choice input{width:calc(var(--source-rem)*.42667);height:calc(var(--source-rem)*.42667)}
:root[data-layout=source] .eg-league-badge{width:calc(var(--source-rem)*.53333);height:calc(var(--source-rem)*.53333)}
:root[data-layout=source] .eg-league-scroll .eg-filter-advanced{margin-inline:calc(var(--source-rem)*.42667)}
:root[data-layout=source] .eg-filter>form::after{content:'';position:absolute;bottom:0;left:0;right:0;height:calc(var(--source-rem)*1.44 + env(safe-area-inset-bottom,0px));background:#1c1c18;pointer-events:none}
:root[data-layout=source] .eg-filter-tools{position:relative;z-index:1;gap:calc(var(--source-rem)*.53333);height:calc(var(--source-rem)*.8)}
:root[data-layout=source] .eg-filter>form>.btn{z-index:1;width:calc(var(--source-rem)*2.66667);height:calc(var(--source-rem)*.8);min-height:0;padding:0;line-height:1;color:#fff;font-weight:400}
/* comp-betting-dialog-QlrqG_fS/index-CTx1eEvZ: bottom sheet, 85% viewport. */
.sport-bet-dialog{--bet-u:var(--source-rem,39px);position:fixed;inset:auto auto 0 50%;transform:translateX(-50%);width:min(100vw,calc(var(--bet-u)*10));max-width:100vw;height:85dvh;max-height:85dvh;margin:0!important;padding:0!important;border:0;border-radius:calc(var(--bet-u)*.42667) calc(var(--bet-u)*.42667) 0 0;background:#141412;color:#eee;overflow:hidden;font-size:calc(var(--bet-u)*.32)}
.sport-bet-dialog[open]{display:flex;flex-direction:column}
.sport-bet-dialog::backdrop{background:#000b}
.sport-bet-dialog button{cursor:pointer;border:0;background:none;color:inherit;font:inherit}
.sport-bet-header{display:flex;align-items:center;justify-content:space-between;flex:none;background:#1c1c18;border-bottom:calc(var(--bet-u)*.02667) solid #ffffff0d;padding:calc(var(--bet-u)*.48) calc(var(--bet-u)*.53333) calc(var(--bet-u)*.42667)}
.sport-bet-header h2{font-size:calc(var(--bet-u)*.42667);font-weight:400;margin:0;line-height:1.5}
.sport-bet-header button{padding:0;font-size:calc(var(--bet-u)*.37333)}
.sport-bet-header button:first-child{font-size:calc(var(--bet-u)*.42667)}
.sport-bet-dialog form{display:flex;flex-direction:column;min-height:0;flex:1;margin:0;gap:0}
.sport-bet-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
.sport-bet-tabs{display:grid;grid-template-columns:1fr 1fr;padding:calc(var(--bet-u)*.42667);flex:none;font-size:calc(var(--bet-u)*.42667)}
.sport-bet-tabs button{padding:0;line-height:1.5}
.sport-bet-tabs button.active{color:#ffe033}
.sport-bet-list{display:flex;flex-direction:column;gap:calc(var(--bet-u)*.32);padding:0 calc(var(--bet-u)*.42667) calc(var(--bet-u)*.42667);overflow-y:auto;min-height:0}
.sport-bet-item{display:flex;align-items:center;justify-content:space-between;background:#1c1c18;border-radius:calc(var(--bet-u)*.21333)}
.sport-bet-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:calc(var(--bet-u)*.32);height:100%}
.sport-bet-content strong{font-weight:400;font-size:calc(var(--bet-u)*.37333)}
.sport-bet-content p{font-size:calc(var(--bet-u)*.32);margin:calc(var(--bet-u)*.08) 0;color:#999;overflow-wrap:anywhere;line-height:1.5}
.sport-bet-content b,.sport-bet-combo b,.sport-bet-summary b{color:#ee3c50;font-size:calc(var(--bet-u)*.37333);font-weight:400}
.sport-bet-controls{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:calc(var(--bet-u)*.13333);width:calc(var(--bet-u)*3.2);max-width:42%;padding:calc(var(--bet-u)*.32)}
.sport-bet-controls button{font-size:calc(var(--bet-u)*.64);line-height:1;padding:0}
.sport-bet-controls span{font-size:calc(var(--bet-u)*.32);color:#999}
.sport-bet-dialog input{background:#141412;color:#999;border:calc(var(--bet-u)*.02667) solid #ffffff0d;border-radius:calc(var(--bet-u)*.13333);height:calc(var(--bet-u)*1.06667);min-height:0;font-size:calc(var(--bet-u)*.37333);padding:0 calc(var(--bet-u)*.21333);width:100%;min-width:0}
.sport-bet-controls small{font-size:calc(var(--bet-u)*.26667);white-space:nowrap;color:#ee3c50}
.sport-bet-footer{background:#1c1c18;display:flex;flex-direction:column;gap:calc(var(--bet-u)*.21333);padding:calc(var(--bet-u)*.32) calc(var(--bet-u)*.42667) calc(var(--bet-u)*.32 + env(safe-area-inset-bottom,0px));flex:none}
.sport-bet-summary,.sport-bet-combo{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:calc(var(--bet-u)*.32)}
.sport-bet-summary small{color:#999;white-space:nowrap}
.sport-bet-actions{display:flex;justify-content:space-between;gap:calc(var(--bet-u)*.29333)}
.sport-bet-actions button{height:calc(var(--bet-u)*1.17333);border-radius:calc(var(--bet-u)*.13333);font-size:calc(var(--bet-u)*.37333);padding:0;line-height:1;flex:none}
.sport-bet-actions button:first-child{width:calc(var(--bet-u)*3.73333);border:calc(var(--bet-u)*.02667) solid #ffe033;color:#ffe033}
.sport-bet-actions button:last-child{width:calc(var(--bet-u)*5.12);background:#ffe033;color:#0f172a}
.sport-bet-empty{padding:calc(var(--bet-u)*1.2) 0;text-align:center;color:#999;font-size:calc(var(--bet-u)*.32)}
.sport-bet-combo>div{display:flex;flex-direction:column;gap:6px}
.sport-bet-combo label{display:flex;flex-direction:column;width:calc(var(--bet-u)*2.66667);font-size:calc(var(--bet-u)*.29333);gap:4px;color:#999}
.sport-bet-hint{margin:0;line-height:1.5;color:#999;font-size:calc(var(--bet-u)*.32)}
.sport-bet-error{color:#f26161;margin:0;line-height:1.5;font-size:calc(var(--bet-u)*.32)}
.sport-bet-error:empty{display:none}
.sport-bet-dialog button:disabled{opacity:.55;cursor:wait}
/* Source platform cards are centered 2.8rem tiles, rather than stretched grid cells. */
:root[data-layout=source] .eg-platform-picker>.eg-platform-panel{background:#141412}
:root[data-layout=source] .eg-platform-panel .eg-platform-symbol{border-radius:0;background:#eee;mask:url('/assets/sport/time-live.svg') center/contain no-repeat;-webkit-mask:url('/assets/sport/time-live.svg') center/contain no-repeat}
:root[data-layout=source] .eg-platform-grid .eg-platform{justify-self:center;width:calc(var(--source-rem)*2.8);gap:0;padding:calc(var(--source-rem)*.065) 0}
/* League rows extend across the panel; only the inner league list should scroll. */
:root[data-layout=source] .eg-filter>form{background:#141412;overflow:hidden}
:root[data-layout=source] .eg-filter-content{overflow:visible;margin-bottom:calc(var(--source-rem)*.64)}
:root[data-layout=source] .eg-filter-tools{margin-inline:calc(var(--source-rem)*.10667);padding-right:calc(var(--source-rem)*3.09334)}
:root[data-layout=source] .eg-filter>form>.btn{right:calc(var(--source-rem)*.53334)}
