/* Minecaria : noir bleute de galerie de mine, cartes et boutons aux coins coupes comme des facettes de minerai,
   titres en Chakra Petch, une couleur d'accent (--accent, reglee dans /admin/reglages).
   Couleurs des divisions reprises du mod (faction/Division.java). */
:root{
  --accent:#8b5cf6;
  --fond:#0c0e13; --fond2:#141821; --fond3:#1c212d; --ligne:#272d3b; --texte:#eef1f6; --doux:#9aa3b5;
  --violet:#a78bfa; --cyan:#22d3ee; --vert:#4ade80; --rouge:#f87171; --orange:#fb923c;
  --ethrite:#7fb3a6; --saphire:#4a8cff; --epidote:#5bd46a; --onyx:#b25cff; --galena:#f5c542;
  --titre:"Chakra Petch",system-ui,sans-serif; --corps:"Inter",system-ui,sans-serif; --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
  --pan:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
  --pan-btn:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));
  --reflet:inset 0 1px 0 rgba(255,255,255,.05);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.65 var(--corps);min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%}
a{color:var(--accent);text-underline-offset:3px}
[hidden]{display:none!important}
.saut{position:absolute;left:-999px}.saut:focus{left:16px;top:8px;z-index:20;background:var(--accent);color:#fff;padding:8px 12px}
.bord{width:100%;max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.losange{display:inline-block;width:10px;height:10px;background:var(--accent);transform:rotate(45deg);margin-right:12px;vertical-align:.12em;flex:none}

/* En-tête, bandeau */
.haut{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--fond) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--ligne)}
.haut .bord{display:flex;align-items:center;gap:28px;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;font:700 22px var(--titre);text-transform:uppercase;letter-spacing:.08em;color:var(--texte);text-decoration:none;white-space:nowrap}
.gemme{width:28px;height:28px;flex:none}
nav#menu{display:flex;flex-wrap:wrap;flex:1;justify-content:flex-end;gap:2px}
nav#menu a{color:var(--doux);text-decoration:none;padding:8px 11px;font:500 14px var(--corps);position:relative}
nav#menu a:hover,nav#menu a:focus-visible{color:var(--texte);outline:none}
nav#menu a[aria-current]{color:var(--texte)}
nav#menu a[aria-current]::after{content:"";position:absolute;left:50%;bottom:-1px;width:7px;height:7px;background:var(--accent);transform:translateX(-50%) rotate(45deg)}
.actions{display:flex;align-items:center;gap:14px}
.connexion{color:var(--texte);text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.connexion:hover{color:var(--accent)}
.burger{display:none;background:var(--fond3);border:0;color:var(--texte);font-size:20px;padding:6px 12px;cursor:pointer;clip-path:var(--pan-btn)}
.compte{display:flex;align-items:center;gap:8px;color:var(--texte);text-decoration:none;background:var(--fond3);padding:6px 12px 6px 6px;font-weight:600;position:relative;white-space:nowrap;font-size:14px;clip-path:var(--pan-btn)}
.compte:hover{background:#252b39}
.compte img{image-rendering:pixelated}
.compte b{font-size:12px;color:var(--galena)}
.badge{position:absolute;top:2px;right:2px;background:var(--rouge);color:#1a0b0b;font:700 10px var(--corps);font-style:normal;border-radius:999px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px}
.bandeau{background:var(--accent);color:#fff;font-weight:600;font-size:14px}
.bandeau .bord{padding-block:10px;text-align:center}
.bandeau a{color:#fff;font-weight:700}
.bandeau.alerte{background:var(--orange);color:#1b1206}.bandeau.alerte a{color:#1b1206}
.point{width:8px;height:8px;border-radius:50%;background:var(--vert);display:inline-block;flex:none}

/* Éléments communs */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;background:var(--accent);color:#fff;font:600 14px var(--titre);text-transform:uppercase;letter-spacing:.08em;padding:12px 22px;cursor:pointer;text-decoration:none;clip-path:var(--pan-btn);transition:filter .15s}
.btn:hover{filter:brightness(1.15)}
.btn.grand{padding:17px 34px;font-size:16px}
.btn.petit{padding:8px 15px;font-size:13px}
.btn.gris{background:var(--fond3)}
.btn.creux{background:var(--fond3);color:var(--texte)}
.btn.creux:hover{background:#252b39;filter:none;color:#fff}
.btn.danger{background:color-mix(in srgb,var(--rouge) 16%,var(--fond2));color:var(--rouge)}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
main{padding-block:32px 72px}
.pile{display:grid;gap:28px;align-content:start}
.pile.serre{gap:14px}
.pile.large{gap:72px}
h1,h2,h3{text-wrap:balance;margin:0;font-family:var(--titre)}
h1{font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
h2{font-weight:700;font-size:19px;line-height:1.3;text-transform:uppercase;letter-spacing:.04em}
h3{font-weight:700;font-size:18px;line-height:1.3}
.titre{font-size:clamp(22px,2.8vw,30px);display:flex;align-items:center}
p{margin:0}
.entete{display:grid;gap:8px}
.entete p{color:var(--doux);max-width:70ch}
.etiq{font:600 12px var(--titre);text-transform:uppercase;letter-spacing:.14em;color:var(--doux);display:inline-flex;align-items:center}
.doux{color:var(--doux)}
.mono{font-family:var(--mono);font-size:13px}
.carte{padding:22px;display:grid;gap:14px;align-content:start;min-width:0;background:var(--fond2);clip-path:var(--pan);box-shadow:var(--reflet)}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cote{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.ligne{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ligne.ecart{justify-content:space-between}
.ligne>input{flex:1}
label{display:grid;gap:6px;color:var(--texte);font-size:14px;font-weight:600}
label small,.aide{color:var(--doux);font-weight:400;font-size:13px}
label.case{display:flex;align-items:center;gap:8px;font-weight:500}
input,select,textarea{background:var(--fond);border:1px solid var(--ligne);color:var(--texte);border-radius:3px;padding:10px 12px;font:15px var(--corps);min-width:0;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}
input[type=checkbox]{width:auto;accent-color:var(--accent)}
input[type=color]{padding:2px;height:40px;width:64px}
textarea{resize:vertical;min-height:110px;line-height:1.5}
.formulaire{display:grid;gap:16px;max-width:680px}
.formulaire.large{max-width:none}
.code{font-family:var(--mono);font-size:13px}
.champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.puce{border:0;background:var(--fond2);color:var(--doux);padding:8px 16px;cursor:pointer;font:600 13px var(--titre);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;clip-path:var(--pan-btn)}
.puce:hover{color:var(--texte);background:var(--fond3)}
.puce[aria-current],.puce[aria-pressed="true"]{color:#fff;background:var(--accent)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);white-space:nowrap}
.jauge{height:6px;background:var(--fond3);overflow:hidden}
.jauge i{display:block;height:100%;background:var(--accent)}
.tab{overflow-x:auto;background:var(--fond2);clip-path:var(--pan)}
table{width:100%;border-collapse:collapse}
.tab table{min-width:560px}
th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--ligne);vertical-align:middle}
th{font:600 12px var(--titre);text-transform:uppercase;letter-spacing:.1em;color:var(--doux);white-space:nowrap;background:var(--fond3)}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:color-mix(in srgb,var(--fond3) 60%,transparent)}
.n{font-variant-numeric:tabular-nums;text-align:right}
.flash{border-left:3px solid var(--vert);background:var(--fond2);padding:14px 18px;margin-bottom:24px}
.flash.erreur{border-left-color:var(--rouge)}
.vide{display:grid;gap:14px;justify-items:start;padding-block:40px}
.rien{color:var(--doux);padding:22px;background:var(--fond2);text-align:center;clip-path:var(--pan)}
img.tete{image-rendering:pixelated;background:var(--fond3)}
img.mini{image-rendering:pixelated;vertical-align:-5px;margin-right:8px;background:var(--fond3)}
.joueur{color:var(--texte);text-decoration:none;font-weight:600;white-space:nowrap}
.joueur:hover{color:var(--accent)}
.liste{display:grid}
.liste>*{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 0;border-bottom:1px solid var(--ligne);align-items:center}
.liste>*:last-child{border-bottom:0}
.liste span{color:var(--doux);font-size:13px;font-variant-numeric:tabular-nums}
.top{margin:0;padding:0;list-style:none;counter-reset:t}
.top li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--ligne)}
.top li:last-child{border:0}
.top li::before{counter-increment:t;content:counter(t);font:700 15px var(--titre);color:var(--doux);width:22px}
.top li:first-child::before{color:var(--galena)}
.top li>:first-child{flex:1}
.top b{font-variant-numeric:tabular-nums}
.pagination{display:flex;gap:8px;justify-content:center}

/* Texte mis en forme (articles, wiki, pages) */
.prose{display:grid;gap:14px;max-width:72ch;min-width:0}
.prose h2{font-size:19px;margin-top:12px}.prose h3{font-size:17px;margin-top:8px}.prose h4,.prose h5{font-size:15px;margin:4px 0 0}
.prose ul,.prose ol{margin:0;padding-left:22px;display:grid;gap:4px}
.prose blockquote{margin:0;padding:12px 18px;border-left:3px solid var(--accent);background:var(--fond3);color:var(--doux)}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--fond3);padding:1px 6px;border-radius:2px}
.prose hr{border:0;border-top:1px solid var(--ligne);width:100%}
.prose .tab{max-width:100%}

/* Accueil : en-tête centré au-dessus d'une coupe de mine */
.heros{position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));
  background:radial-gradient(ellipse 70% 60% at 50% 0%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%),var(--fond2);
  padding:clamp(40px,7vw,84px) clamp(18px,4vw,48px) 0;text-align:center}
.scene3d{position:relative;margin:8px calc(-1 * clamp(18px,4vw,48px)) 0;height:clamp(340px,46vw,580px);
  background:radial-gradient(ellipse 55% 50% at 50% 55%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 75%)}
.scene3d canvas{display:block;width:100%;height:100%;cursor:grab;opacity:0;transition:opacity .8s}
.scene3d canvas:active{cursor:grabbing}
.scene3d.prete canvas{opacity:1}
.scene3d.sans3d{display:none}
.scene3d figcaption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;white-space:nowrap;
  font:600 12px var(--titre);text-transform:uppercase;letter-spacing:.1em;color:var(--doux);background:color-mix(in srgb,var(--fond) 80%,transparent);padding:8px 14px;clip-path:var(--pan-btn)}
.scene3d .losange{width:7px;height:7px;margin-right:10px}
@media (pointer:coarse){.scene3d .souris{display:none}}
@media (max-width:560px){.scene3d figcaption{white-space:normal;width:max-content;max-width:calc(100% - 32px);font-size:11px;text-align:left}}
.heros-texte{position:relative;z-index:1;display:grid;gap:22px;justify-items:center}
.heros h1{font-size:clamp(34px,5.4vw,66px);line-height:1.02;max-width:20ch}
.heros h1 em{font-style:normal;color:var(--accent)}
.heros p{color:var(--doux);max-width:56ch;font-size:17px}
.heros .ligne{justify-content:center}
.ip{display:flex;align-items:center;gap:12px;background:var(--fond);border:1px solid var(--ligne);padding:13px 16px;cursor:pointer;color:var(--doux);font:500 14px var(--corps);clip-path:var(--pan-btn)}
.ip:hover{border-color:var(--accent)}
.ip b{color:var(--texte)}
.ip code{font:600 15px var(--mono);color:var(--texte)}
.ip small{color:var(--accent);font:600 12px var(--titre);text-transform:uppercase;letter-spacing:.08em}
.rejoindre{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;color:var(--doux);font-size:14px}
.rejoindre li{display:flex;align-items:center;gap:10px}
.rejoindre b{width:24px;height:24px;display:grid;place-items:center;font:700 12px var(--titre);color:#fff;position:relative}
.rejoindre b::before{content:"";position:absolute;inset:3px;background:var(--fond3);border:1px solid var(--accent);transform:rotate(45deg);z-index:-1}
.reseau{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.noeud{display:grid;gap:8px;padding:18px;background:var(--fond2);color:inherit;text-decoration:none;clip-path:var(--pan);box-shadow:inset 3px 0 0 var(--vert),var(--reflet);transition:background .15s}
.noeud.off{box-shadow:inset 3px 0 0 var(--rouge),var(--reflet)}
.noeud:hover{background:var(--fond3)}
.noeud b{font:700 17px var(--titre);text-transform:uppercase;letter-spacing:.04em}
.noeud small{color:var(--doux);font-size:13px;line-height:1.5}
.divisions{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:center}
.pyramide{display:grid;gap:6px;justify-items:center}
.etage{width:var(--l);display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;text-decoration:none;color:var(--texte);
  background:linear-gradient(90deg,color-mix(in srgb,var(--c) 30%,var(--fond2)),var(--fond2));box-shadow:inset 3px 0 0 var(--c);clip-path:var(--pan-btn);transition:filter .15s}
.etage:hover{filter:brightness(1.25)}
.etage b{font:700 16px var(--titre);text-transform:uppercase;letter-spacing:.08em;color:var(--c)}
.etage span{color:var(--doux);font-size:13px;white-space:nowrap}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ligne)}
.chiffres div{padding:22px 20px;border-left:1px solid var(--ligne)}
.chiffres div:first-child{border-left:0}
.chiffres b{display:block;font:700 34px var(--titre);font-variant-numeric:tabular-nums;color:var(--texte)}
.chiffres span{color:var(--doux);font-size:14px}
.articles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.article{display:grid;grid-template-rows:auto 1fr;color:inherit;text-decoration:none;background:var(--fond2);overflow:hidden;clip-path:var(--pan);transition:background .15s}
.article:hover{background:var(--fond3)}
.article>div:last-child{padding:18px 20px;display:grid;gap:8px;align-content:start}
.vignette{aspect-ratio:16/7;max-width:100%;display:grid;place-items:center;font:700 44px var(--titre);color:color-mix(in srgb,var(--c) 55%,white);
  background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.025) 18px 19px),linear-gradient(135deg,color-mix(in srgb,var(--c) 38%,var(--fond3)),var(--fond3) 70%)}
