/* ql-events.css — composants spécifiques aux pages tournois */

/* ═ SOUS-NAV D'ÉVÉNEMENT (sticky) ═ */
.event-subnav{position:sticky;top:66px;z-index:150;display:flex;gap:4px;overflow-x:auto;padding:14px 32px;max-width:1200px;margin:0 auto;background:rgba(2,2,10,.85);backdrop-filter:blur(16px);border-bottom:1px solid rgba(26,143,255,.13);scrollbar-width:none}
.event-subnav::-webkit-scrollbar{display:none}
.event-subnav a{flex-shrink:0;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:8px 14px;border:1px solid transparent;transition:all .2s;white-space:nowrap}
.event-subnav a:hover,.event-subnav a.active{color:var(--cyan);border-color:rgba(0,229,255,.3);background:rgba(0,229,255,.05)}
.event-subnav-cta{margin-left:auto;flex-shrink:0}

/* ═ HERO ÉVÉNEMENT ═ */
.event-hero{padding:96px 32px 60px;text-align:center;max-width:1000px;margin:0 auto}
.event-hero .section-title{font-size:clamp(32px,6vw,64px);line-height:1.05}
.event-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:24px 0 32px}
.event-chip{font-family:'Orbitron',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white);padding:7px 16px;border:1px solid rgba(26,143,255,.25);background:rgba(26,143,255,.06);clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%)}

/* ═ COUNTDOWN ═ */
.countdown{display:flex;gap:14px;justify-content:center;margin:32px 0}
.cd-block{background:var(--panel);border:1px solid rgba(26,143,255,.3);padding:16px 20px;min-width:76px;text-align:center}
.cd-num{font-family:'Orbitron',sans-serif;font-size:32px;font-weight:900;color:var(--cyan);line-height:1;animation:fadeNum .3s ease}
.cd-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-top:6px}
.countdown-secondary{margin-top:-12px;margin-bottom:20px;text-align:center}
.countdown-secondary-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.16em;color:var(--mag);text-transform:uppercase;margin-bottom:10px}
.countdown-sm{gap:8px;margin:0}
.countdown-sm .cd-block{min-width:52px;padding:8px 10px;border-color:rgba(212,0,255,.25)}
.countdown-sm .cd-num{font-size:18px;color:var(--mag)}

/* ═ STATUS PILL ═ */
.status-pill{display:inline-flex;align-items:center;gap:8px;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(0,229,255,.3);background:rgba(0,229,255,.05);padding:7px 18px;margin-bottom:18px}
.status-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan);animation:blink 1.2s ease-in-out infinite}
.status-pill.closed{color:var(--silver);border-color:rgba(142,168,200,.3);background:rgba(142,168,200,.05)}
.status-pill.closed::before{background:var(--silver);box-shadow:none;animation:none}
.status-pill.closed-silver{color:var(--silver);border-color:rgba(142,168,200,.35);background:rgba(142,168,200,.06)}
.status-pill.closed-silver::before{background:var(--silver);box-shadow:none;animation:none}
.status-pill.live{color:var(--mag);border-color:rgba(212,0,255,.4);background:rgba(212,0,255,.06)}
.status-pill.live::before{background:var(--mag);box-shadow:0 0 6px var(--mag)}

/* ═ PLACEHOLDER GÉNÉRIQUE ═ */
.ph-block{text-align:center;padding:48px 24px;font-family:'Share Tech Mono',monospace;font-size:13px;letter-spacing:.1em;color:var(--silver);opacity:.6;border:1px dashed rgba(26,143,255,.25);background:rgba(26,143,255,.02)}
.ph-inline{color:var(--silver);opacity:.5;font-family:'Share Tech Mono',monospace}
.ph-ghost{animation:phSpin 2.4s ease-in-out infinite}
@keyframes phSpin{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}
.giveaway-card.ph-spin-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(26,143,255,.25);padding:20px}
.giveaway-card.ph-spin-card .g-img{border:none;background:transparent;font-size:28px;color:var(--blue);margin-bottom:8px}

