/* Wak'World — feuille commune à toutes les pages.
   Sortie de la page le 06/08 : elle était en ligne dans chaque document, donc
   une correction responsive demandait neuf modifications au lieu d'une. */
html,body{margin:0;padding:0;background:#070A12;-webkit-font-smoothing:antialiased}
/* Un seul enfant plus large que l'écran suffit à élargir TOUT le document : le
   navigateur autorise alors un dézoom jusqu'à cette largeur et la page apparaît
   collée à gauche, avec du vide noir à droite. Clipper sur #ww-root ne suffit
   pas — les modales vivent dans le body, hors de ce conteneur. On clippe donc à
   la racine. `overflow-x:clip` plutot que `hidden` : hidden sur la racine
   rendrait le header `position:sticky` inoperant. */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}
a{color:#56A8FF;text-decoration:none}
a:hover{color:#8FC6FF}
::selection{background:#FF7A2F;color:#0B1020}
@keyframes ww-pulse{0%{box-shadow:0 0 0 0 rgba(55,225,196,.55)}70%{box-shadow:0 0 0 10px rgba(55,225,196,0)}100%{box-shadow:0 0 0 0 rgba(55,225,196,0)}}
@keyframes ww-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ww-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.06)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes ww-sheen{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}

/* Le seuil coïncide avec celui du classement : sous 1060 px, la page cesse
   d'être forcée à 1200 px de large, sinon le classement passait en disposition
   téléphone à l'intérieur d'un panneau de 1200 px, avec défilement horizontal. */
@media (max-width:1060px){#ww-root{min-width:0 !important;overflow-x:hidden}
#ww-root header nav{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#ww-root header nav::-webkit-scrollbar{display:none}
/* Le bandeau tenait sur une seule ligne dont la largeur MINIMALE (logo + FR/EN
   + Rejoindre + copier l'IP, tous en flex:none) dépassait 660 px : le document
   entier s'élargissait, et sur téléphone on pouvait dézoomer jusqu'à voir la
   page collée à gauche. Sur deux lignes, plus rien ne force une largeur. */
#ww-root header>div{height:auto !important;min-height:64px;padding:8px 14px !important;gap:10px 12px !important;flex-wrap:wrap}
#ww-root header>div>nav{order:3;flex:1 0 100%;padding-bottom:2px}
#ww-root header>div>a:first-child img{height:38px !important}
/* `flex-wrap` seul ne suffisait pas : le groupe garde son `flex:none` inline,
   donc sa largeur utilisée est sa largeur max-content (406 px) et il n'y a
   aucune contrainte contre laquelle passer à la ligne — il débordait, et le
   clip de la racine rendait le panier et le bouton de compte inatteignables.
   On rend donc le groupe compressible (d'où le !important, qui bat le style
   inline) : il se contraint à la largeur de l'en-tête et ses boutons passent
   à la ligne au lieu de sortir de l'écran. */
#ww-root header>div>div:last-child{flex:1 1 auto !important;min-width:0;max-width:100%;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
/* Cibles tactiles : le switch de langue et « Rejoindre » tombaient à 31 et
   38 px de haut, sous le minimum de 44 px. */
#ww-root header>div>div:last-child>*{min-height:44px}}
#ww-lb2{--taille:#0E1526;--taille-h:#131C31;--facette:rgba(139,152,186,.28);--facette-f:rgba(139,152,186,.40);--bord-controle:rgba(139,152,186,.60);--brume:#8794B4;--violet:#A78BFA;--coupe:26px}
#ww-lb2 .ruby{--gemme:#FF566E}
#ww-lb2 .saphir{--gemme:#568CFF}
#ww-lb2 .emeraude{--gemme:#37E1C4}
#ww-lb2 .lb2-tableau{background:#0A0F1E;border:1px solid var(--facette);border-radius:22px;overflow:hidden}
#ww-lb2 .lb2-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:22px clamp(16px,2.4vw,28px) 18px}
#ww-lb2 .lb2-quand{margin:0;font:400 13px/1.5 'Nunito Sans';color:var(--brume)}
#ww-lb2 .lb2-onglets{display:flex;gap:8px;flex-wrap:wrap;padding:0 clamp(16px,2.4vw,28px) 20px}
#ww-lb2 .onglet:not(.ruby):not(.saphir):not(.emeraude){--gemme:#EAF0FF}
#ww-lb2 .onglet{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;font:800 14px/1 'Nunito Sans';letter-spacing:.04em;color:var(--brume);background:var(--taille);border:1px solid var(--bord-controle);border-radius:14px;cursor:pointer;transition:color .16s,background .16s,border-color .16s}
#ww-lb2 .onglet .compte{font-weight:600;opacity:.65;margin-left:7px;font-variant-numeric:tabular-nums}
#ww-lb2 .onglet:hover{color:#EAF0FF;background:var(--taille-h)}
#ww-lb2 .onglet[aria-selected="true"]{color:var(--gemme);background:color-mix(in srgb,var(--gemme) 13%,var(--taille));border-color:color-mix(in srgb,var(--gemme) 46%,transparent);clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px)}
#ww-lb2 .scene{padding:8px clamp(16px,2.4vw,28px) 30px}
#ww-lb2 .podium{display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:clamp(12px,1.6vw,20px);align-items:end}
#ww-lb2 .podium[data-n="1"]{grid-template-columns:minmax(0,520px);justify-content:center}
#ww-lb2 .podium[data-n="2"]{grid-template-columns:1fr 1.16fr}
#ww-lb2 .gemme{--metal:var(--facette-f);padding:1.5px;background:linear-gradient(160deg,color-mix(in srgb,var(--metal) 72%,transparent),var(--facette));clip-path:polygon(var(--coupe) 0,100% 0,100% calc(100% - var(--coupe)),calc(100% - var(--coupe)) 100%,0 100%,0 var(--coupe));box-shadow:0 20px 44px -38px #000}
#ww-lb2 .gemme-int{background:var(--taille);clip-path:polygon(var(--coupe) 0,100% 0,100% calc(100% - var(--coupe)),calc(100% - var(--coupe)) 100%,0 100%,0 var(--coupe));padding:20px clamp(16px,1.7vw,22px) 22px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
#ww-lb2 .gemme-int::after{content:"";position:absolute;inset:-40% -30% auto -30%;height:70%;background:radial-gradient(60% 100% at 50% 100%,color-mix(in srgb,var(--gemme) 30%,transparent),transparent 72%);opacity:.5;pointer-events:none}
#ww-lb2 .gemme.premiere .gemme-int{padding-top:26px;padding-bottom:28px}
#ww-lb2 .gemme.rang1{order:2}
#ww-lb2 .gemme.rang2{order:1}
#ww-lb2 .gemme.rang3{order:3}
#ww-lb2 .gemme-haut{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}
#ww-lb2 .gemme-rang{font:800 44px/.85 'Baloo 2',cursive;color:var(--metal)}
#ww-lb2 .gemme.premiere .gemme-rang{font-size:60px}
#ww-lb2 .gemme-serveur{display:flex;align-items:center;gap:7px;font:800 12px/1 'Nunito Sans';letter-spacing:.14em;text-transform:uppercase;color:var(--gemme)}
#ww-lb2 .gemme-serveur::before{content:"";width:16px;height:3px;background:var(--gemme)}
#ww-lb2 .gemme-nom{font:800 26px/1.05 'Baloo 2',cursive;color:#EAF0FF;position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ww-lb2 .gemme.premiere .gemme-nom{font-size:32px}
#ww-lb2 .gemme-temps{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}
#ww-lb2 .etiquette{font:800 12px/1.4 'Nunito Sans';letter-spacing:.12em;text-transform:uppercase;color:var(--brume)}
#ww-lb2 .gemme-duree{font:800 34px/1 'Baloo 2',cursive;color:#EAF0FF;letter-spacing:-.015em}
#ww-lb2 .gemme.premiere .gemme-duree{font-size:42px}
#ww-lb2 .piste{height:4px;background:rgba(139,152,186,.16);border-radius:2px;overflow:hidden}
#ww-lb2 .piste i{display:block;height:100%;background:var(--gemme);border-radius:2px}
#ww-lb2 .gemme-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;border-top:1px solid var(--facette);padding-top:14px;position:relative;z-index:1}
#ww-lb2 .stat{display:flex;flex-direction:column;gap:3px;min-width:0}
#ww-lb2 .stat .num{font-size:19px}
#ww-lb2 .stat .etiquette{font-size:12px;letter-spacing:.08em}
#ww-lb2 .stat .palier{align-self:flex-start;margin-top:2px;letter-spacing:.04em;padding:3px 7px}
#ww-lb2 .reste-tete{display:flex;align-items:baseline;gap:12px;padding:4px clamp(16px,2.4vw,28px) 12px}
#ww-lb2 .reste-tete h3{margin:0;font:800 15px/1.1 'Baloo 2',cursive;color:#EAF0FF;letter-spacing:.02em}
#ww-lb2 .reste-tete .quand{font:400 13px/1.5 'Nunito Sans';color:var(--brume)}
#ww-lb2 .rail,#ww-lb2 .ligne{display:grid;grid-template-columns:54px minmax(0,1fr) 116px 84px 124px 128px 92px 68px;grid-template-areas:"rang nom temps alpha boss raids capt votes";gap:0 16px;align-items:center;padding:0 clamp(16px,2.4vw,28px)}
#ww-lb2 .rail{padding-top:10px;padding-bottom:10px;border-top:1px solid var(--facette);border-bottom:1px solid var(--facette);background:rgba(255,255,255,.012)}
#ww-lb2 .rail span{font:800 12px/1.4 'Nunito Sans';letter-spacing:.12em;text-transform:uppercase;color:var(--brume)}
#ww-lb2 .rail .r-temps,#ww-lb2 .rail .r-alpha,#ww-lb2 .rail .r-boss,#ww-lb2 .rail .r-raids,#ww-lb2 .rail .r-capt,#ww-lb2 .rail .r-votes{text-align:right}
#ww-lb2 .corps{display:flex;flex-direction:column}
#ww-lb2 .ligne{position:relative;min-height:52px;padding-top:8px;padding-bottom:8px;border-bottom:1px solid rgba(139,152,186,.20);transition:background .15s}
#ww-lb2 .ligne:last-child{border-bottom:none}
#ww-lb2 .ligne:hover{background:rgba(255,255,255,.02)}
#ww-lb2 .ligne::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--gemme,transparent);clip-path:polygon(0 6px,100% 0,100% 100%,0 calc(100% - 6px));opacity:.85}
#ww-lb2 .c-rang{grid-area:rang;font:800 19px/1 'Baloo 2',cursive;color:var(--brume)}
#ww-lb2 .c-nom{grid-area:nom;min-width:0;display:flex;flex-direction:column;gap:2px}
#ww-lb2 .pseudo{font:700 16px/1.3 'Nunito Sans';color:#EAF0FF;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ww-lb2 .sous-nom{display:flex;align-items:center;gap:8px;font:400 12px/1.4 'Nunito Sans';color:var(--brume)}
#ww-lb2 .code-serveur{font-weight:800;letter-spacing:.13em;color:var(--gemme);text-transform:uppercase}
#ww-lb2 .ecart{font-variant-numeric:tabular-nums}
#ww-lb2 .c-temps{grid-area:temps}
#ww-lb2 .temps-val{font:700 16px/1.4 'Nunito Sans';color:#EAF0FF;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#ww-lb2 .c-num,#ww-lb2 .c-temps{display:grid;grid-template-rows:22px 22px;align-content:center;align-items:center;justify-items:end;min-width:0}
#ww-lb2 .c-alpha{grid-area:alpha}
#ww-lb2 .c-boss{grid-area:boss}
#ww-lb2 .c-raids{grid-area:raids}
#ww-lb2 .c-capt{grid-area:capt}
#ww-lb2 .c-votes{grid-area:votes}
#ww-lb2 .num{font:700 16px/1.4 'Nunito Sans';color:#EAF0FF;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#ww-lb2 .num.vide{color:var(--brume);font-weight:600}
#ww-lb2 .palier{font:800 12px/1.4 'Nunito Sans';letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:11px;border:1px solid transparent;white-space:nowrap}
#ww-lb2 .palier.base{color:var(--brume);background:rgba(139,152,186,.09);border-color:var(--facette-f)}
#ww-lb2 .palier.haut{color:var(--violet);background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.34)}
#ww-lb2 .palier.aucun{color:var(--brume);opacity:.55;border-color:transparent;padding-left:0;padding-right:0}
#ww-lb2 .lb2-pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,2.4vw,28px) 22px;border-top:1px solid var(--facette)}
#ww-lb2 .lb2-note{margin:0;font:400 13px/1.6 'Nunito Sans';color:var(--brume);max-width:60ch}
#ww-lb2 .lb2-plus{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;font:800 14px/1 'Nunito Sans';color:#EAF0FF;background:var(--taille);border:1px solid var(--bord-controle);border-radius:14px;cursor:pointer;transition:background .16s,border-color .16s}
#ww-lb2 .lb2-plus:hover{background:var(--taille-h);border-color:var(--brume)}
#ww-lb2 .lb2-plus[hidden]{display:none}
#ww-lb2 .vide{margin:0 clamp(16px,2.4vw,28px) 28px;padding:38px 30px;background:var(--taille);border:1px dashed var(--facette-f);border-radius:18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
#ww-lb2 .vide-titre{font:800 20px/1.1 'Baloo 2',cursive;color:#EAF0FF}
#ww-lb2 .vide-texte{font:400 14px/1.6 'Nunito Sans';color:var(--brume);max-width:52ch}
#ww-lb2[data-dures="off"] .rail,#ww-lb2[data-dures="off"] .ligne{grid-template-columns:54px minmax(0,1fr) 116px 84px 104px 68px;grid-template-areas:"rang nom temps alpha capt votes"}
#ww-lb2 .anime{animation:lb2-retaille .42s cubic-bezier(.2,.75,.3,1) backwards}
@keyframes lb2-retaille{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media (max-width:1060px){
#ww-lb2 .podium,#ww-lb2 .podium[data-n="1"],#ww-lb2 .podium[data-n="2"]{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch}
#ww-lb2 .gemme.rang1{order:1}
#ww-lb2 .gemme.rang2{order:2}
#ww-lb2 .gemme.rang3{order:3}
#ww-lb2 .gemme-rang,#ww-lb2 .gemme.premiere .gemme-rang{font-size:40px}
#ww-lb2 .gemme.premiere .gemme-nom{font-size:28px}
#ww-lb2 .gemme.premiere .gemme-duree{font-size:36px}
#ww-lb2 .gemme:not(.premiere){--coupe:14px}
#ww-lb2 .gemme:not(.premiere) .gemme-int{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"rang nom duree" "rang serveur duree";align-items:center;column-gap:14px;row-gap:0;padding:12px 18px 12px 22px}
#ww-lb2 .gemme:not(.premiere) .gemme-haut{display:contents}
#ww-lb2 .gemme:not(.premiere) .gemme-rang{grid-area:rang;font-size:32px}
#ww-lb2 .gemme:not(.premiere) .gemme-nom{grid-area:nom;font-size:19px;align-self:end}
#ww-lb2 .gemme:not(.premiere) .gemme-serveur{grid-area:serveur;align-self:start;font-size:11px}
#ww-lb2 .gemme:not(.premiere) .gemme-temps{grid-area:duree;gap:0}
#ww-lb2 .gemme:not(.premiere) .gemme-duree{font-size:22px}
#ww-lb2 .gemme:not(.premiere) .etiquette,#ww-lb2 .gemme:not(.premiere) .piste,#ww-lb2 .gemme:not(.premiere) .gemme-stats,#ww-lb2 .gemme:not(.premiere) .gemme-int::after{display:none}
}
@media (max-width:1040px){
#ww-lb2 .rail{display:none}
#ww-lb2 .c-capt,#ww-lb2 .c-votes{display:none}
#ww-lb2 .rail,#ww-lb2 .ligne{grid-template-columns:44px minmax(0,.7fr) minmax(0,1.15fr) minmax(0,1.15fr);grid-template-areas:"rang nom nom nom" "rang temps temps temps" "rang alpha boss raids";gap:12px 14px}
#ww-lb2 .palier{letter-spacing:.04em;padding:3px 7px}
#ww-lb2 .ligne{padding-top:16px;padding-bottom:16px}
#ww-lb2 .c-num,#ww-lb2 .c-temps{justify-items:start;grid-template-rows:auto auto}
#ww-lb2 .c-num .palier{margin-top:5px}
#ww-lb2 .c-temps{margin-top:2px}
#ww-lb2[data-dures="off"] .rail,#ww-lb2[data-dures="off"] .ligne{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"rang nom nom" "rang temps alpha"}
}
@media (max-width:560px){
#ww-lb2 .lb2-tableau{border-radius:16px}
#ww-lb2 .onglet{flex:1 1 auto;text-align:center}
#ww-lb2 .rail,#ww-lb2 .ligne{grid-template-columns:40px repeat(2,minmax(0,1fr));grid-template-areas:"rang nom nom" "rang temps alpha" "rang boss raids"}
#ww-lb2[data-dures="off"] .rail,#ww-lb2[data-dures="off"] .ligne{grid-template-areas:"rang nom nom" "rang temps alpha"}
}
@media (max-width:350px){
#ww-lb2 .rail,#ww-lb2 .ligne{grid-template-areas:"rang nom nom" "rang temps alpha" "rang boss boss" "rang raids raids"}
}
@media (max-width:900px){
#ww-root{min-width:0 !important;overflow-x:hidden}
#ww-root [style*="grid-template-columns"]{grid-template-columns:1fr !important}
#ww-root section,#ww-root footer,#ww-root [id^="ww-"]{padding-left:18px !important;padding-right:18px !important}
#ww-root h1{font-size:34px !important;line-height:1.1 !important}
#ww-root h2{font-size:27px !important;line-height:1.14 !important}
#ww-root p{font-size:16px !important}
#ww-root img[style*="height:190px"]{height:112px !important}
#ww-root [style*="border-radius:26px"],#ww-root [style*="border-radius:30px"]{border-radius:18px !important}
#ww-root [style*="padding:72px 60px"],#ww-root [style*="padding:44px 48px"]{padding:34px 20px !important}
#ww-root button,#ww-root a[style*="padding:1"]{min-height:48px}
#ww-root [data-lb-row],#ww-root [data-lb-head]{grid-template-columns:30px minmax(0,1fr) 76px !important;gap:10px !important;padding-left:12px !important;padding-right:12px !important}
#ww-root [data-lb-row]>*:nth-child(2),#ww-root [data-lb-row]>*:nth-child(4),#ww-root [data-lb-row]>*:nth-child(6),#ww-root [data-lb-row]>*:nth-child(7),#ww-root [data-lb-row]>*:nth-child(8),#ww-root [data-lb-head]>*:nth-child(2),#ww-root [data-lb-head]>*:nth-child(4),#ww-root [data-lb-head]>*:nth-child(6),#ww-root [data-lb-head]>*:nth-child(7),#ww-root [data-lb-head]>*:nth-child(8){display:none !important}
}


/* Onglet courant : l'ancien routeur peignait l'état actif en JS ; en pages
   séparées c'est le serveur qui le sait, donc du CSS suffit. */
#ww-root [data-nav-cur]{background:rgba(86,168,255,.14);color:#EAF0FF;font-weight:700}

/* Onglet Maps camouflé (06/08) : la page existe et reste accessible par son URL,
   mais elle n'est plus annoncée tant que les cartes live n'ont pas leurs URL.
   Masquer le lien plutôt que supprimer la page évite d'avoir à la reconstruire
   quand elle s'allumera. */
[data-camoufle]{display:none !important}
