/* MEGA UniTV 1.31.0 — sports presentation, scoped to games only. */
.sports-guide,.sports-detail{color:#f4f4f6;position:relative;min-height:100%;width:100%;font-family:Roboto,Arial,sans-serif}
.sports-guide button:focus-visible,.sports-detail button:focus-visible,.sport-home-rail button:focus-visible{outline:3px solid #ffd18a;outline-offset:2px}
.sport-logo{height:48px;width:48px;min-width:48px;display:block;object-fit:contain;flex:none}
.sport-logo-empty{display:flex;justify-content:center;align-items:center;border-radius:50%;background:#454e64;color:#d5dbe9}
.sport-logo-empty .icon{height:25px;width:25px}
.sport-league{display:flex;gap:9px;align-items:center;color:#eeeef0;font-size:14px;min-width:0}
.sport-league .sport-logo{width:28px;height:28px;min-width:28px}
.sport-league span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sport-card{border-radius:17px;background:linear-gradient(145deg,#3b3d4b,#2c2f3c);padding:16px;min-width:0;overflow:hidden}
.sport-open-game{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;flex-shrink:1;padding:4px 0;color:#f5f5fa}
.sport-team{display:flex;min-width:0;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:13px;text-align:center}
.sport-team span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sport-match-clock{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:75px}
.sport-match-clock strong{font-weight:700;font-size:28px;font-variant-numeric:tabular-nums}
.sport-match-clock small{font-size:13px;color:#c8cad2}
.sport-live-pill{font-size:11px;color:#ff596a;letter-spacing:.05em;font-weight:700}
.sport-card-footer{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px}
.sport-subscribe{background:transparent;border:1.5px solid #bb1e32;border-radius:999px;min-height:37px;padding:6px 18px;font-size:14px;white-space:nowrap}
.sport-subscribe.active{background:#445483;color:white}
.sport-subscribe .icon{width:18px;height:18px}
.sport-watch-mini{padding:7px 13px;min-height:37px;background:#373a50;border-radius:40px;font-size:14px}
.sport-watch-mini .icon{width:16px;height:16px}
.sport-no-games{color:#b4b5c5;padding:20px 8px}
/* Portrait mobile — main carousel, games shelf, sports calendar */
.mobile .sport-home-rail{margin:12px 0 24px;min-width:0}
.mobile .sport-home-title{padding:0 11px 10px}
.mobile .sport-home-title h2{font-size:20px}
.mobile .sport-home-title>.text-button{color:#d8172c;font-size:17px}
.mobile .sport-home-cards{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:11px;scrollbar-width:none;padding:0 10px 6px}
.mobile .sport-home-cards::-webkit-scrollbar{display:none}
.mobile .sport-home-cards .sport-card{width:min(83%,345px);min-width:min(83%,345px);height:159px;scroll-snap-align:start;padding:15px}
.mobile .sport-home-cards .sport-card .sport-league{font-size:12px;margin-bottom:3px}
.mobile .sport-home-cards .sport-card .sport-league .sport-logo{width:20px;height:20px;min-width:20px}
.mobile .sport-home-cards .sport-match-clock strong{font-size:24px}
.mobile .sport-home-cards .sport-team{font-size:12px}
.mobile .sport-home-cards .sport-team .sport-logo{width:47px;height:47px;min-width:47px}
.mobile .sport-home-cards .sport-card .sport-open-game{height:106px}
.mobile .sports-mobile{background:#1a1b24;overflow:auto;padding-bottom:20px}
.mobile .sport-guide-back{min-height:104px;padding:24px 17px 0}
.mobile .sport-back{width:56px;height:50px;justify-content:flex-start;padding:0}
.mobile .sport-back .icon{height:26px;width:26px}
.mobile .sport-back{font-size:0}
.mobile .sport-primary-tabs{display:flex;border-bottom:3px solid #353743;height:61px;justify-content:space-around}
.mobile .sport-primary-tabs>.button{flex:1;color:#aaa9b4;font-size:27px;padding:10px 0;position:relative}
.mobile .sport-primary-tabs>.button.active{color:#db1730}
.mobile .sport-primary-tabs>.button.active:after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:3px;background:#d51830}
.mobile .sport-date-tabs{display:flex;gap:3px;background:#30313c;padding:12px 10px;overflow-x:auto;scrollbar-width:none}
.mobile .sport-date-tabs>.button{flex:1;min-width:48px;flex-direction:column;gap:2px;padding:5px 2px;border-radius:5px;font-size:16px}
.mobile .sport-date-tabs>.button strong{font-weight:400}
.mobile .sport-date-tabs>.button small{font-size:12px;color:#a9a9b8}
.mobile .sport-date-tabs>.button.active{background:linear-gradient(120deg,#a94f4d,#c52330);color:white}
.mobile .sport-date-tabs>.button.active small{color:white}
.mobile .sport-guide-cards{display:flex;flex-direction:column;gap:12px;padding:15px 10px}
.mobile .sport-guide-cards .sport-card{padding:14px 16px;min-height:161px}
.mobile .sport-guide-cards .sport-card .sport-open-game{min-height:105px}
.mobile .sport-guide-cards .sport-match-clock strong{font-size:25px}
.mobile .sport-guide-cards .sport-team .sport-logo{border-radius:50%;background:#484c60;padding:7px;height:58px;width:58px;min-width:58px}
.mobile .sport-guide-cards .sport-card-footer{margin-top:0}
.mobile .sport-guide-cards .sport-subscribe{flex:1;max-width:165px}
.mobile .sport-guide-cards .sport-watch-mini{flex:1;max-width:135px}
.mobile .sport-leagues{padding:10px;display:flex;flex-wrap:wrap;gap:7px}
.sport-league-chip{border:1px solid #535565;background:#2d303a;border-radius:30px;font-size:13px;padding:9px 13px}
.sport-league-chip.active{border-color:#d82336;background:#671c29}
.sport-refresh{margin:12px auto;display:flex;border:1px solid #4f5362;border-radius:7px;padding:10px 18px}
/* TV layout: guide menu on left and match rows on right */
.desktop .sports-tv{min-height:100%;background:linear-gradient(100deg,#050e20bb,#0c2634bb),radial-gradient(ellipse at 56% 72%,#347c5161,#061626 66%);padding:0 0 3vh}
.desktop .sports-tv-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 1vw 1.7vh}
.desktop .sports-tv-title h1{font-size:clamp(22px,2.2vw,42px);white-space:nowrap}
.desktop .sports-tv-title p{font-size:clamp(14px,1.35vw,23px);color:#ced3db;text-align:right}
.desktop .sports-tv-body{display:grid;grid-template-columns:14% 1fr;align-items:start;gap:1.2%;padding:0 0 3vh}
.desktop .sports-tv-sidebar{display:flex;flex-direction:column;gap:7px}
.desktop .sports-tv-tile{min-height:14.8vh;width:100%;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;font-size:clamp(16px,2vw,32px);background:#008a37;border-radius:0}
.desktop .sports-tv-tile .icon{width:4.4vw;height:4.4vw;max-height:70px}
.desktop .sports-tv-tile.tile-1{background:#e38c17}.desktop .sports-tv-tile.tile-2{background:#0677b0}
.desktop .sports-tv-tile.tile-2{font-size:clamp(14px,1.65vw,26px);white-space:nowrap}
.desktop .sports-tv-tile.active{outline:3px solid #ffe6a3;outline-offset:-3px;filter:brightness(1.13)}
.desktop .sports-tv-rows{display:flex;flex-direction:column;gap:7px;padding-right:2px}
.desktop .sport-card{display:grid;grid-template-columns:18% 1fr 18%;align-items:center;gap:1vw;border:1px solid #ffffff2b;background:linear-gradient(90deg,#2c3545d9,#2f3541b6);border-radius:0;min-height:12.5vh;padding:5px 13px}
.desktop .sport-card:focus-within,.desktop .sport-card:hover{border-color:#edc27d}
.desktop .sport-card .sport-league{flex-direction:column;font-size:clamp(11px,1.05vw,19px);text-align:center}
.desktop .sport-card .sport-league .sport-logo{width:3.2vw;height:3.2vw;min-width:3.2vw;max-height:54px}
.desktop .sport-open-game{flex:1;gap:15px;min-height:10vh}
.desktop .sport-team{flex-direction:row;flex:1;font-size:clamp(12px,1.3vw,24px);gap:9px}
.desktop .sport-team:first-child{flex-direction:row-reverse}
.desktop .sport-team .sport-logo{width:3.8vw;height:3.8vw;min-width:3.8vw;max-height:63px}
.desktop .sport-match-clock strong{font-size:clamp(21px,2.1vw,38px)}
.desktop .sport-match-clock small{font-size:clamp(11px,.95vw,18px)}
.desktop .sport-row-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.desktop .sport-mini-action,.desktop .sport-row-actions .sport-subscribe{font-size:clamp(10px,.9vw,16px);padding:5px 8px;min-height:31px;border-radius:7px}
.desktop .sport-mini-action .icon{height:16px;width:16px}
.desktop .sports-tv-rows .sport-date-tabs{display:flex;gap:8px;overflow-x:auto;padding:7px 2px}
.desktop .sports-tv-rows .sport-date-tabs .button{flex-direction:column;padding:9px 14px;background:#333b4b;border-radius:6px}
.desktop .sports-tv-rows .sport-date-tabs .button.active{background:#ae202e}
/* Detail pages: stadium preview, countdown, live video and real API match data. */
.sports-detail{background:radial-gradient(ellipse at 50% 67%,#304b3a,#141e2d 58%,#0b141f 100%);min-height:100%;overflow:auto}
.sports-match-preview{position:relative;background:linear-gradient(0deg,#000b,#213b5780),repeating-linear-gradient(0deg,#254237 0,#254237 15px,#1b3731 16px,#1b3731 32px);min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sports-match-preview:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 6%,#aabfd326,transparent 65%),linear-gradient(172deg,transparent 0 42%,#a2bfc012 43% 45%,transparent 46%);pointer-events:none}
.sports-details-back{position:absolute;top:10px;left:10px;z-index:2;background:#1119;border-radius:50%;height:42px;width:42px;padding:9px;font-size:0}
.sports-details-back .icon{width:23px;height:23px}
.sports-countdown{position:relative;z-index:1;margin:22px auto 12px;display:flex;flex-direction:column;gap:12px;align-items:center;color:#fff;text-shadow:0 2px 6px #000}
.sports-countdown>span{font-size:15px}.sports-countdown>strong{font-size:36px;font-variant-numeric:tabular-nums;letter-spacing:.07em;color:#e5293f}
.sport-video-anchor{position:relative;flex:none;width:min(96%,660px);aspect-ratio:16/9;min-height:140px;background:linear-gradient(160deg,#0c1729d0,#234c4690),repeating-linear-gradient(90deg,transparent 0 23%,#98c0aa21 23.2% 23.6%,transparent 24% 49%);border:1px solid #b8c5c22b;display:flex;justify-content:center;align-items:center}
.sport-preview-hint{text-align:center;max-width:330px;padding:10px;color:#f5f5f5c4;font-size:14px}
.sports-detail-score{padding:20px 16px}
.sports-detail-score h2{font-size:23px;font-weight:500;text-align:center;margin-bottom:16px}
.sport-versus{display:flex;align-items:center;gap:8px;justify-content:center}
.sport-versus .sport-team{min-width:0}
.sport-versus .sport-team span{font-size:15px}
.sport-versus .sport-match-clock strong{font-size:26px}
.sports-detail-actions{display:flex;justify-content:center;gap:8px;margin:20px 0}
.sports-detail-actions>.button{background:#ffffff24;padding:11px 12px;border-radius:4px;flex:1;font-size:13px}
.sports-detail-actions>.sports-full{background:#c40d21}
.sports-detail-actions .icon{width:19px;height:19px}
.sports-detail-tabs{display:flex;overflow-x:auto;border-bottom:1px solid #5a6065;gap:15px;scrollbar-width:none}
.sports-detail-tabs>.button{white-space:nowrap;padding:11px 3px;border-bottom:3px solid transparent;color:#bbbcc6;font-size:15px}
.sports-detail-tabs>.button.active{border-color:#d2182d;color:#ec293d}
.sports-detail-area{padding:20px 12px;color:#e0e1e8;line-height:1.5;overflow:auto}
.sports-detail-area h2{margin-bottom:12px}
.sport-detail-competition p{padding:4px 0}
.sport-structured-data ul{padding-left:19px}
.sport-structured-data dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px}
.sport-structured-data dt{font-weight:700;color:#c9d3df;text-transform:capitalize}.sport-structured-data dd{margin:0;overflow-wrap:anywhere}
.mobile .view-game-detail{margin:0;overflow:auto;background:#1a1b24}
.mobile .sports-detail{background:#1a1b24}
.mobile .sports-match-preview{min-height:240px;background:linear-gradient(#24293b80,#161822aa),repeating-linear-gradient(0deg,#304b44 0,#304b44 15px,#253c39 15px,#253c39 29px)}
.mobile .sports-match-preview .sport-video-anchor{width:100%;min-height:190px}
.mobile .sports-countdown{margin:60px 0 9px}
.mobile .sports-countdown>strong{font-size:31px}
.mobile .sports-detail-score{padding:22px 12px}
.mobile .sport-versus .sport-logo{width:58px;height:58px;min-width:58px}
.mobile .sport-versus .sport-team span{font-size:14px}
.mobile .sports-detail-tabs{gap:13px}
.mobile .sports-detail-tabs .button{font-size:14px}
.desktop .view-game-detail{margin:0 calc(-4.65 * var(--mega-vw));height:100%;overflow:auto}
.desktop .sports-desktop-top{display:grid;grid-template-columns:51% 49%;gap:0;min-height:100%}
.desktop .sports-match-preview{height:auto;min-height:65vh}
.desktop .sports-match-preview .sport-video-anchor{width:93%;height:auto;min-height:35vh}
.desktop .sports-detail-score{padding:3vh 2vw}
.desktop .sports-detail-score h2{font-size:clamp(23px,2.2vw,38px)}
.desktop .sport-versus .sport-team{flex-direction:column;gap:10px}
.desktop .sport-versus .sport-logo{width:5.5vw;height:5.5vw;min-width:5.5vw}
.desktop .sport-versus .sport-match-clock strong{font-size:clamp(26px,2.8vw,44px)}
.desktop .sports-detail-actions{margin:3.5vh 0}
.desktop .sports-detail-tabs .button{font-size:clamp(14px,1.2vw,21px)}
.desktop .sports-detail-area{font-size:clamp(14px,1.15vw,20px)}
@media(max-width:395px){.mobile .sport-guide-cards .sport-card{padding:12px 11px}.mobile .sport-guide-cards .sport-match-clock strong{font-size:23px}.mobile .sport-guide-cards .sport-team span{font-size:12px}.mobile .sport-date-tabs>.button{min-width:43px}.mobile .sport-team{gap:5px}}

/* Keep the actions visible in the mobile home shelf. */
.mobile .sport-home-cards .sport-card{height:202px}
.mobile .sport-home-cards .sport-card .sport-open-game{height:101px}
.mobile .sport-home-cards .sport-card-footer{min-height:35px;margin-top:3px}
.mobile .sport-home-cards .sport-card-footer .button{font-size:12px;min-height:32px;padding:5px 12px}
.sport-sync-note{padding:9px 12px;color:#e2c993;line-height:1.4;font-size:14px;flex:0 0 100%;white-space:normal}
.mobile .sport-home-cards>.sport-sync-note{display:none}
.sports-guide,.sports-detail{overflow-wrap:anywhere}
@supports not (aspect-ratio:16/9){.sport-video-anchor{height:calc(100vw * .5625)}.desktop .sport-video-anchor{height:calc(46vw * .5625)}}
@media (prefers-reduced-motion:reduce){.sport-card,.sports-detail{scroll-behavior:auto}}