/* ═ EVENT-CARD FEATURED (hub) ═ */
.event-card--featured{position:relative;padding:44px 40px;border:1px solid transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(90deg,var(--blue),var(--cyan),var(--violet),var(--mag),var(--blue)) border-box;background-size:100% 100%,300% 100%;animation:shimSweep 6s linear infinite}
.efc-title{font-family:'Orbitron',sans-serif;font-size:clamp(24px,3.2vw,36px);font-weight:900;color:var(--white);line-height:1.1;margin:16px 0 6px}
.efc-title-accent{background:linear-gradient(90deg,var(--blue),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.efc-subtitle{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--silver);margin-bottom:28px}
.efc-tiles{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(26,143,255,.18)}
.efc-tile{padding:18px 16px;border-right:1px solid rgba(26,143,255,.18)}
.efc-tile:last-child{border-right:none}
.efc-tile-lbl{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--blue)}
.efc-tile-val{font-family:'Orbitron',sans-serif;font-size:26px;font-weight:700;color:var(--white);margin-top:8px;line-height:1.1}
.efc-tile-sub{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--silver);margin-top:4px}
.efc-level-badge{display:inline-block;margin-top:22px;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.1em;color:var(--mag);border:1px solid rgba(212,0,255,.4);background:rgba(212,0,255,.05);padding:8px 16px}
.efc-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.efc-mention{margin-top:14px;color:var(--dim);display:block}
.hero-tiles{max-width:720px;margin:0 auto 28px}
.hero-tiles .efc-tile{text-align:center}

/* ═ TIMELINE SÉRIE / ARCHIVES ═ */
.series-timeline{display:flex;gap:16px;overflow-x:auto;padding:8px 0 16px}
.series-item{flex:0 0 200px;background:var(--panel);border:1px solid rgba(26,143,255,.2);padding:20px;text-align:center}
.series-item .num{font-family:'Orbitron',sans-serif;font-size:28px;font-weight:900;background:linear-gradient(90deg,var(--blue),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.formats-grid,.archives-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.format-card{background:var(--panel);border:1px solid rgba(26,143,255,.2);padding:26px 22px;text-align:center;opacity:.75}
.format-card .soon{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--dim);border:1px solid rgba(142,168,200,.3);padding:3px 10px;display:inline-block;margin-top:10px}

/* ═ MMR CALLOUT ═ */
.mmr-callout{margin-top:24px;padding:18px 22px;border:1px solid rgba(212,0,255,.4);background:rgba(212,0,255,.05)}
.mmr-callout-range{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:700;color:var(--white);margin-top:6px}

/* ═ PROGRAMME 3 JOURS ═ */
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.program-card{background:var(--panel);border:1px solid rgba(26,143,255,.2);padding:20px}
.program-card.is-today{border-color:var(--mag);box-shadow:0 0 0 1px rgba(212,0,255,.3)}
.program-card.is-finals{border-color:rgba(0,229,255,.4);background:linear-gradient(180deg,rgba(0,229,255,.05),var(--panel))}
.program-day{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--blue);display:flex;align-items:center;gap:8px}
.program-live-dot{width:6px;height:6px;border-radius:50%;background:var(--mag);box-shadow:0 0 6px var(--mag);animation:blink 1.2s ease-in-out infinite;display:inline-block}
.program-date{font-family:'Orbitron',sans-serif;font-size:17px;font-weight:900;color:var(--white);margin-top:6px}
.program-heure{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--cyan);margin-top:2px}
.program-phases{font-size:13px;color:#c4bfe8;margin-top:10px}
.program-matchs{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--dim);margin-top:8px;letter-spacing:.08em}

/* ═ FRISE CALENDRIER ═ */
.calendar-frise{margin-top:28px;display:flex;flex-wrap:wrap;gap:0;position:relative;padding:20px 0}
.calendar-frise::before{content:'';position:absolute;left:0;right:0;top:29px;height:1px;background:rgba(26,143,255,.15)}
.frise-item{flex:1;min-width:120px;position:relative;padding:0 8px;text-align:center}
.frise-dot{width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid rgba(26,143,255,.3);margin:0 auto 10px;position:relative;z-index:1}
.frise-item.is-past .frise-dot{background:rgba(142,168,200,.2);border-color:rgba(142,168,200,.3)}
.frise-item.is-past .frise-label,.frise-item.is-past .frise-date{color:var(--dim);opacity:.5}
.frise-item.is-current .frise-dot{background:var(--mag);border-color:var(--mag);box-shadow:0 0 8px var(--mag);animation:blink 1.4s ease-in-out infinite}
.frise-item.is-current .frise-label{color:var(--mag)}
.frise-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.08em;color:var(--white);text-transform:uppercase}
.frise-date{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--dim);margin-top:4px}

