/* ============================================================
   THÈME V3 — Anton + Permanent Marker + Inter, dégradé cyan → bleu
   Appliqué avec <body class="v3"> (connexion + espace joueur)
   ============================================================ */
body.v3{
  --ink:#050708; --steel:#0f1618; --steel-2:#142024; --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.16);
  --ice:#19e6d6; --ice-d:#14b8e6; --frost:#dffcf9; --text:#f2f5f5; --mute:#9aa7a9;
  --ok:#3ee07a; --bad:#ff5d6c; --warn:#ffc93e; --blue:#1a8cff;
  --grad:linear-gradient(120deg,#19e6d6 0%,#14b8e6 50%,#1a6dff 100%);
  --font-d:"Anton",Impact,"Arial Narrow",sans-serif; --font-b:"Inter",system-ui,sans-serif; --brush:"Permanent Marker",cursive;
  background:var(--ink);font-family:var(--font-b);position:relative;overflow-x:hidden;
}
/* fond : aurore + grain */
body.v3::before{content:"";position:fixed;inset:-20%;z-index:-2;pointer-events:none;filter:blur(90px);opacity:.5;
  background:radial-gradient(35% 40% at 85% 8%,rgba(25,230,214,.5),transparent 70%),radial-gradient(30% 35% at 8% 95%,rgba(26,109,255,.4),transparent 70%)}
body.v3::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body.v3 :focus-visible{outline:2px solid var(--ice);outline-offset:3px}

/* titres */
body.v3 h1,body.v3 h2,body.v3 h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.05}
body.v3 .brush{font-family:var(--brush);text-transform:none;font-weight:400;color:var(--ice);letter-spacing:0}
body.v3 .grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- boutons ---------- */
body.v3 .btn{clip-path:none;border-radius:999px;background:var(--grad);color:#041014;font-weight:700;font-size:.92rem;padding:13px 24px;
  box-shadow:0 10px 30px -12px rgba(25,230,214,.7);transition:transform .2s,box-shadow .2s,background .2s}