.meta{font:600 12px var(--titre);color:var(--doux);text-transform:uppercase;letter-spacing:.08em}
.article h3{font-size:20px}
.article p{color:var(--doux);font-size:14px}
.une{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}
.une .vignette{aspect-ratio:16/8}
.breves{display:grid;gap:10px}
.breve{display:grid;gap:4px;padding:16px 18px;background:var(--fond2);color:inherit;text-decoration:none;box-shadow:inset 3px 0 0 var(--c);clip-path:var(--pan-btn);transition:background .15s}
.breve:hover{background:var(--fond3)}
.breve b{font:700 16px/1.35 var(--titre)}
.encarts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:start}
.side{display:grid;gap:16px}

/* Article ouvert et commentaires */
.lecture{max-width:760px;display:grid;gap:18px}
.commentaire{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--ligne)}
.commentaire p{margin-top:4px;white-space:pre-line;overflow-wrap:anywhere}

/* Serveurs */
.serveurs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.serveur{padding:22px;display:grid;gap:12px;background:var(--fond2);clip-path:var(--pan);box-shadow:inset 0 3px 0 var(--accent)}
.serveur .ligne{justify-content:space-between}
.serveur h3{font-size:19px;text-transform:uppercase;letter-spacing:.04em}
.etat{font-size:13px;display:inline-flex;align-items:center;gap:6px;color:var(--vert);font-weight:700}
.etat::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.etat.off{color:var(--rouge)}
.serveur p{color:var(--doux);font-size:14px}
.serveur small{color:var(--doux);font-variant-numeric:tabular-nums}