/* ═ INFO GRID ═ */
.info-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:rgba(26,143,255,.1)}
.info-cell{background:var(--panel);padding:20px 16px}
.info-cell .lbl{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin-bottom:8px}
.info-cell .val{font-family:'Orbitron',sans-serif;font-size:15px;font-weight:700;color:var(--white)}

/* ═ PRIZE PODIUM ═ */
.prize-total{text-align:center;margin-bottom:36px}
.prize-total .amount{font-family:'Orbitron',sans-serif;font-size:clamp(40px,6vw,64px);font-weight:900;background:linear-gradient(90deg,var(--cyan),var(--mag));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.prize-podium{display:flex;align-items:flex-end;justify-content:center;gap:20px;max-width:460px;margin:0 auto}
.prize-step{flex:1;text-align:center;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);padding:24px 14px 20px;transform-origin:bottom;animation:barRise .6s ease backwards}
.prize-step.p1{background:linear-gradient(180deg,rgba(0,229,255,.18),var(--panel));border-top:3px solid var(--cyan);height:220px}
.prize-step.p2{background:linear-gradient(180deg,rgba(142,168,200,.18),var(--panel));border-top:3px solid var(--silver);height:170px}
.prize-step.p3{background:linear-gradient(180deg,rgba(212,0,255,.15),var(--panel));border-top:3px solid var(--mag);height:140px}
.prize-step .rank{font-family:'Orbitron',sans-serif;font-size:22px;font-weight:900}
.prize-step .amt{font-family:'Orbitron',sans-serif;font-size:18px;font-weight:700;margin-top:10px;animation:fadeNum .4s ease}

/* ═ TABS ═ */
.tabs{display:flex;gap:0;border-bottom:1px solid rgba(26,143,255,.14);margin-bottom:28px}
.tab-btn{font-family:'Orbitron',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);background:transparent;border:none;padding:12px 24px;cursor:pointer;position:relative}
.tab-btn.active{color:var(--white)}
.tab-btn.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet))}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ═ GIVEAWAY CARDS ═ */
.giveaway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.giveaway-card{position:relative}
.giveaway-card .g-img{aspect-ratio:16/10;background:rgba(26,143,255,.05);border:1px dashed rgba(26,143,255,.2);display:flex;align-items:center;justify-content:center;font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--dim);opacity:.6;margin-bottom:14px}
.giveaway-card .g-img svg{width:34px;height:34px;opacity:.7}
.giveaway-card strong{font-family:'Orbitron',sans-serif;font-size:14px;color:var(--white)}