body.v3 .btn:hover{background:var(--grad);transform:translateY(-1px);box-shadow:0 14px 36px -12px rgba(25,230,214,.85)}
body.v3 .btn.ghost{--bd:transparent;--fill:transparent;background:rgba(255,255,255,.06);border:1px solid var(--line-2);color:var(--text);box-shadow:none}
body.v3 .btn.ghost::before{display:none}
body.v3 .btn.ghost:hover{background:rgba(255,255,255,.11);color:#fff;border-color:rgba(255,255,255,.3)}
body.v3 .btn.sm{clip-path:none;border-radius:999px;padding:9px 16px;font-size:.82rem}
body.v3 .btn.sm.ghost::before{display:none}
body.v3 .btn.danger,body.v3 .btn.ghost.danger{background:rgba(255,93,108,.12);color:#ffb3ba;border:1px solid rgba(255,93,108,.3);box-shadow:none}
body.v3 .btn.ghost.danger:hover{background:var(--bad);color:#1a0508}
body.v3 .btn.discord{background:#5865F2;color:#fff;box-shadow:0 14px 40px -14px rgba(88,101,242,.9);padding:16px 24px;font-size:1rem}
body.v3 .btn.discord:hover{background:#4752c4}
body.v3 .btn:disabled{opacity:.5;transform:none;cursor:not-allowed}
body.v3 .link{color:var(--ice)}

/* ---------- cartes ---------- */
body.v3 .cut{--bd:var(--line);--fill:rgba(15,22,24,.78);clip-path:none;border-radius:22px;box-shadow:none;backdrop-filter:blur(12px)}
body.v3 .cut::before{clip-path:none;border-radius:21px}
body.v3 .panel{padding:28px}
body.v3 .panel h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:1.45rem;letter-spacing:.01em;margin-bottom:16px;line-height:1.05}
body.v3 .empty{border:1.5px dashed rgba(255,255,255,.13);border-radius:20px;background:transparent;color:var(--mute);padding:38px 20px}
body.v3 .empty b{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:1.25rem;letter-spacing:.01em;color:var(--text)}

/* ---------- formulaires ---------- */
body.v3 input,body.v3 select,body.v3 textarea{border-radius:16px;padding:13px 16px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--text);font-family:var(--font-b);outline:none;transition:border-color .2s,box-shadow .2s}
body.v3 input:focus,body.v3 select:focus,body.v3 textarea:focus{border-color:rgba(25,230,214,.6);box-shadow:0 0 0 4px rgba(25,230,214,.12)}
body.v3 select option{background:#0b1214}
body.v3 label.f{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
body.v3 label.f input,body.v3 label.f select,body.v3 label.f textarea{text-transform:none;letter-spacing:0;font-size:1rem;font-weight:400;color:var(--text)}

/* ---------- pastilles / états ---------- */
body.v3 .tag,body.v3 .dot,body.v3 .statut,body.v3 .rang{border-radius:999px;padding-inline:12px;font-weight:800;letter-spacing:.06em}
body.v3 .tag{background:rgba(255,255,255,.08);color:var(--mute);text-transform:uppercase;font-size:.7rem;padding-block:4px}
body.v3 .tag.match{background:rgba(255,93,108,.15);color:#ffb3ba}
body.v3 .tag.pracc{background:rgba(26,140,255,.16);color:#9cc9ff}
body.v3 .tag.reunion{background:rgba(190,150,255,.16);color:#d3bcff}
body.v3 .tag.vod{background:rgba(120,230,170,.14);color:#9cf0c4}
body.v3 .statut.ok{background:rgba(62,224,122,.15);color:var(--ok)}
body.v3 .statut.no{background:rgba(255,201,62,.15);color:var(--warn)}
body.v3 .dot.p{background:rgba(62,224,122,.14)}body.v3 .dot.a{background:rgba(255,93,108,.13)}body.v3 .dot.i{background:rgba(255,201,62,.13)}
body.v3 .pb,body.v3 .filtre button,body.v3 .st{border-radius:999px;padding:9px 18px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-weight:700}
body.v3 .pb:hover,body.v3 .filtre button:hover{border-color:rgba(25,230,214,.5)}
body.v3 .filtre button.on{background:var(--grad);color:#041014;border-color:transparent}
body.v3 .chip{border-radius:999px;border-left:0;padding:4px 12px;background:rgba(255,255,255,.06)}
body.v3 .msg,body.v3 .alerte{border-radius:16px}
body.v3 .alerte{background:rgba(255,201,62,.07);border:1px solid rgba(255,201,62,.3);color:#ffe3a1}
body.v3 .mdate{border-radius:14px;background:rgba(255,255,255,.05)}
body.v3 .mdate b,body.v3 .dblock b{font-family:var(--font-d);font-weight:400}
body.v3 .dblock{border-radius:16px;background:rgba(255,255,255,.05);border-color:var(--line)}
body.v3 .dblock.match{border-color:rgba(255,93,108,.5)}body.v3 .dblock.match span{color:#ffb3ba}
body.v3 .score{font-family:var(--font-d);font-weight:400}
body.v3 .kpi{padding:22px;border-radius:22px}
body.v3 .kpi b{font-family:var(--font-d);font-weight:400;font-size:2.5rem;line-height:1.1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body.v3 .gauge i{border-radius:99px}
body.v3 .cd{font-family:var(--font-d);font-weight:400;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body.v3 .next{--bd:var(--line-2);padding:32px;gap:36px}
body.v3 .next::before{background:radial-gradient(70% 120% at 100% 0%,rgba(25,230,214,.22),transparent 60%),radial-gradient(60% 120% at 0% 100%,rgba(26,109,255,.2),transparent 60%),#0f1a1c}
body.v3 .next h2{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:400}
body.v3 .tbl th,body.v3 .t th{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- espace joueur : coque ---------- */
body.v3 .pshell{grid-template-columns:270px minmax(0,1fr);gap:0;min-height:100vh;align-items:stretch}
body.v3 .pside{position:sticky;top:0;height:100vh;overflow-y:auto;align-content:start;gap:20px;padding:24px 18px;border-right:1px solid var(--line);background:rgba(5,9,10,.62);backdrop-filter:blur(16px)}
body.v3 .pside .plogo{display:block;margin:2px 8px 4px}
body.v3 .pside .plogo img{height:34px;width:auto}
body.v3 .me{padding:12px;border-radius:20px;gap:12px;background:var(--steel-2);border:1px solid var(--line)}
body.v3 .me::before{display:none}
body.v3 .me.cut{--fill:var(--steel-2);backdrop-filter:none}
body.v3 .me b{font-size:.95rem}
body.v3 .me span{color:var(--ice);font-size:.78rem;font-weight:700;text-transform:capitalize}
body.v3 .avatar{border-radius:15px;clip-path:none;background:var(--grad);color:#041014;font-family:var(--font-d);font-weight:400;font-size:1.2rem;width:44px;height:44px;overflow:hidden}
body.v3 .avatar img{width:100%;height:100%;object-fit:cover}
body.v3 .ptabs{gap:4px}
body.v3 .ptabs button{border:0;border-radius:16px;padding:12px 14px;font-weight:600;font-size:.92rem;color:var(--mute);background:none;transition:.2s}
body.v3 .ptabs button:hover{background:rgba(255,255,255,.05);color:var(--text)}
body.v3 .ptabs button.on{background:rgba(25,230,214,.12);color:var(--text);box-shadow:inset 3px 0 0 var(--ice)}
body.v3 .ptabs .grp{padding:18px 14px 4px;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);opacity:1}
body.v3 .ptabs #logout{margin-top:14px;color:var(--mute)}
body.v3 .pside .pback{display:flex;align-items:center;justify-content:center;margin-top:6px}
body.v3 .pmain{max-width:1000px;padding:30px clamp(16px,3vw,44px) 70px;min-width:0}
body.v3 .ptitle{font-family:var(--font-d);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);letter-spacing:.01em;line-height:1.05;margin-bottom:4px}
body.v3 .psub{color:var(--mute);margin-bottom:26px;font-size:.95rem}
body.v3 #pane{display:grid;gap:18px;align-content:start}
body.v3 #pane>*{margin-top:0!important;margin-bottom:0!important}
@media(max-width:960px){
  body.v3 .pshell{grid-template-columns:1fr}
  body.v3 .pside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;gap:12px}
  body.v3 .pside .pback{display:none}
  body.v3 .ptabs{flex-direction:row;overflow-x:auto;border-bottom:0;padding-bottom:4px}
  body.v3 .ptabs button{white-space:nowrap;border-radius:999px;box-shadow:none}
  body.v3 .ptabs button.on{box-shadow:none;background:rgba(25,230,214,.16)}
  body.v3 .ptabs .grp{display:none}
  body.v3 .ptabs #logout{margin:0 0 0 auto}
}

/* ---------- connexion ---------- */
body.v3 .login{grid-template-columns:1.05fr 1fr;background:transparent}
body.v3 .login-art{padding:48px;background:radial-gradient(70% 60% at 80% 20%,rgba(25,230,214,.38),transparent 70%),radial-gradient(60% 60% at 20% 90%,rgba(26,109,255,.38),transparent 70%),#030607;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
body.v3 .login-art::before{display:none}
body.v3 .login-art .la-logo{height:44px;width:auto}
body.v3 .login-art h2{position:relative;font-size:clamp(3.4rem,7vw,6.4rem);max-width:none;line-height:.92}
body.v3 .login-art p{position:relative;max-width:420px;color:#c6d2d3;margin-top:16px}
body.v3 .la-feats{position:relative;display:grid;gap:12px;margin-top:28px}
body.v3 .la-feats div{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid var(--line);backdrop-filter:blur(8px);font-weight:600;font-size:.92rem}
body.v3 .la-feats i{font-style:normal;width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:rgba(25,230,214,.15)}
body.v3 .la-foot{position:relative;color:var(--mute);font-size:.8rem}
body.v3 .login-form{background:transparent;padding:40px clamp(24px,6vw,96px)}
body.v3 .login-form>a>img{height:34px;margin-bottom:44px}
body.v3 .login-form h1{font-size:clamp(2.6rem,4.6vw,3.8rem);font-weight:400;margin-bottom:10px}
body.v3 .login-form p.lead{color:var(--mute);margin-bottom:26px;font-size:1rem}
body.v3 .login-form small{color:var(--mute);font-size:.84rem}
body.v3 .login-steps{display:grid;gap:10px;margin-top:22px}
body.v3 .login-steps div{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:var(--mute)}
body.v3 .login-steps b{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:rgba(88,101,242,.2);color:#c3c8ff;font-size:.75rem}
body.v3 .login-back a{color:var(--mute)}
body.v3 .login-back a:hover{color:var(--text)}
@media(max-width:900px){body.v3 .login{grid-template-columns:1fr}body.v3 .login-art{min-height:0;padding:26px 22px}body.v3 .la-feats,body.v3 .login-art p{display:none}body.v3 .login-art h2{font-size:3.2rem;margin-top:22px}}

/* ---------- état d'attente (compte non validé) ---------- */
body.v3 .wait-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;text-align:center}
body.v3 .wait-card{max-width:480px;padding:40px 30px;border-radius:30px;background:rgba(15,22,24,.78);border:1px solid var(--line);backdrop-filter:blur(14px)}
body.v3 .wait-card .ico{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:rgba(255,201,62,.12);border:1px solid rgba(255,201,62,.3);animation:pulseY 2s infinite}
@keyframes pulseY{0%{box-shadow:0 0 0 0 rgba(255,201,62,.35)}50%{box-shadow:0 0 0 14px rgba(255,201,62,0)}}
body.v3 .wait-card h1{font-size:2.2rem}
body.v3 .wait-card p{color:var(--mute);margin:10px 0 24px}

/* bouton musique : à droite pour ne pas recouvrir le menu */
body.v3 .music{left:auto;right:16px;border-radius:50%;background:rgba(8,14,16,.8);border-color:var(--line-2)}
body.v3 .music:hover{border-color:var(--ice)}
body.v3 .eq i{background:var(--mute)}body.v3 .music.on .eq i{background:var(--ice)}
/* logo du formulaire : visible seulement sur mobile (le logo est déjà dans le bandeau gauche) */
body.v3 .login-form>a{display:none}
@media(max-width:900px){body.v3 .login-form>a{display:block}body.v3 .login-form>a>img{margin-bottom:26px}body.v3 .login-art .la-logo{display:none}body.v3 .login-art{display:none}}

/* évite les débordements des cartes en grille sur mobile */
body.v3 #pane>*,body.v3 .pmain{min-width:0}
@media(max-width:900px){body.v3 .next{grid-template-columns:minmax(0,1fr);padding:22px}body.v3 .next h2{font-size:2rem}body.v3 .row3,body.v3 .two{grid-template-columns:minmax(0,1fr)}}

/* ============================================================
   SITE PUBLIC — navigation flottante + pied de page (comme l'accueil)
   ============================================================ */
body.v3 .wrap{max-width:1200px;width:min(1200px,100% - 32px);padding:0;margin-inline:auto}
.vnav{position:fixed;top:14px;left:0;right:0;z-index:60}
.vnav-in{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 10px 22px;border-radius:999px;background:rgba(8,12,14,.65);backdrop-filter:blur(14px);border:1px solid var(--line)}
.vnav .logo img{height:34px;width:auto}
.vlinks{display:flex;gap:6px;font-size:.9rem;font-weight:600;color:var(--mute)}
.vlinks a{padding:8px 14px;border-radius:999px;transition:.2s}
.vlinks a:hover{color:var(--text)}
.vlinks a.on{color:var(--text);background:rgba(25,230,214,.12);box-shadow:inset 0 0 0 1px rgba(25,230,214,.3)}
.vlinks .vplayer-m{display:none}
.vact{display:flex;align-items:center;gap:10px}
.vplayer{border-color:rgba(25,230,214,.45)!important;background:rgba(25,230,214,.08)!important;color:#dffcf9!important}
.vplayer svg{width:15px;height:15px;fill:currentColor}
.vnav .burger{display:none;background:none;border:0;color:var(--text);font-size:1.5rem;cursor:pointer;padding:4px 12px;width:auto;height:auto}
@media(max-width:980px){
  .vlinks{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:rgba(8,12,14,.96);border:1px solid var(--line);border-radius:24px;padding:10px;display:none}
  .vlinks.open{display:flex}.vlinks a{padding:14px 18px;border-radius:14px}
  .vlinks .vplayer-m{display:block;color:var(--ice)}
  .vnav .burger{display:block}.vplayer,.vcta{display:none!important}
}
.vfoot{padding:70px 0 40px;border-top:1px solid var(--line);margin-top:60px;background:transparent}
.vfgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.vfoot p{color:var(--mute);font-size:.92rem;margin-top:14px;max-width:340px}
.vfoot h4{font-family:var(--font-b);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-bottom:14px;font-weight:700}
.vfoot ul{list-style:none;display:grid;gap:8px;font-weight:600}
.vfoot a:hover{color:var(--ice)}
.vsoc{display:flex;gap:10px;margin-top:20px}
.vsoc a{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--steel);border:1px solid var(--line);transition:.25s}
.vsoc a:hover{border-color:var(--ice);transform:translateY(-3px)}
.vsoc svg{width:20px;height:20px;fill:currentColor}
.vcopy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:50px;color:var(--mute);font-size:.82rem}
.vcopy b{font-family:var(--font-d);font-weight:400;letter-spacing:.05em;color:var(--text);font-size:1rem}
@media(max-width:800px){.vfgrid{grid-template-columns:1fr}}

/* pages publiques : dégagement sous la nav fixe */
body.v3 main>.wrap.page,body.v3 #page>.wrap.page{padding-top:130px;padding-bottom:72px}
body.v3 .pj{padding-top:110px}
body.v3 .page h1{font-family:Anton,sans-serif;text-transform:uppercase;letter-spacing:.01em}
body.v3 .legal h2{font-family:Anton,sans-serif;text-transform:uppercase}
@media(max-width:760px){body.v3 main>.wrap.page,body.v3 #page>.wrap.page{padding-top:100px}body.v3 .pj{padding-top:90px}}

/* PERF — allège le rendu (mobile / vieux PC) */
.aurora,.aurora-2,.stack-glow,.pole::before,body.v3::before{filter:none!important}
.aurora,.aurora-2,body.v3::before{will-change:auto}
body::after,body.v3::after{display:none!important}
@media (max-width:960px),(pointer:coarse){
  .aurora-2,.hero-bgword,#fx{display:none!important}
  .aurora{inset:0!important;transform:none!important;transition:none!important}
  .ready .h-title .split{animation:none!important}
  .h-title .split span{filter:none!important}
  .btn-primary::after,.hero .star{animation:none!important}
  *,*::before,*::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .vnav-in,.nav-in{background:rgba(8,12,14,.92)!important}
  .reveal{transition-duration:.3s!important}
}
