/* =====================================================================
   EZXP · styles (DA2)
   Barre noire, aplats bleu électrique à coupes biseautées, lignes de
   grille verticales, fond gris clair, jaquettes, tables en cellules grises.
   ===================================================================== */
:root{
  --blue:#3a32e2; --blue-l:#4c45ff; --blue-d:#231f8c; --blue-m:#302ac2; --blue-t:#eef0ff;
  --nav:#232325; --ink:#111114; --bg:#f4f4f5; --cell:#eaeaec; --line:#d9d9de;
  --muted:#6a6a73; --white:#fff; --win:#1f7a45; --loss:#b4232f; --live:#ff3b4f; --warn:#9a4a07;
  --font:"Montserrat",Arial,Helvetica,sans-serif;
  --mono:"Roboto Mono",ui-monospace,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
main{flex:1;outline:none}
img{max-width:100%}
a{color:var(--blue)}
button,input,select{font:inherit;color:inherit}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* ---------- Logo ---------- */
.logo{display:inline-flex;align-items:stretch;font-weight:900;letter-spacing:-1px;line-height:1;text-decoration:none;font-size:26px}
.logo .ez{background:#fff;color:var(--ink);padding:.1em .1em 0 .14em}
.logo .xp{color:#fff;padding-top:.1em}
.logo.dark .ez{background:var(--ink);color:#fff}
.logo.dark .xp{color:var(--ink)}

/* ---------- Barre du haut ---------- */
.top{background:var(--nav);position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top,0px)}
.top-in{display:flex;align-items:center;gap:24px;min-height:54px;flex-wrap:wrap;padding-block:6px}
.nav{display:flex;gap:20px;flex:1;flex-wrap:wrap}
.nav a{color:#fff;text-decoration:none;font-weight:700;font-size:11.5px;letter-spacing:.3px;padding:5px 0;border-bottom:2px solid transparent}
.nav a[aria-current="page"]{border-color:var(--blue-l)}
.nav a:hover{color:#c9c6ff}
.acct{display:flex;gap:8px;align-items:center}
.b-out{background:transparent;border:1px solid #55555c;color:#fff;font-weight:800;font-size:11px;padding:7px 10px;text-decoration:none;text-transform:uppercase;cursor:pointer}
.b-in{background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:800;font-size:11px;padding:7px 10px;text-decoration:none;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.b-in:hover{background:var(--blue-l)}
.me{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:12px;text-decoration:none}
.me img,.avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#55555c}
.nbadge{background:var(--live);color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:0 6px;margin-left:2px}
.me .badge{background:var(--live);color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:0 6px}
.demo-bar{background:#fff4d6;color:#5c4108;border-bottom:1px solid #f0d58a;font-size:12.5px;font-weight:600;padding:8px 16px;text-align:center}

/* ---------- Hero accueil ---------- */
.hero{position:relative;background:linear-gradient(180deg,var(--blue-l) 0%,var(--blue-d) 100%);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent calc(7.5% - 1px),rgba(0,0,0,.28) calc(7.5% - 1px) 7.5%,transparent 7.5%),
             linear-gradient(90deg,transparent calc(50% - 1px),rgba(0,0,0,.22) calc(50% - 1px) 50%,transparent 50%),
             linear-gradient(90deg,transparent calc(76% - 1px),rgba(0,0,0,.28) calc(76% - 1px) 76%,transparent 76%)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:30px;padding-block:24px 96px}
.hero-l{padding-left:max(0px,calc(7.5vw - 16px))}
.mark{display:flex;align-items:center;gap:20px}
.mark .stack{display:flex;flex-direction:column;gap:2px;font-weight:900;font-size:20px;line-height:1;letter-spacing:-1px}
.mark .stack i{font-style:normal;color:var(--ink)}
.chev{display:flex;gap:2px}
.chev i{width:9px;height:13px;background:#fff;clip-path:polygon(0 0,45% 0,100% 50%,45% 100%,0 100%,55% 50%)}
.hero h1{font-weight:800;line-height:.98;margin:18px 0 0;letter-spacing:-1px}
.hero h1 span{display:block}
.hero p{max-width:42ch;color:#dcdaff;font-weight:500;margin:18px 0 20px;font-size:15px}
.ctas{display:flex;gap:8px;flex-wrap:wrap}
.b-white{background:#fff;color:var(--blue-d);border:none;font-weight:800;font-size:11.5px;padding:11px 14px;text-transform:uppercase;text-decoration:none;cursor:pointer;display:inline-block}
.b-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);font-weight:800;font-size:11.5px;padding:11px 14px;text-transform:uppercase;text-decoration:none;cursor:pointer;display:inline-block}
.slash{position:absolute;left:calc(7.5% + 40px);bottom:6px;width:180px;height:8px;background:repeating-linear-gradient(-60deg,#fff 0 3px,transparent 3px 9px)}
.cut-l{position:absolute;left:-1px;bottom:-2px;width:calc(7.5% + 1px);height:54px;background:var(--bg);clip-path:polygon(0 0,100% 100%,0 100%)}
.cut-r{position:absolute;right:-1px;bottom:-2px;width:26%;height:32px;background:var(--bg);clip-path:polygon(4% 45%,62% 45%,68% 0,100% 0,100% 100%,0 100%)}
.subband{margin-left:7.5%;display:flex;justify-content:center;padding:0 0 10px;margin-top:-1px}
.ww{display:flex;gap:2px}
.ww i{width:14px;height:12px;background:var(--blue);clip-path:polygon(0 0,30% 0,50% 45%,70% 0,100% 0,50% 100%)}
.lv{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2px 8px;align-items:center;background:rgba(0,0,0,.22);padding:9px 11px;text-decoration:none;color:#fff;border-left:3px solid var(--live)}
.lv.soon{border-left-color:#fff}
.lv:hover{background:rgba(0,0,0,.34)}
.lv .t{font-weight:800;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv .t.r{text-align:right}
.lv .s{font-weight:900;font-size:13px;font-family:var(--mono)}
.lv .m{grid-column:1/-1;font-size:10px;color:#cfcbff;font-weight:600}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--live);animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}

/* ---------- Bandeau de page ---------- */
.band{background:var(--blue-m);color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),0 calc(100% - 70px))}
.band .wrap{padding-block:30px 96px}
.band h1{font-weight:800;font-size:clamp(30px,5vw,52px);line-height:1;margin:0 0 6px;letter-spacing:-.5px;text-wrap:balance}
.band p{margin:0;color:#dcdaff;font-weight:500;max-width:62ch}
.band .back{color:#dcdaff;font-weight:700;font-size:11.5px;text-decoration:none}
.after-band{margin-top:6px;position:relative}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.chip{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:11.5px;padding:6px 11px;cursor:pointer;text-decoration:none}
.chip[aria-pressed="true"]{background:#fff;color:var(--blue-d);border-color:#fff}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:16px}
.stats div{font-size:10.5px;font-weight:700;text-transform:uppercase;color:#cfcbff}
.stats b{display:block;font-weight:900;font-size:26px;color:#fff;font-variant-numeric:tabular-nums}

/* ---------- Sections ---------- */
.blk{padding-top:34px}
.h2{font-weight:600;font-size:21px;color:#3b3b42;margin:0 0 14px;text-wrap:balance}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.cols.wide{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.stack{display:grid;gap:22px;align-content:start;min-width:0}
.card{background:#fff;border:1px solid var(--line);min-width:0}
.card > h2,.card > h3{margin:0;padding:10px 14px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.card > h2 span,.card > h3 span{color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0}
.card .c{padding:14px}
.empty{color:var(--muted);font-weight:600}
.emptyblk{background:#fff;border:1px dashed #c4c4cc;padding:22px;color:var(--muted);font-weight:600;text-align:center}
.emptyblk b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}

/* ---------- Jaquettes ---------- */
.covers{display:grid}
.cover{display:block;aspect-ratio:3/4;max-width:100%;position:relative;overflow:hidden;text-decoration:none;color:#fff}
.cover .art{position:absolute;inset:0;transition:transform .3s}
.cover:hover .art{transform:scale(1.05)}
.cover .big{position:absolute;left:8px;right:8px;top:14%;font-weight:900;font-size:44px;line-height:.85;letter-spacing:-2px;opacity:.22}
.cover .nm{position:absolute;left:0;right:0;bottom:0;padding:24px 9px 9px;font-weight:900;font-size:14px;line-height:1.05;text-transform:uppercase;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent)}
.cover .nm small{display:block;font-weight:700;font-size:9.5px;letter-spacing:.4px;opacity:.9;margin-top:4px;text-transform:none}
.cover .lvb{position:absolute;top:7px;right:7px;background:var(--live);font-size:9.5px;font-weight:800;padding:1px 6px}

/* ---------- Tables en cellules grises ---------- */
.tbl{overflow-x:auto}
table.cells{width:100%;border-collapse:separate;border-spacing:0 8px;font-variant-numeric:tabular-nums}
.cells th{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 12px;white-space:nowrap}
.cells td{background:var(--cell);padding:12px;white-space:nowrap;font-weight:700;border-right:8px solid var(--bg)}
.card .cells td{border-right-color:#fff}
.cells td:last-child{border-right:none}
.cells td.pl{width:64px;font-weight:900;font-size:15px;text-align:center}
.cells td.lp{font-family:var(--mono);color:var(--blue)}
.cells td.act{width:1%}
.cells td.nm{white-space:normal;line-height:1.6}
.cells td.nm small{white-space:nowrap}
.cells .tg{display:inline-block;min-width:48px;font-family:var(--mono);color:var(--blue);font-size:11.5px}
.cells small{color:var(--muted);font-weight:600;margin-left:8px;font-size:11px}
.cells a{color:inherit;text-decoration:none}
.cells a:hover{color:var(--blue)}
.cells tr.p1 td.pl{background:var(--blue);color:#fff}
.cells tr.p2 td.pl{background:#3b3b42;color:#fff}
.cells tr.p3 td.pl{background:#7d7d88;color:#fff}
.cells tr.mine td{box-shadow:inset 0 2px 0 var(--blue),inset 0 -2px 0 var(--blue)}
.seg{border:1px solid var(--line);background:#fff;margin-bottom:6px}
.seg button{border:none;background:none;padding:7px 13px;font-weight:800;font-size:11px;text-transform:uppercase;cursor:pointer;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}

/* ---------- Rangs ---------- */
.rank{display:flex;align-items:center;gap:14px}
.rank svg{flex:none}
.rank .rn{font-weight:900;font-size:24px;line-height:1}
.rank .rl{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--blue);margin-top:4px}
.pbar{height:6px;background:var(--cell)}
.pbar i{display:block;height:100%;background:var(--blue)}
.pmeta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:11.5px;color:var(--muted);font-weight:600}
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tier{display:flex;align-items:center;gap:12px;background:var(--bg);padding:14px;border-top:3px solid var(--c,#7d7d88)}
.tier b{display:block;font-weight:900;font-size:16px}
.tier span{font-size:11.5px;color:var(--muted);font-weight:600}
.rk{align-items:center;font-size:10.5px;font-weight:800;vertical-align:1px;margin-left:8px}
.rk i{width:9px;height:9px;background:var(--c);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* ---------- Matchs ---------- */
.match{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center;font-weight:700}
.match:last-child{border:none}
.match .s{font-family:var(--mono);text-align:center;font-weight:700}
.match .r{text-align:right}
.match .when{grid-column:1/-1;color:var(--muted);font-size:11px;font-weight:500}
.match a{color:inherit;text-decoration:none}
.win{color:var(--blue)}
.ch{display:grid;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.ch:last-child{border:none}
.ch .vs{font-weight:900;font-size:17px}
.ch .vs small{font-weight:700;font-size:12px;color:var(--muted)}
.ch .meta{font-size:11.5px;color:var(--muted);font-weight:600}
.pill{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;padding:2px 7px;letter-spacing:.3px}
.pill.pending{background:#fff1d6;color:var(--warn)}
.pill.accepted{background:#e5e4ff;color:var(--blue-d)}
.pill.disputed{background:#ffe1e4;color:var(--loss)}
.pill.completed{background:#ddf3e5;color:var(--win)}
.pill.off{background:var(--cell);color:var(--muted)}
.row-btns{display:flex;gap:8px;flex-wrap:wrap}
.score-in{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.score-in input{width:64px;text-align:center}

/* ---------- Formulaires & boutons ---------- */
form.f{display:grid;gap:10px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{display:grid;gap:4px;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}
input,select{background:#fff;border:1px solid #c4c4cc;padding:9px 10px;width:100%;min-width:0;font-weight:600;font-size:13px;border-radius:0}
.btn{background:var(--blue);color:#fff;border:none;font-weight:800;font-size:11.5px;padding:10px 14px;text-transform:uppercase;cursor:pointer;justify-self:start;text-decoration:none;display:inline-block;min-height:38px}
.btn:hover{background:var(--blue-l)}
.btn:disabled{opacity:.45;cursor:default}
.btn.dark{background:var(--ink)}
.btn.ghost{background:transparent;color:var(--muted);border:1px solid #c4c4cc}
.btn.red{background:transparent;color:var(--loss);border:1px solid #e7b1b7}
.btn.sm{padding:6px 10px;font-size:10.5px;min-height:30px}
.discord{background:#5865f2}
.discord:hover{background:#4752c4}
.msg{font-size:12px;font-weight:700;min-height:18px;color:var(--win)}
.msg.err{color:var(--loss)}
.code{font-family:var(--mono);font-weight:700;font-size:18px;letter-spacing:2px;background:var(--cell);padding:8px 12px;display:inline-block;user-select:all}
.roster{display:grid;gap:6px}
.mem{display:flex;align-items:center;gap:10px;background:var(--cell);padding:8px 10px;font-weight:700}
.mem .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem .cap{font-size:9.5px;font-weight:800;background:var(--ink);color:#fff;padding:1px 6px}
.mem .lpv{font-family:var(--mono);color:var(--blue);font-size:12px}
.mem .riot{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);font-weight:500}
.notice{background:#fff4d6;border:1px solid #f0d58a;color:#5c4108;padding:12px 14px;font-weight:600;font-size:13px}
.notice b{display:block;color:var(--ink);margin-bottom:2px}
.inv{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#e9e8ff;padding:10px 12px;font-weight:700}
.inv .grow{flex:1;min-width:160px}

/* ---------- Tournois ---------- */
.tours{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.tour{background:#fff;border:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;min-width:0}
.tour .hd{padding:10px 12px;font-weight:900;font-size:13px;text-transform:uppercase;line-height:1.1;clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}
.tour .bd{padding:13px;display:grid;gap:9px;align-content:start}
.tour h3{margin:0;font-weight:800;font-size:16px;line-height:1.2}
.kv{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:12px;margin:0}
.kv dt{color:var(--muted);font-weight:700}
.kv dd{margin:0;font-weight:700}
.fill{height:5px;background:var(--cell)}
.fill i{display:block;height:100%;background:var(--blue)}
.tags{font-size:11px;color:var(--muted);font-weight:600}

/* ---------- Connexion ---------- */
.login{background:var(--blue-m);flex:1}
.login .wrap{padding-block:30px 70px}
.login .logo{font-size:64px}
.lcard{background:#fff;width:min(340px,100%);margin:24px auto 0;padding:34px 30px 30px;display:grid;gap:12px;text-align:center}
.lcard h1{margin:0 0 6px;font-weight:600;font-size:18px;color:#55555e}
.lcard p{margin:0;font-size:12px;color:var(--muted);font-weight:500}
.lcard .btn{justify-self:stretch;display:flex;justify-content:center;align-items:center;gap:8px}

/* ---------- Texte (règlement) ---------- */
.prose{max-width:70ch;background:#fff;border:1px solid var(--line);padding:22px 26px}
.prose h2{font-size:16px;margin:22px 0 6px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#33333a}

/* ---------- Modale & toast ---------- */
.modal{border:none;padding:0;width:min(440px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.35)}
.modal::backdrop{background:rgba(17,17,20,.55)}
.modal-in{display:grid;gap:12px;padding:22px}
.modal h2{margin:0;font-weight:800;font-size:18px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:#fff;font-weight:700;font-size:13px;padding:11px 16px;z-index:50;max-width:calc(100vw - 32px)}
.toast.err{background:var(--loss)}

/* ---------- Pied de page ---------- */
.foot{background:var(--nav);color:#a6a6ae;font-size:11.5px;padding-bottom:env(safe-area-inset-bottom,0px)}
.foot-in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-block:18px}
.foot a{color:#c9c6ff}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .hero-in{grid-template-columns:minmax(0,1fr)}
  .hero::before{background:none}
  .cols,.cols.wide{grid-template-columns:minmax(0,1fr)}
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cut-r{width:40%}
}
@media (max-width:540px){
  .nav{order:3;flex-basis:100%}
  .row{grid-template-columns:1fr}
  .covers{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .tiers{grid-template-columns:minmax(0,1fr)}
  .login .logo{font-size:44px}
  .me .nick{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Logo de team ---------- */
.mark-i{display:inline-grid;place-items:center;flex:none;object-fit:cover;color:#fff;font-weight:900;font-family:var(--mono);letter-spacing:-.5px;vertical-align:middle;margin-right:8px;background:var(--cell)}
.cells .mark-i{margin-right:10px}
.tp-head{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap}
.tp-head .mark-i{margin:0;box-shadow:0 0 0 3px rgba(255,255,255,.85)}
.team-page .band{background:var(--team)}
.custom{border:1px dashed #c4c4cc;padding:10px 12px}
.custom summary{cursor:pointer;font-weight:800;font-size:11.5px;text-transform:uppercase;color:var(--blue)}
.cells td.n{text-align:center;font-family:var(--mono);width:56px}
.team-page.light .band{color:var(--ink)}
.team-page.light .band p,.team-page.light .band .back,.team-page.light .stats div{color:#2b2b33}
.team-page.light .stats b{color:var(--ink)}

/* ---------- Mode construction ---------- */
.lock-bar{background:var(--ink);color:#fff;text-align:center;font-weight:700;font-size:12.5px;padding:8px 16px}
.lock-bar a{color:#c9c6ff}
body.locked .nav,body.locked .foot-in span:last-child{visibility:hidden}
.construction .hero-in{min-height:min(70vh,640px);align-items:center}

/* ---------- Menu admin ---------- */
.adm{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.adm-nav{display:grid;gap:2px;background:#fff;border:1px solid var(--line);padding:6px;position:sticky;top:70px}
.adm-nav button{text-align:left;border:none;background:none;padding:10px 12px;font-weight:700;font-size:13px;cursor:pointer;color:var(--ink);display:flex;justify-content:space-between;align-items:center;border-left:3px solid transparent}
.adm-nav button:hover{background:var(--bg)}
.adm-nav button[aria-current="page"]{background:var(--bg);border-left-color:var(--blue);color:var(--blue)}
.adm-body{display:grid;gap:20px;min-width:0}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);padding:14px;text-align:left;cursor:pointer;display:grid;gap:2px}
.kpi:hover{border-color:var(--blue)}
.kpi b{font-size:28px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi span{font-size:11.5px;font-weight:700;color:var(--muted)}
.kpi.warn{border-top-color:var(--loss)}
.kpi.warn b{color:var(--loss)}
.adm-search{margin-bottom:10px;max-width:360px}
@media (max-width:880px){.adm{grid-template-columns:minmax(0,1fr)}.adm-nav{position:static}.adm-nav button{border-left:none;border-bottom:3px solid transparent}.adm-nav button[aria-current="page"]{border-bottom-color:var(--blue)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Accueil ---------- */
.hero-in.solo-col{grid-template-columns:minmax(0,1fr)}
.sec-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.more{font-size:11px;font-weight:800;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.gtag{font-family:var(--mono);font-size:11px;font-weight:700;text-decoration:none;color:var(--muted)}
.home .blk{padding-top:40px}

/* ---------- Langue ---------- */
.lang{display:flex;border:1px solid #55555c}
.lang button{background:none;border:none;color:#a6a6ae;font-weight:800;font-size:11px;padding:6px 8px;cursor:pointer}
.lang button[aria-pressed="true"]{background:#fff;color:var(--ink)}
body.locked .lang{visibility:visible}
@media (max-width:540px){.lang{margin-left:auto}.acct{margin-left:0}}

/* ---------- Badges ---------- */
.bdgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bdg{display:flex;gap:12px;align-items:center;background:var(--bg);padding:10px 12px;min-width:0}
.bdg.done{background:#eceaff}
.bdg-i{place-items:center;background:var(--c);color:#fff;font-weight:900;font-family:var(--mono);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.bdg-i.off{background:#c9c9cf;color:#f4f4f5}
.bdg-t{display:grid;gap:2px;min-width:0;flex:1}
.bdg-t b{font-size:13px}
.bdg-t span{font-size:11.5px;color:var(--muted);font-weight:600}
.bdg-t em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--blue);text-transform:uppercase}
.bdg-t small{font-size:10.5px;color:var(--muted);font-family:var(--mono)}
.bdg-t .pbar{height:5px;margin-top:3px}
.bdg-mini{display:inline-flex;gap:2px;vertical-align:-3px;margin-left:4px}
@media (max-width:540px){.bdgs{grid-template-columns:minmax(0,1fr)}}

/* ---------- Plateformes ---------- */
.plat{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:700;padding:1px 5px;margin-left:8px;vertical-align:1px;background:var(--cell);color:#3b3b42;letter-spacing:.3px}
.plat-ps5{background:#e3e9ff;color:#1f3d99}
.plat-xbox{background:#e2f3e2;color:#1e6b1e}
.plat-form{flex-wrap:wrap}

/* ---------- Joueurs : titre, bannière, page publique ---------- */
.plink{color:inherit;text-decoration:none;font-weight:700}
.plink:hover{color:var(--blue);text-decoration:underline}
.ptitle{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--blue);background:#eceaff;padding:1px 6px;vertical-align:1px}
.pban{display:flex;align-items:center;gap:12px;padding:18px 16px;color:#fff;min-height:84px}
.pban .avatar{width:44px;height:44px;box-shadow:0 0 0 3px rgba(255,255,255,.85)}
.pban b{display:block;font-size:17px;font-weight:900}
.pban span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;background:rgba(0,0,0,.35);padding:2px 7px}
.pband{color:#fff;padding-block:34px 30px}
.pb-in{display:flex;align-items:center;gap:22px}
.pb-av{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#55555c;box-shadow:0 0 0 4px rgba(255,255,255,.9);flex:none;display:block}
.pband h1{margin:0;font-size:clamp(28px,5vw,44px);font-weight:900;letter-spacing:-1px;line-height:1.05;word-break:break-word}
.pb-title{display:inline-block;margin-top:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;background:rgba(0,0,0,.35);padding:3px 9px}
.pband .stats{margin-top:14px}
.pband .stats div{color:#dcdaff}

/* ---------- Téléphone ---------- */
@media (max-width:540px){
  .top-in{gap:10px 12px}
  .logo{font-size:22px}
  .nav{gap:4px 14px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;padding:8px 0}
  .lang button{padding:8px 10px}
  .b-in,.b-out{padding:9px 11px}
  .hero h1{font-size:clamp(40px,13vw,56px)}
  .hero-in{padding-block:18px 70px}
  .btn{min-height:40px}
  .btn.sm{min-height:34px}
  input,select,textarea{font-size:16px}
  .pb-av{width:72px;height:72px}
  .pband{padding-block:24px}
  .pb-in{gap:14px}
  .plat{margin-left:6px}
  .cells .nm small{display:block;margin-left:0}
  .modal-in{padding:18px 16px}
  .adm-nav{flex-wrap:wrap}
  .adm-nav button{white-space:nowrap;flex:1 1 auto;padding:9px 10px;font-size:12px}
  .foot-in{flex-direction:column;gap:6px}
}
@media (max-width:540px){
  table.cells{border-spacing:0 6px}
  .cells th{padding:0 6px}
  .cells td{padding:10px 7px;border-right-width:4px}
  .cells td.pl{width:34px;font-size:13px}
  .cells td.n{width:auto}
  .cells .pct{display:none}
  .cells .tg{min-width:0;margin-right:6px}
  .cells .mark-i{margin-right:6px;width:22px!important;height:22px!important;font-size:8px!important}
  .cells small{display:block;margin-left:0}
  .cells td.act .btn{padding:8px 9px;min-height:32px}
  .mem{flex-wrap:wrap;row-gap:8px}
  .mem .grow{flex:1 1 150px}
  .mem .btn{flex:1 1 40%;text-align:center}
}

/* ---------- Modes d'un jeu et saisons ---------- */
.modes{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.modes a{color:#fff;text-decoration:none;font-weight:800;font-size:11.5px;text-transform:uppercase;padding:8px 12px;border:1px solid rgba(255,255,255,.55)}
.modes a[aria-selected="true"]{background:#fff;color:var(--blue-d);border-color:#fff}
.modes a:hover{border-color:#fff}
.team-page.light .modes a{color:var(--ink)}
.season{margin-top:14px;font-size:11.5px;font-weight:700;color:#dcdaff}
.season b{color:#fff;text-transform:uppercase}
.cover .nm small + small{margin-top:0}

/* ---------- Carte saison (accueil, DA2) ---------- */
.sc{align-self:start;display:grid;gap:8px;color:#fff;margin-top:8px}
@media (max-width:880px){.sc{max-width:460px;width:100%}}
.hero-in.has-sc{align-items:center}
@media (max-width:880px){.hero-in.has-sc .sc{margin-left:max(0px,calc(7.5vw - 16px))}}

/* ---------- EZXP Masters ---------- */
.ms-t{flex:none;display:grid;place-items:center;align-content:center;background:#fff;color:var(--ink);font-weight:900;font-size:8.5px;letter-spacing:1.5px;line-height:1.1;padding:7px 8px}
.ms-t b{font-size:12px;letter-spacing:.5px;color:var(--blue)}
.masters{position:relative;background:linear-gradient(180deg,var(--blue-l),var(--blue-d));padding:20px 20px 40px;color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),70% calc(100% - 14px),67% 100%,0 100%)}
.masters::after{content:"";position:absolute;left:20px;bottom:14px;width:160px;height:8px;background:repeating-linear-gradient(-60deg,#fff 0 3px,transparent 3px 9px)}
.ms-head{display:flex;gap:16px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.ms-head h2{margin:0;font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:-.3px}
.ms-head p{margin:2px 0 0;color:#dcdaff;font-size:12.5px;font-weight:600}
.ms-t{padding:10px 12px;font-size:10px}
.ms-t b{font-size:17px}
.masters .tour{color:var(--ink)}
.bswatch{display:inline-block;width:34px;height:16px;vertical-align:-3px;margin-right:8px}

/* ---------- Pass de saison ---------- */
.pp{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.pp-lvl{width:96px;height:96px;flex:none;display:grid;place-items:center;align-content:center;background:var(--blue);color:#fff;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.pp-lvl b{font-size:38px;font-weight:900;line-height:1}
.pp-lvl span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.pp-r{flex:1;min-width:220px;display:grid;gap:8px}
.pp-xp{font-weight:700;color:var(--muted)}
.pp-xp b{font-size:22px;color:var(--ink);font-weight:900}
.pp-bar{height:10px}
.ptrack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pt{position:relative;background:var(--cell);padding:10px;min-height:96px;display:grid;align-content:start;gap:6px;border-bottom:3px solid transparent}
.pt.ok{background:#eceaff;border-bottom-color:var(--blue)}
.pt.cur{box-shadow:inset 0 0 0 2px var(--blue)}
.pt-l{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--muted)}
.pt.ok .pt-l{color:var(--blue)}
.pt-b{display:block;height:38px}
.pt:not(.ok) .pt-b{filter:grayscale(1) brightness(.85);opacity:.55}
.pt-n{font-size:11px;font-weight:800;text-transform:uppercase}
.pt-x{font-size:10.5px;color:var(--muted);font-weight:600;margin-top:auto}
.pt-ok{position:absolute;top:8px;right:10px;color:var(--blue);font-weight:900}
@media (max-width:540px){.ptrack{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-lvl{width:76px;height:76px}.pp-lvl b{font-size:30px}}
.pt-t{display:block;background:var(--ink);color:#fff;font-weight:800;font-size:12px;padding:8px 6px;text-align:center}
.pt:not(.ok) .pt-t{background:#9a9aa3}
.pt.last{background:linear-gradient(160deg,#fff5d6,#f1d48a)}
.pt.last.ok{background:linear-gradient(160deg,#ffe9a8,#e7b94c);border-bottom-color:#a8740b}
.pt.last .pt-l{color:#7a5306}

/* ---------- Accueil : direct, matchs postés, résultats ---------- */
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:980px){.cols3{grid-template-columns:minmax(0,1fr)}}
.live-h{display:inline-flex;align-items:center;gap:7px;font-weight:inherit;color:inherit}
.live-h::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live);animation:lvp 1.6s infinite}
@keyframes lvp{50%{opacity:.35}}
.post{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.post:last-of-type{border-bottom:none}
.post-t{font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post-t a{color:inherit;text-decoration:none}
.post-t b{font-family:var(--mono);color:var(--blue);margin-right:4px}
.post-m{grid-column:1;font-size:11.5px;color:var(--muted);font-weight:600}
.post-m b{color:var(--ink)}
.post-n{font-style:italic;color:#4b4b55}
.post-a{grid-column:2;grid-row:1 / span 2}
.bdgs.one{grid-template-columns:minmax(0,1fr)}

/* ---------- Mon compte ---------- */
.adm-nav .out{color:var(--loss);margin-top:6px;border-top:1px solid var(--line)}
.pban.big{padding:22px 20px;min-height:110px;gap:16px;flex-wrap:wrap}
.pban.big .avatar{width:60px;height:60px}
.pban.big b{font-size:24px}
.pban .grow{flex:1;min-width:0}
.stats.dark div{color:var(--muted)}
.stats.dark b{color:var(--ink)}
.tsum{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.tsum .grow{flex:1;min-width:180px;display:grid;gap:2px}
.tsum .mark-i{margin:0}
.tcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.tcard{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);padding:12px;cursor:pointer;color:var(--ink);font:inherit;min-width:0}
.tcard:hover{border-color:#c9c6ff}
.tcard.on{border-color:var(--blue);border-left-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.tcard .mark-i{margin:0}
.tcard .grow{flex:1;min-width:0;display:grid;gap:1px}
.tcard b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcard small{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcard.add{cursor:default;flex-direction:column;align-items:flex-start;justify-content:center;border-style:dashed;border-left-style:dashed;background:transparent}
.tm-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.tm-head .mark-i{margin:0}
.tm-head .grow{flex:1;min-width:200px;display:grid;gap:2px}
.tm-head b{font-size:18px}
.tm-head .grow > span{font-size:12px;color:var(--muted);font-weight:600}
.subtabs{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;background:var(--bg)}
.subtabs button{border:none;background:none;padding:12px 16px;font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}
.subtabs button[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue);background:#fff}
.tm-lbl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}
.danger{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid #f3c2c7;background:#fff5f6;padding:12px 14px}
.danger .grow{flex:1;min-width:200px;display:grid;gap:2px}
.card.play{border-top:3px solid var(--blue)}
.play-t{margin:0 0 12px;font-weight:600}
.me[aria-current="page"] .nick{border-bottom:2px solid var(--blue-l)}
a.kpi{text-decoration:none;color:inherit}

.adm-nav .adm-link{display:block;padding:10px 12px 10px 15px;font-weight:800;font-size:13px;color:var(--blue);text-decoration:none;border-top:1px solid var(--line);margin-top:6px}
.adm-nav .adm-link:hover{background:var(--bg)}
.adm-nav .adm-link + .out{margin-top:0;border-top:none}
.xpb{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;color:#fff;background:var(--blue);padding:1px 6px;margin-left:6px;vertical-align:1px}
.bdg-t .xpb{color:#fff;font-size:10px}
.club{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.cchip{font-size:11.5px;font-weight:800;text-decoration:none;color:var(--blue);background:#eceaff;padding:5px 9px}
.cchip:hover{background:#dcd9ff}
.card .c.club{margin-top:0}

/* ---------- Choix de la saison (classement) ---------- */
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.swatches span{display:block;height:44px}
.swatches small{font-size:11px;font-weight:700;color:var(--muted)}

/* ---------- Arbitrage ---------- */
.mtools{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-top:10px}
.proofs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.proof img{display:block;width:64px;height:40px;object-fit:cover;border:1px solid var(--line)}
.proof:hover img{border-color:var(--blue)}
label.btn{display:inline-flex;align-items:center;cursor:pointer}
.dossier{margin-top:12px;border:1px solid #f3c2c7;background:#fff8f8;padding:12px;display:grid;gap:10px}
.dsides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dside{background:#fff;border:1px solid var(--line);padding:10px;display:grid;gap:6px}
.dmsgs{display:grid;gap:6px}
.dmsg{background:#fff;border-left:3px solid var(--line);padding:8px 10px;display:grid;gap:2px;font-size:13px}
.dmsg.adm{border-left-color:var(--blue);background:#f4f3ff}
.dmsg b{font-size:11.5px}
.dmsg small{font-size:10.5px;color:var(--muted)}
.verdict{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px}
.ff{color:var(--loss);font-weight:800}
textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line)}
@media (max-width:540px){.dsides{grid-template-columns:minmax(0,1fr)}}

/* ---------- Admin pro + arbitrage ---------- */
.adm-sec{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);padding:12px 12px 4px}
.adm-sec:first-child{padding-top:4px}
.adm-head{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:4px}
.adm-head h2{margin:0;font-size:22px;font-weight:900;letter-spacing:-.3px}
.adm-head p{margin:2px 0 0;color:var(--muted);font-weight:600;font-size:12.5px}
.todo{display:grid;gap:6px}
.todo a,.todo button{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff5f6;border:1px solid #f3c2c7;border-left:4px solid var(--loss);padding:10px 12px;font:inherit;font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;cursor:pointer;text-align:left;width:100%}
.todo b{color:var(--loss);font-size:11px;text-transform:uppercase;white-space:nowrap}
.todo a:hover,.todo button:hover{background:#ffecee}
.hrow{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.hrow .grow{flex:1;min-width:200px}
.hrow small{color:var(--muted);font-size:11px}
.roles-help{display:grid;gap:6px}
.roles-help div{background:var(--bg);padding:8px 10px;display:grid;gap:2px}
.roles-help b{font-size:12px}
.roles-help span{font-size:11.5px;color:var(--muted);font-weight:600}
.pill.role-admin{background:var(--ink);color:#fff}
.pill.role-staff{background:var(--blue);color:#fff}
.pill.role-referee{background:#eceaff;color:var(--blue-d)}

/* ---------- Effectif et MVP du match ---------- */
.lineup{border:1px solid var(--line);padding:10px 12px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.lineup legend{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:0 4px}
.lineup label{display:flex;align-items:center;gap:6px;text-transform:none;font-size:13px;font-weight:700;color:var(--ink);letter-spacing:0}
.lineup input{width:auto}
.lineup small{color:var(--muted);font-weight:600}
.lu{display:grid;gap:4px;font-size:12px;margin:6px 0 8px;color:#4b4b55}
.lu b{font-family:var(--mono);color:var(--blue);margin-right:4px}
.lu .btn{margin-left:6px;min-height:26px;padding:4px 8px;font-size:10px}
.mvpv{display:grid;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}
.mvpv:last-child{border-bottom:none;padding-bottom:0}
.mvpb{display:flex;flex-wrap:wrap;gap:6px}
.mvpb button{border:1px solid var(--line);background:#fff;padding:7px 10px;font:inherit;font-weight:800;font-size:12.5px;cursor:pointer;display:grid;text-align:left}
.mvpb button small{font-family:var(--mono);font-size:10px;color:var(--muted)}
.mvpb button:hover{border-color:var(--blue)}
.mvpb button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.mvpb button.on small{color:#dcdaff}
.mvpt{color:#a8740b;font-weight:800}

/* ---------- Accueil : comment jouer ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,.9fr);gap:12px;align-items:stretch}
.step{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);padding:14px;display:flex;gap:12px}
.step > b{flex:none;width:34px;height:34px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;font-size:16px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.step h3{margin:0 0 4px;font-size:14px;font-weight:900}
.step p{margin:0;font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.45}
.step.cta{flex-direction:column;justify-content:center;align-items:flex-start;border-top-color:var(--blue-l)}
.step.cta .tags{color:#a6a6ae}
@media (max-width:980px){.steps{grid-template-columns:minmax(0,1fr)}}

/* ---------- Page tournoi et bracket ---------- */
.tour-page .band{background:linear-gradient(120deg,var(--g1),var(--g2))}
.tour .hd{text-decoration:none;color:#fff}
.tour h3 a{color:inherit;text-decoration:none}
.tour h3 a:hover{color:var(--blue)}
.kv.big dd{font-size:14px}
.howto{margin:0;padding-left:18px;line-height:1.7;font-size:13px}
.bracket{display:flex;gap:18px;overflow-x:auto;padding-bottom:8px;align-items:stretch}
.bk-r{display:flex;flex-direction:column;min-width:190px;flex:none}
.bk-h{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px;white-space:nowrap}
.bk-ms{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:10px}
.bk-m{display:grid;gap:2px;border-left:3px solid var(--blue);background:var(--bg)}
.bk-t{display:flex;align-items:center;gap:6px;background:#fff;padding:7px 8px;font-size:12px;text-decoration:none;color:var(--ink);min-height:32px;white-space:nowrap;overflow:hidden}
.bk-t .mark-i{margin:0}
.bk-t b{font-family:var(--mono);color:var(--blue)}
.bk-t small{color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.bk-s{font-family:var(--mono);font-size:10px;color:var(--muted);width:16px;text-align:right;flex:none}
.bk-t.empty{color:#a6a6ae;font-style:italic}
.bk-t.tbd{color:var(--muted);font-weight:600;font-size:11.5px}
a.bk-t:hover{background:#eceaff}
.bk-r.champ .bk-m{border-left-color:#c8960f}
.card h2 .more{font-size:10px;margin-left:auto}

/* ---------- Carte tournoi ---------- */
.tour .hd{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:6px;height:88px}
.tc-st{font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:3px 7px;background:rgba(0,0,0,.35);color:#fff;text-transform:uppercase}
.tc-st.open{background:#fff;color:var(--win)}
.tc-st.live{background:var(--live)}
.tc-st.full{background:var(--ink)}
.tc-meta{display:grid;gap:3px;font-size:12.5px;font-weight:600;color:#4b4b55}
.tc-fill{display:grid;gap:3px}
.tc-fill small{font-size:11px;color:var(--muted);font-weight:700;font-family:var(--mono)}
.tc-tags{display:flex;flex-wrap:wrap;gap:4px}
.tc-tags a,.tc-tags span{font-family:var(--mono);font-size:10.5px;font-weight:700;background:var(--bg);color:var(--blue);padding:2px 6px;text-decoration:none}
.tc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.tc-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.tc-in{font-size:12px;font-weight:800;color:var(--win)}
.tc-link{border:none;background:none;padding:0;font:inherit;font-size:11px;color:var(--muted);text-decoration:underline;cursor:pointer}
.tc-link:hover{color:var(--loss)}
.tc-foot > .btn{flex:none;white-space:nowrap}

/* ---------- Bracket officiel ---------- */
.bk-m{position:relative}
.bk-t.win{background:#eef9f1}
.bk-t.win b{color:var(--win)}
.bk-t.lose{opacity:.55}
.bk-t em{font-style:normal;margin-left:auto;font-family:var(--mono);font-weight:700;padding-left:8px}
.bk-p{position:absolute;right:4px;top:-9px;font-size:9px;font-weight:800;text-transform:uppercase;background:var(--blue);color:#fff;padding:1px 6px}
.bk-p.live{background:var(--live)}
.bk-d{font-size:10px;color:var(--muted);padding:2px 8px;background:#fff}
.champ-bar{background:linear-gradient(120deg,#e7b94c,#a8740b);color:#fff;padding:12px 16px;font-size:15px;margin-bottom:16px}
.bkadm{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.bk-no{font-family:var(--mono);font-size:11px;color:var(--muted);width:44px}
.bk-vs{display:flex;align-items:center;gap:8px;flex:1;min-width:240px}
.bk-vs select{width:auto;max-width:200px;padding:6px 8px}
.bk-vs small{color:var(--muted)}
.pill.tourp{background:#fff3d6;color:#7a5306;text-decoration:none}
@media (max-width:540px){.bk-vs{min-width:0;flex-basis:100%;flex-wrap:wrap}.bk-vs select{max-width:100%;flex:1 1 120px}.bkadm .row-btns{flex-basis:100%}}

/* =====================================================================
   Finitions : alignements, espacements et téléphone (DA EZXP conservée)
   ===================================================================== */
/* Onglets collés à leur contenu */
.card:has(> .subtabs:only-child){margin-bottom:0;border-bottom:none}
.card:has(> .subtabs:only-child) + .card{border-top:none}
.card:has(> .subtabs:only-child) + *{margin-top:0}
.wrap.after-band > .card + .card,.wrap.after-band > .card + .notice,.wrap.after-band > .cols + .card,.wrap.after-band > .card + .cols{margin-top:18px}
.adm-body > .card + .card,.adm-body > .cols + .cols{margin-top:0}
/* Titres de cartes : une seule ligne propre */
.card > h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card > h2 > span:last-child:not(.live-h){margin-left:auto}
.card > h2 .more{margin-left:auto}
/* Boutons d'une rangée toujours alignés */
.row-btns{align-items:center}
.btn,.b-in,.b-out{border-radius:0}
/* Version ordinateur / téléphone d'un même bloc */
/* Menus latéraux (Mon compte, Admin) en barre défilante sur téléphone */
@media (max-width:880px){
  .adm-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .adm-nav::-webkit-scrollbar{display:none}
  .adm-nav .adm-sec{display:none}
  .adm-nav button,.adm-nav .adm-link{flex:none;white-space:nowrap;padding:12px 14px;border-top:none;margin-top:0;font-size:12.5px}
  .adm-nav .out{border-top:none;margin-top:0}
  .adm-head h2{font-size:18px}
}
/* Tableaux : pas de retour à la ligne disgracieux */
.cells td.nm a{display:inline}
/* Bas de page et respiration */
.page{padding-bottom:40px}
.blk{padding-block:28px}
/* Admin · liste des joueurs paginée */
.aj-chips{margin:12px 0 14px}
.aj-chips .chip{background:var(--cell,#eef0f3);border-color:#d5d9df;color:#1c2330}
.aj-chips .chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.aj-ids{line-height:1.5}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:#5b6472}
.pager b{font-size:12px;color:#1c2330;padding:0 6px}
.pager .btn[disabled]{opacity:.4;pointer-events:none}
#aj-q{width:100%;max-width:520px}
/* Règlement officiel */
.subtabs a{padding:12px 16px;font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.subtabs a[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue);background:#fff}
.rbook{display:grid;gap:0;padding-block:6px}
.rb{border-bottom:1px solid var(--line)}
.rb:last-of-type{border-bottom:none}
.rb summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 2px;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.3px}
.rb summary::-webkit-details-marker{display:none}
.rb summary::after{content:'+';margin-left:auto;font-size:18px;color:var(--blue);font-weight:900}
.rb[open] summary::after{content:'–'}
.rb-n{font-family:var(--mono);font-size:11px;background:var(--blue);color:#fff;padding:3px 6px;letter-spacing:0}
.rb ul{margin:0 0 14px;padding-left:44px;display:grid;gap:7px;font-size:13.5px;line-height:1.55}
.rb li::marker{color:var(--blue)}
.rb-maps,.rb-foot{margin:14px 0 4px;font-size:12.5px;color:var(--muted)}
.rb-foot a{color:var(--blue)}
.rb-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
@media (max-width:540px){.rb ul{padding-left:20px}.rb summary{font-size:12.5px}}
.wrap.after-band > .card:has(> .subtabs:only-child) + .card,.adm-body > .card:has(> .subtabs:only-child) + .card{margin-top:0;border-top:none}
/* Team · onglet Réglages */
.tsets{display:grid;gap:12px}
.tset{border:1px solid var(--line);background:#fff}
.tset > header{align-items:center;padding:12px 14px;background:var(--bg);border-bottom:1px solid var(--line)}
.tset > header b{display:block;text-transform:uppercase;letter-spacing:.3px}
.tset > header small{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.tset-b{padding:14px}
.tset-info{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tset-info > div{background:var(--cell,#eceef1);padding:10px 12px;display:grid;gap:3px}
.tset-info span{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
.tset-info b{font-size:14px}
.tset-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.tset-form label{display:grid;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.tset-form label.grow{flex:1;min-width:180px}
.tset-form label:not(.grow) input{width:96px}
.tset-form input[disabled],.tset-form .btn[disabled]{opacity:.5}
.tset-danger{border-color:#f3c2c7}
.tset-danger > header{background:#fff5f6;border-bottom-color:#f3c2c7}
.tset-danger .rb-n{background:var(--loss)}
.tset-danger .danger{border:none;background:none;padding:0}
@media (max-width:540px){.tset-info{grid-template-columns:repeat(2,1fr)}.tset-form .btn{width:100%}}
.tset-form input,.tset-form select{height:40px;box-sizing:border-box}
.tset-form .btn{height:40px;padding-inline:18px;display:inline-flex;align-items:center;justify-content:center}
/* Finitions « moins générique » : pas d'emoji, libellés typographiques */
.tc-meta span{display:flex;gap:8px;align-items:baseline}
.tc-meta em{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);min-width:30px}
.more i{font-style:normal;font-family:var(--mono);background:var(--blue);color:#fff;padding:0 5px;margin-left:4px;font-size:10px}
.champ-bar .cb-l{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:#fff;color:#8a5f08;padding:2px 7px;margin-right:10px}
.tc-in{display:inline-flex;align-items:center;gap:6px}
.tc-in::before{content:"";width:8px;height:8px;background:var(--win,#1a9b5a)}
.tset > header{display:grid;gap:2px}
.tset > header b{font-size:12.5px}
.sec-head{align-items:center;margin-bottom:14px}
.covers{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.covers .cover{aspect-ratio:4/3}
.covers .cover .big{font-size:64px;top:12%}
.covers .cover .nm{font-size:17px;padding:28px 14px 13px}
@media (max-width:880px){.covers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.covers .cover{aspect-ratio:3/4}.covers .cover .big{font-size:44px}.covers .cover .nm{font-size:14px;padding:24px 9px 9px}}

/* =====================================================================
   Mes teams · écran « lobby » façon jeu (DA EZXP)
   ===================================================================== */
/* Sélecteur de teams */
.tsels{display:grid;gap:10px;margin-bottom:16px}
.tsel{position:relative;display:grid;padding:0;border:none;cursor:pointer;color:#fff;font:inherit;text-align:left;overflow:hidden;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 28px),linear-gradient(160deg,var(--g1),var(--g2) 78%);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);transition:transform .15s,filter .15s;filter:saturate(.75) brightness(.85)}
.tsel:hover{transform:translateY(-2px);filter:none}
.tsel.on{filter:none;box-shadow:inset 0 0 0 3px #fff,inset 0 -4px 0 3px var(--blue)}
.tsel.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#fff}
.tsel-top{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:rgba(0,0,0,.28);font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
.tsel-top span{font-family:var(--mono)}
.tsel-top em{font-style:normal;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}
.tsel-mid{display:flex;align-items:center;gap:10px;padding:10px}
.tsel-mid b{font-size:24px;font-weight:900;letter-spacing:-.5px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsel-mid .mark-i{box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.tsel-bot{display:flex;justify-content:space-between;padding:7px 10px 9px;font-size:11px;font-weight:700;background:linear-gradient(0deg,rgba(0,0,0,.4),transparent)}
.tsel-bot .ok,.tsel-bot .ko{font-family:var(--mono);font-size:10px;padding:1px 6px;text-transform:uppercase}
.tsel-bot .ok{background:#fff;color:var(--win)}
.tsel-bot .ko{background:var(--live);color:#fff}
.tsel.add{cursor:default;background:transparent;color:var(--ink);border:2px dashed var(--line);clip-path:none;filter:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px}
.tsel.add:hover{transform:none;border-color:var(--blue)}
.tsel-plus{font-size:30px;font-weight:900;color:var(--blue);line-height:1}
.tsel.add b{font-size:12px;text-transform:uppercase;letter-spacing:.4px}

/* Carte lobby */
.card.lobby{overflow:hidden}
.lb-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id go" "st go";gap:18px 24px;padding:26px 24px 34px;color:#fff;
  background:var(--tbg,linear-gradient(120deg,var(--team),color-mix(in srgb,var(--team) 55%,#000)));
  clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),0 100%)}
.lb-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 64px)}
.lb-hero.light{color:var(--ink)}
.lb-hero > *{position:relative}
.lb-id{grid-area:id;display:flex;align-items:center;gap:18px;min-width:0}
.lb-id .mark-i{box-shadow:0 0 0 3px rgba(255,255,255,.85);flex:none}
.lb-id > div{min-width:0;display:grid;gap:4px}
.lb-game{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;opacity:.85}
.lb-id h3{margin:0;font-size:30px;font-weight:900;line-height:1;letter-spacing:-.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-id h3 span{font-family:var(--mono);font-weight:700;font-size:.7em;opacity:.7;margin-right:10px;letter-spacing:0}
.lb-role{font-size:12px;font-weight:700;opacity:.85}
.lb-stats{grid-area:st;display:flex;gap:0}
.lb-stats > div{display:grid;gap:2px;padding:6px 18px 6px 0;margin-right:18px;border-right:1px solid rgba(255,255,255,.25);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;opacity:.95}
.lb-stats > div:last-child{border:none;margin:0}
.lb-stats b{font-size:24px;font-weight:900;letter-spacing:-.5px;line-height:1;text-transform:none}
.lb-hero.light .lb-stats > div{border-color:rgba(0,0,0,.2)}
.lb-go{grid-area:go;display:grid;gap:8px;align-content:center;min-width:230px}
.lb-ready{display:flex;gap:10px;align-items:center;background:rgba(0,0,0,.3);padding:10px 12px}
.lb-ready i{width:10px;height:10px;flex:none}
.lb-ready.ok i{background:#3ee08a;box-shadow:0 0 0 3px rgba(62,224,138,.25)}
.lb-ready.ko i{background:var(--live);animation:lvp 1.6s infinite}
.lb-ready span{display:grid;font-size:11px;font-weight:600;opacity:.95}
.lb-ready b{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
.lb-hero.light .lb-ready{background:rgba(255,255,255,.55)}
.lb-play{display:block;text-align:center;background:#fff;color:var(--blue-d);font-weight:900;font-size:18px;letter-spacing:2px;text-transform:uppercase;padding:13px 16px;text-decoration:none;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:transform .12s}
.lb-play:hover{transform:scale(1.03)}
.lb-pub{text-align:center;color:inherit;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;opacity:.85}

/* Onglets du lobby */
.lb-tabs{display:flex;gap:4px;padding:0 20px;margin-top:-6px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.lb-tabs::-webkit-scrollbar{display:none}
.lb-tabs button{border:none;background:none;cursor:pointer;font:inherit;font-weight:900;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);padding:14px 14px 12px;border-bottom:3px solid transparent;white-space:nowrap}
.lb-tabs button:hover{color:var(--ink)}
.lb-tabs button[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue)}
.lb-body{padding-top:20px}
.lb-label{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}
.lb-label b{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.lb-label span{font-size:12px;color:var(--muted);font-weight:600}

/* Joueurs du lobby : liste façon line-up */
.slots{display:grid;gap:4px;margin-bottom:22px}
.slot{display:grid;align-items:center;gap:12px;background:var(--cell);padding:8px 12px;border:none;font:inherit;color:var(--ink);text-align:left;min-height:60px;width:100%}
.slot.me{background:#e4e2ff}
.slot.cap{box-shadow:inset 4px 0 0 var(--blue)}
.sl-n{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--muted)}
.sl-av{width:44px;height:44px;display:grid;place-items:center;background:#fff;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}
.sl-av img{width:100%;height:100%;object-fit:cover}
.sl-av span{font-weight:900;color:var(--blue);font-size:14px}
.sl-who{display:grid;gap:1px;min-width:0}
.sl-who b{display:flex;align-items:center;gap:6px;font-size:14px;min-width:0}
.sl-who b a{color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-who b a:hover{color:var(--blue)}
.sl-who small{font-family:var(--mono);font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-c,.sl-me{font-style:normal;font-size:9.5px;font-weight:900;padding:1px 5px;letter-spacing:.4px;text-transform:uppercase;flex:none}
.sl-c{background:var(--blue);color:#fff}
.sl-me{background:#fff;color:var(--blue)}
.sl-rec{font-size:12px;font-weight:800;color:var(--blue);white-space:nowrap}
.sl-act{display:flex;justify-content:flex-end}
.sl-act button{border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-weight:900;font-size:11px;width:28px;height:28px;color:var(--ink)}
.sl-act button:hover{border-color:var(--blue);color:var(--blue)}
.sl-act .x:hover{border-color:var(--loss);color:var(--loss)}
.slot.empty{grid-template-columns:34px 44px minmax(0,1fr) auto;background:transparent;outline:2px dashed var(--line);outline-offset:-2px}
button.slot.empty{cursor:pointer}
button.slot.empty:hover{outline-color:var(--blue);background:#f6f5ff}
.slot.empty .sl-av{background:transparent;border:2px solid var(--line);clip-path:none}
.slot.empty .sl-av span{color:var(--line);font-size:22px}
.slot.empty.req{outline-color:#f0a4ab}
.slot.empty b{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.slot.empty.req b{color:var(--loss)}
.lb-nexts{display:grid;gap:6px}
.lb-next{display:flex;gap:12px;align-items:center;background:var(--cell);padding:10px 12px;text-decoration:none;color:var(--ink);font-size:13px}
.lb-next b{min-width:80px}
.lb-next span:last-child{margin-left:auto;font-size:12px;color:var(--muted);font-weight:600}

@media (max-width:880px){
  .lb-hero{grid-template-columns:1fr;grid-template-areas:"id" "st" "go";padding:22px 16px 32px}
  .lb-go{min-width:0}
}
@media (max-width:540px){
  .lb-id h3{font-size:22px}
  .lb-id .mark-i{width:60px!important;height:60px!important}
  .lb-stats{flex-wrap:wrap;row-gap:10px}
  .lb-stats > div{padding-right:12px}
  .lb-tabs{padding:0 8px}
  .lb-tabs button{font-size:11.5px;padding:12px 10px 10px}
}
@media (max-width:540px){
  .slot{gap:9px;padding:8px}
  .slot .sl-rec{display:none}
  .sl-av{width:38px;height:38px}
  .slot.empty{grid-template-columns:24px 38px minmax(0,1fr) auto}
  .lb-next{flex-wrap:wrap;gap:6px 10px}
  .lb-next span:last-child{margin-left:0;width:100%}
}

/* Bandeau du compte et bilan : robustes sur téléphone (même en grande police) */
.pban.big > .b-white{flex:none}
.pban.big b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:540px){
  .pban.big{padding:18px 16px}
  .pban.big .grow{flex:1 1 calc(100% - 80px)}
  .pban.big > .b-white{flex:1 1 100%;text-align:center}
  .pban.big b{font-size:20px}
}
.stats.dark{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:0}
.stats.dark > div{background:var(--cell);padding:12px 14px;display:grid;gap:4px;min-width:0}
.stats.dark b{font-size:24px;line-height:1}
@media (max-width:540px){.stats.dark{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi b{font-size:24px}}
@media (max-width:540px){
  .lb-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
  .lb-stats > div{padding:4px 6px 4px 0;margin-right:6px;font-size:8.5px;letter-spacing:.3px}
  .lb-id h3 span{display:none}
  .slot.empty small{display:none}
  .slot.empty b{font-size:11px}
}
.lb-stats b{white-space:nowrap}
@media (max-width:540px){.lb-stats b{font-size:15px}}
/* Tuiles regroupées par team (club) */
.tsels{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.tsel{min-height:150px;grid-template-rows:auto auto 1fr auto;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 28px),linear-gradient(150deg,var(--team),color-mix(in srgb,var(--team) 45%,#000) 85%)}
.tsel-nm{display:grid;min-width:0;gap:2px}
.tsel-nm small{font-size:11px;font-weight:700;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsel-mid .avatar{width:34px;height:34px;box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.tsel-games{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 8px;align-content:flex-start}
.tsel-games i{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:700;background:rgba(0,0,0,.35);border-left:3px solid var(--g1);padding:2px 6px;display:inline-flex;gap:4px;align-items:baseline}
.tsel-games small{font-size:9px;opacity:.75}
/* Choix du jeu dans la bannière du lobby */
.lb-games{display:flex;scrollbar-width:none}
.lb-games::-webkit-scrollbar{display:none}
.lb-games button{flex:none;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.3px;padding:9px 14px 9px 10px;color:var(--ink)}
.lb-games button i{grid-row:span 2;width:6px;align-self:stretch;background:var(--g1)}
.lb-games button small{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0}
.lb-games button:hover{border-color:var(--blue)}
.lb-games button[aria-selected="true"]{border-color:var(--blue);box-shadow:inset 0 -3px 0 var(--blue)}
@media (max-width:540px){.tsels{grid-template-columns:repeat(2,minmax(0,1fr))}.tsel-mid b{font-size:19px}}

/* =====================================================================
   Accueil v2
   ===================================================================== */
.hero h1{font-size:clamp(44px,6.6vw,80px)}
.hero h1 span:last-child{color:#fff;-webkit-text-stroke:0;opacity:.92}
.hero-n{display:flex;gap:0;margin:22px 0 4px}
.hero-n > div{display:grid;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#d6d3ff;padding-right:22px;margin-right:22px;border-right:1px solid rgba(255,255,255,.25)}
.hero-n > div:last-child{border:none;margin:0;padding:0}
.hero-n b{font-size:30px;font-weight:900;color:#fff;letter-spacing:-.5px;line-height:1.05;font-variant-numeric:tabular-nums}
.h2 .cnt{font-family:var(--mono);font-size:12px;font-weight:700;background:var(--blue);color:#fff;padding:2px 7px;vertical-align:4px;margin-left:6px;letter-spacing:0}

/* Ton espace */
.me-grid{display:grid;gap:10px}
.me-team{position:relative;display:grid;gap:12px;padding:16px 18px 18px;color:#fff;overflow:hidden;
  background:var(--tbg,linear-gradient(120deg,var(--team),color-mix(in srgb,var(--team) 55%,#000)));clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.me-team::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 48px)}
.me-team > *{position:relative}
.me-team.light{color:var(--ink)}
.me-k{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;opacity:.85}
.me-id{display:flex;align-items:center;gap:14px;min-width:0}
.me-id .mark-i{box-shadow:0 0 0 3px rgba(255,255,255,.8);flex:none}
.me-id > div{display:grid;min-width:0}
.me-id b{font-size:28px;font-weight:900;line-height:1;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-id small{font-size:12px;font-weight:700;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.me-ft{display:flex;align-items:center;justify-content:space-between;gap:10px}
.me-rd{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:rgba(0,0,0,.3);padding:6px 10px}
.me-rd i{width:8px;height:8px}
.me-rd.ok i{background:#3ee08a}
.me-rd.ko i{background:var(--live)}
.me-team .lb-play{font-size:14px;padding:9px 26px}
.me-box{display:grid;align-content:start;gap:6px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);padding:14px 16px;text-decoration:none;color:var(--ink);min-width:0}
.me-box:hover{border-color:var(--blue)}
.me-box .me-k{color:var(--muted);opacity:1}
.me-box small{font-size:12px;color:var(--muted);font-weight:600}
.me-box.warn{border-top-color:var(--live)}
.me-box.warn .me-big{color:var(--loss)}
.me-big{font-size:30px;font-weight:900;line-height:1.05;letter-spacing:-.5px}
.me-vs{display:flex;align-items:center;gap:8px;font-size:17px;min-width:0}
.me-vs em{font-style:normal;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}
.me-xp{height:6px;background:var(--cell);margin-top:2px}
.me-xp i{display:block;height:100%;background:var(--blue)}

/* Matchs à prendre */
.pcs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.pc{scroll-snap-align:start;display:grid;background:#fff;border:1px solid var(--line);min-width:0}
.pc-top{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;color:#fff;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 24px),linear-gradient(120deg,var(--g1),var(--g2))}
.pc-top em{font-style:normal;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-team{display:flex;align-items:center;gap:10px;padding:12px 12px 8px;text-decoration:none;color:var(--ink);min-width:0}
.pc-team span{display:grid;min-width:0}
.pc-team b{font-size:18px;font-weight:900;line-height:1.1}
.pc-team small{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-info{display:grid;gap:3px;padding:0 12px 10px;font-size:12.5px;font-weight:700}
.pc-info span{display:flex;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-info em{font-style:normal;font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;min-width:46px;padding-top:2px}
.pc-act{border-top:1px solid var(--line);padding:9px 12px;display:flex;justify-content:flex-end}
.pc-own{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);padding:6px 0}

/* Activité + classement */
.fd-list{padding-block:4px}
.fd{display:grid;grid-template-columns:42px minmax(0,1fr) 58px minmax(0,1fr);grid-template-areas:"g a s b" "g w w w";align-items:center;column-gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.fd:last-child{border-bottom:none}
.fd-g{grid-area:g;align-self:stretch;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:700;color:#fff;background:var(--g1)}
.fd-t{grid-area:a;display:flex;align-items:center;gap:7px;font-weight:800;font-size:14px;color:var(--muted);text-decoration:none;min-width:0}
.fd-t.r{grid-area:b;justify-content:flex-end}
.fd-t.win{color:var(--ink)}
.fd-s{grid-area:s;text-align:center;font-family:var(--mono);font-weight:700;font-size:16px}
.fd-s em{font-style:normal;color:var(--muted);margin:0 3px}
.fd-s i{font-style:normal;font-family:var(--font);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;background:var(--live);color:#fff;padding:3px 7px}
.fd-w{grid-area:w;text-align:center;font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}
.fd.live{background:linear-gradient(90deg,rgba(255,59,79,.06),transparent)}
.hr-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;padding:0 8px}
.hr-tabs::-webkit-scrollbar{display:none}
.hr-tabs button{border:none;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:11px 10px 9px;border-bottom:3px solid transparent;white-space:nowrap}
.hr-tabs button[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue)}
.hr-list{display:grid;gap:4px;padding-block:12px}
.hr-row{display:grid;grid-template-columns:40px 26px minmax(0,1fr) auto auto;align-items:center;gap:10px;background:var(--cell);padding:0 12px 0 0;text-decoration:none;color:var(--ink);min-height:46px}
.hr-row.mine{box-shadow:inset 0 0 0 2px var(--blue)}
.hr-row:hover{background:#e2e1f3}
.hr-p{align-self:stretch;display:grid;place-items:center;font-weight:900;font-size:15px;background:#d5d5da}
.hr-p.p1{background:var(--blue);color:#fff}.hr-p.p2{background:var(--ink);color:#fff}.hr-p.p3{background:#6a6a73;color:#fff}
.hr-row .avatar{width:26px;height:26px}
.hr-row b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr-row .tg{margin-right:6px}
.hr-g{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--muted)}
.hr-r{font-size:12px;font-weight:800;color:var(--blue);white-space:nowrap}

@media (max-width:1000px){.me-team{grid-column:1/-1}}
@media (max-width:540px){
  .hero-n b{font-size:22px}.hero-n > div{padding-right:12px;margin-right:12px;font-size:9px}
  .me-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .me-id b{font-size:22px}
  .me-big{font-size:24px}
  .pcs{grid-auto-columns:78%}
  .hr-row{grid-template-columns:34px 24px minmax(0,1fr) auto;gap:8px}
  .hr-g{display:none}
}
.me-vs{overflow:hidden}
.me-vs b{white-space:nowrap}
@media (max-width:540px){
  .me-box:last-child{grid-column:auto}
  .me-grid > .me-box:nth-child(2){grid-column:1/-1}
  .me-vs{font-size:16px}
}
.hero-n + .ctas{margin-top:22px}

/* =====================================================================
   Console EZXP (admin + arbitrage)
   ===================================================================== */
.band.cband .wrap{padding-bottom:70px}
.cb-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cband h1{font-size:clamp(30px,4vw,44px);margin:0}
.cb-role{font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:#fff;color:var(--blue-d);padding:3px 8px}
.cb-tabs{display:flex;gap:4px;margin-left:auto}
.cb-tabs a{color:#fff;text-decoration:none;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:9px 14px;border:1px solid rgba(255,255,255,.35)}
.cb-tabs a[aria-current="page"]{background:#fff;color:var(--blue-d);border-color:#fff}
.cb-tabs a:hover{border-color:#fff}

/* Compteurs arbitrage */
.ref-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.rk{display:grid;gap:2px;text-align:left;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.rk b{font-size:26px;font-weight:900;line-height:1}
.rk span{font-size:11.5px;font-weight:700;color:var(--muted)}
.rk.warn{border-left-color:var(--live)}.rk.warn b{color:var(--loss)}
.rk.on{box-shadow:inset 0 0 0 1px var(--blue)}

/* File + dossier */
.ref{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;align-items:start}
.ref-q{background:#fff;border:1px solid var(--line);position:sticky;top:12px}
.ref-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.ref-tabs button{flex:1 1 auto;border:none;background:none;cursor:pointer;font:inherit;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);padding:10px 8px 8px;border-bottom:3px solid transparent;white-space:nowrap}
.ref-tabs button[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue)}
.ref-q .adm-search{margin:10px;width:calc(100% - 20px)}
.cq-list{display:grid;max-height:70vh;overflow:auto}
.cq{display:grid;gap:4px;text-align:left;border:none;border-top:1px solid var(--line);border-left:4px solid var(--line);background:#fff;padding:10px 12px;cursor:pointer;font:inherit;color:var(--ink)}
.cq:hover{background:#f6f6f8}
.cq.on{background:#eeedff;border-left-color:var(--blue)}
.cq.st-disputed{border-left-color:var(--live)}.cq.st-ff{border-left-color:#e8a33a}
.cq.on.st-disputed,.cq.on.st-ff{box-shadow:inset 0 0 0 1px var(--blue)}
.cq-top{display:flex;align-items:center;gap:8px}
.cq-no{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted)}
.cq-g{font-family:var(--mono);font-size:9.5px;font-weight:700;color:#fff;background:var(--g1);padding:1px 5px}
.cq-age{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted)}
.cq-age.hot{color:#fff;background:var(--live);padding:0 5px}
.cq-vs{font-size:15px;display:flex;gap:6px;align-items:baseline}
.cq-vs em{font-style:normal;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase}
.cq-bot{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cq-k{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;background:var(--cell);padding:2px 6px}
.st-disputed .cq-k{background:#fde3e6;color:var(--loss)}
.cq-k.ok{background:#dff3e7;color:var(--win)}
.cq-n{margin-left:auto;font-size:11px;color:var(--muted);font-weight:600}

.cv{background:#fff;border:1px solid var(--line)}
.cv-empty{display:grid;gap:4px;place-items:center;padding:60px 20px;color:var(--muted);text-align:center}
.cv-empty b{color:var(--ink)}
.cv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);border-top:4px solid var(--blue)}
.cv-no{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.cv-head h3{margin:2px 0 4px;font-size:24px;font-weight:900;letter-spacing:-.4px}
.cv-head h3 em{font-style:normal;font-size:13px;color:var(--muted);font-weight:800;margin:0 4px}
.cv-head p{margin:0;font-size:12.5px;color:var(--muted);font-weight:600}
.cv-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0}
.cv-main{display:grid;gap:14px;padding:16px 18px;min-width:0}
.cv-side-panel{border-left:1px solid var(--line);background:#fafafb;padding:16px}
.cv-sides{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cv-side{background:var(--cell);padding:12px;display:grid;gap:6px;align-content:start;min-width:0}
.cv-team{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.cv-team span{display:grid;min-width:0}
.cv-team b{font-size:17px;font-weight:900}
.cv-team small{font-size:11.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-claim{background:#fff;padding:8px 10px;display:grid}
.cv-claim span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.cv-claim b{font-family:var(--mono);font-size:26px;line-height:1.1}
.cv-claim small{font-size:11px;color:var(--muted);font-weight:600}
.cv-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-top:2px}
.cv-lu{display:flex;flex-wrap:wrap;gap:4px}
.cv-lu a{font-size:11.5px;font-weight:700;background:#fff;padding:2px 7px;text-decoration:none;color:var(--ink)}
.cv-box{border:1px solid var(--line)}
.cv-h{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fafafb}
.cv-h span{font-family:var(--mono);background:var(--blue);color:#fff;padding:0 5px;font-size:10px}
.cv-chat{display:grid;gap:8px;padding:12px;max-height:340px;overflow:auto}
.cm{max-width:78%;padding:8px 11px;background:var(--cell)}
.cm b{display:block;font-size:11px;font-weight:800}
.cm p{margin:3px 0 2px;font-size:13px;white-space:pre-wrap;word-break:break-word}
.cm small{font-size:10.5px;color:var(--muted)}
.cm-b{justify-self:end;background:#e9e8f5}
.cm-ref{justify-self:center;max-width:90%;background:#eeedff;box-shadow:inset 3px 0 0 var(--blue)}
.cm-ref b{color:var(--blue)}
.cv-send{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line)}
.cv-send textarea,.cv-decide textarea{width:100%;font:inherit;font-size:13px;border:1px solid var(--line);padding:8px 10px;resize:vertical}
.cv-send .btn{justify-self:end}
.cv-chips{display:flex;flex-wrap:wrap;gap:5px}
.cv-chips button,.cv-take button{border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:700;padding:4px 8px;color:var(--ink)}
.cv-chips button:hover,.cv-take button:hover{border-color:var(--blue);color:var(--blue)}
.cv-tl{list-style:none;margin:0;padding:12px 12px 12px 26px;display:grid;gap:8px;position:relative}
.cv-tl::before{content:"";position:absolute;left:16px;top:16px;bottom:16px;width:2px;background:var(--line)}
.cv-tl li{position:relative;display:flex;gap:10px;font-size:12.5px;align-items:baseline}
.cv-tl li::before{content:"";position:absolute;left:-14px;top:5px;width:8px;height:8px;background:#b9b9c2}
.cv-tl .ev-a::before{background:var(--blue)}.cv-tl .ev-b::before{background:var(--ink)}.cv-tl .ev-warn::before{background:var(--live)}.cv-tl .ev-ok::before{background:var(--win)}
.cv-tl time{font-family:var(--mono);font-size:10.5px;color:var(--muted);min-width:82px}
.cv-decide{display:grid;gap:10px;position:sticky;top:12px}
.cv-decide .cv-h{background:none;border:none;padding:0;font-size:12px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2px;padding:9px 6px;background:#fff;border:1px solid var(--line)}
.seg input:checked + span{background:var(--blue);border-color:var(--blue);color:#fff}
.seg input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px}
.cv-score{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;font-weight:900;font-size:13px}
.cv-score input{width:100%;font:inherit;font-family:var(--mono);font-size:22px;text-align:center;border:1px solid var(--line);padding:6px 0}
.cv-score em{font-style:normal;color:var(--muted)}
.cv-take{display:grid;gap:4px}
.cv-go{width:100%;font-size:14px;padding:12px}
.cv-decide.done{gap:6px}
.cv-v{font-size:18px}
.cv-decide.done p{margin:0;font-size:13px}
.cv-decide.done small{color:var(--muted);font-size:11.5px}

/* Admin · tableau des matchs */
.am-tabs{padding:0 14px}
table.am{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:13px}
table.am th{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:left;padding:4px 10px;font-weight:800}
table.am td{background:var(--cell);padding:9px 10px;vertical-align:middle}
table.am tr[hidden]{display:none}
.am-no{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.am-vs em{font-style:normal;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}
.am-d,.am-s{white-space:nowrap;font-size:12.5px}
.am-s{font-family:var(--mono)}
table.am td.act{text-align:right;width:1%}

@media (max-width:1100px){.cv-grid{grid-template-columns:1fr}.cv-side-panel{border-left:none;border-top:1px solid var(--line)}.cv-decide{position:static}}
@media (max-width:900px){.ref{grid-template-columns:1fr}.ref-q{position:static}.cq-list{max-height:none}.ref-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.cb-tabs{margin-left:0;width:100%}.cb-tabs a{flex:1;text-align:center}.cv-sides{grid-template-columns:1fr}.cv-head{flex-direction:column}.cm{max-width:92%}
  table.am thead{display:none}table.am,table.am tbody,table.am tr{display:block}table.am tr{display:grid;grid-template-columns:1fr auto;background:var(--cell);margin-bottom:5px;padding:6px 0}table.am td{background:none;padding:3px 10px}table.am td.act{grid-column:2;grid-row:1/span 3;align-self:center}}
.seg label{position:relative;overflow:hidden}

/* Accueil · récompense à débloquer + saison discrète */
.hs{display:grid;align-self:center;color:#fff}
.unlock{position:relative;display:grid;gap:4px;min-height:250px;align-content:end;padding:20px 20px 18px;text-decoration:none;color:#fff;overflow:hidden;isolation:isolate;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));box-shadow:0 20px 50px rgba(10,6,60,.45)}
.ul-art{position:absolute;inset:0;z-index:-2;background:var(--bn);filter:saturate(1.1);transition:transform .6s}
.unlock::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.72)),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 34px)}
.unlock:not(.got) .ul-art{filter:saturate(.9) brightness(.85)}
.unlock:hover .ul-art{transform:scale(1.06)}
.unlock::after{content:"";position:absolute;top:-40%;left:-60%;width:40%;height:180%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);z-index:-1}
@keyframes ulshine{0%,60%{left:-60%}100%{left:140%}}
.ul-lock{position:absolute;right:24px;width:44px;height:36px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.ul-lock::before{content:"";position:absolute;left:9px;right:9px;top:-20px;height:26px;border:5px solid #fff;border-bottom:none;border-radius:14px 14px 0 0}
.ul-lock i{position:absolute;left:50%;top:9px;width:8px;height:14px;margin-left:-4px;background:var(--blue-d);clip-path:polygon(0 0,100% 0,100% 55%,70% 55%,70% 100%,30% 100%,30% 55%,0 55%);border-radius:2px}
.unlock.got .ul-lock::before{transform:translate(12px,-6px) rotate(18deg);transform-origin:right bottom}
.unlock.got .ul-lock{background:#3ee08a}
.unlock.got .ul-lock::before{border-color:#3ee08a}
.ul-k{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:#fff;color:var(--ink);justify-self:start;padding:3px 8px}
.ul-n{font-size:34px;font-weight:900;letter-spacing:-.8px;line-height:1;margin-top:6px;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.ul-m{font-size:12px;font-weight:700;opacity:.9}
.ul-ft{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:11px;font-weight:700}
.ul-bar{flex:0 0 90px;height:5px;background:rgba(255,255,255,.25)}
.ul-bar i{display:block;height:100%;background:#fff}
.ul-ft em{font-style:normal;margin-left:auto;text-transform:uppercase;letter-spacing:.6px;font-size:10.5px;font-weight:900;border-bottom:2px solid #fff;padding-bottom:1px}
.hs-season{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"n t a" "p p p";gap:6px 10px;align-items:center;background:rgba(0,0,0,.22);padding:10px 12px;font-size:12px}
.hs-n{grid-area:n;font-weight:900;text-transform:uppercase;letter-spacing:.5px;font-size:11px;display:flex;align-items:center;gap:6px}
.hs-n::before{content:"";width:7px;height:7px;background:var(--live);border-radius:50%;animation:lvp 1.6s infinite}
.hs-t{grid-area:t;color:#d6d3ff;font-weight:600}
.hs-t b{color:#fff}
.hs-season a{grid-area:a;color:#fff;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.hs-p{grid-area:p;height:3px;background:rgba(255,255,255,.18)}
.hs-p i{display:block;height:100%;background:#fff}
.hero-in.has-sc{grid-template-columns:minmax(0,1fr) minmax(280px,380px)}
@media (max-width:880px){.unlock{min-height:200px}.ul-n{font-size:28px}}
@media (prefers-reduced-motion:reduce){.unlock::after{animation:none;display:none}}
.ul-lock{top:40px}
@media (max-width:880px){.hero-in.has-sc{grid-template-columns:minmax(0,1fr)}.hs{margin-left:0}}
/* Cadrage du logo */
.crop{display:grid;gap:12px;justify-items:center}
.crop-f{position:relative;width:min(280px,100%);aspect-ratio:1;background:repeating-conic-gradient(#e4e4e8 0 25%,#f4f4f6 0 50%) 0 0/16px 16px;box-shadow:0 0 0 1px var(--line)}
.crop-f canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.crop-f canvas:active{cursor:grabbing}
.crop-g{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px var(--blue);
  background:linear-gradient(90deg,transparent calc(33.33% - .5px),rgba(255,255,255,.55) calc(33.33% - .5px) calc(33.33% + .5px),transparent 0,transparent calc(66.66% - .5px),rgba(255,255,255,.55) 0 calc(66.66% + .5px),transparent 0),
  linear-gradient(0deg,transparent calc(33.33% - .5px),rgba(255,255,255,.55) calc(33.33% - .5px) calc(33.33% + .5px),transparent 0,transparent calc(66.66% - .5px),rgba(255,255,255,.55) 0 calc(66.66% + .5px),transparent 0)}
.crop-z{display:flex;align-items:center;gap:10px;width:min(280px,100%);font-weight:900;color:var(--muted)}
.crop-z input{flex:1;accent-color:var(--blue)}
.crop-b{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;text-align:center}
/* Carrousel compact des récompenses du pass */
.hs{gap:8px}
.ul{background:rgba(0,0,0,.22);padding:10px 10px 8px;display:grid;gap:8px}
.ul-head{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.ul-head a{color:#fff;font-size:10px;opacity:.85}
.ul-stage{position:relative}
.ul-s{display:flex;align-items:flex-end;text-decoration:none;color:#fff;background:var(--bn)}
.ul-s::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.05) 70%)}
.ul-s.on{opacity:1;transform:scale(1);pointer-events:auto}
.ul-txt{position:relative;display:grid;gap:3px}
.ul-s .ul-k{padding:2px 6px}
.ul-s .ul-n{margin:0;letter-spacing:-.4px}
.ul-s .ul-lock::before{border-width:3px}
.ul-s.got .ul-lock{background:#3ee08a}.ul-s.got .ul-lock::before{border-color:#3ee08a;transform:translate(7px,-4px) rotate(18deg);transform-origin:right bottom}
.ul-dots{gap:4px;justify-content:center}
.ul-dots i{width:14px;height:3px;background:rgba(255,255,255,.3);transition:background .3s}
.ul-dots i.on{background:#fff}
@media (prefers-reduced-motion:reduce){.ul-s{transition:none}}
/* Pass : bande qui défile en continu + petit cadenas */
.ul-stage{height:86px;clip-path:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ul-track{display:flex;gap:8px;width:max-content;height:100%;animation:ulscroll calc(var(--n) * 4s) linear infinite}
.ul:hover .ul-track{animation-play-state:paused}
@keyframes ulscroll{to{transform:translateX(calc(-50% - 4px))}}
.ul-s{position:relative;inset:auto;flex:none;width:150px;height:100%;opacity:1;transform:none;pointer-events:auto;transition:filter .3s;padding:10px 12px;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.ul-s:not(.got){filter:saturate(.7) brightness(.8)}
.ul-s:hover{filter:none}
.ul-s .ul-n{font-size:16px}
.ul-s .ul-k{font-size:9px}
.ul-dots{display:none}
/* Cadenas fin, blanc translucide */
.ul-s .ul-lock{position:absolute;top:9px;right:10px;bottom:auto;width:13px;height:10px;background:rgba(255,255,255,.92);box-shadow:none;border-radius:2px}
.ul-s .ul-lock::before{content:"";position:absolute;left:2px;right:2px;top:-7px;height:9px;border:2px solid rgba(255,255,255,.92);border-bottom:none;border-radius:6px 6px 0 0;transform:none}
.ul-s .ul-lock i{position:absolute;left:50%;top:3px;width:2px;height:4px;margin-left:-1px;background:#1b1740;clip-path:none;border-radius:1px}
@media (prefers-reduced-motion:reduce){.ul-track{animation:none}}
/* Rôles dans la team */
.slot.co{box-shadow:inset 4px 0 0 #8f8af0}
.sl-c.co{background:#8f8af0}
.sl-c{letter-spacing:.3px}
.sl-act button.on{background:#8f8af0;border-color:#8f8af0;color:#fff}
.cap.co{background:#8f8af0}
.slot{grid-template-columns:34px 44px minmax(0,1fr) auto minmax(64px,auto)}
.sl-act{gap:3px}
@media (max-width:540px){.slot{grid-template-columns:24px 38px minmax(0,1fr) auto}}
/* Vitrine de succès */
.vs-slot{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border:2px dashed var(--line);color:var(--muted)}
.vs-slot.full{border:none;background:var(--cell);color:var(--ink);box-shadow:inset 4px 0 0 var(--blue)}
.vs-slot span:last-child{display:grid;min-width:0}
.vs-slot b{font-size:13.5px}
.vs-slot small{font-size:11.5px;color:var(--muted);font-weight:600}
.vs-plus{width:40px;height:40px;display:grid;place-items:center;font-size:22px;font-weight:900;border:2px solid var(--line);flex:none}
.vs-lbl{margin:16px 0 8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.vs-lbl span{font-family:var(--mono);background:var(--blue);color:#fff;padding:0 5px}
.vs-pick{display:grid;gap:6px}
.vs-opt{position:relative;display:flex;align-items:center;gap:8px;padding:6px 8px;background:#fff;border:1px solid var(--line);cursor:pointer;font-size:12px;font-weight:700;min-width:0}
.vs-opt span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-opt input{position:absolute;opacity:0;pointer-events:none}
.vs-opt:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#eeedff}
.vs-opt:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
/* Affichage de la vitrine */
.vit{display:flex;gap:8px;flex-wrap:wrap}
.vit-b{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.32);padding:6px 12px 6px 6px;color:#fff}
.vit-b span:last-child{display:grid}
.vit-b b{font-size:12.5px}
.vit-b small{font-size:10.5px;opacity:.8;font-weight:600;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-in{flex-wrap:wrap}
.pb-vit{margin-left:auto;align-self:center;display:grid;gap:6px}
.vit.mini{margin-left:auto;gap:4px}
.vit.mini .vit-b span:last-child{display:none}
@media (max-width:880px){.pb-vit{margin-left:0;grid-template-columns:1fr;width:100%}}
.vs-opt{text-transform:none;letter-spacing:0;color:var(--ink)}
/* Badges : hexagone plat + picto blanc */
.bdg-i{position:relative;display:inline-block;flex:none;line-height:0}
.bdg-i svg{width:100%;height:100%}
.bdg-i.off path:first-child{fill:#c9c9cf!important}
.bdg-i.off g{stroke:#f4f4f5}.bdg-i.off text{fill:#f4f4f5}
.rar{font-style:normal;font-family:var(--mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 5px;vertical-align:2px;margin-left:4px}
.rar.r1{background:#f3e3d6;color:#8a5531}.rar.r2{background:#e8ebef;color:#5d6673}.rar.r3{background:#ece4ff;color:#5b2ad6}.rar.r4{background:#fff3cf;color:#8a5f08}.rar.r5{background:linear-gradient(90deg,#d8fbf5,#ece4ff,#ffe1ec);color:var(--blue)}
@media (prefers-reduced-motion:reduce){.bdg-i.t4::before,.bdg-i.t5::before{animation:none;display:none}}
.bdg-i,.bdg-i.off{clip-path:none;background:none;display:inline-block}
/* Collection : récompenses et grille de badges */
.rw{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 2px}
.rw i{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;background:#fff;border:1px solid var(--line);padding:1px 6px;color:var(--ink)}
.rw i.rw-xp{background:var(--blue);border-color:var(--blue);color:#fff;font-family:var(--mono)}
.bg{display:grid;justify-items:center;gap:4px;text-align:center;background:var(--cell);padding:14px 8px 12px}
.bg b{font-size:12.5px}
.bg small{font-size:10.5px;color:var(--muted);font-weight:600}
.bg:not(.done) b{color:var(--muted)}
.bg .rar{margin:0}
/* Pass : bande défilante des récompenses */
.preel{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.preel-t{display:flex;gap:10px;width:max-content;animation:ulscroll calc(var(--n) * 3.5s) linear infinite}
.preel:hover .preel-t{animation-play-state:paused}
.pr{position:relative;flex:none;width:210px;height:118px;display:grid;align-content:end;gap:2px;padding:12px 14px;color:#fff;overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.pr-b{background:var(--bn)}
.pr-b::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 70%)}
.pr-t{background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 28px),linear-gradient(135deg,var(--blue),var(--blue-d))}
.pr > *{position:relative}
.pr .ul-k{justify-self:start;font-family:var(--mono);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:#fff;color:var(--ink);padding:2px 6px;margin-bottom:4px}
.pr b{font-size:18px;font-weight:900;letter-spacing:-.3px;line-height:1.1}
.pr small{font-size:10.5px;font-weight:700;opacity:.85;text-transform:uppercase;letter-spacing:.4px}
.pr:not(.got){filter:saturate(.75) brightness(.85)}
.pr:hover{filter:none}
.pr .ul-lock{position:absolute;top:12px;right:14px;width:13px;height:10px;background:rgba(255,255,255,.92);border-radius:2px}
.pr .ul-lock::before{content:"";position:absolute;left:2px;right:2px;top:-7px;height:9px;border:2px solid rgba(255,255,255,.92);border-bottom:none;border-radius:6px 6px 0 0}
.pr .ul-lock i{position:absolute;left:50%;top:3px;width:2px;height:4px;margin-left:-1px;background:#1b1740;border-radius:1px}
@media (prefers-reduced-motion:reduce){.preel-t{animation:none}}
@media (max-width:540px){.pr{width:170px;height:100px}.pr b{font-size:15px}}
/* Accueil : carte pass, une bannière à la fois en fondu */
.ul-fade{position:relative;height:104px;-webkit-mask-image:none;mask-image:none;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.ul-one{position:absolute;inset:0;display:flex;align-items:flex-end;padding:12px 14px;text-decoration:none;color:#fff;background:var(--bn);opacity:0;transform:scale(1.05);transition:opacity .7s,transform 3.6s linear;pointer-events:none}
.ul-one::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.05) 70%)}
.ul-one.on{opacity:1;transform:scale(1);pointer-events:auto}
.ul-one:not(.got){filter:saturate(.85)}
.ul-one .ul-txt{position:relative;display:grid;gap:3px}
.ul-one .ul-k{font-size:9.5px;padding:2px 6px}
.ul-one .ul-n{font-size:22px;margin:0;letter-spacing:-.4px}
.ul-one .ul-lock{position:absolute;top:12px;right:14px;width:13px;height:10px;background:rgba(255,255,255,.92);border-radius:2px;box-shadow:none}
.ul-one .ul-lock::before{content:"";position:absolute;left:2px;right:2px;top:-7px;height:9px;border:2px solid rgba(255,255,255,.92);border-bottom:none;border-radius:6px 6px 0 0}
.ul-one .ul-lock i{position:absolute;left:50%;top:3px;width:2px;height:4px;margin-left:-1px;background:#1b1740;border-radius:1px}
@media (prefers-reduced-motion:reduce){.ul-one{transition:none}}
/* Hero : carte saison d'origine + pass en cases */
.pbox{display:grid;gap:6px;color:#fff}
.pbox-h{display:flex;justify-content:space-between;align-items:center}
.pbox-h a{color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.pbox-v{overflow:hidden}
.pbox-t{display:flex;gap:4px;will-change:transform}
.pbx{position:relative;flex:0 0 calc((100% - 8px) / 3);height:74px;display:grid;align-content:end;gap:1px;padding:8px;text-decoration:none;color:#fff;background:var(--bn,rgba(0,0,0,.22));border-bottom:3px solid #fff;overflow:hidden}
.pbx::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 75%)}
.pbx.ttl{background:rgba(0,0,0,.22)}
.pbx.ttl::before{display:none}
.pbx > *{position:relative}
.pbx b{font-size:12.5px;font-weight:900;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbx span{font-family:var(--mono);font-size:9.5px;font-weight:700;opacity:.85;text-transform:uppercase}
.pbx:not(.got){filter:saturate(.8)}
.pbx-l{position:absolute!important;top:9px;right:8px;width:11px;height:8px;background:rgba(255,255,255,.92);border-radius:2px}
.pbx-l::before{content:"";position:absolute;left:2px;right:2px;top:-6px;height:8px;border:2px solid rgba(255,255,255,.92);border-bottom:none;border-radius:5px 5px 0 0}
.ul-track.ul-js{animation:none!important;will-change:transform}

/* =====================================================================
   Page Pass de saison v2
   ===================================================================== */
.bp-band .wrap{padding-bottom:84px}
.bp-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.9fr);gap:30px;align-items:center}
.bp-k{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:#fff;color:var(--blue-d);padding:3px 8px;display:inline-block}
.bp-hl h1{margin:10px 0 6px}
.bp-hl p{margin:0;max-width:56ch;color:#dcdaff}
.bp-how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:18px}
.bp-how div{background:rgba(0,0,0,.22);padding:10px;border-bottom:3px solid #fff;display:grid;gap:2px}
.bp-how b{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.bp-how span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#dcdaff;line-height:1.25}
.bp-me{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;background:rgba(0,0,0,.25);padding:18px;color:#fff}
.bp-me > p{grid-column:1/-1;margin:0}
.bp-lv{width:104px;height:118px;display:grid;place-items:center;align-content:center;background:#fff;color:var(--blue-d);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.bp-lv span{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.bp-lv b{font-size:46px;font-weight:900;line-height:1;letter-spacing:-1px}
.bp-lv small{font-family:var(--mono);font-size:10px;font-weight:700;opacity:.7}
.bp-xp{display:grid;gap:8px;min-width:0}
.bp-xpt{display:grid}
.bp-xpt b{font-size:22px;font-weight:900}
.bp-xpt span,.bp-next,.bp-end{font-size:12px;color:#dcdaff;font-weight:600}
.bp-next b,.bp-end b{color:#fff}
.bp-bar{height:8px;background:rgba(255,255,255,.2)}
.bp-bar i{display:block;height:100%;background:#fff}
/* Piste */
.bp-card{overflow:hidden}
.bp-scroll{overflow-x:auto;padding:18px 16px 12px;scroll-behavior:smooth}
.bp-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:128px;gap:8px;padding-top:34px;min-width:max-content}
.bp-track::before,.bp-track::after{content:"";position:absolute;left:14px;top:12px;height:4px;background:var(--cell)}
.bp-track::before{right:14px}
.bp-track::after{width:calc((100% - 28px) * var(--fill) / 100);background:var(--blue)}
.bp-c{position:relative;display:grid;gap:6px;justify-items:stretch}
.bp-l{position:absolute;top:-34px;left:50%;transform:translateX(-50%);width:28px;height:28px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700;background:#fff;border:2px solid var(--line);color:var(--muted);z-index:1}
.bp-c.ok .bp-l{background:var(--blue);border-color:var(--blue);color:#fff}
.bp-c.cur .bp-l{background:#fff;border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 4px rgba(58,50,226,.2);width:34px;height:34px;top:-37px;font-size:14px}
.bp-r{position:relative;height:150px;display:grid;align-content:end;gap:2px;padding:10px;background:var(--cell);overflow:hidden;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.bp-r small{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.bp-r b{font-size:14px;font-weight:900;line-height:1.15}
.bp-ban{background:var(--bn);color:#fff}
.bp-ban::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 65%)}
.bp-ban > *{position:relative}
.bp-ban small{color:rgba(255,255,255,.85)}
.bp-ttl{background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 26px),linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff}
.bp-ttl small{color:rgba(255,255,255,.85)}
.bp-r.bp-xp{clip-path:none;align-content:center;justify-items:center;text-align:center;height:150px}
.bp-r.bp-xp b{font-family:var(--mono);font-size:18px;color:var(--muted)}
.bp-r.bp-xp span{font-size:10px;font-weight:800;color:var(--muted)}
.bp-c:not(.ok) .bp-ban,.bp-c:not(.ok) .bp-ttl{filter:saturate(.7) brightness(.85)}
.bp-c.cur .bp-r{box-shadow:inset 0 0 0 3px var(--blue)}
.bp-c.fin .bp-r{height:150px;outline:2px solid #f1c24e;outline-offset:-2px}
.bp-r .ul-lock{position:absolute;top:10px;right:12px;width:13px;height:10px;background:rgba(255,255,255,.92);border-radius:2px}
.bp-r .ul-lock::before{content:"";position:absolute;left:2px;right:2px;top:-7px;height:9px;border:2px solid rgba(255,255,255,.92);border-bottom:none;border-radius:6px 6px 0 0}
.bp-r .ul-lock i{position:absolute;left:50%;top:3px;width:2px;height:4px;margin-left:-1px;background:#1b1740;border-radius:1px}
.bp-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:0 16px 14px;font-size:11.5px;font-weight:700;color:var(--muted)}
.bp-legend span{display:flex;align-items:center;gap:6px}
.bp-legend i{width:12px;height:12px;border:2px solid var(--line);background:#fff}
.bp-legend i.ok{background:var(--blue);border-color:var(--blue)}
.bp-legend i.cur{border-color:var(--blue)}
.bp-legend .tags{margin-left:auto}
.bp-legend a{color:var(--blue)}
/* Récompense finale */
.bp-final{position:relative;display:grid;align-content:end;gap:4px;padding:22px;color:#fff;text-decoration:none;background:var(--bn);overflow:hidden;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
.bp-final::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 60%)}
.bp-final > *{position:relative}
.bp-final .bp-k{justify-self:start}
.bp-final b{font-size:40px;font-weight:900;letter-spacing:-1px;line-height:1}
.bp-final small{font-size:12.5px;font-weight:700;opacity:.9}
.bp-final .ul-lock{position:absolute;top:22px;right:24px;width:18px;height:14px;background:rgba(255,255,255,.92);border-radius:2px}
.bp-final .ul-lock::before{content:"";position:absolute;left:3px;right:3px;top:-10px;height:12px;border:3px solid rgba(255,255,255,.92);border-bottom:none;border-radius:8px 8px 0 0}
.bp-final .ul-lock i{position:absolute;left:50%;top:4px;width:3px;height:6px;margin-left:-1.5px;background:#1b1740;border-radius:1px}
@media (max-width:880px){.bp-hero{grid-template-columns:1fr}.bp-how{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.bp-me{grid-template-columns:1fr;justify-items:start}.bp-lv{width:86px;height:98px}.bp-lv b{font-size:36px}.bp-track{grid-auto-columns:112px}.bp-legend .tags{margin-left:0}}
.bp-cols{align-items:start}.bp-final{min-height:260px}

/* =====================================================================
   Allègement graphique (cartes graphiques modestes, Discord ouvert à côté)
   ===================================================================== */
/* Plus de masques ni de filtres sur ce qui bouge : on fond les bords avec un simple calque. */
.ul-stage,.preel{-webkit-mask-image:none!important;mask-image:none!important;position:relative}
.ul-stage::after,.preel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}
.ul-stage::after{background:linear-gradient(90deg,#2a24a8,transparent 8%,transparent 92%,#2a24a8)}
.preel::after{background:linear-gradient(90deg,var(--bg),transparent 6%,transparent 94%,var(--bg))}
.ul-track,.preel-t{animation:none!important}
.ul-s,.ul-s:not(.got),.ul-s:hover,.pr,.pr:not(.got),.pr:hover{filter:none!important;transition:none}
.ul-s:not(.got)::after,.pr:not(.got)::after{content:"";position:absolute;inset:0;background:rgba(10,8,40,.25);pointer-events:none}
.unlock::after{display:none!important;animation:none!important}
/* Les points « en direct » clignotent quelques fois puis restent fixes. */
.dot,.live-h::before,.lb-ready.ko i,.hs-n::before{animation-iteration-count:4!important}
/* Mode léger : aucune animation ni transition, bandes à faire défiler au doigt */
html.lite *,html.lite *::before,html.lite *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.lite .ul-stage,html.lite .preel{overflow-x:auto;scrollbar-width:thin}
html.lite .ul-track,html.lite .preel-t{transform:none!important}
html.lite .ul-stage::after,html.lite .preel::after{display:none}
html.lite .cover:hover .art{transform:none}
/* Style : sélecteur visuel de bannières et de titres */
.st-prev{margin-bottom:16px}
.st-h{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin:4px 0 8px;display:flex;gap:8px;align-items:baseline}
.st-h span{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}
.st-grid{display:grid;margin-bottom:16px}
.st-b{position:relative;display:flex;align-items:flex-end;color:#fff;cursor:pointer;overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.st-b::before{content:"";position:absolute;inset:0}
.st-b input{position:absolute;opacity:0;pointer-events:none}
.st-n{position:relative;display:grid}
.st-n b{font-weight:900}
.st-n small{font-weight:700}
.st-b:has(input:checked){box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px var(--blue)}
.st-b:has(input:checked)::after{position:absolute;top:6px;left:8px;width:20px;height:20px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;font-size:12px}
.st-b:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.st-b.lock{cursor:not-allowed}
.st-b .ul-lock{position:absolute;width:13px;height:10px;background:rgba(255,255,255,.92);border-radius:2px}
.st-b .ul-lock::before{content:"";position:absolute;left:2px;right:2px;top:-7px;height:9px;border:2px solid rgba(255,255,255,.92);border-bottom:none;border-radius:6px 6px 0 0}
.st-b .ul-lock i{position:absolute;left:50%;top:3px;width:2px;height:4px;margin-left:-1px;background:#1b1740;border-radius:1px}
.st-titles{display:flex;flex-wrap:wrap;gap:6px}
.st-t{position:relative;cursor:pointer}
.st-t input{position:absolute;opacity:0;pointer-events:none}
.st-t span{display:inline-flex;gap:6px;background:#fff;border:1px solid var(--line);font-weight:800}
.st-t small{font-size:10px;font-weight:600;color:var(--muted)}
.st-t:has(input:checked) span{background:var(--blue);border-color:var(--blue);color:#fff}
.st-t.lock{cursor:not-allowed}
.st-t.lock span{color:var(--muted);background:var(--cell);border-style:dashed}
.pb-acts{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:540px){.pban.big .pb-acts{flex:1 1 100%}.pban.big .pb-acts > *{flex:1;text-align:center}}
/* Icônes de menu */
.mi{width:17px;height:17px;flex:none}
/* Menu latéral de Mon compte */
.acc-nav button,.acc-nav .adm-link{display:flex;align-items:center;gap:10px}
.acc-nav button .mi,.acc-nav .adm-link .mi{color:var(--muted)}
.acc-nav button[aria-current="page"] .mi{color:var(--blue)}
.acc-nav .nbadge{margin-left:auto}
.acc-nav .out .mi{color:var(--loss)}
/* Menu déroulant du compte (en-tête) */
.um{position:relative}
.um .me{display:flex;align-items:center;gap:8px;background:none;border:1px solid transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer;padding:5px 8px}
.um .me:hover,.um .me[aria-expanded="true"]{border-color:rgba(255,255,255,.35)}
.um-car{width:14px;height:14px;opacity:.8;transition:transform .15s}
.um .me[aria-expanded="true"] .um-car{transform:rotate(180deg)}
.um-p{position:absolute;right:0;top:calc(100% + 8px);width:270px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 16px 40px rgba(10,8,40,.25);z-index:60}
.um-p[hidden]{display:none}
.um-h{display:flex;align-items:center;gap:10px;padding:14px;color:#fff}
.um-h .avatar{width:38px;height:38px;box-shadow:0 0 0 2px rgba(255,255,255,.8)}
.um-h b{display:block;font-size:14px}
.um-h small{font-size:11px;font-weight:700;opacity:.9}
.um-g{padding:6px 0;border-top:1px solid var(--line)}
.um-l{display:block;padding:4px 14px 2px;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.um-i{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;text-decoration:none;color:var(--ink);font:inherit;font-size:13px;font-weight:700;background:none;border:none;cursor:pointer;text-align:left}
.um-i:hover,.um-i:focus-visible{background:#eeedff;color:var(--blue)}
.um-i .mi{color:var(--muted)}
.um-i:hover .mi{color:var(--blue)}
.um-i .nbadge{margin-left:auto}
.um-i.out{color:var(--loss)}.um-i.out .mi{color:var(--loss)}
@media (max-width:540px){.um-p{position:fixed;left:8px;right:8px;top:auto;width:auto}.um .me .nick{display:none}}
.qt{display:flex;flex-wrap:wrap;gap:5px;margin-top:-4px}
.qt button{border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:800;padding:6px 10px;color:var(--ink)}
.qt button:hover,.qt button.on{border-color:var(--blue);color:var(--blue)}
.qt button.on{background:#eeedff}
.tzh{font-size:10.5px;font-weight:700;color:var(--blue);text-transform:none;letter-spacing:0}
.lineup label.no{opacity:.55;cursor:not-allowed}
.lineup .why{color:var(--loss);font-weight:700}
.lineup-warn{grid-column:1/-1;margin:6px 0 0;font-size:12px;font-weight:700;color:var(--loss)}
.sl-who small.sl-bad{color:var(--loss);font-family:var(--font);font-weight:700}
/* Confirmation en 2 clics (pas de pop-up) */
.armed,.armed:hover{background:var(--loss)!important;border-color:var(--loss)!important;color:#fff!important;animation:none}
.sl-act button.armed{width:auto;padding:0 8px;font-size:10px}

/* =====================================================================
   Classement v2
   ===================================================================== */
.rk-bar{margin-bottom:16px}
.rk-tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);padding:0 8px}
.rk-tabs::-webkit-scrollbar{display:none}
.rk-tabs button{flex:none;border:none;background:none;cursor:pointer;font:inherit;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:14px 12px 11px;border-bottom:3px solid transparent;white-space:nowrap}
.rk-tabs button[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue)}
.rk-sub{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 14px}
.rk-sub:empty{display:none}
.rk-seas,.rk-modes{display:flex;gap:0}
.rk-seas button,.rk-modes button{border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:800;padding:7px 12px;color:var(--ink);margin-left:-1px}
.rk-seas button:first-child,.rk-modes button:first-child{margin-left:0}
.rk-seas button[aria-pressed="true"],.rk-modes button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;position:relative}
.rk-seas i{font-style:normal;font-family:var(--mono);font-size:9px;opacity:.8;margin-left:4px;text-transform:uppercase}
/* Podium */
.rk-pod{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;align-items:end;margin-bottom:16px}
.rk-pc{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;padding:18px 12px 14px;background:#fff;border:1px solid var(--line);border-top:4px solid #9a9aa6;text-decoration:none;color:var(--ink);min-width:0}
.rk-pc.p1{border-top-color:var(--blue);padding-top:24px;padding-bottom:18px}
.rk-pc.p2{border-top-color:var(--ink)}
.rk-pc.mine{box-shadow:inset 0 0 0 2px var(--blue)}
.rk-pc:hover{border-color:var(--blue)}
.rk-pn{position:absolute;top:8px;left:10px;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--muted)}
.rk-pc.p1 .rk-pn{color:var(--blue);font-size:15px}
.rk-pc b{font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk-pc.p1 b{font-size:18px}
.rk-pc b em,.rk-r b em,.rk-lnk em{font-style:normal;font-family:var(--mono);color:var(--blue);margin-right:6px;font-size:.85em}
.rk-pc small{font-size:11px;color:var(--muted);font-weight:600}
.rk-ps{display:flex;gap:4px}
.rk-ps i{font-style:normal;font-size:11px;font-weight:800;background:var(--cell);padding:3px 7px}
.rk-pc.p1 .rk-ps i:first-child{background:var(--blue);color:#fff}
.rk-pc .avatar,.rk-av .avatar{width:100%;height:100%}
.rk-av{display:inline-block;flex:none}
/* Liste */
.rk-card{overflow:hidden}
.rk-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
.rk-tools .adm-search{max-width:320px;margin:0}
.rk-h,.rk-r{display:grid;grid-template-columns:48px minmax(0,1fr) 54px 54px 150px 56px;align-items:center;gap:8px}
.rk-list.has-a .rk-r,.rk-card:has(.has-a) .rk-h{grid-template-columns:48px minmax(0,1fr) 54px 54px 150px 56px 96px}
.rk-h{padding:8px 14px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.rk-list{display:grid;gap:3px;padding:0 10px 10px}
.rk-r{position:relative;background:var(--cell);min-height:48px;padding-right:8px}
.rk-r:hover{background:#e2e1f3}
.rk-r[hidden]{display:none}
.rk-r.mine{box-shadow:inset 3px 0 0 var(--blue);background:#eeedff}
.rk-p{align-self:stretch;display:grid;place-items:center;font-weight:900;font-size:15px;background:#d5d5da}
.rk-r.p1 .rk-p{background:var(--blue);color:#fff}.rk-r.p2 .rk-p{background:var(--ink);color:#fff}.rk-r.p3 .rk-p{background:#6a6a73;color:#fff}
.rk-t{display:flex;align-items:center;gap:10px;min-width:0}
.rk-lnk{font-weight:800;font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-lnk::after{content:"";position:absolute;inset:0}
.rk-t small{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-v{font-weight:900;color:var(--blue);font-family:var(--mono)}
.rk-d{font-weight:700;font-family:var(--mono);color:var(--muted)}
.rk-w{position:relative;height:20px;background:#fff;display:flex;align-items:center}
.rk-w i{position:absolute;left:0;top:0;bottom:0;background:#c9c6ff}
.rk-w em{position:relative;font-style:normal;font-size:11px;font-weight:800;padding-left:8px}
.rk-s{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--muted)}
.rk-a{position:relative;z-index:1;text-align:right}
.rk-me{border-top:1px dashed var(--line);padding:10px 0 0}
.rk-me .tm-lbl{padding:0 14px 6px;display:block}
.rk-more{display:flex;justify-content:center;padding:4px 0 14px}
@media (max-width:700px){
  .rk-h{display:none}
  .rk-h,.rk-r,.rk-list.has-a .rk-r{grid-template-columns:40px minmax(0,1fr) auto auto}
  .rk-w,.rk-s{display:none}
  .rk-v::after{content:" V";font-family:var(--font);font-size:10px}
  .rk-d::after{content:" D";font-family:var(--font);font-size:10px}
  .rk-a{grid-column:2/-1;text-align:left;padding:0 0 8px}
  .rk-pod{grid-template-columns:1fr;gap:6px}
  .rk-pc{grid-template-columns:auto auto 1fr auto;justify-items:start;text-align:left;align-items:center;padding:10px 12px 10px 34px}
  .rk-pc.p1{order:-1;padding:12px 12px 12px 34px}
  .rk-pn{top:50%;transform:translateY(-50%)}
  .rk-pc small{display:none}
}
.rk-ps i{white-space:nowrap}
@media (max-width:700px){
  .rk-pc .mark-i{width:40px!important;height:40px!important;font-size:13px!important}
  .rk-pc b,.rk-pc.p1 b{font-size:14px}
  .rk-t small{display:none}
  .rk-a .pill{font-size:9px}
}
/* Collection : menu en tuiles */
.col-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}
.col-t{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"i n" "l l" "d d";gap:2px 10px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--line);padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.col-t .mi{grid-area:i;width:22px;height:22px;color:var(--muted)}
.col-n{grid-area:n;justify-self:end;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--muted)}
.col-t b{grid-area:l;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;margin-top:6px}
.col-t small{grid-area:d;font-size:11px;color:var(--muted);font-weight:600}
.col-t:hover{border-color:#c9c6ff}
.col-t[aria-selected="true"]{border-color:var(--blue);border-bottom-color:var(--blue);background:#f6f5ff}
.col-t[aria-selected="true"] .mi,.col-t[aria-selected="true"] .col-n{color:var(--blue)}
@media (max-width:700px){.col-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.col-t small{display:none}}
.acc-nav button > span:not(.nbadge),.acc-nav .adm-link > span:not(.nbadge){flex:1;text-align:left}
/* Mes matchs : cartes de match */
.mt-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
.mcs{display:grid;gap:12px}
.mcs > .empty{background:#fff;border:1px dashed var(--line);padding:22px;text-align:center}
.ch.mc{background:#fff;border:1px solid var(--line);padding:0;display:grid;overflow:hidden}
.ch.mc > *:not(.mc-top):not(.mc-vs){margin:0 16px}
.ch.mc > *:last-child{margin-bottom:16px}
.mc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 16px;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 32px),linear-gradient(110deg,var(--g1),var(--g2) 75%)}
.mc-top a{color:#fff}
.mc-st .pill{background:#fff}
.mc-live{font-style:normal;background:var(--live);color:#fff;padding:3px 8px;display:inline-flex;align-items:center;gap:6px}
.mc-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.mc-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.mc-tm{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.mc-tm.r{justify-content:flex-end;text-align:right}
.mc-tm span{display:grid;min-width:0}
.mc-tm b{font-weight:900;letter-spacing:-.3px;line-height:1}
.mc-tm small{font-size:11.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-tm.me b{color:var(--blue)}
.mc-mid{display:grid;justify-items:center;background:var(--cell);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.mc-mid b{font-family:var(--mono);font-weight:700}
.mc-mid small{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase}
.ch.mc .meta{font-size:12px;color:var(--muted);font-weight:600;text-align:center}
.ch.mc .lu{background:var(--bg);padding:8px 10px;font-size:12px}
.ch.mc.st-disputed{border-color:#f0a4ab}
.ch.mc.live{box-shadow:0 0 0 2px rgba(255,59,79,.25)}
@media (max-width:540px){.mc-tm .mark-i{width:32px!important;height:32px!important}.mc-mid{min-width:0;padding:6px 10px}.mc-mid b{font-size:16px}.mc-tm small{display:none}.mt-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.mt-nav .col-t{padding:10px}}
/* Mon compte : la bannière du joueur sert d'en-tête (pas de répétition) */
.acc-head{position:relative;color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%)}
.acc-head::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.1) 70%);pointer-events:none}
.acc-in{position:relative;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-block:34px 56px}
.acc-in .avatar{width:84px;height:84px;box-shadow:0 0 0 4px rgba(255,255,255,.85)}
.acc-id{flex:1;min-width:0;display:grid;gap:4px}
.acc-k{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;opacity:.85}
.acc-id h1{margin:0;font-size:clamp(30px,5vw,48px);font-weight:900;letter-spacing:-1px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-sub{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:800}
.acc-sub em{font-style:normal;background:rgba(0,0,0,.35);padding:2px 8px;text-transform:uppercase;letter-spacing:.4px}
.acc-acts{display:flex;gap:8px;flex-wrap:wrap}
.acc-head + .wrap{margin-top:24px}
@media (max-width:540px){.acc-in{padding-block:24px 46px;gap:14px}.acc-in .avatar{width:60px;height:60px}.acc-acts{width:100%}.acc-acts > *{flex:1;text-align:center}}
/* Petites transitions légères (aucune en mode léger) */
#view > section{animation:pgin .16s ease-out}
@keyframes pgin{from{opacity:.0;transform:translateY(4px)}to{opacity:1;transform:none}}
.col-t,.rk-tabs button,.lb-tabs button,.ref-tabs button,.hr-tabs button,.subtabs button{transition:color .12s,border-color .12s,background .12s}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){#view > section{animation:none}}
/* Comptes de jeu v2 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ga-top{display:flex;align-items:center;gap:22px;background:#111;color:#fff;padding:18px 22px;margin-bottom:14px;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.ga-sum{display:grid;flex:none;text-align:center}
.ga-sum b{font-size:38px;font-weight:900;line-height:1}.ga-sum small{font-size:18px;opacity:.5}
.ga-sum span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.7px;opacity:.7}
.ga-top p{margin:0;font-size:13px;line-height:1.5;opacity:.8}
.ga-list{display:grid;gap:10px;margin-bottom:18px}
.ga{background:#fff;border:1px solid var(--line,#e3e3e3);border-left:4px solid #cfcfcf;padding:14px 16px;display:grid;gap:12px;transition:border-color .15s}
.ga.is-on{border-left-color:var(--c)}
.ga-h{display:flex;align-items:center;gap:12px}
.ga-ic{width:38px;height:38px;display:grid;place-items:center;background:var(--c);color:#fff;font-weight:900;font-size:17px;flex:none;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}
.ga:not(.is-on) .ga-ic{background:#d9d9d9;color:#666}
.ga-t{flex:1;min-width:0;display:grid}.ga-t b{font-size:15px;font-weight:900}.ga-t small{font-size:12px;color:#777}
.ga-st{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:4px 8px;background:#f1f1f1;color:#666}
.ga.is-on .ga-st{background:#e7f8ee;color:#16884a}
.ga-f{display:flex;gap:8px}.ga-f input{flex:1;min-width:0}
.ga-pro{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.ga-pro{grid-template-columns:1fr}.ga-top{flex-direction:column;align-items:flex-start;gap:10px}}
/* Style v2 : étapes claires, filtres, lisible pour tout le monde */
.st-step{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 12px}
.st-step:first-child{margin-top:4px}
.st-num{width:30px;height:30px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;font-size:14px;flex:none}
.st-step > div:not(.st-filt){display:grid;flex:1;min-width:200px}.st-step b{font-size:15px;font-weight:900}.st-step small{font-size:13px;color:var(--muted)}
.st-filt{display:flex;border:1px solid var(--line);position:relative;overflow:hidden}
.st-filt input{position:absolute;opacity:0;pointer-events:none}
.st-filt label{width:auto;margin:0;flex:none;text-transform:none;letter-spacing:0;color:inherit;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer;background:#fff;min-height:36px;display:flex;align-items:center}
.st-filt label + input + label{border-left:1px solid var(--line)}
.st-filt input:checked + label{background:#111;color:#fff}
.st-filt input:focus-visible + label{outline:2px solid var(--blue);outline-offset:-2px}
.st-form:has(#stf-ok:checked) .st-b.lock,.st-form:has(#stf-ko:checked) .st-b:not(.lock){display:none}
.st-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.st-n b{font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.st-n small{font-size:11px;opacity:.95}
.st-b:has(input:checked)::after{content:none}
.st-on{display:none;position:absolute;top:8px;left:8px;background:#fff;color:var(--blue);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;padding:3px 7px}
.st-b:has(input:checked) .st-on{display:block}
.st-b:not(.lock):hover{filter:brightness(1.08)}
.st-tgh{padding-top:9px}
.st-t span{min-height:36px;align-items:center;font-size:13px;padding:7px 12px}
.st-t:not(.lock):hover span{border-color:#111}
.st-t:has(input:focus-visible) span{outline:2px solid var(--blue);outline-offset:2px}
.st-t:has(input:checked) span::before{content:"✓";font-weight:900}
.st-lk{width:9px;height:7px;background:currentColor;border-radius:1px;position:relative;margin-top:3px;align-self:center}
.st-lk::before{content:"";position:absolute;left:1px;right:1px;top:-5px;height:6px;border:1.5px solid currentColor;border-bottom:none;border-radius:4px 4px 0 0}
.st-save{bottom:0;z-index:2;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px -14px -14px;padding:12px 14px;background:#fff;border-top:1px solid var(--line)}
.st-form.dirty .st-save{background:var(--blue-t);border-top-color:var(--blue)}
.st-dirty{display:none;color:var(--blue);font-weight:800;font-size:12px}.st-form.dirty .st-dirty{display:inline}
@media (max-width:540px){.st-tgh{padding-top:0}.st-filt{width:100%}.st-filt label{flex:1;justify-content:center;padding:8px 6px}.st-save .btn{flex:1}}
@media (max-width:540px){.st-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.ga-n{font-size:12px;color:var(--muted);margin-top:-4px}
.ga.is-lock .ga-n{color:#9a5b00;font-weight:700}
.ga.is-lock input{background:var(--cell);color:#555}
/* Mes teams v3 : sélecteur compact, jeux du club dans une seule barre, menu Gérer */
.tsws{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.tsw{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 8px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--team);cursor:pointer;font:inherit;color:var(--ink);min-height:48px;transition:border-color .12s,box-shadow .12s}
.tsw:hover{border-color:#111;border-left-color:var(--team)}
.tsw.on{box-shadow:inset 0 -3px 0 var(--blue);border-color:var(--blue);border-left-color:var(--team)}
.tsw .avatar{width:30px;height:30px}
.tsw-n{display:grid;text-align:left;line-height:1.15}.tsw-n b{font-size:14px;font-weight:900}.tsw-n small{font-size:10.5px;font-weight:700;color:var(--muted)}
.tsw-d{width:8px;height:8px;border-radius:50%;background:#e8a33a}.tsw-d.ok{background:#22b866}
.tsw-add{display:flex;gap:6px;margin-left:auto}
.lb-games{align-items:center}
.sl-menu{position:relative}
.sl-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:8px 12px;min-height:36px;display:flex;align-items:center;gap:6px}
.sl-menu summary::-webkit-details-marker{display:none}
.sl-menu summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sl-menu[open] summary,.sl-menu summary:hover{border-color:#111}
.sl-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:5;min-width:210px;background:#fff;border:1px solid #111;box-shadow:0 8px 24px rgba(0,0,0,.12);display:grid}
.sl-pop button{border:0;background:#fff;text-align:left;font:inherit;font-size:13px;font-weight:700;padding:11px 14px;cursor:pointer;color:var(--ink)}
.sl-pop button + button{border-top:1px solid var(--line)}
.sl-pop button:hover{background:var(--cell)}
.sl-pop button.x{color:var(--loss)}
@media (max-width:540px){.tsw-add{margin-left:0;width:100%}.tsw-add .btn{flex:1}.tsw{flex:1 1 calc(50% - 4px)}}
/* Style : l'aperçu reste visible pendant qu'on choisit (bannière ou titre) */
.st-prev{position:sticky;top:62px;z-index:3;box-shadow:0 6px 18px rgba(0,0,0,.18)}
@media (max-width:760px){.st-prev{top:102px;min-height:0;padding-block:10px}.st-prev .avatar{width:40px;height:40px}}
.sl-act .sl-pop button{width:auto;height:auto;border:0}.sl-act .sl-pop button + button{border-top:1px solid var(--line)}.sl-act .sl-pop button:hover{color:var(--ink)}.sl-act .sl-pop button.x:hover{color:var(--loss)}
/* Style évolutif : filtres et « voir tout » */
.st-hide,.st-out{display:none!important}
.st-filt{flex-wrap:wrap}
.st-filt button{border:0;background:#fff;font:inherit;font-size:12px;font-weight:800;padding:8px 12px;min-height:36px;cursor:pointer;color:var(--ink)}
.st-filt button + button{border-left:1px solid var(--line)}
.st-filt button small{font-weight:700;color:var(--muted);margin-left:2px}
.st-filt button[aria-pressed="true"]{background:#111;color:#fff}.st-filt button[aria-pressed="true"] small{color:#bbb}
.st-filt button:hover:not([aria-pressed="true"]){background:var(--cell)}
.st-more{display:block;margin:-6px 0 6px;border:1px dashed var(--line);background:#fff;width:100%;padding:10px;font:inherit;font-size:12px;font-weight:800;color:var(--blue);cursor:pointer}
.st-more:hover{border-color:var(--blue);background:var(--blue-t)}
.st-tg .st-more{margin:8px 0 0}
.st-tgh small{opacity:.8}
@media (max-width:540px){.st-filt button{flex:1 1 30%;padding:8px 6px}}
/* Barre des jeux compacte (tient même avec 10 jeux) */
.lb-games{flex-wrap:nowrap;gap:4px;padding:12px 20px 0;overflow-x:auto}
.lb-games .lb-g{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:11.5px;font-weight:900;letter-spacing:.3px;color:var(--ink);cursor:pointer;text-decoration:none;box-shadow:none}
.lb-games .lb-g i{width:8px;height:8px;border-radius:50%;background:var(--g1);align-self:center}
.lb-games .lb-g small{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:0;text-transform:none}
.lb-games .lb-g:hover{border-color:#111}
.lb-games .lb-g[aria-selected="true"]{background:#111;border-color:#111;color:#fff}.lb-games .lb-g[aria-selected="true"] small{color:#bbb}
.lb-games .lb-g.out{border-style:dashed;color:var(--muted)}.lb-games .lb-g.out i{opacity:.5}
.lb-games .lb-g.add{border:1px dashed var(--blue);color:var(--blue);background:transparent}
.lb-games .lb-g.add:hover{background:var(--blue-t)}
@media (max-width:540px){.lb-games{padding:10px 8px 0}}
.st-tq{flex-wrap:wrap}
.st-q{width:220px;height:38px;padding:0 12px;border:1px solid var(--line);font:inherit;font-size:13px}
.st-q:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}
.st-none{margin:6px 0 0;font-size:13px;color:var(--muted)}
.st-tg[hidden]{display:none}
@media (max-width:540px){.st-tq{width:100%}.st-q{width:100%}}
.tset-id{flex-wrap:wrap;align-items:flex-end}
.tset-id + .tset-id{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.tset-w{flex-basis:100%;font-size:12px;color:var(--muted)}
/* Identité (lecture seule) */
.tset-idv{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.tset-idv > div{display:grid;gap:2px}.tset-idv span{font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--muted)}.tset-idv b{font-size:17px;font-weight:900}
/* Aide et demandes */
.tk-cols{align-items:start}
.tk-form textarea{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);resize:vertical;text-transform:none}
.tk-list{display:grid;gap:10px}
.tk{border:1px solid var(--line);border-left:4px solid #e8a33a;background:#fff;padding:12px 14px;display:grid;gap:8px}
.tk-done{border-left-color:#22b866}.tk-refused{border-left-color:var(--loss)}
.tk header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tk header b{font-size:14px;font-weight:900}.tk header small{flex-basis:100%;font-size:12px;color:var(--muted)}
.tk-body{margin:0;font-size:13.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.tk-ren{margin:0;font-size:14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tk-ren i{font-style:normal;color:var(--muted)}
.tk-rep{background:var(--cell);padding:10px 12px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.tk-rep span{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.tk-do{display:grid;gap:8px}.tk-do textarea{width:100%;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line)}
.seg-b{display:flex;flex-wrap:wrap;border:1px solid var(--line);width:max-content;max-width:100%}
.seg-b button{border:0;background:#fff;font:inherit;font-size:12px;font-weight:800;padding:8px 12px;cursor:pointer}.seg-b button + button{border-left:1px solid var(--line)}
.seg-b button[aria-pressed="true"]{background:#111;color:#fff}.seg-b small{opacity:.7}
/* Titres v3 : barre d'outils propre + grille régulière */
.st-tq{display:flex;gap:8px;align-items:stretch;margin:0 0 6px}
.st-tq .st-q{flex:1;width:auto;height:40px}
.st-tq .st-filt{flex:none;height:40px}
.st-tq .st-filt button{min-height:0;height:100%}
.st-all{display:flex;align-items:center;padding:0 12px;font-size:12px;font-weight:800;color:#16884a;background:#e7f8ee}
.st-tgh{align-items:baseline}
.st-tg .st-titles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.st-tg .st-t span{width:100%;height:40px;min-height:0;justify-content:center;padding:0 10px;font-size:12px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.st-tg .st-t.lock span{display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-content:center;justify-content:stretch;height:auto;min-height:40px;padding:5px 10px}
.st-tg .st-t.lock small{font-size:10px;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis}
@media (max-width:540px){.st-tq{flex-direction:column}.st-tq .st-filt{height:auto}.st-tg .st-titles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tk-scope{background:var(--blue-t);border-left:4px solid var(--blue);padding:12px 14px;margin-bottom:14px;display:grid;gap:4px}
.tk-scope b{font-size:14px;font-weight:900}.tk-scope p{margin:0;font-size:13px;line-height:1.5}
.tk-scope .tk-no{color:#7a4b00}
.tk-ok{display:flex!important;gap:8px;align-items:center;text-transform:none!important;font-size:13px!important;color:var(--ink)!important;font-weight:700!important}
.tk-ok input{width:18px;height:18px;flex:none}
/* Admin v3 : joueurs compacts, fiche, journal */
.lnk{margin-left:auto;border:0;background:none;font:inherit;font-size:11px;font-weight:800;color:var(--blue);cursor:pointer;text-transform:none;letter-spacing:0}
.card h2 .lnk{float:right}
.aj-list{display:grid;gap:4px}
.aj-r{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(0,1.6fr) minmax(70px,.6fr) auto;gap:14px;align-items:center;width:100%;text-align:left;background:var(--cell);border:1px solid transparent;padding:8px 12px;font:inherit;color:var(--ink);cursor:pointer;min-height:48px}
.aj-r:hover{border-color:#111;background:#fff}
.aj-r.ban{background:#fdf0f1}
.aj-who{display:flex;align-items:center;gap:8px;min-width:0}.aj-who .avatar{width:28px;height:28px;flex:none}.aj-who b{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aj-tag{font-style:normal;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;background:#111;color:#fff}.aj-tag.ban{background:var(--loss)}
.aj-ids{font-family:var(--mono);font-size:11.5px;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aj-ids em{font-family:inherit;color:var(--muted)}
.aj-ts{font-size:12px;font-weight:800;color:var(--blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aj-go{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase}
.aj-r:hover .aj-go{color:var(--blue)}
.aj-f .aj-fh{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid var(--line)}
.aj-fh .avatar{width:56px;height:56px}.aj-fh > div{flex:1;min-width:0}.aj-fh h3{margin:0;font-size:22px;font-weight:900;display:flex;gap:8px;align-items:center}.aj-fh small{font-size:12.5px;color:var(--muted)}
.aj-fb{padding:16px;display:grid;gap:10px}
.aj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.aj-grid > div{background:var(--cell);padding:10px 12px;display:grid;gap:2px;min-width:0}
.aj-grid span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}.aj-grid b{font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}.aj-grid small{font-size:11px;color:var(--muted)}
.aj-sec{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-top:8px}.aj-sec small{font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0}
.aj-teams{display:flex;flex-wrap:wrap;gap:6px}.aj-teams > *{background:var(--cell);padding:6px 10px;font-size:12.5px;text-decoration:none;color:var(--ink)}
.jl-tools{display:grid;gap:10px;margin-bottom:12px}
.jl-list{display:grid;gap:2px}
.jl-r{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid var(--line)}
.jl-r:last-child{border-bottom:0}
.jl-i{flex:none;width:28px;height:28px;display:grid;place-items:center;background:var(--cell)}.jl-i svg{width:15px;height:15px}
.jl-r.k-arbitrage .jl-i{background:var(--blue-t);color:var(--blue)}.jl-r.k-suspension .jl-i{background:#fde3e6;color:var(--loss)}.jl-r.k-demande .jl-i{background:#fff4e0;color:#9a5b00}
.jl-m{font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}.jl-m small{display:block;font-size:11.5px;color:var(--muted)}
@media (max-width:760px){.aj-r{grid-template-columns:1fr auto}.aj-ids,.aj-ts{grid-column:1;}.aj-go{grid-row:1;grid-column:2}.aj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.jl-tools .seg-b{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.jl-tools .seg-b button{flex:none}
/* Notifications : cartes discrètes + cloche */
.ntf{position:fixed;top:66px;right:16px;z-index:60;display:grid;gap:8px;width:min(340px,calc(100vw - 32px));pointer-events:none}
.ntf-c{pointer-events:auto;display:flex;gap:10px;align-items:center;background:#fff;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-left:4px solid var(--blue);padding:10px 12px;box-shadow:0 10px 28px rgba(0,0,0,.16);animation:ntfin .22s ease-out}
.ntf-c.out{opacity:0;transform:translateX(12px);transition:opacity .25s,transform .25s}
@keyframes ntfin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ntf-i{flex:none;width:32px;height:32px;display:grid;place-items:center;background:var(--blue-t);color:var(--blue)}.ntf-i svg{width:17px;height:17px}
.ntf-t{display:grid;min-width:0}.ntf-t b{font-size:13.5px;font-weight:900}.ntf-t small{font-size:12px;color:var(--muted)}
html.lite .ntf-c{animation:none;box-shadow:none}
.nb{position:relative;margin-right:6px}
.nb-b{position:relative;width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer}
.nb-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nb-b:hover{border-color:#fff}
.nb-b .nbadge{position:absolute;top:-6px;right:-6px}
.nb-p{position:absolute;right:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 24px));background:#fff;color:var(--ink);border:1px solid #111;box-shadow:0 14px 34px rgba(0,0,0,.2);z-index:40;max-height:70vh;overflow:auto}
.nb-h{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.nb-h b{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.nb-i{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.nb-i:hover{background:var(--cell)}.nb-i.new{background:#f4f5ff}
.nb-i > span:last-child{display:grid;min-width:0}.nb-i b{font-size:13px;font-weight:800}.nb-i small{font-size:11.5px;color:var(--muted)}
.nb-e{margin:0;padding:16px 14px;font-size:13px;color:var(--muted);line-height:1.5}
@media (max-width:540px){.ntf{top:auto;bottom:16px;right:12px}.nb{margin-right:2px}.nb-b{width:34px;height:34px}}
.tsw-cnt{display:flex;align-items:center;padding:0 10px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted);border:1px solid var(--line);background:#fff}
.tsw-cnt.full{color:#9a5b00;border-color:#e8a33a;background:#fff4e0}
/* Récompenses : recherche puis fiche */
.rw-find{display:grid;gap:10px;max-width:560px}.rw-find input{font-size:16px;height:46px}
.rw-head .rw-id{display:flex;align-items:center;gap:14px;padding:14px 16px}.rw-id .avatar{width:48px;height:48px}.rw-id > div{flex:1;min-width:0}
.rw-id h3{margin:0;font-size:20px;font-weight:900}.rw-id small{font-size:12.5px;color:var(--muted)}
.rw-cols{margin-top:14px;align-items:start}
.rw-list{display:grid;gap:4px}
.rw-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto 84px;gap:10px;align-items:center;padding:6px 8px;background:var(--cell);min-height:46px}
.rw-n{display:grid;min-width:0}.rw-n b{font-size:13.5px;font-weight:900}.rw-n small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rw-s{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:3px 7px;white-space:nowrap}
.rw-earned .rw-s{background:#e7f8ee;color:#16884a}.rw-given .rw-s{background:var(--blue-t);color:var(--blue)}.rw-no .rw-s{background:#fff;color:var(--muted);border:1px solid var(--line)}
.rw-no{background:#fff;border:1px dashed var(--line)}.rw-no .badge,.rw-no svg{opacity:.55}
.rw-a{display:flex;justify-content:flex-end}.rw-a .btn{width:100%}
.rw-sw{width:30px;height:30px;flex:none;display:grid;place-items:center;font-weight:900;font-size:13px;color:#fff}.rw-sw.t{background:#111}
@media (max-width:540px){.rw-r{grid-template-columns:auto minmax(0,1fr) auto}.rw-s{display:none}.rw-a{min-width:74px}}
/* Raccourcis vers mes teams (menu du compte + menu latéral) */
.acc-teams{display:grid;gap:2px;margin:2px 0 6px 28px}
.acc-t,.um-t{display:flex;align-items:center;gap:8px;padding:5px 8px;text-decoration:none;color:var(--ink);border-left:3px solid var(--team);background:transparent}
.acc-t:hover,.um-t:hover{background:var(--cell)}
.acc-t .avatar,.um-t .avatar{width:22px;height:22px}
.acc-t > span:last-child,.um-t > span:last-child{display:grid;line-height:1.15;min-width:0}
.acc-t b,.acc-t span{font-size:12.5px;font-weight:800}.acc-t small,.um-t small{font-size:10px;font-weight:700;color:var(--muted)}
.um-teams{display:grid;gap:2px;margin:0 0 4px 30px}
.um-t{font-size:12.5px;font-weight:800}
.um-t svg{display:none}
@media (max-width:760px){.acc-teams{display:none}}
.tl-logo{width:22px;height:22px;object-fit:cover;flex:none}.tl-dot{width:22px;height:22px;flex:none;background:var(--team);clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}
/* Mon 1v1 (dans l'Aperçu) */
.solo-l{display:grid;gap:6px}
.solo-r{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--cell);padding:10px 14px;border-left:4px solid var(--blue)}
.solo-r.off{border-left-color:var(--line);background:#fff;border:1px dashed var(--line)}
.solo-g{flex:1;min-width:160px;font-size:13px;font-weight:900}
.solo-s{display:grid;text-align:center;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}.solo-s b{font-size:18px;font-weight:900;color:var(--ink)}
/* Bandeau d'annonce + paramètres du site */
.announce{background:var(--blue);color:#fff;text-align:center;font-size:13px;font-weight:800;padding:9px 16px;letter-spacing:.2px}
.site-f{display:grid;gap:14px}
.site-sec{display:grid;gap:10px}
.site-st{width:max-content}.site-st label{position:relative;overflow:hidden;cursor:pointer;margin:0;text-transform:none;display:block}
.site-st input{position:absolute;opacity:0;pointer-events:none}.site-st span{display:block;padding:9px 16px;font-size:13px;font-weight:800;color:var(--ink);background:#fff}
.site-st label + label span{border-left:1px solid var(--line)}.site-st input:checked + span{background:#111;color:#fff}
.site-st input:focus-visible + span{outline:2px solid var(--blue);outline-offset:-2px}
.site-cols{display:flex;flex-wrap:wrap;gap:8px}
.site-col{position:relative;display:grid;justify-items:center;gap:6px;padding:8px;border:1px solid var(--line);background:#fff;cursor:pointer;min-width:78px;text-transform:none;margin:0}
.site-col > input{position:absolute;opacity:0;pointer-events:none}
.site-col > span{width:44px;height:30px;background:var(--c);clip-path:polygon(0 0,100% 0,100% 70%,75% 100%,0 100%)}
.site-col b{font-size:11.5px;font-weight:800;color:var(--ink)}
.site-col:has(> input:checked){border-color:#111;box-shadow:inset 0 -3px 0 #111}
.site-col:has(> input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.site-pick{background:conic-gradient(#e11d48,#ea580c,#eab308,#16a34a,#0891b2,#3a32e2,#7c3aed,#e11d48)!important;position:relative}
.site-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.site-save{display:flex;gap:10px;position:sticky;bottom:0;background:var(--bg);padding:10px 0}
.pc{overflow:hidden}.pc-top{overflow:hidden;min-width:0}.pc-top span{flex:none;white-space:nowrap}.pc-top em{min-width:0}.pc-act{min-width:0}
/* Notes du staff + messages */
.aj-tag.nt-watch{background:#e8a33a}.aj-tag.nt-warn{background:var(--loss)}
.nt-list{display:grid;gap:6px}
.nt{background:var(--cell);border-left:4px solid var(--muted);padding:8px 12px;display:grid;gap:2px}
.nt-watch{border-left-color:#e8a33a;background:#fff8ec}.nt-warn{border-left-color:var(--loss);background:#fdf0f1}
.nt-l{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.nt p{margin:0;font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}.nt small{font-size:11.5px;color:var(--muted)}
.nt-add{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.nt-add select{width:auto;flex:none}.nt-add input{flex:1;min-width:200px}
.lnk-t{display:inline-flex;align-items:center;gap:8px;border:0;background:none;font:inherit;font-weight:800;color:var(--ink);cursor:pointer;padding:0;text-align:left}.lnk-t:hover{color:var(--blue)}
.aj-teams button{border:0;background:var(--cell);padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer}.aj-teams button:hover{background:var(--blue-t)}
.cv-watch{background:#fff8ec;border-left:4px solid #e8a33a;padding:9px 14px;font-size:13px;margin:0 0 12px}
.solo-f{display:inline-flex;gap:2px;margin-left:8px;vertical-align:middle}.solo-f i{font-style:normal;font-size:9px;font-weight:900;width:16px;height:16px;display:grid;place-items:center;color:#fff}.solo-f .fw{background:var(--win)}.solo-f .fl{background:var(--loss)}
.aj-mem{display:flex;flex-wrap:wrap;gap:6px}
.aj-m{display:inline-flex;background:var(--cell)}
.aj-m button{border:0;background:transparent;font:inherit;font-size:12.5px;padding:6px 10px;cursor:pointer;color:var(--ink)}
.aj-m button:hover{background:var(--blue-t)}
.aj-m .x{border-left:1px solid var(--line);color:var(--loss);font-weight:900;padding:6px 9px}.aj-m .x:hover{background:#fde3e6}
/* Logos et avatars cliquables */
[data-tm],[data-pl]{cursor:pointer}
a [data-tm],a [data-pl],button [data-tm],button [data-pl],label [data-tm],label [data-pl]{cursor:inherit}
img[data-tm]:not(a img):not(button img):hover,span[data-tm]:not(a span):not(button span):hover,.avatar[data-pl]:not(a .avatar):not(button .avatar):hover{filter:brightness(1.1);outline:2px solid var(--blue);outline-offset:1px}
html.lite [data-tm]:hover,html.lite [data-pl]:hover{filter:none}
/* Camps */
.sides{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 14px;background:var(--cell);font-size:12.5px;margin:6px 0}
.sd-k{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.sides b{font-weight:900}.sides small{color:var(--muted);font-size:11px}
.sd-blue{color:#1d4ed8}.sd-red{color:#c81e3a}.sd-wait{color:#9a5b00}
.sd-pick{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;font-weight:800}
.solo-x{margin-left:auto}
/* Ligne joueur avec sa bannière perso */
.pbn{position:relative;background:var(--bn)!important;color:#fff;isolation:isolate}
.pbn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,20,.78),rgba(10,10,20,.45) 55%,rgba(10,10,20,.25))}
.pbn a,.pbn b,.pbn .sl-who b a{color:#fff}
.pbn small,.pbn .riot,.pbn .sl-n{color:rgba(255,255,255,.78)!important}
.pbn .lpv,.pbn .sl-rec{color:#fff!important;font-weight:900}
.pbn .cap{background:#fff;color:#111}
.pbn .sl-c,.pbn .sl-me{background:#fff;color:#111}
.pbn .sl-act summary{background:rgba(255,255,255,.92);color:#111;border-color:transparent}
.pbn.me{box-shadow:inset 4px 0 0 #fff}
.pbn .bdg-mini{display:inline-flex;gap:2px;vertical-align:middle;margin-left:6px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
html.lite .pbn::before{background:rgba(10,10,20,.7)}
/* Le menu « Gérer » passe au-dessus des lignes suivantes */
.pbn{overflow:visible}
.pbn::before{border-radius:inherit}
.slot:has(.sl-menu[open]),.mem:has(.sl-menu[open]){z-index:20}
/* Boîte de confirmation */
.askbox{border:0;padding:0;background:transparent;max-width:min(440px,calc(100vw - 32px));width:100%}
.askbox::backdrop{background:rgba(10,10,20,.55)}
.ask-in{background:#fff;border-top:5px solid var(--blue);padding:22px 22px 18px;display:grid;gap:10px;box-shadow:0 24px 60px rgba(0,0,0,.35);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.askbox:has(.ask-ok.red) .ask-in{border-top-color:var(--loss)}
.ask-t{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.ask-m{margin:0;font-size:17px;font-weight:800;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.ask-b{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.ask-b .btn{min-height:46px;padding:0 22px;font-size:13px}
.askbox[open]{animation:pgin .14s ease-out}
html.lite .askbox[open]{animation:none}
@media (max-width:540px){.ask-b{flex-direction:column-reverse}.ask-b .btn{width:100%}}
.ask-ok.red{background:var(--loss);color:#fff;border-color:var(--loss)}.ask-ok.red:hover{filter:brightness(1.08)}
.adm-roster{display:grid;gap:4px}
.adm-pr{display:flex;align-items:center;gap:8px;background:var(--cell);padding:6px 8px;position:relative}
.adm-pr:has(.sl-menu[open]){z-index:20}
.adm-pn{flex:1;display:flex;align-items:center;gap:8px;border:0;background:none;font:inherit;cursor:pointer;text-align:left;color:var(--ink);min-width:0}
.adm-pn .avatar{width:26px;height:26px}.adm-pn b{font-size:13.5px}.adm-pn:hover b{color:var(--blue)}
.aj-tag.co{background:var(--blue)}
/* Zones de texte : on peut agrandir un peu, au-delà ça défile */
textarea{resize:vertical;min-height:72px;max-height:260px;overflow-y:auto}
.dm-in textarea,.chat textarea{max-height:180px}
/* Page jeu v2 : en-tête aux couleurs du jeu, ta team à droite, onglets */
.gp-hero{position:relative;color:#fff;background:linear-gradient(120deg,var(--g1) 0%,color-mix(in srgb,var(--g1) 55%,var(--g2)) 45%,var(--g2) 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),0 100%);padding-bottom:30px}
.gp-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 64px);pointer-events:none}
.gp-hero::after{content:"";position:absolute;right:-6%;top:0;bottom:0;width:38%;background:rgba(0,0,0,.18);transform:skewX(-14deg);pointer-events:none}
.gp-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:center;padding-block:26px 34px}
.gp-id .back{color:rgba(255,255,255,.85);font-size:12px;font-weight:800;text-decoration:none}
.gp-k{display:block;margin-top:14px;font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;opacity:.85}
.gp-id h1{margin:2px 0 12px;font-size:clamp(38px,6vw,68px);font-weight:900;letter-spacing:-1.5px;line-height:.95}
.gp-modes{display:inline-flex;flex-wrap:wrap;background:rgba(0,0,0,.28);padding:4px;gap:4px;margin-bottom:16px}
.gp-modes a{padding:8px 14px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:#fff;text-decoration:none}
.gp-modes a[aria-selected="true"]{background:#fff;color:#111}
.gp-modes a:not([aria-selected="true"]):hover{background:rgba(255,255,255,.14)}
.gp-stats{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:12px}
.gp-stats div{display:grid}.gp-stats b{font-size:28px;font-weight:900;line-height:1}.gp-stats span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;opacity:.85}
.gp-play .card{margin:0;box-shadow:0 18px 40px rgba(0,0,0,.25);border:0}
.gp-bar{position:sticky;top:54px;z-index:5;background:var(--bg);margin-top:-12px;padding-top:12px}
.gp-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.gp-tabs::-webkit-scrollbar{display:none}
.gp-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:14px 14px 12px;cursor:pointer;border-bottom:3px solid transparent}
.gp-tabs button:hover{color:var(--ink)}
.gp-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--blue)}
.gp-body{padding-block:20px 40px;display:grid;gap:16px}
.gp-pcs{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));overflow:visible}
.gp-rules ul{margin:0;padding-left:18px;line-height:1.7;font-size:14px}
.gp-maps{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}.gp-maps span{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);margin-right:6px}.gp-maps b{background:var(--cell);padding:6px 10px;font-size:12.5px}
@media (max-width:900px){.gp-in{grid-template-columns:1fr}.gp-bar{top:96px}}
@media (max-width:540px){.gp-stats b{font-size:22px}.gp-tabs button{padding:12px 10px 10px;font-size:12px}}
html.lite .gp-hero::after{display:none}
.gp-id .season{font-size:12px;color:rgba(255,255,255,.88);margin:0}.gp-id .season b{color:#fff}
/* Cartes de match v3 : compactes, rangées en grille, détails repliés */
.mcs{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));align-items:start}
.mcs > .ch.mc.st-disputed{grid-column:1/-1}
.ch.mc{gap:8px}
.mc-vs{padding:10px 16px 0}
.mc-tm b{font-size:20px}
.mc-mid{padding:6px 12px;min-width:86px}.mc-mid b{font-size:18px}
.ch.mc .meta{margin-top:-2px}
.ch.mc .sides{margin:0 16px;padding:6px 10px;font-size:12px;justify-content:center}
.mc-lu{background:var(--bg);margin:0 16px}
.mc-lu summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:7px 10px;font-size:11.5px;font-weight:800}
.mc-lu summary::-webkit-details-marker{display:none}
.mc-lu summary::after{content:"";margin-left:auto;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.5}
.mc-lu[open] summary::after{transform:rotate(-135deg)}
.mc-lu-k{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.mc-lu-s{color:#9a5b00}.mc-lu-s.ok{color:var(--win)}
.mc-lu.miss{box-shadow:inset 3px 0 0 #e8a33a}
.mc-lu .lu{background:transparent;padding:0 10px 8px;display:grid;gap:4px;font-size:12px}
.mc-act{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}
.mc-act:empty{display:none}
.mc-act .tags{font-size:11.5px;line-height:1.45}
.mc-act .score-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.mc-act .score-in input{width:56px;height:38px;text-align:center;font-weight:900;font-size:16px}
@media (max-width:540px){.mc-tm b{font-size:17px}.mc-tm .mark-i,.mc-tm img{width:34px!important;height:34px!important}}
/* Tournoi avec bannière unique à gagner */
.tour .hd.prize{position:relative;min-height:118px;align-content:end}
.tc-prize{position:relative;display:block;margin-top:6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:rgba(0,0,0,.45);padding:5px 8px;width:max-content;max-width:100%}
.tc-prize b{color:#ffe08a}
.tban{display:flex!important;align-items:center;gap:8px;text-transform:none!important;font-size:12px!important}.tban select{width:auto}
.gp-sec{display:grid;gap:10px}.gp-sec .h2{margin:0;font-size:18px}
/* Raretés des bannières + reflet qui passe (Légendaire / Unique) */
.bn-fx{position:relative;overflow:hidden}
.bn-shine{position:absolute;top:-30%;bottom:-30%;left:0;width:26%;pointer-events:none;z-index:0;opacity:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32) 45%,rgba(255,255,255,.08) 60%,transparent);transform:translateX(-160%) skewX(-18deg)}
.bn-fx[data-r="legendaire"] .bn-shine,.bn-fx[data-r="unique"] .bn-shine{opacity:1;animation:bnshine 6.5s cubic-bezier(.4,0,.2,1) infinite}
.bn-fx[data-r="unique"] .bn-shine{animation-duration:4.5s;background:linear-gradient(100deg,transparent,rgba(255,230,160,.4) 45%,rgba(255,255,255,.1) 60%,transparent)}
@keyframes bnshine{0%,62%{transform:translateX(-160%) skewX(-18deg)}100%{transform:translateX(520%) skewX(-18deg)}}
.bn-fx > *:not(.bn-shine){position:relative;z-index:1}
html.lite .bn-shine{display:none}
@media (prefers-reduced-motion:reduce){.bn-shine{animation:none!important;opacity:0!important}}
/* Tuiles du choix de style */
.st-rar{position:absolute;top:8px;right:8px;z-index:1;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;padding:3px 6px;background:rgba(0,0,0,.45);color:#fff}
.st-b.r-rare .st-rar{background:#2f6fe0}
.st-b.r-epique .st-rar{background:#8b3dff}
.st-b.r-legendaire .st-rar{background:linear-gradient(90deg,#e0a82e,#f5d27a);color:#2a1a00}
.st-b.r-unique .st-rar{color:#fff}
.st-b.r-epique:not(.lock){box-shadow:inset 0 0 0 2px rgba(139,61,255,.85)}
.st-b.r-legendaire:not(.lock){box-shadow:inset 0 0 0 2px #f2c65a,0 0 18px rgba(242,198,90,.35)}
.st-b.r-unique:not(.lock){box-shadow:inset 0 0 0 2px #ffb547,0 0 22px rgba(255,120,70,.45)}
.st-b.lock .st-rar{opacity:.85}
.st-b .ul-lock{top:auto;bottom:12px;right:12px}
.rk-games{margin-left:auto;display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 10px}
.rk-games > span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-right:4px}
.rk-games a{font-size:11.5px;font-weight:800;color:var(--ink);text-decoration:none;padding:6px 9px;border:1px solid var(--line);background:#fff}
.rk-games a:hover{border-color:var(--blue);color:var(--blue)}
.rk-tabs{flex-wrap:wrap;align-items:center}
.st-bq{margin:0 0 10px}.st-bq .st-filt{flex-wrap:wrap}

/* Badges vitrine sur les bannières : pastille claire pour bien les voir sur tous les fonds */
.vit.mini .vit-b{background:#fff;padding:3px;box-shadow:0 2px 6px rgba(0,0,0,.35)}
/* Cases de bannière : l'aperçu en haut, le nom dans une barre en dessous (rien ne se chevauche) */
.st-b{background:#15151b;padding:0 10px 7px;height:100px}
.st-b::after,.st-b:has(input:checked)::after{content:"";position:absolute;left:0;right:0;top:0;bottom:42px;background:var(--bn);width:auto;height:auto;display:block}
.st-b::before{z-index:1;bottom:42px;background:none}
.st-b.lock::before{background:rgba(12,10,40,.55)}
.st-b .st-n,.st-b .st-rar,.st-b .st-on,.st-b .ul-lock{z-index:2}
.st-b .st-n b{text-shadow:none}
@media (max-width:540px){.st-b{height:88px}}
/* En-tête du compte : boutons juste après le pseudo, la droite reste au dessin de la bannière */
.acc-in .acc-id{flex:0 1 auto}
.acc-in .acc-acts{margin-left:12px}
@media (max-width:540px){.acc-in .acc-acts{margin-left:0}}
/* Aperçu de style : vraiment collé en haut (une règle .pban le repassait en relative et le décalait de 62px) */
.pban.st-prev{top:62px}
/* Titres : une ligne par groupe (nom à gauche), étiquettes compactes à la taille du texte */
.st-tg{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}
.st-tg:first-of-type{border-top:0}
.st-tgh{display:grid;gap:2px;padding:8px 0 0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--ink)}
.st-tgh small{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:0}
.st-tg .st-titles{display:flex;flex-wrap:wrap;gap:6px}
.st-tg .st-t span,.st-tg .st-t.lock span{display:inline-flex;align-items:center;gap:6px;width:auto;height:34px;min-height:0;padding:0 12px;background:#f2f2f6;border:1px solid transparent;font-size:11.5px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.st-tg .st-t:not(.lock):hover span{border-color:var(--ink);background:#fff}
.st-tg .st-t:has(input:checked) span{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:inset 3px 0 0 var(--blue)}
.st-tg .st-t:has(input:checked) span::before{content:none}
.st-tg .st-t.lock span{background:#fff;border:1px dashed #c9c9d3;color:#8a8a96}
.st-tg .st-t.lock small{display:none}
.st-tg .st-t.lock .st-lk{grid-row:auto;margin:0}
@media (max-width:540px){.st-tg{grid-template-columns:1fr;gap:6px}.st-tgh{display:flex;gap:6px;padding:0}}
/* Bannière équipée : la barre du nom passe en bleu (plus de cadre décalé) */
.st-b:has(input:checked),.st-b.r-epique:has(input:checked),.st-b.r-legendaire:has(input:checked),.st-b.r-unique:has(input:checked){background:var(--blue);box-shadow:none}
.st-b:has(input:checked) .st-on{top:6px;left:6px}
/* Grands en-têtes avec un panneau à droite : l'emblème de la bannière se place avant le panneau, plus petit */
.lb-hero{--emb-x:60%;--emb-k:.62}
.me-team{--emb-k:0}
.pbn{--emb-k:.55}
@media (max-width:760px){.lb-hero,.acc-head{--emb-k:0}}
/* Lobby : une seule ligne pour ce qui manque (plus de places vides en liste) */
.lb-need{display:flex;align-items:center;gap:14px;margin-top:8px;padding:12px 14px;background:#f6f6fa;border-left:3px solid var(--blue)}
.lb-need.ok{border-left-color:#1fb85a}
.lb-pips{display:flex;gap:5px;flex:none}
.lb-pips i{width:12px;height:12px;border:2px solid #c3c3cf;transform:skewX(-12deg)}
.lb-pips i.on{background:var(--blue);border-color:var(--blue)}
.lb-need.ok .lb-pips i.on{background:#1fb85a;border-color:#1fb85a}
.lb-need-t{flex:1;display:grid;gap:2px;min-width:0}
.lb-need-t b{font-size:13px;font-weight:900}
.lb-need-t small{font-size:12px;color:var(--muted);font-weight:600}
@media (max-width:540px){.lb-need{flex-wrap:wrap}.lb-need .btn{width:100%}}
/* Badges : une seule liste (débloqués + à gagner), sans doublon */
.vs-pick{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.vs-opt span{display:grid;min-width:0}.vs-opt span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-opt small{font-size:10.5px;font-weight:700;color:var(--muted)}
.vs-opt.lock{cursor:not-allowed;background:#fafafc;border-style:dashed}
.vs-opt.lock{filter:grayscale(1);opacity:.6}
.vs-opt.lock b{color:#8a8a96}
.vs-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vs-slot{min-width:0}.vs-slot small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
@media (max-width:640px){.vs-slots{grid-template-columns:1fr}}
/* Accueil : le top de la saison */
.top-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.top-p{background:#fff;border:1px solid var(--line);padding:14px;display:grid;gap:8px;align-content:start;min-width:0}
.top-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.top-h b{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.top-pod{display:grid}
.top-c{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;color:#fff;text-decoration:none;overflow:hidden;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.top-c::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.1) 75%);pointer-events:none}
.top-c > *{position:relative}
.top-c.p1{min-height:86px}
.top-n{flex:none;width:34px;font-size:28px;font-weight:900;line-height:1;font-style:italic;text-align:center}
.top-c.p1 .top-n{font-size:40px;color:#ffd25a}.top-c.p2 .top-n{color:#e3e6ee}.top-c.p3 .top-n{color:#f0a86a}
.top-m{flex:none;display:grid}.top-m > *{width:44px;height:44px}.top-m .avatar{box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.top-c.p1 .top-m .avatar,.top-c.p1 .top-m > *{width:54px;height:54px}
.top-who{display:grid;gap:2px;min-width:0}
.top-who b{font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-c.p1 .top-who b{font-size:18px}
.top-who .tg{font-family:var(--mono);opacity:.8;margin-right:6px}
.top-who small{font-weight:700;opacity:.9}
.top-c.mine{box-shadow:inset 4px 0 0 #fff}
.top-c:hover{filter:brightness(1.08)}
.top-rest{margin-top:2px}
@media (max-width:860px){.top-g{grid-template-columns:1fr}}
/* Top 5 compact : toutes les lignes à la même hauteur */
.top-pod{gap:4px}
.top-c,.top-c.p1{min-height:0;height:50px;padding:0 14px 0 10px;gap:10px}
.top-n,.top-c.p1 .top-n{width:26px;font-size:22px}
.top-m > *,.top-c.p1 .top-m > *,.top-c.p1 .top-m .avatar{width:32px;height:32px}
.top-who b,.top-c.p1 .top-who b{font-size:14px}
.top-who small{font-size:11px}
.bdg-rw{display:inline-block;margin-top:4px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;background:var(--blue-t);color:var(--blue)}
/* Lignes de roster : pas de logo EZXP répété ; en-tête de team : emblème plus petit */
.pbn{--logo-k:0}
.team-page .band{--emb-x:90%;--emb-k:.5}
@media (max-width:760px){.team-page .band{--emb-k:0}}
.bdg-t .bdg-rw{display:inline-block;width:auto;margin:4px 0 2px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;background:var(--blue-t);color:var(--blue)}
/* Réglages de team : liste propre */
.ts{display:grid;border:1px solid var(--line);background:#fff}
.ts-h{padding:10px 16px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line)}
.ts-h.red{color:var(--loss);background:#fff5f6;border-top:1px solid #f3c2c7;border-bottom-color:#f3c2c7}
.ts-row{display:grid;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.ts-row:last-child{border-bottom:0}
.ts-l{display:grid;gap:2px;min-width:0}.ts-l b{font-size:14px;font-weight:900}.ts-l small{font-size:12px;color:var(--muted);font-weight:600;line-height:1.35}
.ts-v{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px}.ts-v b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-tag{font-family:var(--mono);font-weight:800;background:var(--ink);color:#fff;padding:2px 7px;font-size:12px}
.ts-a{display:flex;justify-content:flex-end}
.ts-form{display:flex;gap:6px}.ts-form select{height:36px;min-width:130px}
.ts-note{font-size:12px;color:var(--muted);font-weight:600}
.ts-danger{background:#fffafa}.ts-danger .ts-l b{color:var(--loss)}
.ts .plat-form{margin:0}
@media (max-width:640px){.ts-row{grid-template-columns:1fr;gap:8px}.ts-a{justify-content:flex-start}.ts-form{width:100%}.ts-form select{flex:1}}
.lb-hero{--logo-k:.4}
.ts-row{grid-template-columns:minmax(0,1fr) minmax(0,.75fr) minmax(0,.95fr)}
.ts-a .btn{white-space:nowrap}
.ts-row.mini{padding-block:10px}
@media (max-width:640px){.ts-row.mini{grid-template-columns:1fr auto}.ts-row.mini .ts-a{display:none}.lb-hero{--logo-k:0}}
/* Top 5 : emblème et logo plus grands dans ces lignes */
.top-c{--emb-x:91%;--emb-k:1;--logo-k:1.35}
/* Team sans logo : carré sombre + initiale, lisible sur tous les fonds */
.mark-i.ph{background:#15151b;color:#fff;font-family:inherit;letter-spacing:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
@media (max-width:540px){.cells .mark-i.ph{font-size:11px!important}}
.gp-play .card{color:var(--ink)}
/* Classement : le podium montre déjà le top 3, le tableau commence à la 4e place (sauf pendant une recherche) */
.rk-card.has-pod:has(#rk-q:placeholder-shown) .rk-r:is(.p1,.p2,.p3){display:none}
/* Grands écrans : le contenu s'élargit pour éviter les grandes bandes vides sur les côtés */
@media (min-width:1500px){.wrap{max-width:1380px}}
@media (min-width:1800px){.wrap{max-width:1560px}}
/* Pastilles : rouge = action à faire ; les simples compteurs (onglets d'un jeu) sont gris */
.gp-tabs .nbadge{background:#e4e4ea;color:var(--ink)}
.gp-tabs [aria-selected=true] .nbadge{background:var(--ink);color:#fff}
/* Accueil : Ta team · Prochain match (avec les actions à faire) · Pass */
.me-grid{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.me-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.me-todo{display:inline-block;margin-top:8px;background:var(--loss);color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px}
.me-grid > .me-box:nth-child(2){grid-column:auto}
/* Téléphone : haut de l'accueil plus court pour voir ta team plus vite */
@media (max-width:540px){.home .hero h1{font-size:44px}.home .hero-l p{display:none}.home .hero .hs{display:none}.home .hero-in{padding-block:22px 40px}}
/* Le titre choisi ne ressemble plus au rôle (LEADER) : contour + étoile */
.acc-sub em,.st-ttl{background:none!important;border:1px solid rgba(255,255,255,.55);color:#fff;font-style:normal}
.acc-sub em::before,.st-ttl::before{content:"★ ";color:#ffd25a}
/* Page d'un jeu : les cartes de match ne répètent pas le nom du jeu (juste une fine bande de couleur) */
.gp-pcs .pc-top{height:6px;padding:0;overflow:hidden;font-size:0}
/* Pass : bords en fondu (on voit que ça défile), paliers XP discrets mais pleins */
.bp-scroll{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
.bp-r.bp-xp{background:#f4f4f8;border:0}
.bp-c.ok .bp-r.bp-xp{background:var(--blue-t)}.bp-c.ok .bp-r.bp-xp b{color:var(--blue)}
/* Téléphone : les onglets passent à la ligne au lieu de se cacher sur le côté */
@media (max-width:640px){.gp-tabs,.lb-tabs,.acc-nav,.col-nav,.subtabs{flex-wrap:wrap!important;overflow:visible!important}}
/* Style : la barre Enregistrer ne colle en bas que quand il y a un changement à enregistrer */
.st-form.dirty .st-save{position:sticky}
.adm-lnk{margin:0 0 10px;text-align:right;font-size:12px;font-weight:800}.adm-lnk a{color:var(--muted)}
/* Admin › Récompenses › Créer */
.cr-cols{align-items:start}
.cr-form{display:grid;gap:12px}
.cr-kinds{display:flex;border:1px solid var(--line)}
.cr-k{flex:1;position:relative;cursor:pointer}.cr-k input{position:absolute;opacity:0}
.cr-k span{display:block;text-align:center;padding:10px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.cr-k input:checked + span{background:var(--ink);color:#fff}.cr-k input:disabled + span{opacity:.55;cursor:not-allowed}
.cr-prev{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:stretch}
.cr-prev > div{background:var(--bn);border:1px solid var(--line)}
.cr-p1{height:70px}.cr-p2{height:70px}.cr-p3{grid-column:1/-1;height:36px}
.cr-icons{display:flex;flex-wrap:wrap;gap:6px}
.cr-ic{position:relative;cursor:pointer;padding:3px;border:2px solid transparent}.cr-ic input{position:absolute;opacity:0}
.cr-ic:has(input:checked){border-color:var(--ink)}
.cr-col input{height:40px;padding:3px;width:90px}
.cr-cond{display:grid;gap:10px;padding:12px;background:var(--bg);border:1px solid var(--line)}
.cr-cond > b{font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.cr-form[data-cond=manual] :is(.cr-n,.cr-g,.cr-dates,.cr-help){display:none}
.cr-form[data-cond=pass_level] .cr-g,.cr-form[data-cond=streak] .cr-dates{display:none}
.cr-on{display:flex!important;gap:8px;align-items:center;text-transform:none!important;font-size:13px!important}.cr-on input{width:auto}
.cr-list{display:grid;gap:6px}
.cr-row{display:grid;gap:10px;padding:8px 10px;border:1px solid var(--line)}
.cr-row.off{opacity:.6}
.cr-row .row-btns{grid-column:1/-1;justify-content:flex-end}
.cr-t{display:grid;min-width:0}.cr-t b{font-size:14px}.cr-t small{font-size:11.5px;color:var(--muted);font-weight:600}
.cr-h{font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}
.cr-prize{border:1px solid var(--line);padding:10px 12px;display:grid;gap:6px}.cr-prize legend{font-size:11px;font-weight:900;text-transform:uppercase;padding:0 4px}
.cr-prize label,.cr-tp label{display:flex!important;gap:8px;align-items:center;text-transform:none!important;font-size:13px!important;font-weight:700}
.cr-prize input,.cr-tp input{width:auto}.cr-prize small{color:var(--muted);font-weight:600}
.cr-tp{margin:6px 0}.cr-tp summary{cursor:pointer;font-size:12px;font-weight:800}.cr-tp > div{display:grid;gap:4px;padding:6px 0}
.cr-chip{display:inline-block;background:var(--blue-t);color:var(--blue);font-weight:800;font-size:12px;padding:2px 8px;margin:2px 4px 2px 0}
@media (max-width:640px){.cr-prev{grid-template-columns:90px 1fr}}
.cr-form[data-cond=manual] .cr-cond .row{grid-template-columns:1fr}
/* Cases de bannière : nom sur une ligne, jamais sous l'étiquette de rareté */
.st-b .st-n{width:100%;min-width:0}
.st-b .st-n b,.st-b .st-n small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Pass : XP du jour, XP x2, objectif commun, niveaux bonus */
.bp-day{display:grid;gap:3px;margin-top:8px;font-size:12px;color:#dcdaff;font-weight:600}
.bp-day b{color:#fff}.bp-day .on{color:#7dffb0;font-weight:800}
.bp-boost{display:inline-block;background:#ffd25a;color:#2a1a00;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:4px 9px;margin:8px 0 0}
.bp-goal .bp-gl{display:grid;gap:4px;margin-bottom:10px}.bp-gl b{font-size:15px}.bp-gl span{font-size:13px;color:var(--muted);font-weight:600}.bp-gl em{font-style:normal;color:var(--ink);font-weight:800}
.bp-goal .bp-bar{height:10px;background:var(--cell)}.bp-goal .bp-bar i{display:block;height:100%;background:var(--blue)}
/* Badge BÊTA à côté du logo */
.logo .beta{align-self:center;margin-left:8px;font-size:9.5px;font-weight:900;letter-spacing:.8px;line-height:1;padding:4px 6px 3px;background:#ffd25a;color:#1a1406;transform:skewX(-10deg)}
@media (max-width:540px){.logo .beta{font-size:8.5px;padding:3px 5px 2px;margin-left:6px}}
/* Nouveautés */
.nw{display:grid;gap:3px;padding:12px 0;border-top:1px solid var(--line)}.nw:first-child{border-top:0;padding-top:0}
.nw time{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.nw b{font-size:15px;font-weight:900}.nw p{margin:0;font-size:13.5px;color:#3c3c46;line-height:1.45}
.nw.soon b::before{content:"→ ";color:var(--blue)}
.nw-dot{width:8px;height:8px;border-radius:50%;background:var(--loss);margin-left:auto;flex:none}
#ftNews.has-new::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--loss);margin-left:4px;vertical-align:middle}
.cr-cols > .card{margin-top:0}
/* Téléphone : top 5 et prochain match plus lisibles */
@media (max-width:540px){.top-c{--emb-k:0;--logo-k:0}.me-vs{flex-wrap:wrap;gap:6px}.me-vs b{font-size:15px}}
.lb-need + .lb-label,.slots + .lb-label{margin-top:18px}
/* Jamais de défilement sur le côté : rien ne peut dépasser de l'écran (clip garde les éléments collants qui marchent) */
html,body{overflow-x:clip;max-width:100%}
/* Menus : une seule liste claire, icônes partout, déconnexion discrète en bas */
.acc-nav > button:first-child{margin-top:6px}
.acc-nav .adm-sec{margin-top:8px}
.acc-nav .acc-out{margin-top:10px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)!important;font-size:13px}
.acc-nav .acc-out:hover{color:var(--loss)!important}
.adm-nav > button{display:flex;align-items:center;gap:10px}
.adm-nav > button .mi{width:18px;height:18px;flex:none;opacity:.75}
.adm-nav > button[aria-current=page] .mi{opacity:1}
.adm-nav > button .nbadge{margin-left:auto}
.adm-nav > button{justify-content:flex-start!important;text-align:left}
.adm-nav > button > span:not(.nbadge){flex:1}
.kpis.k2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Pass : séparateur « Bonus » avant les couronnes 30 et 40 */
.bp-sep{display:grid;place-items:center;align-self:end;height:150px;position:relative}
.bp-sep span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--muted);border-left:2px dashed var(--line);padding-left:8px}
.bp-c.bonus .bp-r{box-shadow:inset 0 0 0 2px #ffd25a}
.bp-c.bonus .bp-l{background:#ffd25a;color:#1a1406;border-color:#ffd25a}
/* Accueil : bouton JOUER dans la DA (biseauté, bleu) */
.cta-play{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font:inherit;font-weight:900;text-transform:uppercase;text-decoration:none;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);transition:filter .15s}
.cta-play:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* DA : les bandeaux bleus ont tous les lignes verticales de grille (comme l'accueil) */
.band{position:relative}
.band::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 96px)}
.band > *{position:relative}
/* Tablette et petit PC : menu principal sur sa propre ligne (jamais coupé en deux) */
@media (max-width:920px){
  .nav{order:3;flex-basis:100%;flex-wrap:nowrap;gap:4px 18px;overflow-x:auto;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap}
  .acct{margin-left:auto}
}
/* Menus du compte et de l'admin sur petit écran : une grille de cases égales, propre */
@media (max-width:880px){
  .adm-nav{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px;padding:6px}
  .adm-nav .adm-sec,.adm-nav .acc-teams{display:none}
  .adm-nav > button,.adm-nav > a{border:1px solid var(--line)!important;margin:0!important;padding:10px 12px!important;min-height:44px}
  .adm-nav > button[aria-current=page]{border-color:var(--blue)!important;background:var(--blue-t)}
  .acc-nav .acc-out{border-top:1px solid var(--line)!important;padding-top:10px!important}
}
@media (max-width:420px){.adm-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:920px){.top-in .lang{margin-left:auto}.top-in .acct{margin-left:0}}
/* Style : l'aperçu reste en haut (fixe, il ne bouge plus) et on passe de Bannière à Titre par onglets, sans descendre */
.pban.st-prev{position:static!important;box-shadow:none;margin-bottom:12px}
.stv{position:absolute;opacity:0;pointer-events:none}
.stv-bar{display:flex;border:1px solid var(--line);margin-bottom:12px}
.stv-bar label{flex:1;text-align:center;padding:10px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;color:var(--muted)}
.st-form:has(#stv-b:checked) .stv-bar label[for=stv-b],.st-form:has(#stv-t:checked) .stv-bar label[for=stv-t]{background:var(--ink);color:#fff}
.st-form:has(#stv-b:checked) .st-sec-t,.st-form:has(#stv-t:checked) .st-sec-b{display:none}
.st-form .st-step{margin:4px 0 10px}
.st-form .st-step:first-child{margin-top:0}
.st-save{position:static!important;margin-top:12px}
/* Bloc JOUER de l'accueil : bandeau DA (bleu, grille, coupe en biais) + bouton blanc biseauté */
.step.cta{position:relative;overflow:hidden;gap:6px;padding:20px 22px;border-top:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 48px),linear-gradient(115deg,var(--blue) 0 62%,#1a1670 62%)}
.step.cta::after{content:"";position:absolute;right:-20px;bottom:-20px;width:120px;height:120px;background:repeating-linear-gradient(-60deg,rgba(255,255,255,.12) 0 3px,transparent 3px 10px);pointer-events:none}
.cta-k{position:relative;font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#c9c6ff}
.cta-t{position:relative;font-size:22px;font-weight:900;color:#fff;letter-spacing:-.3px;line-height:1.1;margin-bottom:6px}
.cta-play{position:relative;align-self:stretch;min-width:0;background:#fff;color:var(--blue-d,#231f8c);font-size:19px;letter-spacing:4px;padding:14px 26px;gap:14px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.cta-play i{font-style:normal;letter-spacing:-2px;color:var(--blue);transition:transform .2s}
.cta-play:hover{filter:none;background:#f0efff}.cta-play:hover i{transform:translateX(6px)}
@media (prefers-reduced-motion:reduce){.cta-play i{transition:none}}
/* Nouveautés : journal en frise + colonne À venir */
.nw-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;align-items:start}
.nw-grid > .card,.nw-side > .card{margin:0}
.nw-side{display:grid;gap:16px}
.nw-d{display:grid;place-items:center;align-content:center;width:56px;height:56px;background:var(--ink);color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.nw-d b{font-size:20px;font-weight:900;line-height:1}.nw-d span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;opacity:.85}
.nw-soon{list-style:none;margin:0;padding:0}
.nw-soon li{padding:10px 12px;background:var(--bg);border-left:3px solid var(--blue)}
@media (max-width:860px){.nw-grid{grid-template-columns:1fr}}
/* Frise du pass : sans barre en bas, glissable à la souris, flèches sur les côtés */
.bp-wrap{position:relative}
.bp-scroll{scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none}
.bp-scroll::-webkit-scrollbar{display:none}
.bp-scroll.drag{cursor:grabbing;scroll-behavior:auto}
.bp-arw{position:absolute;top:50%;z-index:3;width:34px;height:54px;margin-top:-10px;border:0;background:var(--ink);color:#fff;font-size:26px;font-weight:900;line-height:1;cursor:pointer;opacity:.85}
.bp-arw:hover{opacity:1;background:var(--blue)}
.bp-arw.l{left:0;clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}.bp-arw.r{right:0;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}
@media (hover:none){.bp-arw{display:none}}
/* Nouveautés v2 : lignes façon classement (cellules grises, date en mono), sans décor superflu */
.nw-rows{display:grid;gap:4px}
.nw-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:0;align-items:stretch;background:var(--cell,#eceef1)}
.nw-row time{display:grid;place-items:center;background:#dfe1e6;font-family:var(--mono);font-size:12.5px;font-weight:800;color:var(--ink)}
.nw-row.top time{background:var(--ink);color:#fff}
.nw-row > div{padding:12px 14px;display:grid;gap:3px;min-width:0}
.nw-row b{font-size:14.5px;font-weight:900}.nw-row p{margin:0;font-size:13px;color:#4a4a55;line-height:1.45}
.nw-tag{align-self:center;margin-right:12px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;background:var(--blue);color:#fff;padding:3px 8px}
.nw-soon{display:grid;gap:4px}
.nw-soon > div{padding:10px 12px;background:var(--cell,#eceef1);border-left:3px solid var(--blue)}
.nw-soon b{font-size:14px;font-weight:900}.nw-soon p{margin:3px 0 0;font-size:13px;color:#4a4a55}
.nw-help{display:grid;gap:2px;padding:14px 16px;background:var(--ink);color:#fff;text-decoration:none;border-top:3px solid var(--blue)}
.nw-help span{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#a6a6ae}
.nw-help b{font-size:16px;font-weight:900}.nw-help em{font-style:normal;font-size:12px;font-weight:800;color:#c9c6ff;text-transform:uppercase;letter-spacing:.4px}
.nw-help:hover em{color:#fff}
@media (max-width:540px){.nw-row{grid-template-columns:76px minmax(0,1fr)}.nw-tag{display:none}}

/* ---------- Page Jeux : affiches de jeu ---------- */
.gcs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.gc{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:520px;overflow:hidden;color:#fff;min-width:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.gc>.art{position:absolute;inset:0;transition:transform .4s}
.gc:hover>.art{transform:scale(1.06)}
.gc::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82) 0,rgba(0,0,0,.35) 45%,transparent 70%);pointer-events:none}
.gc-big{position:absolute;left:-4px;top:58px;font-weight:900;font-size:120px;line-height:.82;letter-spacing:-6px;opacity:.16;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;pointer-events:none}
.gc-top,.gc-bot{position:relative;z-index:1}
.gc-top{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 0}
.gc-live{display:inline-flex;align-items:center;gap:6px;background:var(--live);font-size:10.5px;font-weight:800;padding:3px 8px;text-transform:uppercase;letter-spacing:.5px}
.gc-live .dot{width:6px;height:6px;background:#fff;border-radius:50%}
.gc-bot{padding:0 18px 22px}
.gc-k{display:block;font-size:10.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;opacity:.85}
.gc-nm{margin:6px 0 0;font-weight:900;font-size:26px;line-height:1;text-transform:uppercase;letter-spacing:-.5px}
.gc-nm a{color:inherit;text-decoration:none}
.gc-nm a::before{content:"";position:absolute;inset:0;z-index:0}
.gc-info{margin:10px 0 0;font-size:12px;font-weight:600;opacity:.9}
.gc-info b{font-weight:900}
.gc-info i{font-style:normal;margin:0 8px;opacity:.5}
.gc-modes{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}
.gc-modes a{padding:7px 11px;background:rgba(255,255,255,.14);color:#fff;font-weight:800;font-size:10.5px;text-decoration:none;text-transform:uppercase;letter-spacing:.5px;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);transition:background .15s,color .15s}
.gc-modes a:hover{background:#fff;color:var(--ink)}
.gc-go{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;padding:13px;background:#fff;color:var(--blue);font-weight:900;font-size:16px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;pointer-events:none;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.gc-go i{font-style:normal;letter-spacing:-2px;transition:transform .2s}
.gc:hover .gc-go{background:var(--blue);color:#fff}.gc:hover .gc-go i{transform:translateX(5px)}
.gc-hatch{position:absolute;right:28px;bottom:8px;width:56px;height:6px;background:repeating-linear-gradient(-60deg,#fff 0 3px,transparent 3px 9px);opacity:.55}
.gc-nm a:focus-visible::before,.gc-modes a:focus-visible{outline:3px solid #fff;outline-offset:-3px}
@media (max-width:1100px){.gcs{grid-template-columns:repeat(2,minmax(0,1fr))}.gc{min-height:440px}}
@media (max-width:560px){.gcs{grid-template-columns:1fr;gap:14px}.gc{min-height:360px}.gc-big{font-size:96px}}

/* Rareté des bannières : étiquette noire coupée en biais + chevrons de la couleur de la rareté (1 à 4) */
.st-b .st-rar,.st-b.r-rare .st-rar,.st-b.r-epique .st-rar,.st-b.r-legendaire .st-rar,.st-b.r-unique .st-rar{display:inline-flex;align-items:center;gap:5px;color:#fff;letter-spacing:1.2px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);--rc:#fff}
.st-b .st-rar::before{font-size:12px;line-height:1;letter-spacing:-2px;color:var(--rc);font-weight:900}
.st-b.r-rare .st-rar{--rc:#4d8dff}
.st-b.r-epique .st-rar{--rc:#b07cff}
.st-b.r-legendaire .st-rar{--rc:#f5c84a}
.st-b.r-unique .st-rar{--rc:#ff4655;box-shadow:inset 0 -2px 0 var(--rc)}

/* chevrons de rareté = même forme que les chevrons du site */
.st-b .st-rar::before{content:"";height:9px;background-repeat:repeat-x;background-size:7px 9px}
.st-b.r-rare .st-rar::before{content:"";width:7px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 9'%3E%3Cpath d='M0 0h2.6L6 4.5 2.6 9H0l3.4-4.5z' fill='%234d8dff'/%3E%3C/svg%3E")}
.st-b.r-epique .st-rar::before{content:"";width:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 9'%3E%3Cpath d='M0 0h2.6L6 4.5 2.6 9H0l3.4-4.5z' fill='%23b07cff'/%3E%3C/svg%3E")}
.st-b.r-legendaire .st-rar::before{content:"";width:21px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 9'%3E%3Cpath d='M0 0h2.6L6 4.5 2.6 9H0l3.4-4.5z' fill='%23f5c84a'/%3E%3C/svg%3E")}
.st-b.r-unique .st-rar::before{content:"";width:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 9'%3E%3Cpath d='M0 0h2.6L6 4.5 2.6 9H0l3.4-4.5z' fill='%23ff4655'/%3E%3C/svg%3E")}
.st-b .st-rar{bottom:auto;background:rgba(10,10,16,.78)}
.st-b.r-unique .st-rar{background:rgba(10,10,16,.85)}
.st-b:has(.st-rar) .st-n{padding-right:10px}
.st-b .st-rar,.st-b.r-rare .st-rar,.st-b.r-epique .st-rar,.st-b.r-legendaire .st-rar,.st-b.r-unique .st-rar{background:rgba(10,10,16,.85);padding:3px 9px 3px 7px;font-size:9px}
.st-b .st-rar{top:8px;left:8px;right:auto}
.st-b:has(input:checked) .st-rar{display:none}

/* ---------- Page joueur : badges = vitrine + collection compacte ---------- */
.bx-k{display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut,#6b6b78);margin:0 0 10px}
.bx-k a{font-size:11px;letter-spacing:0;text-transform:none;font-weight:800;color:var(--blue)}
.bx-k:not(:first-child){margin-top:20px}
.bx-vit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bx-v{position:relative;display:grid;justify-items:center;text-align:center;gap:4px;padding:18px 12px 14px;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);--tc:#8a8a96}
.bx-v::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--tc)}
.bx-v.t2{--tc:#4d8dff}.bx-v.t3{--tc:#b07cff}.bx-v.t4{--tc:#f5c84a}.bx-v.t5{--tc:#ff4655}
.bx-v b{font-weight:900;font-size:14px;margin-top:6px}
.bx-v small{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bx-all{display:flex;flex-wrap:wrap}
.bx-c{align-items:center;gap:8px;border-left:3px solid #c9c9d1;font-size:12px;font-weight:800}
.bx-c.t2{border-color:#4d8dff}.bx-c.t3{border-color:#b07cff}.bx-c.t4{border-color:#e0b12e}.bx-c.t5{border-color:#ff4655}
.bx-left{margin:16px 0 0;font-size:12px;font-weight:700;color:var(--mut,#6b6b78)}
.bx-left a{color:var(--blue);text-decoration:none}
@media (max-width:560px){.bx-vit{grid-template-columns:1fr}.bx-v{justify-items:start;text-align:left;column-gap:12px}.bx-v>svg{grid-row:span 3}}
.bx-v{background:#ececef;color:var(--ink)}
.bx-v small{opacity:1;color:var(--mut,#6b6b78)}

/* Page joueur : chaque team en petite bande à sa bannière */
.roster .mem.ptm{position:relative;overflow:hidden;color:#fff;text-decoration:none;background:var(--bn);background-color:#1a1a22;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.roster .mem.ptm::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,14,.82) 0,rgba(8,8,14,.55) 45%,rgba(8,8,14,.1) 80%);pointer-events:none}
.roster .mem.ptm>*{position:relative}
.roster .mem.ptm .riot{color:rgba(255,255,255,.75)}
.roster .mem.ptm .lpv{color:#fff;background:rgba(8,8,14,.6);padding:3px 8px}
.roster .mem.ptm:hover{filter:brightness(1.08)}
.roster .mem.ptm+.mem.ptm{margin-top:8px}
.roster .mem.ptm{--emb-x:70%}
.roster .mem.ptm{--logo-k:1.1;--emb-k:1}
.tb-form .st-b:not(.lock){cursor:pointer}
.st-b.lock .st-n{padding-right:34px}
.st-b .st-n small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-t,.um-t{border-left-color:var(--line,#ddd)}
.acc-t:hover,.um-t:hover{border-left-color:var(--blue)}
.acc-t .mark-i,.um-t .mark-i{flex:none;width:24px;height:24px;object-fit:cover}
/* Collection : icônes seules, nom en bulle au survol */
.bx-all{gap:8px}
.bx-c{position:relative;padding:0;background:none;border:0;display:inline-block}
.bx-c::after{content:"";position:absolute;left:8px;right:8px;bottom:-5px;height:3px;background:#c9c9d1}
.bx-c.t2::after{background:#4d8dff}.bx-c.t3::after{background:#b07cff}.bx-c.t4::after{background:#e0b12e}.bx-c.t5::after{background:#ff4655}
.bx-c b{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#111;color:#fff;font-size:11px;font-weight:800;white-space:nowrap;padding:4px 9px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:3}
.bx-c:hover b,.bx-c:focus-visible b{opacity:1}
.bx-c:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.bx-c svg{transition:transform .15s}.bx-c:hover svg{transform:translateY(-2px)}
@media (max-width:560px){.bx-v{grid-template-columns:auto 1fr;align-items:center;row-gap:2px;padding:14px}.bx-v>:first-child{grid-row:1/4;grid-column:1}.bx-v>:not(:first-child){grid-column:2;justify-self:start;margin:0}.bx-v b{margin-top:0}}
.bx-c:first-child b{left:0;transform:none}

/* ---------- Jeux et classements (page joueur + page team) ---------- */
.gk-l{display:grid;gap:8px}
.gk-r{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 16px 10px 0;color:#fff;text-decoration:none;background:var(--bn);background-color:#1a1a22;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.gk-r::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,14,.88) 0,rgba(8,8,14,.6) 50%,rgba(8,8,14,.72) 100%);pointer-events:none}
.gk-r>*{position:relative}
.gk-r:hover{filter:brightness(1.1)}
.gk-g{align-self:stretch;display:grid;place-content:center;justify-items:center;min-width:58px;margin:-10px 0;padding:0 8px;background:var(--g1);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.gk-g b{font-weight:900;font-size:15px;line-height:1;letter-spacing:-.5px}
.gk-g small{font-size:9.5px;font-weight:800;opacity:.9;margin-top:2px}
.gk-n{display:grid;min-width:0}
.gk-n b{font-weight:900;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gk-n small{font-size:11px;font-weight:600;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gk-n .solo-f{margin:5px 0 0}
.gk-here{font-style:normal;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;background:#fff;color:var(--ink);padding:1px 5px;margin-left:6px;vertical-align:2px}
.gk-p,.gk-s{display:grid;text-align:right}
.gk-p b{font-weight:900;font-size:24px;line-height:1}
.gk-s b{font-family:var(--mono);font-weight:800;font-size:12.5px}
.gk-p small,.gk-s small{font-size:10px;font-weight:700;opacity:.7;text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
@media (max-width:560px){.gk-r{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.gk-s{display:none}.gk-p b{font-size:20px}}
.gk-r{--logo-k:0;--emb-k:.85;--emb-x:66%}
/* fond générique (pas la bannière de la team, déjà visible ailleurs) */
.gk-r{background:radial-gradient(120% 160% at 0 50%,color-mix(in srgb,var(--g1) 45%,transparent) 0,transparent 55%),repeating-linear-gradient(-62deg,rgba(255,255,255,.04) 0 2px,transparent 2px 11px),linear-gradient(90deg,#17171f,#101016)}
.gk-r::before{display:none}

/* ---------- Succès de la team : tuiles compactes ---------- */
.ta-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.ta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;background:var(--cell,#ececef);border-left:3px solid #c9c9d1}
.ta.t2{border-color:#4d8dff}.ta.t3{border-color:#b07cff}.ta.t4{border-color:#e0b12e}.ta.t5{border-color:#ff4655}
.ta:not(.done){background:#f4f4f6}
.ta:not(.done) .ta-t b{color:var(--muted)}
.ta-t{display:grid;gap:2px;min-width:0}
.ta-t b{font-weight:900;font-size:13px}
.ta-t>span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ta-f{display:flex;align-items:center;gap:8px;margin-top:5px;min-width:0}
.ta-pg{flex:0 0 56px;height:4px;background:#dcdce2}.ta-pg i{display:block;height:100%;background:var(--blue)}
.ta-m{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--muted)}
.ta-ok{font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--blue);padding:2px 6px}
.ta-rw{font-style:normal;overflow:hidden;text-overflow:ellipsis}
.team-page>.wrap.blk{margin-top:0}
/* ligne de jeu : toute la bande mène au classement du jeu, le nom de team à la page team */
.gk-go{position:absolute;inset:0;z-index:1}
.gk-r{cursor:pointer}
.gk-r>*:not(.gk-go){pointer-events:none}
.gk-tm{pointer-events:auto;position:relative;z-index:2;color:inherit;text-decoration:none}
.gk-tm:hover{text-decoration:underline}
.gk-go:focus-visible{outline:3px solid #fff;outline-offset:-3px}
/* aperçu de la bannière gagnée par un succès de team */
.ta{position:relative}
.ta-f{position:static}
.ta-rw{margin-left:auto;border:0;background:none;padding:0;cursor:pointer;font:inherit;font-size:10px;font-weight:800;color:var(--blue);text-decoration:underline dotted;text-underline-offset:3px;white-space:nowrap}
.ta-pv{display:none;position:absolute;right:8px;bottom:calc(100% - 6px);width:280px;aspect-ratio:4/1;background:var(--bn);background-color:#1a1a22;--emb-x:73%;box-shadow:0 10px 28px rgba(0,0,0,.35);z-index:5;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.ta-pv b{position:absolute;left:10px;bottom:8px;color:#fff;font-weight:900;font-size:12px;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.ta-rw:hover+.ta-pv,.ta-rw:focus+.ta-pv{display:block}
@media (max-width:560px){.ta-pv{left:8px;right:8px;width:auto}}
/* ---------- Page team : tailles cohérentes ---------- */
.tp-top .roster,.tp-top .gk-l{display:grid;gap:8px}
.tp-top .roster .mem,.tp-top .gk-r,.gk-r{min-height:60px;box-sizing:border-box}
.tp-top .roster .mem+.mem{margin-top:0}
.gk-r{padding-block:8px}
.gk-g{margin-block:-8px}
.team-page .tp-blk{margin-top:22px}
.team-page .tp-blk .card{margin:0}
.team-page .tp-blk:last-child{margin-bottom:40px}
.tp-top{align-items:start}
.tp-top>.card{height:auto;margin:0!important}
.gk-n .solo-f{display:none}
.gk-r{min-height:60px}
/* Actions discrètes dans les listes admin : liens texte séparés par un slash */
.ibs{display:flex;align-items:center}
.ib{border:0;background:none;padding:6px 2px;cursor:pointer;font:inherit;font-size:10.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.ib+.ib::before{content:"/";display:inline-block;margin:0 9px;color:#c9c9d1;font-weight:700}
.ib:hover{color:var(--blue)}
.ib.red{color:var(--loss,#d6283a);opacity:.75}.ib.red:hover{opacity:1}
.ib:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cr-row{grid-template-columns:auto minmax(0,1fr);align-items:start;row-gap:2px}
.cr-row .ibs{grid-column:2;margin:0 0 -4px -2px}
.cr-row>.pill{margin-top:2px}
.cr-t .cr-h{color:var(--ink);font-weight:800}.cr-off{color:var(--loss,#d6283a);font-weight:900}

/* ---------- Règlement : l'essentiel + fiche par jeu ---------- */
.rb-ess{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 14px 6px}
.rb-e{position:relative;display:grid;align-content:start;gap:2px;padding:16px 16px 14px;background:var(--cell,#ececef);border-top:3px solid var(--blue)}
.rb-e b{font-weight:900;font-size:30px;line-height:1;letter-spacing:-1px;color:var(--blue)}
.rb-e span{font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.4px;margin-top:4px}
.rb-e small{font-size:12px;color:var(--muted);line-height:1.4;margin-top:4px}
.rb-e:nth-child(5){border-top-color:var(--loss,#d6283a)}.rb-e:nth-child(5) b{color:var(--loss,#d6283a)}
.gr-fiche{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.gr-fiche div{display:grid;gap:4px;padding:12px 14px;background:#111;color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.gr-fiche small{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;opacity:.6}
.gr-fiche b{font-weight:900;font-size:16px}
.gr-list{list-style:none;counter-reset:gr;margin:0;padding:0;display:grid;gap:0}
.gr-list li{counter-increment:gr;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:11px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5}
.gr-list li:first-child{border-top:0}
.gr-list li::before{content:counter(gr,decimal-leading-zero);font-family:var(--mono);font-size:11px;font-weight:700;background:var(--blue);color:#fff;padding:3px 0;text-align:center;margin-top:2px}
.gr-links{display:flex;flex-wrap:wrap;gap:22px;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.gr-links a{font-weight:900;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink);text-decoration:none}
.gr-links a i{font-style:normal;color:var(--blue);margin-left:8px;letter-spacing:-2px;transition:margin .15s}
.gr-links a:hover{color:var(--blue)}.gr-links a:hover i{margin-left:12px}
@media (max-width:880px){.rb-ess{grid-template-columns:repeat(2,minmax(0,1fr))}.gr-fiche{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.rb-ess{grid-template-columns:1fr}}