/* ═ LOTS — PLANNING QUOTIDIEN ═ */
.lots-banner{display:inline-block;margin-top:16px;font-family:'Orbitron',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--cyan);border:1px solid rgba(0,229,255,.3);background:rgba(0,229,255,.05);padding:8px 18px}
.lots-accroche-joueurs{margin-top:14px;font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--white);background:linear-gradient(90deg,rgba(139,63,255,.12),rgba(212,0,255,.08));border-left:2px solid var(--violet);padding:12px 18px;max-width:640px;display:none}
.lots-counter{margin-top:12px;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--mag)}
.lots-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lots-column{background:var(--panel);border:1px solid rgba(26,143,255,.15);padding:20px;display:flex;flex-direction:column;gap:14px}
.lots-column.is-today{border-color:var(--mag);box-shadow:0 0 0 1px rgba(212,0,255,.25)}
.lots-column-head{padding-bottom:12px;border-bottom:1px solid rgba(26,143,255,.15);margin-bottom:2px}
.lots-column-jour{display:block;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--blue)}
.lots-column-date{display:block;font-family:'Orbitron',sans-serif;font-size:16px;font-weight:900;color:var(--white);margin-top:4px}
.lots-column-theme{display:block;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.1em;color:var(--cyan);margin-top:4px;text-transform:uppercase}
.lot-card{background:rgba(26,143,255,.03);border:1px solid rgba(26,143,255,.12);padding:14px 16px}
.lot-fam-label{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;margin-bottom:8px}
.lot-fam-mobile{color:var(--blue)}
.lot-fam-jeu{color:var(--violet)}
.lot-fam-console{color:var(--cyan)}
.lot-fam-amazon{color:var(--silver)}
.lot-fam-mystere{color:var(--mag)}
.lot-moment{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase;margin-bottom:8px}
.lot-icon{width:28px;height:28px;color:var(--blue);margin-bottom:8px}
.lot-icon svg{width:100%;height:100%}
.lot-nom{display:block;font-family:'Orbitron',sans-serif;font-size:13px;color:var(--white);margin-bottom:4px}
.lot-au-choix{display:inline-block;font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:.08em;color:var(--mag);border:1px solid rgba(212,0,255,.35);padding:2px 7px;margin-bottom:6px}
.lot-choix-list{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--dim);margin-bottom:8px}
.lot-valeur{font-family:'Orbitron',sans-serif;font-size:15px;font-weight:700;color:var(--cyan);margin-bottom:8px}
.lot-pastilles{display:flex;flex-wrap:wrap;gap:6px}
.lot-pastille{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:.08em;padding:3px 8px;border:1px solid rgba(26,143,255,.25);color:var(--silver)}
.lot-pastille-spectateurs{border-color:rgba(0,229,255,.3);color:var(--cyan)}
.lot-pastille-joueurs{border-color:rgba(139,63,255,.4);color:var(--violet)}
.lot-pastille-tous{border-color:rgba(212,0,255,.4);color:var(--mag)}
.lot-card-mystery{text-align:center;border-color:rgba(212,0,255,.35);background:rgba(212,0,255,.04);position:relative;overflow:hidden}
.lot-card-mystery::before{content:'';position:absolute;inset:0;border:1px solid transparent;background:linear-gradient(90deg,var(--blue),var(--mag),var(--violet),var(--blue)) border-box;background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:shimSweep 4s linear infinite;pointer-events:none}
.lot-teaser{margin-top:8px;color:var(--dim);display:block}
.lots-unicite{font-size:12px}
.lots-reserve{margin-top:36px;padding:18px 22px;border:1px dashed rgba(26,143,255,.18);background:rgba(26,143,255,.02);opacity:.85}
.lots-reserve-title{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.lots-reserve-sub{font-size:10px;margin-top:4px;color:var(--dim);opacity:.7;display:block}
.lots-reserve-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.lots-reserve-item{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--silver);border:1px solid rgba(26,143,255,.15);padding:5px 12px}

/* ═ PARTICIPATION STEPS ═ */
.participation-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.steps-list{display:flex;flex-direction:column;gap:12px}
.step-item{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid rgba(26,143,255,.15);padding:16px 18px}
.step-item .step-num{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:900;color:var(--cyan);flex-shrink:0;width:24px}

/* ═ RÈGLEMENT ═ */
.rules-layout{display:grid;grid-template-columns:240px 1fr;gap:48px}
.rules-layout.no-toc{grid-template-columns:1fr;max-width:800px;margin:0 auto}
.rules-layout.no-toc .ph-block{padding:80px 24px;font-size:14px}
.rules-toc{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:6px;height:auto;max-height:none;overflow:visible}
.rules-toc a{font-family:'Share Tech Mono',monospace;font-size:10.5px;color:var(--dim);text-decoration:none;letter-spacing:.04em;line-height:1.4}
.rules-toc a:hover{color:var(--cyan)}
.rules-toc a.rules-toc-title{color:var(--blue);text-transform:uppercase;font-weight:700;margin-top:10px;letter-spacing:.08em}
.rules-toc a.rules-toc-title:first-child{margin-top:0}
.rules-toc a.active{color:var(--cyan);border-left:2px solid var(--blue);padding-left:8px}
.rules-toc-select{display:none}
.rule-article{margin-bottom:28px;padding-bottom:20px;border-bottom:1px dashed rgba(26,143,255,.1)}
.rule-article h4{font-family:'Orbitron',sans-serif;font-size:15px;color:var(--white);margin-bottom:10px}
.rule-article p{color:#c4bfe8;font-size:14px;line-height:1.7;margin-bottom:10px}
.rule-article ul{margin:0 0 10px 20px;color:#c4bfe8;font-size:14px;line-height:1.7}
.rules-titre-heading{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:900;color:var(--white);margin:44px 0 20px;padding-bottom:10px;border-bottom:1px solid rgba(26,143,255,.25)}
.rules-titre-heading:first-child{margin-top:0}
.ph-highlight{color:var(--mag);background:rgba(212,0,255,.08);padding:1px 6px;font-family:'Share Tech Mono',monospace;font-weight:600}
.rules-version-banner{margin-top:16px;display:inline-block;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--dim);border:1px solid rgba(26,143,255,.2);padding:6px 14px}
.rules-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:760px;margin:20px auto 0;text-align:left}
.rules-summary-item{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--dim);padding:9px 14px;border:1px solid rgba(26,143,255,.15);background:rgba(26,143,255,.03)}
.rule-table{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:13px}
.rule-table th,.rule-table td{border:1px solid rgba(26,143,255,.18);padding:8px 12px;text-align:left;color:#c4bfe8}
.rule-table th{color:var(--cyan);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:rgba(26,143,255,.06)}
@media print{nav,footer,.event-subnav,.rules-toc,.btn-primary,.btn-sec,.rules-version-banner{display:none!important}body{background:#fff;color:#000}.rule-table th,.rule-table td{border-color:#999;color:#000}}

/* ═ TEAM CARDS ═ */
.teams-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.team-card{background:var(--panel);border:1px solid rgba(26,143,255,.2);padding:20px;text-align:center}
.team-card .team-logo{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;background:rgba(26,143,255,.08);border:1px solid rgba(26,143,255,.25);display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-weight:900}
.team-fill-bar{height:6px;background:rgba(26,143,255,.1);margin-top:12px;overflow:hidden}
.team-fill-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--mag))}

