/* =====================================================================
   VITRINE D'UNE STRUCTURE v5 (/s/<slug>) — sol de pierre claire.
   1. La SCÈNE : la bannière plein cadre dans une pièce de nuit posée sur la pierre (noir et
      blanc tramé, elle prend sa couleur au survol), le nom en mot géant (plein + filet décalé),
      la roche passe devant le bord, l'écusson est à cheval dessus.
   2. Sur la pierre : le chapeau, « Suivre », la règle de chiffres (seulement ceux qui existent).
   3. La prochaine échéance (pièce noire, date géante, un cran par place), l'agenda en lignes
      réglées qui se retournent, les tournois en affiches avec leur languette d'inscription.
   4. Les publications dans une bande de nuit ; le palmarès en lignes ; les réglages du gérant
      dans des instruments noirs.
   ===================================================================== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* L'ACCENT de la page (structures.accent_de) : les cinq teintes de la fiche d'un joueur,
   posées en classe sur chaque bloc. --o5-acc sur la pierre, --o5-acc-nuit sur le noir.
   Une touche (points, ronds, coche), jamais un texte courant. */
.o5-a--lime{--o5-acc:#89f421;--o5-acc-nuit:#89f421}
.o5-a--sapin{--o5-acc:#1f6b46;--o5-acc-nuit:#35a86c}
.o5-a--chrome{--o5-acc:#8a9398;--o5-acc-nuit:#c6cdd1}
.o5-a--craie{--o5-acc:#f6f7f3;--o5-acc-nuit:#f6f7f3}
.o5-a--encre{--o5-acc:#0a0a0a;--o5-acc-nuit:#e8e9e4}

/* ------------------------------------------------ 1. la scène */
.o5{--page:max(var(--gut),calc((100% - var(--maxw)) / 2 + var(--gut)));--bord:clamp(8px,1vw,16px);position:relative;isolation:isolate;margin-top:calc(-1 * var(--hdr-h));padding-top:8px;
  background:#d7d9d6;border-radius:0 0 clamp(22px,2.6vw,38px) clamp(22px,2.6vw,38px)}
.o5::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:radial-gradient(70% 60% at 62% 76%,#eff1ef,transparent 70%),radial-gradient(60% 60% at 0 100%,#bcc1c0,transparent 66%)}
.o5::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;background:var(--v5-grain);filter:invert(1);opacity:.2}
.o5:not(:has(.o5__regle)){padding-bottom:clamp(24px,3vw,44px)}
.o5__scene{position:relative;isolation:isolate;overflow:hidden;margin:0 var(--bord);height:clamp(430px,64vh,640px);color:#f1f1ec;background:#070707;
  border-radius:clamp(22px,2.6vw,38px) clamp(22px,2.6vw,38px) clamp(22px,2.6vw,38px) 8px;box-shadow:0 34px 50px -40px rgba(0,0,0,.55)}
.o5__ban{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;filter:grayscale(1) contrast(1.22) brightness(.62);
  transform:translate3d(calc(var(--mx,0) * -12px),calc(var(--my,0) * -8px),0);transition:filter 900ms var(--v5-masse)}
.o5:hover .o5__ban{filter:grayscale(0) contrast(1.06) brightness(.8)}
.o5__ban--roche{object-fit:contain;padding:9% 4% 6% 52%;filter:brightness(1.7) contrast(1.05)}
.o5:hover .o5__ban--roche{filter:brightness(1.7) contrast(1.05)}
.o5--vide .o5__scene{background:url("/static/players/roche.webp") center/520px,linear-gradient(180deg,#1b1b1b,#070707);background-blend-mode:soft-light,normal}
/* la trame de lames et le voile : le haut reste lisible sous l'île, le bas porte le mot */
.o5__lames{position:absolute;inset:0;z-index:1;pointer-events:none;transition:opacity 700ms linear;
  background:linear-gradient(180deg,rgba(5,5,5,.72) 0,rgba(5,5,5,.1) 30%,rgba(5,5,5,.16) 52%,rgba(7,7,7,.94) 100%),
             repeating-linear-gradient(90deg,rgba(5,5,5,.26) 0 1.5px,transparent 1.5px 5px)}
.o5:hover .o5__lames{background:linear-gradient(180deg,rgba(5,5,5,.72) 0,rgba(5,5,5,.06) 30%,rgba(5,5,5,.12) 52%,rgba(7,7,7,.9) 100%)}
.o5__scene::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:var(--v5-grain);opacity:.09;mix-blend-mode:overlay}
.o5__hud{position:absolute;z-index:4;top:112px;left:var(--page);display:grid;gap:3px;color:rgba(241,241,236,.62)}
.o5__hud b{color:#f1f1ec}
.o5__ok{position:absolute;z-index:4;top:112px;right:var(--page);display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:8px;white-space:nowrap;
  font-family:var(--f-mono);font-weight:700;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:#f1f1ec;background:rgba(8,8,8,.72);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.o5__ok .ico,.o5__ok svg{color:var(--o5-acc-nuit,var(--v5-lime))}
/* le mot géant : sa largeur suit la longueur du nom (un nom court ne devient pas démesuré) */
.o5__motbox{position:absolute;z-index:2;left:var(--page);bottom:clamp(26px,3.4vw,52px);width:min(calc(100% - 2 * var(--page)),calc(var(--n) * 9.4vw))}
.o5__mot{display:block;margin:0;white-space:nowrap;font-size:11vw;line-height:.8;color:#f1f1ec;user-select:none;
  transform:translate3d(calc(var(--mx,0) * -8px),calc(var(--my,0) * -5px),0)}
.o5__mot > span{display:inline-block;-webkit-mask:linear-gradient(180deg,#000 0,#000 52%,rgba(0,0,0,.34) 100%);mask:linear-gradient(180deg,#000 0,#000 52%,rgba(0,0,0,.34) 100%)}
.o5__mot--fil{position:absolute;left:0;top:0;color:transparent;-webkit-text-stroke:1.5px rgba(241,241,236,.78);pointer-events:none;
  transform:translate3d(calc(.035em + var(--mx,0) * 9px),calc(-.05em + var(--my,0) * 6px),0)}
.o5__mot--fil > span{-webkit-mask:linear-gradient(180deg,transparent 0,#000 60%);mask:linear-gradient(180deg,transparent 0,#000 60%)}
.o5__roche{position:absolute;z-index:3;right:calc(var(--page) - 3%);top:clamp(300px,46vh,470px);width:clamp(150px,19vw,310px);height:auto;pointer-events:none;
  filter:drop-shadow(0 34px 30px rgba(0,0,0,.4));transform:translate3d(calc(var(--mx,0) * 22px),calc(var(--fy,0px) + var(--my,0) * 14px),0) rotate(-12deg)}
.v5js .o5__mot{opacity:0;filter:blur(24px);transition:opacity 1000ms var(--v5-sortie),filter 1300ms var(--v5-sortie)}
.v5js .o5__roche,.v5js .o5__hud,.v5js .o5__bas > *,.v5js .o5__regle > div{opacity:0;transition:opacity 900ms var(--v5-sortie) 350ms}
.v5js .o5.is-la .o5__mot{opacity:1;filter:none}
.v5js .o5.is-la .o5__roche,.v5js .o5.is-la .o5__hud,.v5js .o5.is-la .o5__bas > *,.v5js .o5.is-la .o5__regle > div{opacity:1}

/* ------------------------------------------------ 2. sous la scène, sur la pierre */
.o5__bas{--deb:clamp(44px,5vw,70px);position:relative;z-index:4;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,2.6vw,40px);align-items:start;
  padding:0 var(--page);margin-top:calc(-1 * var(--deb))}
/* l'écusson : découpé dans la pierre (anneau du sol), à cheval sur le bord de la scène */
.o5__ecu{display:block;width:clamp(104px,11vw,150px);aspect-ratio:1;border-radius:30px 30px 30px 8px;overflow:hidden;background:#0c0c0c;
  box-shadow:0 0 0 6px #d7d9d6,inset 0 0 0 1px rgba(255,255,255,.2),0 30px 40px -18px rgba(0,0,0,.55)}
.o5__ecu .so-logo{display:block;width:100%;height:100%;object-fit:cover}
.o5__ecu .so-crest{display:grid;place-items:center;font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(34px,4vw,54px);letter-spacing:-.045em;color:#f1f1ec;
  background:url("/static/players/roche.webp") center/300px,linear-gradient(180deg,#1d1d1d,#070707);background-blend-mode:soft-light,normal}
.o5__id,.o5__actes{padding-top:calc(var(--deb) + clamp(18px,2vw,28px))}
.o5__lede{margin:0;max-width:44ch;font-family:var(--f-display);font-weight:500;font-size:clamp(18px,1.7vw,24px);line-height:1.24;letter-spacing:-.015em;color:#0a0a0a;text-wrap:balance}
.o5__actes{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.o5__actes form{margin:0}
.o5__regle{display:flex;height:76px;margin:clamp(22px,3vw,40px) 0 0;padding-inline:var(--page);border-top:1px solid rgba(10,10,10,.16);color:rgba(10,10,10,.62)}
.o5__regle > div{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-inline:22px;border-left:1px solid rgba(10,10,10,.16)}
.o5__regle > div:first-child{border-left:0;padding-left:0}
.o5__regle > div:last-child{padding-right:0}
.o5__regle dd{margin:0;font-family:var(--f-chiffre);font-weight:800;font-size:40px;line-height:1;letter-spacing:.01em;color:#0a0a0a}

.o5-sec{padding-top:clamp(34px,4.4vw,64px)}
.o5-sec--fin{padding-top:clamp(20px,3vw,44px)}
body.sol-clair .sec .o5-etat{position:relative;margin:0 0 clamp(24px,3vw,40px);padding:16px 20px 16px 44px;max-width:76ch;border-radius:16px 16px 16px 4px;font-size:15px;line-height:1.55;color:#0a0a0a;
  background:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1.5px #0a0a0a}
.o5-etat .v5-croix{left:16px;top:20px;opacity:1}
.o5-etat .v5-croix::before,.o5-etat .v5-croix::after{background:#0a0a0a}
.o5-liens{display:grid;gap:12px;margin:0 0 clamp(26px,3.4vw,48px)}
.o5-liens .so-liens{display:flex;flex-wrap:wrap;gap:8px}
.o5-liens .so-liens a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;text-decoration:none;color:#0a0a0a;box-shadow:inset 0 0 0 1.5px #0a0a0a;
  font-family:var(--f-mono);font-weight:700;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;transition:background 240ms var(--v5-masse),color 240ms var(--v5-masse)}
.o5-liens .so-liens a:hover{color:#f1f1ec;background:#0a0a0a}
.o5-liens .so-note{margin:0;max-width:70ch;font-size:13px;line-height:1.5;color:rgba(10,10,10,.62)}

/* les titres de section : fonte large, filet noir, le compte à droite */
.o5-titre{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:16px;border-bottom:1.5px solid #0a0a0a}
.o5-titre h2{margin:0;font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(30px,4.4vw,64px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;color:#0a0a0a}
.o5-titre .v5-rel{padding-bottom:4px;color:rgba(10,10,10,.62)}
.o5-titre .v5-rel b{color:#0a0a0a}
.o5-tours{margin-top:clamp(44px,6vw,90px)}

/* ------------------------------------------------ 3a. la prochaine échéance : une pièce noire en relief */
.o5-next{position:relative;isolation:isolate;display:block;padding:6px;border-radius:32px 32px 32px 8px;color:#f1f1ec;text-decoration:none;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.02)),#0b0b0b;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.13),0 0 0 5px rgba(10,10,10,.06),0 54px 80px -52px rgba(0,0,0,.8);
  transform:perspective(1400px) rotateX(calc(var(--rx,0deg) * .4)) rotateY(calc(var(--ry,0deg) * .3));transition:transform 240ms cubic-bezier(.2,.7,.2,1)}
.o5-next__roche{position:absolute;z-index:2;right:22%;top:-58px;width:clamp(90px,10vw,150px);height:auto;pointer-events:none;filter:drop-shadow(0 20px 18px rgba(0,0,0,.4));
  transform:translate3d(0,var(--fy,0px),0) rotate(24deg)}
.o5-next .so-next__in{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:end;gap:clamp(18px,2.6vw,44px);padding:clamp(20px,2.6vw,36px);overflow:hidden;
  border-radius:26px 26px 26px 4px;background:url("/static/players/roche.webp") center/520px,linear-gradient(180deg,#171717,#080808);background-blend-mode:soft-light,normal;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.o5-next__date{display:flex;align-items:baseline;font-family:var(--f-chiffre);font-weight:800;line-height:.76;color:#f1f1ec}
.o5-next__date b{font-size:clamp(104px,12vw,188px);font-weight:800;letter-spacing:-.01em}
.o5-next__date i{margin-left:6px;font-style:normal;font-size:clamp(30px,3.2vw,48px);font-weight:700;color:rgba(241,241,236,.6)}
.o5-next .so-next__l{display:grid;gap:10px;min-width:0;padding-bottom:4px}
.o5-next .so-next__k{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-weight:700;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:rgba(241,241,236,.7)}
.o5-next .so-next__k i{width:7px;height:7px;border-radius:50%;background:var(--o5-acc-nuit,var(--v5-lime));box-shadow:0 0 0 3px color-mix(in srgb,var(--o5-acc-nuit,var(--v5-lime)) 20%,transparent)}
.o5-next.est-live .so-next__k{color:#fff}
.o5-next.est-live .so-next__k i{background:#e5262b;box-shadow:0 0 0 3px rgba(229,38,43,.25);animation:a5-pouls 1.4s ease-in-out infinite}
.o5-next .so-next__n{font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(24px,3vw,46px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance}
.o5-next .so-next__d{font-size:14.5px;color:rgba(241,241,236,.7)}
.o5-next .so-next__r{display:grid;justify-items:end;gap:10px;text-align:right;padding-bottom:4px}
.o5-next .so-next__c{font-family:var(--f-display);font-weight:760;font-size:clamp(17px,1.7vw,22px);line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.o5-next .so-next__p{font-family:var(--f-mono);font-weight:600;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:rgba(241,241,236,.6)}
/* la jauge : un cran par place — le nombre de crans EST la capacité du tournoi */
.o5-next .so-jauge{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;width:clamp(150px,17vw,240px);height:16px}
.o5-next .so-jauge i{border-radius:1px;background:rgba(241,241,236,.12);transition:transform 600ms var(--v5-masse)}
.o5-next .so-jauge i.est-pris{background:#f1f1ec}
.o5-next .so-jauge.est-serre i:not(.est-pris){background:rgba(137,244,33,.5)}
.o5-next:hover .so-jauge i.est-pris{transform:scaleY(1.16)}
.o5-next .so-barre{display:block;width:clamp(150px,17vw,240px);height:4px;border-radius:2px;overflow:hidden;background:rgba(241,241,236,.12)}
.o5-next .so-barre i{display:block;height:100%;background:#f1f1ec}
.o5-next .v5-rond{width:48px;height:48px;color:#f1f1ec;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
  transition:transform 520ms var(--v5-masse),background 300ms var(--v5-masse),color 300ms var(--v5-masse)}
.o5-next:hover .v5-rond,.o5-next:focus-visible .v5-rond{color:#050505;background:var(--o5-acc-nuit,var(--v5-lime));transform:rotate(45deg)}

/* ------------------------------------------------ 3b. l'agenda : des lignes réglées qui se retournent */
/* une plaque de pierre pleine sous les lignes : le texte ne flotte pas sur le décor */
.o5-ag,.o5-arch .so-arch__l{background:#e2e4e1;border-radius:24px 24px 24px 6px;box-shadow:inset 0 0 0 1px rgba(10,10,10,.07),inset 0 1px 0 rgba(255,255,255,.7),0 34px 44px -36px rgba(0,0,0,.4)}
.o5-ag{list-style:none;margin:clamp(18px,2.4vw,30px) 0 0;padding:8px}
.o5-ag .so-ag__l + .so-ag__l{border-top:1px solid rgba(10,10,10,.12)}
.o5-ag .so-ag__l > a{display:grid;grid-template-columns:clamp(84px,9vw,124px) minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2vw,28px);padding:16px 14px;color:#0a0a0a;text-decoration:none;
  border-radius:16px 16px 16px 4px;transition:background 320ms var(--v5-masse),color 320ms var(--v5-masse),padding 420ms var(--v5-masse)}
.o5-ag .so-ag__l > a:hover,.o5-ag .so-ag__l > a:focus-visible{color:#f1f1ec;background:#0a0a0a;padding-left:24px}
.o5-ag .so-ag__d{display:flex;align-items:baseline;gap:5px;font-family:var(--f-chiffre);font-weight:800;line-height:.8}
.o5-ag .so-ag__d b{font-size:clamp(46px,4.8vw,66px);font-weight:800}
.o5-ag .so-ag__d i{font-style:normal;font-family:var(--f-mono);font-weight:700;font-size:10px;letter-spacing:.07em;text-transform:uppercase;opacity:.62}
.o5-ag .so-ag__b{display:grid;gap:5px;min-width:0}
.o5-ag .so-ag__b b{font-family:var(--f-display);font-weight:760;font-size:clamp(18px,1.9vw,26px);line-height:1;letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o5-ag .so-ag__b span{font-size:13.5px;opacity:.66}
.o5-ag .so-ag__s{font-family:var(--f-mono);font-weight:700;font-size:10px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;opacity:.62}
.o5-ag .so-ag__s.est-ouvert{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:9px;color:#f1f1ec;background:#0a0a0a;opacity:1}
.o5-ag .so-ag__s.est-ouvert::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--o5-acc,var(--v5-lime))}
.o5-ag a:hover .so-ag__s.est-ouvert{color:#0a0a0a;background:#f1f1ec}
.o5-ag a:hover .so-ag__s.est-ouvert::before{background:#0a0a0a}
.o5-ag .so-ag__s:empty{display:none}
.o5-ag .is-flou .so-ag__d,.o5-ag .is-flou .so-ag__b b{opacity:.5}
body.sol-clair .sec .o5-vide{margin:0;max-width:30ch;font-family:var(--f-display);font-weight:500;font-size:clamp(20px,2.2vw,30px);line-height:1.16;letter-spacing:-.02em;color:#0a0a0a;text-wrap:balance}

/* ------------------------------------------------ 3c. ses tournois : l'affiche et sa languette */
.o5-tours__grille{align-items:start}
@media (min-width:1001px){
  .o5-tours--peu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,3vw,48px);align-items:start}
  .o5-tours--peu .o5-titre{position:sticky;top:calc(var(--hdr-h) + 20px);flex-direction:column;align-items:flex-start;gap:14px;margin:0;border-bottom:0;border-top:1.5px solid #0a0a0a;padding:16px 0 0}
  .o5-tours--peu .o5-tours__grille{grid-template-columns:repeat(auto-fit,minmax(296px,1fr))}
  .o5-tours--peu .o5-titre h2{font-size:clamp(26px,3vw,44px);max-width:9ch}
}
.o5-tour{position:relative;display:flex;flex-direction:column}
.o5-tour .a5{flex:none}
.o5-tour--vide .a5__jauge{visibility:hidden}
.o5-tour__bas{position:relative;z-index:-1;display:grid;gap:8px;margin:-22px 14px 0;padding:36px 16px 16px;border-radius:0 0 20px 6px;color:#f1f1ec;
  background:linear-gradient(180deg,#0d0d0d,#161616);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 30px 40px -30px rgba(0,0,0,.7)}
.o5-tour{isolation:isolate}
.o5-tour__bas .v5-rel{margin:0;color:rgba(241,241,236,.62)}
.o5-tour__bas .o5-tour__st{color:#f1f1ec}
.o5-tour .o5-tour__cta{margin-top:6px}
.o5-tour .o5-tour__cta .btn{width:100%;justify-content:space-between}
.o5-tour .o5-tour__n{font-size:13px;color:rgba(241,241,236,.7)}
.o5-tour.is-fini .a5{filter:saturate(.6)}

/* ------------------------------------------------ 3d. l'effectif : les joueurs confirmés, en lignes réglées */
.o5-eff{margin-top:clamp(34px,4.4vw,64px)}
.o5-eff__actes{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.o5-eff__actes form{margin:0}
.o5-eff__etat{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:9px;color:#f1f1ec;background:#0a0a0a}
.o5-titre .o5-eff__etat{padding-bottom:0;color:#f1f1ec}
.o5-eff__etat i{width:7px;height:7px;border-radius:50%;background:var(--o5-acc,var(--v5-lime))}
.o5-eff__liste{list-style:none;margin:0;padding:8px;background:#e2e4e1;border-radius:24px 24px 24px 6px;
  box-shadow:inset 0 0 0 1px rgba(10,10,10,.07),inset 0 1px 0 rgba(255,255,255,.7),0 34px 44px -36px rgba(0,0,0,.4)}
.o5-eff__liste li + li{border-top:1px solid rgba(10,10,10,.12)}
.o5-eff__liste a{display:grid;grid-template-columns:clamp(44px,5vw,70px) 52px minmax(0,1fr) auto auto;align-items:center;gap:clamp(12px,1.8vw,24px);padding:12px 14px;color:#0a0a0a;text-decoration:none;
  border-radius:16px 16px 16px 4px;transition:color 240ms linear,background 240ms linear,padding 420ms var(--v5-masse)}
.o5-eff__liste a:hover,.o5-eff__liste a:focus-visible{color:#f1f1ec;background:#0a0a0a;padding-left:24px}
.o5-eff__n{font-family:var(--f-chiffre);font-weight:800;font-size:clamp(26px,2.6vw,36px);line-height:.9;opacity:.5}
.o5-eff__av{position:relative;display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:14px 14px 14px 4px;color:#f1f1ec;background:#0a0a0a}
.o5-eff__av img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:filter 420ms linear}
.o5-eff__liste a:hover .o5-eff__av img,.o5-eff__liste a:focus-visible .o5-eff__av img{filter:none}
.o5-eff__av i{font-style:normal;font-family:var(--f-mega);font-weight:900;font-size:22px}
.o5-eff__nom{font-family:var(--f-display);font-weight:760;font-size:clamp(18px,1.9vw,26px);line-height:1;letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o5-eff__poste{white-space:nowrap;opacity:.62}
.o5-eff__poste:empty{display:none}
.o5-eff__liste a:hover .v5-rond{color:#0a0a0a;background:#f1f1ec}

/* l'outil du gérant : demandes à trancher, joueurs à retirer (dans le panneau de nuit des outils) */
.o5-gens__c{display:grid;gap:14px;padding:clamp(16px,2vw,26px)}
.o5-gens__c h3{margin:0;color:rgba(241,241,236,.62)}
.o5-gens__l{list-style:none;margin:0;padding:0;display:grid}
.o5-gens__l li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid rgba(241,241,236,.12)}
.o5-gens__l li > .v5-rel{color:rgba(241,241,236,.62);white-space:nowrap}
.o5-gens__a{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.o5-outil.o5-gens form{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0}
.o5-gens__qui{display:flex;align-items:center;gap:12px;min-width:0;color:#f1f1ec;text-decoration:none}
.o5-gens__qui img,.o5-gens__qui i{flex:none;width:40px;height:40px;border-radius:11px 11px 11px 3px;object-fit:cover;background:#1b1b1b}
.o5-gens__qui i{display:grid;place-items:center;font-style:normal;font-family:var(--f-mega);font-weight:900;font-size:17px}
.o5-gens__qui b{font-family:var(--f-display);font-weight:760;font-size:17px;line-height:1;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o5-gens__qui:hover b,.o5-gens__qui:focus-visible b{color:var(--o5-acc-nuit,var(--v5-lime))}
/* L'administrateur, le lien d'invitation, la fonction d'un membre (09/10). */
.o5-gens__adm,.o5-gens__inv{display:grid;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(241,241,236,.12)}
.o5-gens__adm p,.o5-gens__inv p{margin:0}
.o5-gens__adm b{color:#f1f1ec}
.o5-gens__adm p span{opacity:.75}
.o5-gens__chg summary{cursor:pointer;width:max-content;max-width:100%}
.o5-gens__chg form{margin-top:10px !important}
.o5-gens__lien{display:flex;gap:8px;min-width:0}
.o5-gens__lien input{flex:1 1 auto;min-width:0}
.o5-outil.o5-gens .o5-gens__fn input{width:150px;max-width:100%}
.o5-invit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:0 0 clamp(18px,2vw,28px);padding:clamp(16px,2vw,22px);border-radius:18px 18px 18px 4px;background:rgba(157,255,60,.12);box-shadow:inset 0 0 0 1px rgba(157,255,60,.35)}
.o5-invit p{margin:0;font-size:16px}

/* ------------------------------------------------ 4a. les publications : une bande de nuit */
.o5-fil{--green:#f1f1ec}
.o5-fil .fil-p{border-color:rgba(241,241,236,.1)}
.o5-fil .fil-p__tranche{background:rgba(241,241,236,.34)}
.o5-fil .fil-tour{border-color:rgba(241,241,236,.16);background:rgba(255,255,255,.04)}
.o5-fil .fil-ecrire{border-color:rgba(241,241,236,.14)}
.o5-fil > .sec{padding-block:clamp(36px,4.6vw,72px)}
.o5-fil .wrap{max-width:860px}
.o5-fil .so-h2{margin:0 0 18px;font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(30px,4.4vw,64px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;color:#f1f1ec}

/* ------------------------------------------------ 4b. le palmarès : ce qu'elle a déjà organisé */
.o5-arch{margin:0 0 clamp(30px,4vw,56px)}
.o5-arch > summary{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1.5px solid #0a0a0a;cursor:pointer;list-style:none;color:#0a0a0a;
  font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(26px,3.6vw,52px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase}
.o5-arch > summary::-webkit-details-marker{display:none}
.o5-arch > summary i{font-style:normal;font-family:var(--f-chiffre);font-weight:800;font-stretch:normal;letter-spacing:0;color:rgba(10,10,10,.5)}
.o5-arch .so-arch__l{list-style:none;margin:18px 0 0;padding:8px}
.o5-arch .so-arch__l li + li{border-top:1px solid rgba(10,10,10,.12)}
.o5-arch .so-arch__l a{display:grid;grid-template-columns:clamp(84px,9vw,124px) minmax(0,1fr) auto auto;align-items:center;gap:clamp(14px,2vw,28px);padding:14px;color:#0a0a0a;text-decoration:none;
  border-radius:16px 16px 16px 4px;transition:background 320ms var(--v5-masse),color 320ms var(--v5-masse),padding 420ms var(--v5-masse)}
.o5-arch .so-arch__l a:hover,.o5-arch .so-arch__l a:focus-visible{color:#f1f1ec;background:#0a0a0a;padding-left:24px}
.o5-arch .so-arch__d{font-family:var(--f-chiffre);font-weight:800;font-size:clamp(26px,2.6vw,36px);line-height:.9;text-transform:uppercase;white-space:nowrap}
.o5-arch .so-arch__n{font-family:var(--f-mono);font-weight:700;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;opacity:.66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o5-arch .so-arch__v{font-family:var(--f-mega);font-weight:900;font-stretch:125%;font-size:clamp(20px,2.6vw,38px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;text-align:right}
.o5-arch .so-arch__v i{font-style:normal;font-family:var(--f-mono);font-weight:600;font-stretch:normal;font-size:10px;letter-spacing:.07em;opacity:.6}
.o5-arch .v5-rond{width:38px;height:38px;color:inherit;background:rgba(10,10,10,.08);box-shadow:inset 0 0 0 1px rgba(10,10,10,.1);transition:background 300ms var(--v5-masse),color 300ms var(--v5-masse),transform 520ms var(--v5-masse)}
.o5-arch a:hover .v5-rond{color:#050505;background:var(--o5-acc-nuit,var(--v5-lime));transform:rotate(45deg)}

/* ------------------------------------------------ 4c. les instruments du gérant (annoncer, gérer) */
.o5-outil{margin:0 0 clamp(26px,3.4vw,48px);border-radius:24px 24px 24px 6px;color:#f1f1ec;
  background:url("/static/players/roche.webp") center/520px,linear-gradient(180deg,#191919,#080808);background-blend-mode:soft-light,normal;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.12),0 40px 60px -44px rgba(0,0,0,.75)}
.o5-outil > summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px 14px 14px;cursor:pointer;list-style:none}
.o5-outil > summary::-webkit-details-marker{display:none}
.o5-outil > summary .v5-rond{width:44px;height:44px;color:#050505;background:var(--o5-acc-nuit,var(--v5-lime));transition:transform 520ms var(--v5-masse)}
.o5-outil[open] > summary .v5-rond{transform:rotate(90deg)}
.o5-outil > summary b{font-family:var(--f-display);font-weight:760;font-size:clamp(18px,1.8vw,24px);line-height:1;letter-spacing:-.03em;text-transform:uppercase}
.o5-outil > summary > span:last-child{font-size:13.5px;color:rgba(241,241,236,.62)}
.o5-outil[open] > summary{border-bottom:1px solid rgba(241,241,236,.12)}
.o5-outil form{padding:clamp(16px,2vw,26px)}
.o5-outil .o5-annonce__f{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.o5-outil .o5-annonce__f label{display:grid;gap:7px;min-width:0}
.o5-outil .o5-annonce__f label.grow{grid-column:span 2}
.o5-outil .o5-annonce__f label > span,.o5-outil .fld > label{font-family:var(--f-mono);font-weight:600;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:rgba(241,241,236,.62)}
.o5-outil .o5-annonce__f input,.o5-outil .o5-annonce__f select{width:100%;min-width:0}
.o5-outil .o5-annonce__f .btn{grid-column:1 / -1;justify-self:start}
body.v5 .o5-outil input:not([type="checkbox"]):not([type="color"]):not([type="file"]),body.v5 .o5-outil select{height:50px;padding:0 14px;font-family:var(--f-ui);font-size:15px}
body.v5 .o5-outil textarea{padding:13px 14px;font-family:var(--f-ui);font-size:15px;line-height:1.5;resize:vertical}
body.v5 .o5-outil input[type="file"]{max-width:100%;font-family:var(--f-ui);font-size:13.5px;color:rgba(241,241,236,.72)}
body.v5 .o5-outil input[type="color"]{width:100%;height:50px;padding:4px;border:0;border-radius:13px;background:#0c0c0c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.o5-outil .so-edit__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:14px}
.o5-outil .fld{display:grid;gap:7px;align-content:start;min-width:0}
.o5-outil .fld input:not([type="checkbox"]),.o5-outil .fld textarea,.o5-outil .fld select{width:100%;min-width:0}
.o5-outil .so-edit__clear input{flex:none;width:16px;height:16px;margin:0;accent-color:#f1f1ec}
.o5-outil .fld + .so-edit__g,.o5-outil .fld + .fld{margin-top:14px}
.o5-outil input[type="file"]::file-selector-button{margin-right:12px;height:34px;padding:0 14px;border:0;border-radius:10px;cursor:pointer;color:#0a0a0a;background:#f1f1ec;
  font-family:var(--f-mono);font-weight:700;font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.o5-outil .fld .hint,.o5-outil .so-edit__n{font-size:12.5px;line-height:1.5;color:rgba(241,241,236,.56)}
.o5-outil .so-edit__n{margin:14px 0 18px;max-width:72ch}
.o5-outil .so-edit__vu{display:block;width:100%;max-width:120px;border-radius:16px 16px 16px 4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.o5-outil .so-edit__vu--large{max-width:100%;aspect-ratio:3;object-fit:cover}
.o5-outil .so-edit__clear{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--f-mono);font-weight:600;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:rgba(241,241,236,.62)}

@media (max-width:900px){
  .o5__scene{height:clamp(380px,62vh,520px)}
  .o5__hud{top:86px}
  .o5__ok{top:86px}
  .o5__motbox{width:calc(100% - 2 * var(--page));bottom:54px}
  .o5__roche{top:auto;bottom:calc(100% - clamp(380px,62vh,520px) - 30px);right:-4%;width:36vw;display:none}
  .o5__bas{grid-template-columns:auto minmax(0,1fr);row-gap:18px}
  .o5__id{grid-column:1 / -1;padding-top:0}
  .o5__actes{grid-column:1 / -1;padding-top:0;justify-content:flex-start}
  .o5__ecu{grid-column:1 / -1}
  .o5__regle{height:auto;flex-wrap:wrap;padding-inline:0}
  .o5__regle > div,.o5__regle > div:first-child,.o5__regle > div:last-child{flex:1 1 33%;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:12px var(--gut)}
  .o5__regle dd{font-size:34px}
  .o5-next .so-next__in{grid-template-columns:1fr auto;align-items:start}
  .o5-next__date{grid-column:1}
  .o5-next .v5-rond{grid-column:2;grid-row:1;justify-self:end}
  .o5-next .so-next__l,.o5-next .so-next__r{grid-column:1 / -1}
  .o5-next .so-next__r{justify-items:start;text-align:left}
  .o5-next .so-jauge,.o5-next .so-barre{width:100%}
  .o5-next__roche{right:8%;top:-40px}
  .o5-ag .so-ag__l > a{grid-template-columns:70px minmax(0,1fr);row-gap:10px}
  .o5-ag .so-ag__d{flex-direction:column;gap:6px}
  .o5-ag .so-ag__b b{white-space:normal}
  .o5-ag .so-ag__s{grid-column:2;justify-self:start}
  .o5-arch .so-arch__l a{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
  .o5-arch .so-arch__d{grid-column:1}
  .o5-arch .so-arch__n{grid-column:1 / -1;grid-row:2}
  .o5-arch .so-arch__v{grid-column:1 / -1;grid-row:3;text-align:left}
  .o5-arch .v5-rond{grid-column:2;grid-row:1}
  .o5-outil .o5-annonce__f{grid-template-columns:1fr 1fr}
  .o5-outil > summary > span:last-child{flex-basis:100%}
  .o5-eff__actes{justify-content:flex-start}
  .o5-eff__liste a{grid-template-columns:44px minmax(0,1fr) auto;row-gap:4px}
  .o5-eff__n{display:none}
  .o5-eff__av{width:44px;height:44px}
  .o5-eff__poste{grid-column:2;grid-row:2}
  .o5-eff__liste .v5-rond{grid-column:3;grid-row:1 / span 2}
  .o5-gens__l li{grid-template-columns:minmax(0,1fr) auto}
  .o5-gens__a{grid-column:1 / -1;justify-content:flex-start}
}
@media (max-width:520px){
  .o5-outil .o5-annonce__f{grid-template-columns:1fr}
  .o5-outil .o5-annonce__f label.grow{grid-column:auto}
  .o5__actes .btn,.o5__actes form{flex:1 1 auto}
  .o5__actes form .btn{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .v5js .o5__mot{filter:none;transition:opacity 500ms linear}
  .o5__ban,.o5-next{transition:none}
}
