/* Comptes joueurs (inscription, connexion, profil, liste des joueurs) : même salle « acier » que le site. */
:root{
  --bg:#101214; --panel:#191C20; --panel-2:#20242A; --line:#2C3036; --text:#E6E8EA; --muted:#9AA1A9; --on:#F0C24B;
  --ok:#8BC37A; --bad:#E06C5A; --plate:#E9E5DC;
  --f-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.5 var(--f-body)}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--on)}
.site{--s-bg:#16181B;--s-line:#2C3036;--s-text:#E6E8EA;--s-muted:#9AA1A9;--s-on:#F0C24B;position:relative;z-index:6;
  background:var(--s-bg);border-bottom:1px solid var(--s-line);color:var(--s-text);font:600 .9rem/1.2 "Archivo",Arial,sans-serif;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:10px 20px}
.site .brand{color:var(--s-text);text-decoration:none;font:800 1.15rem/1 "Big Shoulders Display","Arial Narrow",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.site .brand b{color:var(--s-on)}
.site nav{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}
.site nav a{color:var(--s-muted);text-decoration:none;padding:6px 12px;border-radius:4px}
.site nav a:hover{color:var(--s-text);background:var(--s-line)}
.site nav a[aria-current="page"]{color:var(--s-bg);background:var(--s-on)}
.site a:focus-visible{outline:2px solid var(--s-on);outline-offset:2px}

.wrap{max-width:1120px;margin:0 auto;padding:0 20px 72px}
.narrow{max-width:720px}
.hero{padding-block:40px 20px;display:grid;gap:10px}
.eyebrow{font:700 .72rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--on)}
.hero h1{font:900 clamp(2.4rem,7vw,4.2rem)/.92 var(--f-display);text-transform:uppercase}
.lede{color:var(--muted);max-width:62ch}

.card{background:var(--panel);border:1px solid var(--line);padding:18px;display:grid;gap:16px}
.card+.card{margin-top:16px}
.card h2{font:800 1.4rem/1 var(--f-display);text-transform:uppercase}
.fld{display:grid;gap:5px}
.fld>span{font:700 .7rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fld small{color:var(--muted);font-size:.8rem}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
input[type=text],input[type=password],input[type=email],select{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font:400 1rem var(--f-body)}
input:focus,select:focus{outline:2px solid var(--on);outline-offset:0;border-color:transparent}
input[aria-invalid="true"]{border-color:var(--bad)}

.facs{display:grid;gap:8px}
.facrow{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:8px;align-items:center}
.facs .empty{color:var(--muted);font-size:.9rem}
.modes{display:grid;gap:10px}
.chk{display:flex;gap:10px;align-items:center;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--on)}
.pref{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pref>span{font:700 .7rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.pref label{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-weight:600}
.pref label:has(input:checked){background:var(--on);border-color:var(--on);color:#16181B}
.pref label:has(input:disabled){opacity:.4;cursor:not-allowed}
.pref input{accent-color:#16181B}

.btn,.btn2,.lnk{all:unset;cursor:pointer;font:700 .92rem var(--f-body);padding:11px 18px;border-radius:4px;text-align:center}
.btn{background:var(--on);color:#16181B}
.btn:hover{filter:brightness(1.08)}
.btn2{border:1px solid var(--line);color:var(--text)}
.btn2:hover{border-color:var(--muted)}
.lnk{padding:6px 10px;color:var(--muted);font-weight:600}
.lnk:hover{color:var(--text)}
.btn:focus-visible,.btn2:focus-visible,.lnk:focus-visible{outline:2px solid var(--on);outline-offset:2px}
.btn[disabled]{opacity:.5;cursor:wait}
.acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.msg{min-height:1.4em;font-size:.92rem}
.msg.ok{color:var(--ok)} .msg.err{color:var(--bad)}
.note{color:var(--muted);font-size:.9rem}

/* liste des joueurs */
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}
.filters .fld{min-width:200px}
.count{font:500 .82rem var(--f-mono);color:var(--muted);margin-left:auto}
.players{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.player{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--on);padding:14px 16px;display:grid;gap:10px;align-content:start;scroll-margin-top:16px}
.player:target{border-color:var(--on)}
.player h2{font:800 1.5rem/1 var(--f-display);text-transform:uppercase}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font:600 .74rem var(--f-body);padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.tag.pref{background:var(--on);border-color:var(--on);color:#16181B}
.flist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.flist li{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;background:var(--panel-2);border-radius:3px}
.flist b{font-weight:600}
.flist span{font:500 .82rem var(--f-mono);color:var(--on);white-space:nowrap}
.since{font:500 .74rem var(--f-mono);color:var(--muted)}
.emptyl{color:var(--muted);border:1px dashed var(--line);padding:20px;text-align:center}
@media (max-width:560px){.facrow{grid-template-columns:1fr 110px auto}}