/* ═ BRACKET ═ */
.bracket-shell{overflow-x:auto;background:var(--panel);border:1px solid rgba(26,143,255,.15);padding:32px;min-height:200px}
.bracket-structure{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.bracket-col-title{font-size:11px;color:var(--cyan);margin-bottom:10px;display:block}
.bracket-info-grid{grid-template-columns:1fr!important;background:rgba(26,143,255,.08)}
.bracket-final-callout{margin-top:24px;padding:20px 24px;border:1px solid rgba(212,0,255,.3);background:rgba(212,0,255,.05)}
.bracket-final-callout p{color:#c4bfe8;font-size:13px;line-height:1.7;margin-top:8px}
.bracket-meta-line{margin-top:16px;color:var(--dim)}

/* ═ LIVE ═ */
.live-embed{position:relative;aspect-ratio:16/9;background:#000;border:1px solid rgba(26,143,255,.3)}
.live-embed iframe{width:100%;height:100%;border:none}

/* ═ STAT TILES ═ */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stat-tile{background:var(--panel);border:1px solid rgba(26,143,255,.15);padding:22px;text-align:center}
.stat-tile .num{font-family:'Orbitron',sans-serif;font-size:28px;font-weight:900;color:var(--cyan);animation:fadeNum .4s ease}
.stat-tile .lbl{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase;margin-top:6px}

/* ═ GALERIE ═ */
.gallery-grid{columns:3;column-gap:14px}
.gallery-grid .ph-block{column-span:all}
.gallery-grid .g-item{break-inside:avoid;margin-bottom:14px;aspect-ratio:4/3;background:rgba(26,143,255,.05);border:1px dashed rgba(26,143,255,.2)}

/* ═ MODAL D'INSCRIPTION ═ */
.modal-overlay{position:fixed;inset:0;z-index:600;background:rgba(2,2,10,.9);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.modal-overlay.open{display:flex}
.modal-panel{background:var(--panel);border:1px solid rgba(26,143,255,.3);max-width:640px;width:100%;padding:40px;max-height:90vh;overflow-y:auto;position:relative}
.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;background:transparent;border:1px solid rgba(26,143,255,.3);color:var(--white);cursor:pointer}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-row label{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.form-row input,.form-row select{background:#08061a;border:1px solid rgba(26,143,255,.35);color:var(--white);font-family:'Rajdhani',sans-serif;font-size:15px;padding:11px 14px}
.form-row input::placeholder{color:#6a6788}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.honeypot-field{position:absolute;left:-9999px;opacity:0}
.form-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--dim);margin-bottom:12px}
.form-error{color:var(--mag);font-family:'Share Tech Mono',monospace;font-size:11px;margin-top:4px}

@media(max-width:1100px){
  .rules-layout{grid-template-columns:1fr}
  .rules-toc{position:static;max-height:none;display:none}
  .rules-toc-select{display:block;width:100%;background:#08061a;border:1px solid rgba(26,143,255,.35);color:var(--white);font-family:'Share Tech Mono',monospace;font-size:12px;padding:12px 14px;margin-bottom:20px}
  .rules-summary{grid-template-columns:1fr}
  .calendar-frise{flex-direction:column;gap:16px;padding:20px 16px}
  .calendar-frise::before{display:none}
  .frise-item{display:flex;align-items:center;gap:12px;text-align:left;min-width:0}
  .frise-dot{margin:0}
  .info-grid{grid-template-columns:repeat(3,1fr)}
  .program-grid{grid-template-columns:1fr}
  .lots-columns{grid-template-columns:1fr}
  .formats-grid,.archives-grid,.teams-grid,.giveaway-grid{grid-template-columns:repeat(2,1fr)}
  .event-card--featured,.participation-grid,.rules-layout{grid-template-columns:1fr}
  .efc-tiles{grid-template-columns:repeat(2,1fr)}
  .efc-tile{border-bottom:1px solid rgba(26,143,255,.18)}
  .efc-tile:nth-child(2n){border-right:none}
}
@media(max-width:480px){
  .efc-tiles{grid-template-columns:1fr}
  .efc-tile{border-right:none}
}
@media(max-width:960px){
  .event-subnav{padding:12px 20px}
  .event-subnav-cta{padding:8px 12px!important;font-size:9px!important}
  .bracket-structure{grid-template-columns:1fr}
}
@media(max-width:600px){
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .prize-podium{flex-direction:column-reverse}
  .prize-step{width:100%;height:auto!important;clip-path:none}
  .countdown{gap:8px}
  .cd-block{min-width:60px;padding:12px 10px}
  .gallery-grid{columns:1}
}
@media(max-width:560px){
  .stats-grid,.formats-grid,.archives-grid,.teams-grid,.giveaway-grid{grid-template-columns:1fr}
  .live-embed{width:100%}
}


/* ═ LIVE — DOUBLE DIFFUSION ═ */
/* Deux chaines pendant l'evenement : celle de la structure et celle du
   casteur. Le lecteur du casteur ne se charge qu'au clic — deux flux Twitch
   lances d'office, c'est lourd sur mobile et ca envoie l'IP du visiteur a
   Twitch avant qu'il n'ait rien demande. */
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.live-card{border:1px solid rgba(26,143,255,.25);background:var(--panel)}
.live-card.casteur{border-color:rgba(145,70,255,.35)}
.live-head{display:flex;align-items:center;gap:9px;padding:10px 13px;border-bottom:1px solid rgba(26,143,255,.15)}
.live-head .pt{width:7px;height:7px;border-radius:50%;background:#9146FF;flex:none}
.live-head b{font-size:13px;font-weight:700;color:var(--white)}
.live-head em{font-style:normal;font-family:'Share Tech Mono',monospace;font-size:9.5px;
  letter-spacing:.11em;color:var(--dim);text-transform:uppercase;margin-left:auto}
.live-card .live-embed{border:none}
.live-load{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;background:#08060f;cursor:pointer;border:none;width:100%;color:var(--silver);
  font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.1em;transition:background .2s}
.live-load:hover{background:#0d0a18;color:var(--white)}
.live-load span.play{width:44px;height:44px;border-radius:50%;border:1px solid rgba(145,70,255,.5);
  display:flex;align-items:center;justify-content:center;color:#9146FF;font-size:15px}
.live-merci{margin-top:14px;padding:13px 16px;border-left:2px solid #9146FF;background:rgba(145,70,255,.06);
  font-size:12.5px;line-height:1.55;color:var(--silver)}
.live-merci b{color:var(--white)}
.live-merci a{color:#b98bff;text-decoration:none;border-bottom:1px solid rgba(185,139,255,.4)}
.live-merci a:hover{color:#d4b8ff}
@media(max-width:820px){.live-grid{grid-template-columns:1fr}}

/* Logo d'equipe : l'image remplit la pastille ronde, sans deformer le carre
   d'origine. Si elle ne charge pas, le script retire la classe et la pastille
   redevient une initiale centree. */
.team-card .team-logo--img{padding:0;overflow:hidden;background:rgba(26,143,255,.06)}
.team-card .team-logo--img img{width:100%;height:100%;object-fit:cover;display:block}
