/* OPUS · pages publiques rendues par le serveur (artistes, jeux). Mêmes jetons que decouvrir.css. */
:root{
  --fond:#08080c; --fond2:#111119; --fond3:#16161f; --trait:#23232f; --texte:#f2f2f7; --gris:#a3a3b4;
  --C:#6b7a8f; --PC:#3d7dff; --R:#9b4dff; --SR:#ff3d8b; --UR:#ff8a1f; --L:#ffd24a; --M:#2ee6d6;
  --ease:cubic-bezier(.22,1,.36,1);
  --marge:clamp(20px,5vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--fond);color:var(--texte);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-underline-offset:3px}
h1,h2{line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
:focus-visible{outline:2px solid var(--L);outline-offset:3px;border-radius:6px}

.haut{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px var(--marge);padding-top:max(12px,env(safe-area-inset-top));
  background:rgba(8,8,12,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(35,35,47,.6)}
.haut img{display:block;height:28px;width:auto}
.haut-nav{display:flex;align-items:center;gap:6px}
.haut-nav a{font-weight:700;font-size:14px;text-decoration:none;padding:8px 10px;border-radius:999px;color:#cfcfdb}
.haut-nav a:hover{color:var(--texte)}
.haut-nav .haut-jouer{color:var(--texte);padding:8px 16px;border:1px solid var(--trait);background:var(--fond2)}

main{max-width:1040px;margin:0 auto;padding:0 var(--marge) 24px}
main>section{padding-top:clamp(36px,6vw,64px)}
main h2{font-size:clamp(1.35rem,3.2vw,1.8rem);font-weight:900;margin-bottom:12px}
main p{color:#cfcfdb;max-width:46em}
main p+p{margin-top:10px}

.fil{padding-top:18px;font-size:13.5px;color:var(--gris);display:flex;flex-wrap:wrap;gap:4px 6px}
.fil a{color:var(--gris)}
.fil [aria-current]{color:var(--texte)}

.tete{padding-top:clamp(20px,4vw,40px)!important}
.tete h1{font-size:clamp(1.9rem,5.6vw,3rem);font-weight:900}
.chapo{margin-top:14px;font-size:clamp(1.02rem,2.1vw,1.15rem)}
.tete.artiste{display:grid;gap:22px;align-items:center}
@media (min-width:720px){.tete.artiste{grid-template-columns:200px minmax(0,1fr)}}
.portrait{width:clamp(140px,40vw,200px);height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 20%;
  border-radius:20px;border:3px solid var(--trait);background:var(--fond3)}

.cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;margin-top:6px;
  border-radius:999px;font-weight:800;font-size:17px;text-decoration:none;color:#fff;
  background:linear-gradient(92deg,var(--SR),var(--UR));box-shadow:0 10px 34px -12px rgba(255,61,139,.75);
  transition:transform .25s var(--ease)}
.cta:hover{transform:translateY(-2px)}
.cta:active{transform:scale(.97)}

.tuiles{list-style:none;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.tuile{display:grid;gap:4px;height:100%;padding:18px;border-radius:18px;text-decoration:none;
  background:var(--fond2);border:1px solid var(--trait);transition:border-color .2s,transform .25s var(--ease)}
.tuile:hover{border-color:var(--SR);transform:translateY(-2px)}
.tuile b{font-size:1.1rem}
.tuile span{color:#cfcfdb;font-size:14.5px;line-height:1.45}
.tuile small{color:var(--gris);font-size:13px}

.colonnes{list-style:none;columns:3 220px;column-gap:28px;margin-top:6px}
.colonnes li{break-inside:avoid;padding:5px 0;border-bottom:1px solid rgba(35,35,47,.6);font-size:15px}
.colonnes a{text-decoration:none;font-weight:600}
.colonnes a:hover{text-decoration:underline}
.colonnes small{color:var(--gris);font-size:12.5px;font-variant-numeric:tabular-nums}

.sommaire{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.sommaire a{min-width:40px;min-height:40px;display:grid;place-items:center;border-radius:10px;font-weight:800;
  text-decoration:none;background:var(--fond2);border:1px solid var(--trait)}
.sommaire a:hover{border-color:var(--L)}
.lettre{padding-top:28px!important;scroll-margin-top:70px}
.lettre h2{color:var(--L)}
.autres{margin-top:14px;font-size:14.5px}

.chiffres{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));margin:6px 0 16px}
.chiffres div{padding:14px 16px;border-radius:16px;background:var(--fond2);border:1px solid var(--trait)}
.chiffres dt{font-size:12.5px;color:var(--gris);font-weight:700}
.chiffres dd{font-size:1.7rem;font-weight:900;font-variant-numeric:tabular-nums}

.barres{list-style:none;display:grid;gap:6px;margin-top:16px;max-width:560px}
.barres li{position:relative;display:flex;justify-content:space-between;padding:7px 12px;border-radius:10px;
  font-size:14px;overflow:hidden;background:var(--fond2);isolation:isolate}
.barres li::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);z-index:-1;
  background:color-mix(in srgb,var(--c) 35%,transparent)}
.barres b{font-variant-numeric:tabular-nums}

.bio{margin-top:clamp(28px,5vw,44px);padding:18px 20px;border-left:3px solid var(--L);background:var(--fond2);
  border-radius:0 16px 16px 0;max-width:46em}
.bio footer{margin-top:8px;font-size:12.5px;color:var(--gris)}

.tableau{overflow-x:auto;margin-top:12px;border:1px solid var(--trait);border-radius:16px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--trait);font-size:14.5px}
thead th{font-size:12.5px;color:var(--gris);font-weight:700;background:var(--fond2)}
tbody tr:last-child td{border-bottom:0}
td:first-child a{font-weight:700;text-decoration:none}
td:first-child a:hover{text-decoration:underline}
td.nb{font-weight:800}
.rar{display:inline-block;padding:2px 8px;border-radius:7px;font-size:12px;font-weight:800;white-space:nowrap;
  color:#0a0a0f;background:var(--C)}
.r-PC{background:var(--PC);color:#fff}.r-R{background:var(--R);color:#fff}.r-SR{background:var(--SR);color:#fff}
.r-UR{background:var(--UR)}.r-L{background:var(--L)}.r-M{background:var(--M)}
.libre{color:#2bd67b}

.puces{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.puces a{display:inline-flex;min-height:40px;align-items:center;padding:0 14px;border-radius:999px;text-decoration:none;
  font-weight:700;font-size:14.5px;background:var(--fond2);border:1px solid var(--trait)}
.puces a:hover{border-color:var(--SR)}

.regles{display:grid;gap:8px;padding-left:1.1em;max-width:46em;color:#cfcfdb}
.regles b{color:var(--texte)}

.appel{text-align:center;padding:clamp(48px,8vw,80px) 0 0!important}
.appel h2{font-size:clamp(1.5rem,4vw,2.2rem)}
.appel p{margin:8px auto 18px}
.appel .mini{font-size:13.5px;color:var(--gris);margin-top:12px}
.credit{margin-top:28px;font-size:12px;color:#6f6f82;text-align:center;max-width:none}
.credit a{color:var(--gris)}

.pied{border-top:1px solid var(--trait);margin-top:clamp(48px,8vw,80px);
  padding:28px var(--marge) calc(32px + env(safe-area-inset-bottom));color:var(--gris);font-size:13.5px}
.pied nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px}
.pied p{max-width:62em}

@media (max-width:560px){th:nth-child(2),td:nth-child(2){display:none}th,td{padding:10px 8px;font-size:14px}}
@media (max-width:420px){.haut-nav a:not(.haut-jouer){padding:8px 6px;font-size:13.5px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
