﻿:root{--green:#39ff14;--line:rgba(255,255,255,.09);--glass:rgba(255,255,255,.06)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:'Outfit',sans-serif;color:#fff;overflow-x:hidden;background:radial-gradient(circle at 16% 18%,var(--accent1,rgba(29,78,216,.24)),transparent 0 24%),radial-gradient(circle at 82% 20%,var(--accent2,rgba(255,255,255,.18)),transparent 0 26%),linear-gradient(135deg,#060d15 0%,#0b1728 42%,#091018 100%) fixed}
body.home-body{background:#000}
body::before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.18))}
body.home-body::before{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22))}
body.modal-open{overflow:hidden}
body[data-viewer-page]{background:#000}
body[data-viewer-page]::before{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18))}
nav,main,footer{position:relative;z-index:1}
.home-bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}
img{display:block;max-width:100%}
a,button{font-family:inherit}
[hidden]{display:none!important}
.green{color:var(--green)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 32px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;font-size:1.6rem;font-weight:900;color:#fff;text-decoration:none;transition:transform .18s ease}
.brand:hover{color:#fff;text-decoration:none;transform:scale(1.06)}
.brand:visited,.brand:active{color:#fff;text-decoration:none}
.topbar-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.topbar-links a{color:#fff;text-decoration:none;font-size:.92rem;opacity:.84}
.site-live-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.68);font-size:.74rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.site-live-dot{width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 0 0 rgba(57,255,20,.5);animation:liveDotPulse 1.8s ease-out infinite}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#000;font-weight:800;border-radius:999px;padding:12px 28px;text-decoration:none;white-space:nowrap;border:0;cursor:pointer}
.social-tab{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.telegram-tab{background:rgba(34,158,217,.18);border:1px solid rgba(34,158,217,.45);color:#7dd3fc}
.discord-tab{background:rgba(88,101,242,.18);border:1px solid rgba(88,101,242,.45);color:#c4b5fd}
.x-tab{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff}
.shell{max-width:1520px;margin:0 auto;padding:28px}
body[data-viewer-page] .shell{max-width:1660px}
.hero{padding:28px;border-radius:30px;background:linear-gradient(135deg,rgba(10,20,36,.96),rgba(8,15,26,.88)),url('https://media.ouest-france.fr/v1/pictures/MjAyMzA5NjQ2ZTk0ZTQ2ZWYzNGFlMGM5MTQ0NjkwYjBjNzBjZjc?width=1260&height=708&focuspoint=50%2C25&cropresize=1&client_id=bpeditorial&sign=26249e7f83606652af41a3a9c6926f89d4bc1e184b88cfbf8f853b9d0a2670c6') center/cover no-repeat;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.36)}
.hero-kicker,.page-kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:900}
.hero-kicker::before,.page-kicker::before{content:'';width:10px;height:10px;border-radius:999px;background:#fff}
.hero h1,.page-title{margin:18px 0 10px;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.92;font-weight:900}
.hero p,.page-intro p{margin:0;max-width:860px;color:rgba(255,255,255,.76);line-height:1.7}
.countdown-panel,.countdown-strip{margin-top:20px;padding:18px 20px;border-radius:24px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:10px;min-width:min(100%,360px)}
.countdown-box{padding:14px 10px;border-radius:18px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.countdown-value{display:block;font-size:clamp(1.3rem,3vw,2rem);font-weight:900;line-height:1}
.countdown-label{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);font-weight:800}
.program{margin-top:26px;display:grid;gap:20px}
.day-section{padding:20px;border-radius:28px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.section-head h2{margin:0;font-size:1.7rem}
.section-head span{color:rgba(255,255,255,.6);font-weight:800}
.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.match-card{padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,var(--card-a,#0d3b8a) 0%,rgba(8,12,20,.92) 56%,var(--card-b,#c62828) 100%);box-shadow:0 18px 50px rgba(0,0,0,.26)}
.match-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.time-pill,.channel-pill,.live-pill,.comp-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:900}
.live-pill::before{content:'';width:8px;height:8px;border-radius:999px;background:#ef4444}
.match-league{margin-top:12px;color:rgba(255,255,255,.68);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900}
.teams-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:16px}
.team{display:flex;align-items:center;gap:10px;min-width:0}
.team.right{justify-content:flex-end;text-align:right}
.team img{width:50px;height:50px;object-fit:contain;flex:0 0 auto}
.team strong{font-size:1rem;line-height:1.05}
.vs-badge{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-weight:900}
.match-meta{margin-top:14px;color:rgba(255,255,255,.68);font-size:13px;font-weight:700}
.watch-link{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;min-width:170px;height:44px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;font-weight:900;cursor:pointer}
.overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,8,14,.78);backdrop-filter:blur(8px)}
.popup{position:relative;width:min(100%,440px);padding:28px 24px;border-radius:28px;background:linear-gradient(145deg,rgba(8,19,31,.98),rgba(11,28,45,.96));border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 90px rgba(0,0,0,.45);text-align:center}
.popup-kicker{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(57,255,20,.08);border:1px solid rgba(57,255,20,.18);color:#d7ffd0;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.popup strong{display:block;font-size:2rem;line-height:1}
.popup p{margin:14px 0 0;color:rgba(255,255,255,.76);line-height:1.7}
.popup .btn{margin-top:22px;width:100%}
.popup-actions{display:grid;gap:12px;margin-top:22px}
.popup-actions .btn{margin-top:0}
.btn-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.btn-secondary:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);box-shadow:0 14px 30px rgba(255,255,255,.08);transform:translateY(-2px)}
.btn-secondary:active{background:rgba(255,255,255,.2);transform:translateY(0) scale(.985)}
.btn-secondary:focus-visible{outline:none;border-color:rgba(57,255,20,.55);box-shadow:0 0 0 4px rgba(57,255,20,.18),0 14px 30px rgba(255,255,255,.08)}
.promo-x-btn{position:relative;justify-content:flex-start;gap:14px;padding:14px 18px;border-radius:20px;background:linear-gradient(135deg,#ffffff 0%,#eef3f8 100%);color:#05070b;border:1px solid rgba(255,255,255,.48);box-shadow:0 18px 40px rgba(255,255,255,.08),0 0 28px rgba(57,255,20,.12);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.promo-x-btn::before{content:'';position:absolute;inset:-20% auto auto -12%;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(57,255,20,.22),rgba(57,255,20,0) 68%);pointer-events:none}
.promo-x-btn:hover{transform:translateY(-2px);box-shadow:0 24px 50px rgba(255,255,255,.12),0 0 34px rgba(57,255,20,.18);filter:saturate(1.04)}
.promo-x-btn:visited,.promo-x-btn:active{color:#05070b}
.promo-x-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:#05070b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 24px rgba(0,0,0,.16)}
.promo-x-logo{width:28px;height:28px;object-fit:contain}
.promo-x-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}
.promo-x-kicker{font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(5,7,11,.56)}
.promo-x-title{font-size:1rem;font-weight:900;line-height:1.08;color:#05070b}
.promo-x-tag{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#05070b;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 18px rgba(0,0,0,.14)}
.popup-note{margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.9rem;color:rgba(255,255,255,.68);line-height:1.5}
.popup-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:1.1rem;font-weight:900;cursor:pointer}
.popup-close:hover{background:rgba(255,255,255,.12)}
.popup-close-danger{border-color:rgba(239,68,68,.45);background:rgba(127,29,29,.92);color:#fff;box-shadow:0 10px 24px rgba(127,29,29,.36)}
.popup-close-danger:hover{background:#dc2626}
.promo-discord-btn{padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,#5865f2 0%,#7c3aed 100%);border:1px solid rgba(255,255,255,.18);color:#fff;box-shadow:0 18px 40px rgba(88,101,242,.28);font-size:.92rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.promo-discord-btn:hover{transform:translateY(-2px);box-shadow:0 22px 46px rgba(88,101,242,.34)}
.promo-discord-btn:visited,.promo-discord-btn:active{color:#fff}
.match-offer-overlay{z-index:80;background:rgba(0,0,0,.78);backdrop-filter:blur(10px)}
.match-offer-popup{width:min(100%,560px);padding:30px 28px;border-radius:30px;border:1px solid rgba(57,255,20,.16);background:linear-gradient(160deg,rgba(8,10,14,.98),rgba(16,18,24,.96));box-shadow:0 32px 100px rgba(0,0,0,.52),0 0 34px rgba(57,255,20,.08);text-align:left}
.match-offer-popup-lite{width:min(100%,460px);text-align:center}
.match-offer-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(57,255,20,.1);border:1px solid rgba(57,255,20,.2);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#d7ffd0}
.match-offer-badge::before{content:'';width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 0 5px rgba(57,255,20,.12)}
.match-offer-popup strong{display:block;margin-top:16px;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.04}
.match-offer-popup p{margin:12px 0 0;color:rgba(255,255,255,.8);line-height:1.62}
.match-offer-popup .match-offer-intro{margin-top:14px;font-weight:800;color:#fff}
.match-offer-deadline{margin-top:18px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.92rem;font-weight:800;color:#d8ffd3}
.match-offer-list{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.match-offer-list li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.82);line-height:1.55;font-weight:700}
.match-offer-list li::before{content:'+';color:var(--green);font-weight:1000;flex:0 0 auto}
.match-offer-cta{margin-top:22px}
.match-offer-cta .btn{width:100%;margin-top:0}
.page-intro{margin-bottom:26px}
.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(16px);box-shadow:0 25px 80px rgba(0,0,0,.45)}
.player-card{border-radius:28px;overflow:hidden}
.player-stage{position:relative;aspect-ratio:16/9;background:#000}
.video-host,.video-host iframe,.video-host video{width:100%;height:100%;border:0;display:block;background:#000}
.cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:0;background-position:center;background-size:cover;background-repeat:no-repeat;cursor:default}
.cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16));pointer-events:none}
.cover>*{position:relative;z-index:1}
.cover-top,.cover-center,.cover-bottom{display:none !important}
.cover.hidden{display:none}
.cover-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cover-center{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.team-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 14px;border-radius:26px;background:rgba(7,10,18,.4);border:1px solid rgba(255,255,255,.11)}
.team-badge img{width:min(140px,42vw);height:140px;object-fit:contain}
.team-initial{width:min(140px,42vw);height:140px;border-radius:34px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);font-size:clamp(2rem,8vw,4.8rem);font-weight:1000;letter-spacing:.04em}
.team-badge strong{margin-top:14px;font-size:1.2rem}
.team-badge span{margin-top:4px;font-size:.8rem;opacity:.74;font-weight:700;letter-spacing:.16em}
.cover-bottom{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:18px 20px;border-radius:22px;background:rgba(8,8,12,.6);border:1px solid rgba(255,255,255,.1)}
.cover-bottom h2{margin:0;font-size:1.75rem;line-height:1}
.cover-bottom p{margin:8px 0 0;color:rgba(255,255,255,.76);font-weight:600}
.player-stage-timer{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;width:min(92%,760px);padding:26px 28px;border-radius:30px;background:radial-gradient(circle at top,rgba(57,255,20,.06),transparent 50%),rgba(5,7,10,.76);border:1px solid rgba(57,255,20,.18);backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(0,0,0,.36)}
.player-stage-timer[hidden]{display:none!important}
.player-stage-timer-kicker{font-size:.78rem;font-weight:900;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.46)}
.player-stage-timer-title{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:900;line-height:1.02;text-align:center;text-transform:uppercase}
.player-stage-timer-grid{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:12px;width:100%}
.player-stage-timer-box{padding:16px 12px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-align:center}
.player-stage-timer-value{display:block;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1}
.player-stage-timer-label{display:block;margin-top:8px;font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.54)}
.player-stage-timer-live{font-size:clamp(2rem,5vw,4rem);font-weight:1000;letter-spacing:.12em;text-transform:uppercase;color:var(--green);text-shadow:0 0 28px rgba(57,255,20,.24)}
.player-stage-timer-note{font-size:.92rem;font-weight:700;line-height:1.5;color:rgba(255,255,255,.7);text-align:center}
.watch-card{margin-top:18px;border-radius:22px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.watch-teams{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.watch-teams img{width:42px;height:42px;object-fit:contain}
.watch-vs{font-size:11px;letter-spacing:.24em;opacity:.5;font-weight:900}
.watch-meta small{display:block;opacity:.7;font-size:13px;font-weight:700}
.watch-meta strong{display:block;font-size:24px;line-height:1.05;margin:4px 0}
.league-chip{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:900}
.league-chip img{width:26px;height:26px;object-fit:contain}
.source-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.source-btn{min-width:168px;height:46px;padding:0 22px;border-radius:14px;font-weight:900;font-size:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);color:#fff;cursor:pointer}
.source-btn.active{background:#fff;color:#000}
.discord-promo-banner{position:relative;display:block;margin:0 0 22px;overflow:hidden;border-radius:28px;text-decoration:none;color:#fff;background:linear-gradient(135deg,rgba(21,7,29,.99),rgba(62,11,76,.96));border:1px solid rgba(255,255,255,.1);box-shadow:0 28px 80px rgba(0,0,0,.4),0 0 40px rgba(214,63,255,.15);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.discord-promo-banner:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.16);box-shadow:0 28px 80px rgba(0,0,0,.4),0 0 42px rgba(214,63,255,.18)}
.discord-promo-media{position:relative;background:#120414}
.discord-promo-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,3,12,.02),rgba(7,3,12,.16) 48%,rgba(7,3,12,.72) 100%)}
.discord-promo-media img{width:100%;height:auto;display:block}
.discord-promo-content{position:absolute;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;max-width:min(420px,calc(100% - 36px));padding:22px 22px 20px;border-radius:24px;background:linear-gradient(135deg,rgba(18,8,24,.9),rgba(58,8,70,.84));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);box-shadow:0 18px 40px rgba(0,0,0,.32)}
.discord-promo-kicker{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#f5d0fe}
.discord-promo-kicker::before{content:'';width:8px;height:8px;border-radius:999px;background:#c026d3;box-shadow:0 0 0 5px rgba(192,38,211,.12)}
.discord-promo-content strong{font-size:clamp(1.55rem,2.3vw,2rem);line-height:1.02}
.discord-promo-text{color:rgba(255,255,255,.78);font-size:1rem;line-height:1.58;font-weight:600}
.discord-promo-cta{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:220px;padding:14px 20px;border-radius:999px;background:#fff;color:#1b0421;font-size:.8rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 30px rgba(255,255,255,.14)}
.message{margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.08);font-weight:700;color:rgba(255,255,255,.78)}
footer{text-align:center;padding:38px 16px;opacity:.6;font-size:.9rem}
body[data-viewer-page] .countdown-strip{display:none}
body[data-viewer-page] footer{display:none}
body[data-viewer-page] .page-intro{margin-bottom:10px}
body[data-viewer-page] .page-title{display:none}
body[data-viewer-page] .page-intro p{display:none}
body[data-viewer-page] .page-kicker{padding:8px 12px;font-size:11px;letter-spacing:.18em}
body[data-viewer-page] .watch-card{margin-top:12px;padding:14px 16px}
body[data-viewer-page] .message{margin-top:10px;padding:12px 14px;font-size:.86rem;line-height:1.42}
body[data-viewer-page] .source-row{margin-top:12px}
.home-hero{padding:26px 0 6px;background:transparent;border:none;box-shadow:none;text-align:center}
.home-hero::after{display:none}
.home-hero>*{position:relative;z-index:1}
.home-hero h1{margin:0;font-size:clamp(3.1rem,8vw,6.4rem);line-height:.88;letter-spacing:-.06em}
.home-iptv-alert{display:inline-grid;gap:6px;justify-items:center;margin:18px auto 0;padding:14px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(57,255,20,.12),rgba(255,255,255,.05));border:1px solid rgba(57,255,20,.2);box-shadow:0 20px 50px rgba(0,0,0,.22),0 0 28px rgba(57,255,20,.08);max-width:min(100%,620px)}
.home-iptv-alert-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.home-iptv-alert-kicker::before{content:'';width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 0 5px rgba(57,255,20,.1)}
.home-iptv-alert strong{font-size:clamp(1rem,2vw,1.24rem);line-height:1.3;font-weight:900;color:#fff;text-wrap:balance}
.home-slogan{margin:14px auto 0 !important;max-width:720px;color:rgba(255,255,255,.72) !important;font-size:1.02rem;line-height:1.7}
.upcoming-rail-section{margin-top:12px;display:grid;gap:16px}
.upcoming-rail-head{margin-bottom:0;align-items:flex-end}
.upcoming-rail-head h2{margin:8px 0 0;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:900;letter-spacing:-.04em}
.upcoming-rail-kicker{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.54);font-size:.75rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase}
.upcoming-rail-kicker::before{content:'';width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 0 6px rgba(57,255,20,.08)}
.upcoming-rail-shell{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}
.upcoming-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(292px,320px);gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(255,255,255,.08);min-width:0;flex:none;padding:4px 0 14px}
.upcoming-rail::-webkit-scrollbar{height:10px}
.upcoming-rail::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}
.upcoming-rail::-webkit-scrollbar-thumb{background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(57,255,20,.36));border-radius:999px;border:2px solid rgba(7,11,18,.42)}
.upcoming-rail::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,rgba(255,255,255,.42),rgba(57,255,20,.48))}
.upcoming-rail-empty{display:none;color:rgba(255,255,255,.58);font-weight:700}
.upcoming-rail-empty.visible{display:block}
.upcoming-rail-card{position:relative;display:block;min-height:188px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#101010;color:#fff;text-decoration:none;scroll-snap-align:start;box-shadow:0 22px 60px rgba(0,0,0,.28);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.upcoming-rail-card:hover{transform:translateY(-5px);box-shadow:0 0 24px rgba(57,255,20,.08),0 28px 74px rgba(0,0,0,.42);border-color:rgba(57,255,20,.2)}
.upcoming-rail-card-bg,.upcoming-rail-card-overlay,.upcoming-rail-card-content{position:absolute;inset:0}
.upcoming-rail-card-bg{background-size:cover;background-position:center;transform:scale(1.01);transition:transform .32s ease}
.upcoming-rail-card:hover .upcoming-rail-card-bg{transform:scale(1.06)}
.upcoming-rail-card-overlay{background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.34) 34%,rgba(0,0,0,.86) 100%)}
.upcoming-rail-card-content{display:flex;flex-direction:column;justify-content:space-between;padding:16px}
.upcoming-rail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.upcoming-rail-timer,.upcoming-rail-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:rgba(5,8,16,.58);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);font-size:.72rem;font-weight:900}
.upcoming-rail-timer{color:#fff}
.upcoming-rail-timer.is-live{color:var(--green)}
.upcoming-rail-timer-dot{width:8px;height:8px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 0 rgba(245,158,11,.5);animation:blink 1.4s infinite}
.upcoming-rail-timer.is-live .upcoming-rail-timer-dot{background:var(--green);box-shadow:0 0 0 0 rgba(57,255,20,.7);animation:liveDotPulse 1.4s ease-out infinite}
.upcoming-rail-chip{color:rgba(255,255,255,.84)}
.upcoming-rail-copy{display:grid;gap:8px}
.upcoming-rail-copy h3{margin:0;font-size:1.28rem;line-height:1.02;font-weight:900;letter-spacing:-.04em}
.upcoming-rail-copy p{margin:0;color:rgba(255,255,255,.76);font-size:.84rem;line-height:1.45}
.upcoming-rail-meta{font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.64)}
.upcoming-rail-arrow{display:none}
.home-dashboard{margin-top:30px;display:grid;gap:28px}
.stream-section{min-width:0}
.stream-head{margin-bottom:16px}
.stream-head h2{margin:0;font-size:1.5rem;font-weight:900}
.stream-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.stream-count{margin-left:auto;color:rgba(255,255,255,.52);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.refresh-status{color:rgba(255,255,255,.58);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.refresh-home-btn{display:inline-flex;align-items:center;justify-content:center;min-width:126px;height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(57,255,20,.24);background:rgba(57,255,20,.1);color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease}
.refresh-home-btn:hover{background:rgba(57,255,20,.16);border-color:rgba(57,255,20,.34);transform:translateY(-1px)}
.refresh-home-btn.is-loading{opacity:.72;pointer-events:none}
.ldot{width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 0 0 rgba(57,255,20,.7);animation:liveDotPulse 1.4s ease-out infinite}
.day-sep{display:flex;align-items:center;gap:14px;margin:6px 0 16px;color:rgba(255,255,255,.58);font-size:.76rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.day-sep::after{content:'';height:1px;flex:1;background:rgba(255,255,255,.08)}
.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.empty-live{display:none;padding:18px 0;color:rgba(255,255,255,.58);font-weight:700}
.empty-live.visible{display:block}
.stream-card.match-card{overflow:hidden;padding:0;border-radius:20px;background:rgba(10,14,20,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);box-shadow:0 22px 60px rgba(0,0,0,.28);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.stream-card.match-card:hover{transform:translateY(-6px);box-shadow:0 0 28px rgba(57,255,20,.1),0 24px 70px rgba(0,0,0,.48);border-color:rgba(57,255,20,.24)}
.card-thumb{position:relative;height:168px;overflow:hidden;background:linear-gradient(135deg,var(--card-a,#111),var(--card-b,#222))}
.card-poster{position:absolute;inset:0;background-image:var(--poster);background-size:cover;background-position:center;transition:transform .28s ease}
.stream-card:hover .card-poster{transform:scale(1.05)}
.card-poster-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.05) 100%)}
.badge-live{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:linear-gradient(90deg,#18c96b,#39ff14);color:#06110a;font-size:.65rem;font-weight:1000;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 0 20px rgba(57,255,20,.36)}
.badge-timer{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:900}
.badge-timer::before{content:'';width:7px;height:7px;border-radius:999px;background:#f59e0b;animation:blink 1.4s infinite}
.badge-timer.timer-green{color:var(--green)}
.badge-timer.timer-green::before{background:var(--green)}
.badge-timer.timer-orange{color:#f59e0b}
.badge-timer.timer-orange::before{background:#f59e0b}
.badge-timer.timer-red{color:#ff6868}
.badge-timer.timer-red::before{background:#ff6868}
.badge-viewers{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);color:rgba(255,255,255,.78);font-size:.68rem;font-weight:800}
.badge-viewers svg{width:13px;height:13px}
.badge-datetime{position:absolute;bottom:9px;left:9px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:rgba(12,12,12,.68);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);color:rgba(255,255,255,.9);font-size:.72rem;font-weight:900}
.dt-dot{width:7px;height:7px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
.card-body{padding:14px 16px 16px}
.card-name{font-size:.96rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-dt{margin-top:6px;color:rgba(255,255,255,.58);font-size:.76rem;font-weight:700}
.card-watch{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;width:100%;height:42px;border-radius:14px;border:1px solid rgba(57,255,20,.24);background:rgba(57,255,20,.1);color:var(--green);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@keyframes liveDotPulse{0%{box-shadow:0 0 0 0 rgba(57,255,20,.7)}70%{box-shadow:0 0 0 9px rgba(57,255,20,0)}100%{box-shadow:0 0 0 0 rgba(57,255,20,0)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@media (min-width:901px){body[data-viewer-page]{overflow-y:auto}body[data-viewer-page] .shell{padding:14px 18px 28px}}
@media (max-width:980px){.topbar{flex-direction:column}.countdown-panel,.countdown-strip{flex-direction:column;align-items:flex-start}.countdown-grid{width:100%}.match-grid{grid-template-columns:1fr}.watch-card{flex-direction:column;align-items:flex-start}.upcoming-rail-head{align-items:flex-start;flex-direction:column}.upcoming-rail-shell{gap:10px}.upcoming-rail{grid-auto-columns:minmax(240px,280px)}.upcoming-rail-arrow{width:62px;height:62px;flex-basis:62px;font-size:2.2rem}.discord-promo-content{right:14px;left:14px;bottom:14px;max-width:none;padding:18px}}
@media (max-width:720px){.shell{padding:16px}.topbar{padding:18px 16px}.home-hero{padding:16px 0 2px}.home-hero h1{font-size:clamp(2.45rem,11vw,4.2rem)}.home-iptv-alert{margin-top:14px;padding:12px 14px;border-radius:18px;max-width:100%}.home-iptv-alert-kicker{font-size:.62rem;padding:5px 9px}.home-iptv-alert strong{font-size:.92rem;line-height:1.35}.home-slogan{font-size:.92rem}.upcoming-rail-section{gap:12px}.upcoming-rail-head h2{font-size:1.35rem}.upcoming-rail-shell{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px}.upcoming-rail{grid-auto-columns:minmax(220px,78vw);gap:12px}.upcoming-rail-card{min-height:164px}.upcoming-rail-card-content{padding:14px}.upcoming-rail-copy h3{font-size:1.08rem}.upcoming-rail-copy p{font-size:.76rem}.upcoming-rail-meta{font-size:.64rem}.upcoming-rail-arrow{width:52px;height:52px;flex-basis:52px;font-size:1.9rem}.cover-center{grid-template-columns:1fr}.vs-badge{display:none}.team-badge img{width:96px;height:96px}.cover-bottom{flex-direction:column;align-items:flex-start}.matches-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-thumb{height:124px}.card-body{padding:10px 11px 12px}.card-name{font-size:.78rem}.card-dt{font-size:.64rem}.card-watch{height:36px;font-size:.66rem}.badge-timer,.badge-viewers,.badge-datetime{font-size:.58rem;padding:4px 7px}.stream-head{align-items:flex-start;flex-direction:column}.stream-count{margin-left:0}.stream-actions{margin-left:0;width:100%;justify-content:flex-start}.refresh-status{width:100%}.refresh-home-btn{min-width:118px;height:38px;font-size:.7rem}.promo-x-btn{padding:12px 14px;gap:10px}.promo-x-icon{flex-basis:44px;width:44px;height:44px;border-radius:14px}.promo-x-logo{width:24px;height:24px}.promo-x-kicker{font-size:.58rem}.promo-x-title{font-size:.88rem}.promo-x-tag{padding:7px 9px;font-size:.58rem}.discord-promo-content strong{font-size:1.25rem}.discord-promo-text{font-size:.84rem;line-height:1.45}.discord-promo-cta{min-width:0;width:100%;font-size:.68rem;padding:12px 14px}.site-live-pill{padding:7px 10px;font-size:.66rem}}

.upcoming-rail-section{width:100%;margin-top:12px;display:grid;gap:16px}
.upcoming-rail-head{width:100%;margin:0;align-items:flex-end}
.upcoming-rail-shell{width:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:0}
.upcoming-rail{grid-auto-columns:minmax(292px,320px);gap:16px;min-width:0;flex:none;padding:4px 0 14px}
.upcoming-rail-empty{width:100%;margin:0}
.upcoming-rail-card{min-height:182px;border-radius:22px}
.upcoming-rail-card-overlay{background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.14) 24%,rgba(0,0,0,.78) 100%)}
.upcoming-rail-card-content{padding:11px 12px}
.upcoming-rail-timer,.upcoming-rail-chip{gap:6px;padding:5px 9px;background:rgba(25,25,25,.62);font-size:.62rem}
.upcoming-rail-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.upcoming-rail-copy{gap:2px;max-width:88%}
.upcoming-rail-copy h3{font-size:.9rem;line-height:1.06;font-weight:750;letter-spacing:-.025em;text-shadow:0 3px 10px rgba(0,0,0,.52)}
.upcoming-rail-copy p{color:rgba(255,255,255,.6);font-size:.66rem;line-height:1.28}
.upcoming-rail-meta{font-size:.56rem;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.44)}
.upcoming-rail-clock{display:none}
.upcoming-rail-arrow{display:none}

@media (max-width:980px){
  .upcoming-rail-shell{grid-template-columns:minmax(0,1fr);gap:10px}
  .upcoming-rail{grid-auto-columns:minmax(272px,300px)}
}

@media (max-width:720px){
  .upcoming-rail-shell{grid-template-columns:minmax(0,1fr);gap:8px}
  .upcoming-rail{grid-auto-columns:minmax(238px,82vw)}
  .upcoming-rail-card{min-height:164px}
  .upcoming-rail-card-content{padding:12px}
  .upcoming-rail-copy{max-width:74%}
  .upcoming-rail-copy h3{font-size:.84rem}
  .upcoming-rail-copy p{font-size:.62rem}
  .upcoming-rail-meta{font-size:.58rem}
  .upcoming-rail::-webkit-scrollbar{height:8px}
}

@media (max-width:720px){
  body[data-viewer-page] .shell{
    padding:14px 12px 20px;
  }
  body[data-viewer-page] .page-intro{
    margin-bottom:8px;
  }
  body[data-viewer-page] .page-kicker{
    width:100%;
    justify-content:center;
    text-align:center;
    line-height:1.35;
    white-space:normal;
  }
  body[data-viewer-page] .player-card{
    border-radius:22px;
  }
  body[data-viewer-page] .player-stage-timer{
    width:calc(100% - 20px);
    max-width:420px;
    padding:16px 12px;
    gap:12px;
    border-radius:22px;
  }
  body[data-viewer-page] .player-stage-timer-kicker{
    font-size:.64rem;
    letter-spacing:.18em;
    text-align:center;
  }
  body[data-viewer-page] .player-stage-timer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  body[data-viewer-page] .player-stage-timer-box{
    padding:12px 8px;
    border-radius:16px;
  }
  body[data-viewer-page] .player-stage-timer-value{
    font-size:clamp(1.35rem,8vw,2rem);
  }
  body[data-viewer-page] .player-stage-timer-label{
    margin-top:6px;
    font-size:.58rem;
    letter-spacing:.1em;
  }
  body[data-viewer-page] .player-stage-timer-live{
    font-size:clamp(1.5rem,8vw,2.4rem);
    letter-spacing:.08em;
    text-align:center;
  }
  body[data-viewer-page] .player-stage-timer-note{
    font-size:.74rem;
    line-height:1.4;
    max-width:28ch;
  }
  body[data-viewer-page] .source-row{
    gap:8px;
  }
  body[data-viewer-page] .source-btn{
    min-width:0;
    flex:1 1 calc(50% - 8px);
    padding:0 12px;
    font-size:.7rem;
  }
  body[data-viewer-page] .watch-card{
    padding:12px 14px;
    border-radius:18px;
    gap:10px;
  }
  body[data-viewer-page] .watch-meta strong{
    font-size:1rem;
    line-height:1.2;
  }
  body[data-viewer-page] .watch-meta small{
    font-size:.72rem;
    line-height:1.35;
  }
  body[data-viewer-page] .league-chip{
    width:100%;
    justify-content:center;
    text-align:center;
    padding:10px 12px;
    font-size:.72rem;
  }
}

@media (max-width:980px){
  .topbar{padding:18px 16px;flex-direction:column;align-items:stretch;gap:14px}
  .topbar .brand{justify-content:flex-start}
  .topbar-links{width:100%;justify-content:flex-start;gap:10px}
  .topbar .btn{width:100%}
  .upcoming-rail-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%;text-align:left}
  .upcoming-rail-head>div{width:100%}
  .upcoming-rail-head .stream-count{margin-left:0;width:100%;text-align:left}
}

@media (max-width:720px){
  .shell{padding:16px 14px}
  .topbar-links a{font-size:.84rem}
  .site-live-pill{font-size:.68rem}
  .home-hero{padding:12px 0 0;text-align:left}
  .home-hero h1{font-size:clamp(2.4rem,12vw,4rem)}
  .home-slogan{margin-left:0 !important;margin-right:0 !important;max-width:100%;font-size:.9rem}
  .upcoming-rail-section{margin-top:14px;gap:10px}
  .upcoming-rail-head h2{margin:6px 0 0;font-size:1.42rem}
  .upcoming-rail-kicker{font-size:.68rem;letter-spacing:.18em}
  .upcoming-rail{grid-auto-columns:minmax(248px,84vw);padding:2px 0 12px}
}