/* Classements */
.rang{font:700 16px var(--titre);color:var(--doux);width:48px}
tbody tr:first-child .rang{color:var(--galena)}
.fac{font-weight:700}
.fac a{color:var(--texte);text-decoration:none}.fac a:hover{color:var(--accent)}
.fac small{display:block;color:var(--doux);font-weight:400;font-size:12px}

/* Profil */
.profil{display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:start}
.grade{font:700 12px var(--titre);text-transform:uppercase;letter-spacing:.12em}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 16px}
dt{color:var(--doux)}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.metiers{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.metier{display:grid;gap:6px}
.metier div{display:flex;justify-content:space-between}
.paliers{display:grid;grid-template-columns:repeat(var(--n,50),1fr);gap:2px}
.paliers i{height:12px;background:var(--fond3)}
.paliers i.ok{background:var(--accent)}
.badges{display:flex;gap:8px;flex-wrap:wrap}

/* Wiki */
.wiki{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.sommaire{display:grid;gap:2px;position:sticky;top:84px;max-height:calc(100vh - 104px);overflow:auto}
.sommaire a{color:var(--doux);text-decoration:none;padding:6px 12px;font-size:14px;font-weight:500}
.sommaire a.sous{padding-left:24px;font-size:13px}
.sommaire a:hover,.sommaire a[aria-current]{color:var(--texte);background:var(--fond2);box-shadow:inset 2px 0 0 var(--accent)}
mark{background:color-mix(in srgb,var(--galena) 35%,transparent);color:inherit}

/* FAQ */
.faq{display:grid;gap:8px;max-width:820px}
.faq details{background:var(--fond2);clip-path:var(--pan-btn)}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:8px;height:8px;margin-top:7px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details>.prose{padding:0 20px 18px;color:var(--doux)}

/* Vote */
.sites{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.recomp{padding:12px 14px;background:var(--fond);display:grid;gap:2px}
.recomp b{font-family:var(--titre);font-size:16px}

/* Boutique */
.solde{font-weight:700;color:var(--galena)}
.offres{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.offre{position:relative;padding:0;overflow:hidden;gap:0}
.offre>h3,.offre>.prose,.offre>.prix{padding-inline:20px}
.offre h3{padding-top:18px;font-size:19px;text-transform:uppercase;letter-spacing:.03em}
.offre .prose{color:var(--doux);font-size:14px;padding-block:10px}
.offre .icone{height:120px;display:grid;place-items:center;font:700 34px var(--titre);color:color-mix(in srgb,var(--c) 55%,white);
  background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.025) 18px 19px),linear-gradient(135deg,color-mix(in srgb,var(--c) 38%,var(--fond3)),var(--fond3) 70%)}
.offre .prix{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-block:16px;border-top:1px solid var(--ligne)}
.offre .prix b{font:700 20px var(--titre);color:var(--galena)}
.offre .prix s{color:var(--doux);font-size:13px;margin-right:6px}
.populaire{position:absolute;top:10px;right:10px;display:flex;gap:6px}

/* Communauté */
.equipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.membre{justify-items:center;text-align:center}

/* Administration */
.admin{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}
.menu-admin{display:grid;gap:2px;position:sticky;top:84px;background:var(--fond2);padding:8px;clip-path:var(--pan)}
.menu-admin a{color:var(--doux);text-decoration:none;padding:8px 12px;font-size:14px;font-weight:500}
.menu-admin a:hover{color:var(--texte)}
.menu-admin a[aria-current]{background:var(--fond3);color:var(--texte);box-shadow:inset 2px 0 0 var(--accent)}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi div{padding:16px;background:var(--fond2);clip-path:var(--pan-btn)}
.kpi b{display:block;font:700 26px var(--titre);font-variant-numeric:tabular-nums}
.kpi span{color:var(--doux);font-size:13px}
.courbe{width:100%;height:140px;display:block}
.courbe text{fill:var(--doux);font:12px var(--corps)}
.afaire{display:grid;gap:8px}
.afaire a{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border-left:3px solid var(--orange);color:var(--texte);text-decoration:none;background:var(--fond)}
.afaire a:hover{background:var(--fond3)}
.afaire a span{color:var(--accent);white-space:nowrap}
.rangee{display:grid;gap:12px;padding:18px;border:1px solid var(--ligne);background:var(--fond)}
.rangee.nouvelle{border-style:dashed}
.modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.modules label{padding:10px 12px;background:var(--fond)}
.compteur{font-style:normal;font-size:11px;font-weight:700;background:var(--rouge);color:#1a0b0b;border-radius:999px;padding:1px 7px;margin-left:4px}

/* Joueurs présents sur un serveur, cadeau, événements */
.presents{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.presents img.mini{margin:0;vertical-align:0}
.offrir{padding:0 20px 14px;font-size:13px}
.offrir summary{cursor:pointer;color:var(--doux)}
.offrir summary:hover{color:var(--texte)}
.offrir form{margin-top:8px;flex-wrap:nowrap}
.offrir input{padding:7px 10px;font-size:14px}
.evenements{display:grid;gap:12px}
.evenement{grid-template-columns:64px minmax(0,1fr);align-items:start}
.quand{display:grid;justify-items:center;padding:8px 0;background:var(--fond);box-shadow:inset 0 3px 0 var(--accent)}
.quand b{font:700 26px/1 var(--titre)}
.quand span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--doux)}

/* Pied de page */
.pied{color:var(--doux);font-size:14px;background:#08090d;border-top:1px solid var(--ligne);margin-top:24px}
.pied .bord{padding-block:44px 24px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}
.pied p{font-size:13px;max-width:42ch}
.pied a{color:var(--doux);text-decoration:none;display:block;padding:3px 0}
.pied a:hover{color:var(--texte)}
.pied .reseaux{gap:14px}
.pied .reseaux a{display:inline;font-weight:600}
.pied b{color:var(--texte);display:block;margin-bottom:10px;font:600 13px var(--titre);text-transform:uppercase;letter-spacing:.12em}
.ip-pied{justify-self:start;display:flex;align-items:center;gap:8px;background:var(--fond2);border:0;padding:8px 12px;color:var(--doux);font:500 13px var(--corps);cursor:pointer;clip-path:var(--pan-btn)}
.ip-pied b{display:inline;margin:0;font:700 13px var(--corps);text-transform:none;letter-spacing:0}
.ip-pied small{color:var(--accent);font-weight:600}
.pied .copyright{display:block;padding-block:16px 28px;border-top:1px solid var(--ligne);font-size:12px}

@media (max-width:1180px){
  .burger{display:block}
  .haut .bord{position:relative;gap:12px}
  .actions{margin-left:auto}
  nav#menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--fond2);border-bottom:1px solid var(--ligne);flex-direction:column;padding:10px max(16px,env(safe-area-inset-left,0px));gap:2px}
  nav#menu a{padding:12px}
  nav#menu a[aria-current]::after{left:0;bottom:50%;transform:translateY(50%) rotate(45deg)}
  nav#menu.ouvert{display:flex}
}
@media (max-width:900px){
  .profil,.deux,.cote,.wiki,.admin,.divisions,.une{grid-template-columns:1fr}
  .serveurs,.sites{grid-template-columns:1fr 1fr}
  .chiffres,.kpi,.pied .bord{grid-template-columns:1fr 1fr}
  .chiffres div:nth-child(3){border-left:0}
  .chiffres div:nth-child(n+3){border-top:1px solid var(--ligne)}
  .sommaire,.menu-admin{position:static;max-height:none}
  .sommaire,.menu-admin{display:flex;flex-wrap:wrap}
  .sommaire a.sous{display:none}
  .pile.large{gap:56px}
}
@media (max-width:560px){
  .serveurs,.sites,.metiers,.articles{grid-template-columns:1fr}
  .compte b,.actions .btn{display:none}
  .etage{width:100%}
  .reseau{grid-template-columns:1fr 1fr}.noeud small{display:none}
  .rejoindre{flex-direction:column;align-items:flex-start;text-align:left}
  .ip{flex-wrap:wrap;justify-content:center}
  .btn.grand{width:100%}
}
@media (prefers-reduced-motion:no-preference){.jauge i{transition:width .6s}}
.monte{display:inline-flex;align-items:center;gap:6px;color:var(--vert);font-weight:700}

/* Support en direct : bulle de chat sur toutes les pages, et page d'un ticket */
.support-direct{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;display:grid;justify-items:end;gap:12px}
.bouton-support{position:relative;display:flex;align-items:center;gap:10px;border:0;background:var(--accent);color:#fff;padding:13px 18px;font:600 14px var(--titre);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;clip-path:var(--pan-btn);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.bouton-support:hover{filter:brightness(1.12)}
.support-direct.ouverte .bouton-support span{display:none}
.non-lu{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 2px var(--accent)}
.fenetre-support{width:min(380px,calc(100vw - 36px));height:min(540px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--fond2);border:1px solid var(--ligne);clip-path:var(--pan);box-shadow:0 20px 50px rgba(0,0,0,.55)}
.fenetre-support[hidden]{display:none}
.fenetre-support header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 35%,var(--fond3)),var(--fond3))}
.fenetre-support header b{display:block;font:700 15px var(--titre);text-transform:uppercase;letter-spacing:.06em}
.fenetre-support header small{color:var(--doux);font-size:12px}
.fenetre-support .fermer{background:none;border:0;color:var(--texte);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}
.fenetre-support .chat{flex:1;min-height:0;padding:14px}
.chat{display:flex;flex-direction:column;gap:10px}
.chat .fil{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}
.chat.grand{background:var(--fond2);padding:16px;clip-path:var(--pan)}
.chat.grand .fil{max-height:60vh;min-height:220px}
.accueil-chat{color:var(--doux);font-size:14px;background:var(--fond);padding:12px 14px}
.bulle{display:flex;gap:8px;align-items:flex-end;max-width:88%}
.bulle img{image-rendering:pixelated;flex:none}
.bulle>div{background:var(--fond3);padding:8px 12px;border-radius:10px 10px 10px 2px;min-width:0}
.bulle p{white-space:pre-line;overflow-wrap:anywhere;font-size:14px}
.bulle .qui{display:block;font-size:11px;color:var(--doux);margin-bottom:2px}
.bulle.staff>div{background:color-mix(in srgb,var(--cyan) 14%,var(--fond3))}
.bulle.moi{align-self:flex-end;flex-direction:row-reverse}
.bulle.moi>div{background:color-mix(in srgb,var(--accent) 38%,var(--fond3));border-radius:10px 10px 2px 10px}
.saisie{display:grid;gap:8px}
.saisie .ligne{flex-wrap:nowrap;align-items:flex-end}
.saisie textarea{min-height:44px;resize:none}
.saisie select{padding:8px 10px;font-size:14px}
.rapides{flex-wrap:wrap!important}
.lien-fermer{justify-self:start;background:none;border:0;color:var(--doux);font-size:13px;cursor:pointer;padding:0;text-decoration:underline}
@media (max-width:560px){.bouton-support span{display:none}.fenetre-support{height:calc(100vh - 110px)}}
.sommaire .groupe{padding:14px 12px 4px;color:var(--accent)}.sommaire .groupe:first-child{padding-top:0}
.wiki .prose{max-width:none}
@media (max-width:900px){.wiki .sommaire{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.wiki .sommaire a,.wiki .sommaire .groupe{white-space:nowrap;flex:none}}
