.esports-page{background:#05030a}.esports-topbar{position:absolute}.es-hero{position:relative;height:min(840px,100vh);min-height:720px;display:flex;align-items:center;padding:90px clamp(24px,8vw,145px) 50px;overflow:hidden}.es-hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#05030bf2 0%,#05030bc9 38%,rgba(5,3,11,.15) 70%),linear-gradient(0deg,#05030a 0%,transparent 28%),url("/assets/esports.webp") center right/cover no-repeat}.es-scanlines{position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(171,81,255,.12) 6px);mask-image:linear-gradient(90deg,#000,transparent 75%)}.es-hero-copy{position:relative;z-index:2;width:min(650px,50vw)}.es-hero-copy h1{font:800 clamp(65px,8vw,122px)/.8 Orbitron;margin:28px 0 32px;letter-spacing:-6px}.es-hero-copy h1 em{-webkit-text-stroke:1px #bb5cff;color:transparent}.es-hero-copy>p{max-width:560px;color:#aaa3b3;font-weight:300;line-height:1.8}.es-live-meta{display:flex;align-items:center;gap:14px;margin-top:46px;font:500 10px Orbitron}.es-live-meta b{font-size:20px;color:#fff}.es-live-meta small{color:#716a78}.es-season{position:absolute;z-index:2;right:4vw;bottom:70px;display:grid;grid-template-columns:auto auto;align-items:end;gap:3px 15px}.es-season small{grid-column:1/-1;font:500 7px Orbitron;color:#8c8492;letter-spacing:2px}.es-season strong{font:700 48px Orbitron;color:var(--gold);line-height:1}.es-season span{font:600 9px Orbitron;letter-spacing:1px;padding-bottom:5px}.es-game-nav{height:72px;display:flex;justify-content:center;align-items:center;gap:7px;border-block:1px solid var(--line);background:#0a0710;overflow:auto}.es-game-nav button{border:1px solid transparent;background:transparent;color:#77717e;padding:10px 19px;font:600 9px Orbitron;white-space:nowrap}.es-game-nav button.active,.es-game-nav button:hover{color:#120b18;background:var(--gold);box-shadow:0 0 22px rgba(246,199,108,.2)}.signal{font:600 8px Orbitron;color:#6e6874}.signal i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58e49a;box-shadow:0 0 10px #58e49a;margin-right:7px}.es-match-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:15px}.es-main-match,.es-side-matches article{background:#0d0913;border:1px solid var(--line)}.broadcast{position:relative;overflow:hidden;aspect-ratio:16/8}.broadcast:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(5,3,9,.95))}.broadcast img{width:100%;height:100%;object-fit:cover}.broadcast-live{position:absolute;z-index:2;top:18px;left:18px;padding:7px 10px;background:#ef3452;color:#fff;font:600 8px Orbitron}.watch-btn{position:absolute;z-index:3;left:50%;top:46%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid #fff8;border-radius:50%;background:#100a18aa;color:#fff;font-size:17px}.watch-btn:hover{background:var(--gold);color:#111;border-color:var(--gold)}.broadcast-info{position:absolute;z-index:2;left:22px;right:22px;bottom:18px}.broadcast-info small{font:500 8px Orbitron;color:var(--gold);letter-spacing:1px}.broadcast-info h3{font:700 clamp(18px,2vw,30px) Orbitron;margin:5px 0}.broadcast-info h3 i{font-style:normal;color:#c07bff;margin:0 18px}.map-score{display:grid;grid-template-columns:repeat(4,1fr)}.map-score span{display:flex;justify-content:space-between;padding:13px;border-right:1px solid var(--line);font:500 8px Orbitron;color:#6f6976}.map-score b{color:#fff}.map-score .active{background:#231238;color:#c278ff}.es-side-matches{display:grid;gap:10px}.es-side-matches article{padding:18px}.es-side-matches article>small{float:right;font:500 7px Orbitron;color:#777}.es-side-matches article>div{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-align:center;margin:22px 0 13px}.es-side-matches article>div b{width:44px;height:44px;display:grid;place-items:center;margin:auto;border:1px solid #7743a5;background:#1b1028;font:600 11px Orbitron}.es-side-matches article>div strong{font:600 17px Orbitron}.es-side-matches p{font:600 8px Orbitron;text-align:center;color:#c1bac8}.es-side-matches p i{font-style:normal;color:#655e6c;margin:0 7px}.tournament-section{background:linear-gradient(180deg,transparent,rgba(83,26,137,.08),transparent)}.tournament-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.tour-card{position:relative;min-height:265px;padding:28px;display:flex;align-items:flex-end;gap:24px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 75% 25%,rgba(103,41,179,.24),transparent 35%),#0c0812}.tour-card.featured{border-color:#71409e;background:radial-gradient(circle at 72% 28%,rgba(139,53,255,.37),transparent 38%),#100a18}.tour-date{position:absolute;left:24px;top:22px;color:#837b8c;font:500 8px Orbitron}.tour-date b{display:block;font-size:27px;color:var(--gold)}.tour-card>div small{font:500 7px Orbitron;letter-spacing:1px;color:#ac67f5}.tour-card h3{font:700 18px Orbitron;margin:7px 0 18px}.tour-card p{font-size:9px;color:#716a78;margin:0}.tour-card>div>strong{font:600 16px Orbitron;color:var(--gold)}.tour-card>i{position:absolute;right:15px;bottom:-12px;font:800 75px Orbitron;color:#ffffff08}.tour-card:hover{transform:translateY(-5px);border-color:var(--gold)}.rankings>.section-head>small{color:#645e69;font-size:9px}.ranking-table{border:1px solid var(--line);background:#0b0810}.rank-head,.rank-row{display:grid;grid-template-columns:80px 55px 1.3fr 1fr 1fr 80px;align-items:center;padding:13px 22px}.rank-head{font:500 7px Orbitron;color:#625b69;border-bottom:1px solid var(--line)}.rank-head span:nth-child(2){grid-column:2/4}.rank-row{border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}.rank-row:last-child{border:0}.rank-row>strong:first-child{font:600 16px Orbitron;color:var(--gold)}.team-icon{width:35px;height:35px;display:grid;place-items:center;font:600 9px Orbitron;border:1px solid currentColor}.team-icon.purple{color:#bf70ff}.team-icon.gold{color:#f2bf60}.team-icon.blue{color:#62c7ff}.team-icon.red{color:#ff637b}.rank-row>span:not(.team-icon){color:#716b78}.form{font:500 8px Orbitron;color:#70da9c!important}.rank-row>strong:last-child{font:600 12px Orbitron}.es-footer{display:flex;align-items:center;justify-content:space-between;padding:35px clamp(24px,7vw,115px);border-top:1px solid var(--line);color:#665f6d}.es-footer p{font:500 8px Orbitron}.es-footer>a:last-child{font-size:11px;color:var(--gold)}
@media(max-width:900px){.es-hero-copy{width:62vw}.es-match-layout{grid-template-columns:1fr}.es-side-matches{grid-template-columns:repeat(3,1fr)}.tournament-grid{grid-template-columns:1fr 1fr}.tour-card.featured{grid-column:span 2}.rank-head,.rank-row{grid-template-columns:55px 48px 1.2fr .8fr 70px}.rank-head span:nth-child(4),.rank-row>span:nth-child(4){display:none}}
@media(max-width:680px){.es-hero{height:760px;min-height:0;padding:85px 20px 45px;align-items:flex-end}.es-hero-art{background-position:58% center}.es-hero-copy{width:100%}.es-hero-copy h1{font-size:60px;letter-spacing:-4px}.es-hero-copy>p{font-size:13px}.es-season{display:none}.es-game-nav{justify-content:flex-start;padding:0 12px}.es-side-matches{display:flex;overflow:auto}.es-side-matches article{min-width:260px}.tournament-grid{grid-template-columns:1fr}.tour-card.featured{grid-column:auto}.rank-head{display:none}.rank-row{grid-template-columns:40px 42px 1fr 60px;padding:12px}.rank-row>span:nth-child(4),.rank-row>.form{display:none}.es-footer{flex-direction:column;gap:14px;text-align:center}}

/* Real 24live match feed */
.es-side-matches article{position:relative}
.es-side-matches article>small{max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es-side-matches article>div{grid-template-columns:64px 1fr 64px}
.es-team-logo{width:55px!important;height:55px!important;padding:7px;display:grid!important;place-items:center;border:1px solid rgba(184,91,255,.55);background:#160b20;overflow:hidden}
.es-team-logo img{display:block;width:100%;height:100%;object-fit:contain}
.es-team-logo.fallback{font:600 10px Orbitron;color:#fff}
.es-side-matches article>p{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.es-side-matches article>p span:first-child{text-align:right}
.es-side-matches article>p span:last-child{text-align:left}
.recent-finished{font:600 7px Orbitron;color:var(--gold);letter-spacing:1px}
.es-live-loading,.es-live-empty,.es-live-error{display:grid!important;place-content:center;text-align:center;min-height:170px}
.es-live-loading>span{width:24px;height:24px;margin:auto;border:2px solid rgba(184,91,255,.25);border-top-color:#b85cff;border-radius:50%;animation:es-feed-spin .8s linear infinite}
.es-live-empty a{margin-top:8px;color:var(--gold);font-size:9px}
.es-live-error small{color:#766e7c;margin-top:7px}
@keyframes es-feed-spin{to{transform:rotate(360deg)}}
@media(max-width:680px){.es-side-matches article>div{grid-template-columns:54px 1fr 54px}.es-team-logo{width:46px!important;height:46px!important}.es-side-matches article>small{max-width:65%}}

/* Muted competition loop and randomized ten-team sensor. */
.broadcast-footage{animation:broadcast-motion 12s ease-in-out infinite alternate;transform-origin:center}
.broadcast-scan{position:absolute;z-index:1;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(91,210,255,.08) 6px);pointer-events:none}
@keyframes broadcast-motion{0%{transform:scale(1.02) translateX(-1%)}50%{transform:scale(1.1) translateX(1%)}100%{transform:scale(1.05) translateY(-1.5%)}}
.es-team-sensor{grid-template-columns:1fr;gap:7px}
.es-team-sensor .es-sensor-match{position:relative;padding:11px 13px;overflow:hidden;background:linear-gradient(90deg,rgba(70,22,112,.16),transparent),#0d0913}
.es-team-sensor .es-sensor-match:after{content:"";position:absolute;left:-30%;top:0;width:25%;height:100%;background:linear-gradient(90deg,transparent,rgba(105,220,255,.09),transparent);animation:sensor-sweep 2.3s linear infinite}
@keyframes sensor-sweep{to{left:115%}}
.sensor-status{float:left;color:#63e7a1;font:600 6px Orbitron;letter-spacing:1px}
.sensor-status i{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:#63e7a1;box-shadow:0 0 8px #63e7a1}
.es-team-sensor article>div{grid-template-columns:42px 1fr 42px;margin:15px 0 7px}
.es-team-sensor article>div b{width:34px;height:34px}
.es-team-sensor article>div strong{font-size:10px;color:var(--gold)}
.es-team-sensor p{display:grid;grid-template-columns:1fr auto 1fr;gap:7px}
.es-team-sensor p span{display:flex;justify-content:space-between;gap:5px}
.es-team-sensor p em{color:#765a8c;font-style:normal}
@media(max-width:900px){.es-team-sensor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}}
@media(max-width:680px){.es-team-sensor{display:grid;grid-template-columns:1fr 1fr;gap:7px}.es-team-sensor article{min-width:0}.es-team-sensor .es-sensor-match{padding:10px 8px}}

/* Esports editorial feature */
.esports-article-section{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:clamp(50px,7vw,110px);align-items:center;min-height:720px;background:radial-gradient(circle at 78% 48%,rgba(121,40,210,.14),transparent 32%),linear-gradient(180deg,transparent,rgba(83,26,137,.06),transparent)}
.esports-article-copy h2{font-size:clamp(42px,5vw,70px);line-height:1.04;margin:13px 0 25px}
.esports-article-copy>p{color:#9b94a3;font-weight:300;line-height:1.85;margin:0 0 14px}
.esports-article-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.esports-article-points span{display:flex;flex-direction:column;gap:5px;padding:13px 10px;border-top:1px solid rgba(246,199,108,.35);color:#aaa3b2;font-size:10px}
.esports-article-points b{font:600 12px Orbitron;color:var(--gold)}
.esports-article-visual{position:relative;overflow:hidden;border:1px solid rgba(184,91,255,.35);box-shadow:0 30px 85px #000,0 0 55px rgba(108,37,201,.16)}
.esports-article-visual:after{content:"";position:absolute;inset:13px;border:1px solid rgba(246,199,108,.2);pointer-events:none}
.esports-article-visual img{display:block;width:100%;min-height:470px;aspect-ratio:16/10;object-fit:cover;transition:transform .8s ease,filter .8s ease}
.esports-article-visual:hover img{transform:scale(1.045);filter:brightness(1.08)}
.esports-article-visual>span{position:absolute;z-index:2;right:25px;bottom:22px;padding:8px 11px;border-right:2px solid var(--gold);background:rgba(5,3,10,.82);font:600 7px Orbitron;letter-spacing:1.7px;color:var(--gold)}
@media(max-width:900px){.esports-article-section{grid-template-columns:1fr;min-height:0}.esports-article-copy,.esports-article-visual{max-width:760px}.esports-article-visual{grid-row:1}}
@media(max-width:680px){.esports-article-section{gap:42px}.esports-article-copy h2{font-size:39px}.esports-article-copy>p{font-size:13px}.esports-article-points{grid-template-columns:1fr;gap:6px}.esports-article-points span{flex-direction:row;align-items:center;gap:12px}.esports-article-visual img{min-height:310px;aspect-ratio:4/3}}
