
:root{
  --bg:#05090d;--bg2:#09131b;--panel:#0d1b25;--panel2:#112635;--line:rgba(117,225,255,.22);--line2:rgba(117,225,255,.34);
  --cyan:#78eaff;--cyan2:#c9f8ff;--text:#f0fbff;--muted:#a7c8d5;--red:#d61a0b;--red2:#ff3912;--cream:#ffe0b0;--shadow:0 22px 65px rgba(0,0,0,.46);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:var(--sans);line-height:1.58;background:radial-gradient(circle at 50% -10%,rgba(111,228,255,.09),transparent 34%),radial-gradient(circle at 12% 12%,rgba(214,26,11,.12),transparent 22%),linear-gradient(180deg,#030608 0%,#071019 45%,#030608 100%);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);opacity:.10;z-index:0}.site-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(120,234,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(120,234,255,.028) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at center,black 55%,transparent 100%)}a{color:var(--cyan);text-decoration:none}a:hover{color:#fff}img{display:block;max-width:100%}.page-shell,.header-inner,.site-footer{width:min(1240px,calc(100% - 32px));margin:0 auto;position:relative;z-index:2}.page-shell{padding:30px 0 76px}.site-header{position:sticky;top:0;z-index:30;background:rgba(5,12,17,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(120,234,255,.15)}.header-inner{display:flex;align-items:center;gap:18px;padding:12px 0}.brand{display:flex;align-items:center;gap:14px;color:var(--text)}.brand img{width:54px;height:54px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,224,176,.25);box-shadow:0 0 28px rgba(214,26,11,.18)}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{letter-spacing:.18em}.brand-copy span{font:.72rem var(--mono);color:var(--muted);letter-spacing:.12em}.main-nav{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.main-nav a{padding:10px 13px;border-radius:12px;color:var(--muted);border:1px solid transparent;font-size:.93rem}.main-nav a:hover,.main-nav a.active{color:var(--text);border-color:var(--line);background:rgba(120,234,255,.06)}.main-nav .dex-btn{color:#fff;border-color:rgba(255,224,176,.22);background:linear-gradient(180deg,rgba(214,26,11,.25),rgba(214,26,11,.08))}.nav-toggle{display:none;margin-left:auto;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:9px 12px}.hero-panel,.data-card,.guide-card,.category-block,.rule-card,.step-card,.side-card,.guide-section,.credits-panel,.resource-card{position:relative;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,rgba(13,28,39,.96),rgba(5,13,18,.985));box-shadow:var(--shadow);overflow:hidden}.hero-panel:before,.data-card:before,.guide-card:before,.category-block:before,.rule-card:before,.step-card:before,.side-card:before,.guide-section:before,.credits-panel:before,.resource-card:before{content:"";position:absolute;left:0;right:0;top:0;height:42px;background:linear-gradient(90deg,rgba(120,234,255,.10),rgba(120,234,255,.03),rgba(214,26,11,.08));border-bottom:1px solid rgba(120,234,255,.10)}.hero-panel>*,.data-card>*{position:relative;z-index:4}.hero-panel{display:grid;grid-template-columns:1fr .85fr;gap:28px;padding:32px}.hero-panel.compact{grid-template-columns:1fr .72fr}.hero-copy,.hero-art{position:relative;z-index:4}.hero-art img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--line2)}.eyebrow{margin:0 0 12px;font:800 .76rem var(--mono);letter-spacing:.16em;color:var(--cyan);text-transform:uppercase}h1,h2,h3{margin:0 0 14px;line-height:1.12}h1{font-size:clamp(2.3rem,5vw,4rem)}h2{font-size:clamp(1.45rem,2.3vw,2.1rem)}h3{font-size:1.15rem}p{margin:0 0 14px}.lede{font-size:1.12rem;color:#e1f4fb;max-width:64ch}.muted{color:var(--muted)}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:12px;font-weight:800;border:1px solid var(--line)}.btn-primary{color:#fff;background:linear-gradient(180deg,rgba(120,234,255,.18),rgba(120,234,255,.06))}.btn-secondary{color:var(--muted);background:rgba(120,234,255,.035)}.logo-lockup{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-top:24px;padding:18px;border:1px solid rgba(255,224,176,.20);border-radius:18px;background:linear-gradient(180deg,rgba(214,26,11,.13),rgba(120,234,255,.035))}.logo-lockup img{width:132px;height:132px;border-radius:30px;border:1px solid rgba(255,224,176,.28);box-shadow:0 0 45px rgba(214,26,11,.22)}.section-head{margin:44px 0 16px}.section-head h2{margin-bottom:8px}.feature-grid,.rules-grid,.steps-grid,.resource-grid{display:grid;gap:18px;margin-top:18px}.feature-grid{grid-template-columns:repeat(4,1fr)}.rules-grid,.resource-grid{grid-template-columns:repeat(3,1fr)}.steps-grid{grid-template-columns:repeat(4,1fr)}.data-card,.rule-card,.step-card,.resource-card,.credits-panel{padding:24px}.data-card p,.rule-card p,.step-card p,.resource-card p{color:var(--muted)}.step-card span{font:900 1.9rem var(--mono);color:var(--cyan);opacity:.75}.sanction{margin-top:20px}.guide-filter input,.credits-toolbar input,.credits-toolbar select{width:100%;min-height:44px;border-radius:12px;padding:0 14px;border:1px solid var(--line);background:rgba(120,234,255,.045);color:var(--text)}.category-block{padding:25px;margin-top:24px;overflow:visible}.category-head{margin-bottom:18px;position:relative;z-index:4}.category-head p{color:var(--muted);max-width:72ch}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card{padding:18px}.guide-card>*{position:relative;z-index:4}.guide-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:15px;border:1px solid var(--line2);margin-bottom:15px}.tag{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(120,234,255,.18);background:rgba(120,234,255,.05);color:var(--cyan);font:800 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.card-link{display:inline-flex;margin-top:12px;font-weight:800}.guide-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;margin-top:22px}.side-card,.guide-section{padding:24px}.side-card{margin-bottom:18px}.related-stack{display:grid;gap:10px}.related-link{display:block;padding:12px;border-radius:12px;border:1px solid rgba(120,234,255,.15);background:rgba(120,234,255,.04)}.guide-main{display:grid;gap:18px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid rgba(120,234,255,.1);text-align:left;vertical-align:top}.data-table th{color:var(--cyan);font:800 .76rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.credits-toolbar{display:grid;grid-template-columns:1.5fr .9fr .9fr;gap:12px;margin-bottom:14px}.credits-count{color:var(--muted);font-family:var(--mono)}.redirect-box{padding:32px}.site-footer{padding:8px 0 46px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:22px;padding-top:24px;border-top:1px solid rgba(120,234,255,.12)}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.footnote{margin-top:18px;font-size:.9rem}
@media(max-width:1100px){.hero-panel,.hero-panel.compact{grid-template-columns:1fr}.feature-grid,.rules-grid,.steps-grid,.resource-grid,.guide-grid{grid-template-columns:repeat(2,1fr)}.guide-layout{grid-template-columns:1fr}}
@media(max-width:860px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:14px;right:14px;top:calc(100% + 10px);flex-direction:column;align-items:stretch;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(5,12,17,.98);box-shadow:var(--shadow)}.main-nav.open{display:flex}.feature-grid,.rules-grid,.steps-grid,.resource-grid,.guide-grid,.credits-toolbar,.footer-grid,.logo-lockup{grid-template-columns:1fr}.brand-copy span{display:none}.page-shell,.site-footer{width:min(1240px,calc(100% - 20px))}}

.main-nav .dex-btn.alt{background:linear-gradient(180deg,rgba(120,234,255,.16),rgba(120,234,255,.05));border-color:rgba(120,234,255,.28)}
.logo-hero{display:grid;place-items:center;min-height:260px;background:radial-gradient(circle at center,rgba(214,26,11,.16),transparent 62%)}
.logo-hero img{width:min(320px,72%);aspect-ratio:1/1;object-fit:contain;border-radius:34px;border:1px solid rgba(255,224,176,.24);box-shadow:0 0 80px rgba(214,26,11,.22)}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:18px}.stats-grid .data-card h3{font:900 2rem var(--mono);color:var(--cyan)}
.credits-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.credits-summary-grid .credits-panel h3{position:relative;z-index:4}
.home-links{margin-top:18px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.credits-summary-grid{grid-template-columns:1fr}}
@media(max-width:860px){.stats-grid{grid-template-columns:1fr 1fr}.logo-hero{min-height:180px}}


.essential-grid{grid-template-columns:repeat(4,1fr)}
.credits-toolbar-simple{grid-template-columns:1.5fr .55fr}
.resource-list td:nth-child(3){min-width:280px}.resource-list td:nth-child(4){white-space:nowrap}
.compact-stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.essential-grid{grid-template-columns:repeat(2,1fr)}.compact-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.essential-grid,.compact-stats,.credits-toolbar-simple{grid-template-columns:1fr}}


/* V12 — corrections de lisibilité et de positionnement texte */
.clean-head{max-width:920px;display:block}.clean-head h2{margin-bottom:8px}.clean-head p:last-child{max-width:78ch}.hero-copy{align-self:center}.hero-copy .lede{max-width:68ch}.resource-card{display:flex;flex-direction:column;gap:6px;min-height:190px}.resource-card h3{margin-bottom:4px}.resource-card p{margin-bottom:12px}.resource-card a{margin-top:auto;font-weight:800}.compact-links .resource-card{min-height:170px}.text-safe-panel{padding:24px}.data-table{table-layout:auto}.data-table th,.data-table td{line-height:1.45}.data-table td{color:#d9edf5}.data-table td:first-child{min-width:190px}.resource-list td:nth-child(3){min-width:340px;max-width:520px}.credits-table td:nth-child(1){min-width:210px}.credits-table td:nth-child(3){min-width:190px}.credits-table td:nth-child(4),.credits-table td:nth-child(5){min-width:120px;white-space:normal}.small-note{font-size:.82rem}.credits-toolbar-simple{align-items:center}.credits-count{margin:0 0 14px}.stats-grid .data-card{text-align:center}.stats-grid .data-card p{margin-bottom:0}.site-footer p{max-width:72ch}.footer-grid h3{margin-bottom:10px}
@media(max-width:860px){.resource-card{min-height:auto}.data-table th,.data-table td{padding:12px 10px}.resource-list td:nth-child(3),.credits-table td:nth-child(1),.credits-table td:nth-child(3),.credits-table td:nth-child(4),.credits-table td:nth-child(5){min-width:unset}.table-wrap{border-radius:14px;border:1px solid rgba(120,234,255,.10)}}

/* V18 — carrousel manifest JS + présentation serveur améliorée */
*, *::before, *::after { min-width: 0; }
body { text-rendering: optimizeLegibility; }
.hero-panel, .data-card, .resource-card, .credits-panel, .rule-card, .step-card { overflow-wrap: anywhere; }
.hero-panel { align-items: center; }
.hero-panel-home { grid-template-columns: minmax(0, .92fr) minmax(420px, 1fr); gap: 32px; }
.hero-copy { display: flex; flex-direction: column; justify-content: center; }
.hero-copy h1, .section-head h2, .resource-card h3, .data-card h3 { text-wrap: balance; }
.hero-copy p, .resource-card p, .data-card p, .rule-card p, .step-card p, .credits-panel p { text-wrap: pretty; }
.section-head { max-width: 940px; }
.feature-grid .data-card, .resource-grid .resource-card { height: 100%; }
.resource-card { justify-content: flex-start; }
.resource-card a { align-self: flex-start; }
.logo-lockup h2 { margin-bottom: 8px; }
.logo-lockup p { margin-bottom: 0; }

.player-carousel { position: relative; z-index: 4; align-self: stretch; min-height: 360px; border-radius: 22px; border: 1px solid var(--line2); background: linear-gradient(180deg, rgba(3,10,15,.72), rgba(5,13,18,.94)); box-shadow: inset 0 0 0 1px rgba(120,234,255,.05), 0 18px 50px rgba(0,0,0,.32); overflow: hidden; }
.carousel-viewport { position: relative; height: 100%; min-height: 360px; overflow: hidden; }
.carousel-track { height: 100%; min-height: 360px; display: flex; transition: transform .55s ease; will-change: transform; }
.carousel-slide { position: relative; flex: 0 0 100%; height: 100%; min-height: 360px; margin: 0; background: rgba(5,13,18,.72); }
.carousel-slide img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; }
.carousel-slide figcaption { position: absolute; left: 18px; right: 18px; bottom: 72px; z-index: 5; width: fit-content; max-width: calc(100% - 36px); padding: 10px 14px; border-radius: 14px; border: 1px solid rgba(120,234,255,.20); background: rgba(5,13,18,.76); color: var(--text); font-weight: 700; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.carousel-slide.image-missing::after { content: "Image introuvable"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); background: rgba(5,13,18,.88); }
.carousel-empty { position: absolute; inset: 18px; display: grid; place-items: center; text-align: center; padding: 24px; border-radius: 18px; border: 1px dashed rgba(120,234,255,.24); background: radial-gradient(circle at center, rgba(120,234,255,.08), transparent 62%); color: var(--muted); }
.carousel-empty strong { display: block; color: var(--text); font-size: 1.35rem; margin-bottom: 8px; }
.carousel-empty code { color: var(--cyan); font-family: var(--mono); }
.carousel-controls { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 6; display: flex; align-items: center; justify-content: space-between; gap: 12px; pointer-events: none; }
.carousel-controls button { pointer-events: auto; border: 1px solid rgba(120,234,255,.25); background: rgba(5,13,18,.78); color: var(--text); min-width: 42px; height: 42px; border-radius: 14px; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.carousel-dots { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; pointer-events: auto; padding: 8px 10px; border-radius: 999px; background: rgba(5,13,18,.70); border: 1px solid rgba(120,234,255,.14); }
.carousel-dots button { min-width: 9px; width: 9px; height: 9px; padding: 0; border-radius: 999px; background: rgba(120,234,255,.25); border: 0; }
.carousel-dots button.active { background: var(--cyan); box-shadow: 0 0 16px rgba(120,234,255,.55); }

.data-table th, .data-table td { overflow-wrap: anywhere; word-break: normal; }
.credits-table th:nth-child(1), .credits-table td:nth-child(1) { width: 26%; }
.credits-table th:nth-child(2), .credits-table td:nth-child(2) { width: 11%; }
.credits-table th:nth-child(3), .credits-table td:nth-child(3) { width: 23%; }
.credits-table th:nth-child(4), .credits-table td:nth-child(4), .credits-table th:nth-child(5), .credits-table td:nth-child(5) { width: 20%; }
.resource-list th:nth-child(1), .resource-list td:nth-child(1) { width: 24%; }
.resource-list th:nth-child(2), .resource-list td:nth-child(2) { width: 20%; }
.resource-list th:nth-child(3), .resource-list td:nth-child(3) { width: 42%; }
.resource-list th:nth-child(4), .resource-list td:nth-child(4) { width: 14%; white-space: nowrap; }
.table-wrap { max-width: 100%; }

@media(max-width:1100px){
  .hero-panel-home { grid-template-columns: 1fr; }
  .player-carousel, .carousel-viewport, .carousel-track, .carousel-slide, .carousel-slide img { min-height: 320px; }
}
@media(max-width:860px){
  .hero-panel { padding: 24px; }
  .player-carousel, .carousel-viewport, .carousel-track, .carousel-slide, .carousel-slide img { min-height: 240px; }
  .carousel-controls { left: 12px; right: 12px; bottom: 12px; }
  .carousel-slide figcaption { left: 12px; right: 12px; bottom: 64px; max-width: calc(100% - 24px); }
  .carousel-empty { inset: 12px; }
  .data-table { font-size: .9rem; }
  .data-table th, .data-table td { min-width: 150px; }
}


/* V18 — masquage strict des overlays inactifs + texte de présentation */
.carousel-empty[hidden], .carousel-controls[hidden] { display: none !important; }
.lede-secondary { color: var(--muted); margin-top: -4px; }
.intro-panel { margin-top: 18px; padding: 24px; }
.intro-panel p { max-width: 92ch; color: #d9edf5; }
.intro-panel p:last-child { margin-bottom: 0; }
.closing-panel { margin-top: 18px; }
.closing-panel strong { color: var(--text); }
@media(max-width:860px){ .intro-panel { padding: 20px; } }


/* V19 — correction du placement des titres dans les cartes/boxes.
   Les bandeaux décoratifs supérieurs font 42px : on réserve explicitement cet espace. */
.data-card,
.rule-card,
.step-card,
.side-card,
.guide-section,
.credits-panel,
.resource-card,
.category-block {
  padding-top: 58px;
}
.data-card > *,
.rule-card > *,
.step-card > *,
.side-card > *,
.guide-section > *,
.credits-panel > *,
.resource-card > *,
.category-block > * {
  position: relative;
  z-index: 4;
}
.data-card h2,
.data-card h3,
.rule-card h3,
.step-card h3,
.resource-card h3,
.credits-panel h2,
.credits-panel h3,
.side-card h3,
.guide-section h2,
.guide-section h3,
.category-head h2,
.category-head h3 {
  margin-top: 0;
  padding-top: 0;
}
.hero-panel::before,
.data-card::before,
.guide-card::before,
.category-block::before,
.rule-card::before,
.step-card::before,
.side-card::before,
.guide-section::before,
.credits-panel::before,
.resource-card::before {
  pointer-events: none;
}

/* V19 — tables triables */
.sortable-table th {
  white-space: nowrap;
}
.sort-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cyan);
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-align: left;
  cursor: pointer;
}
.sort-button span {
  min-width: 1.1em;
  color: var(--muted);
  font-family: var(--mono);
  opacity: .78;
}
.sort-button.active span {
  color: var(--cyan2);
  opacity: 1;
}
.sort-button:hover {
  color: #fff;
}
.credits-toolbar-detailed {
  grid-template-columns: minmax(260px, 1.35fr) minmax(150px, .55fr) minmax(210px, .85fr);
}
.credits-table th:nth-child(1), .credits-table td:nth-child(1) { width: 22%; min-width: 210px; }
.credits-table th:nth-child(2), .credits-table td:nth-child(2) { width: 9%; min-width: 110px; }
.credits-table th:nth-child(3), .credits-table td:nth-child(3) { width: 15%; min-width: 170px; }
.credits-table th:nth-child(4), .credits-table td:nth-child(4) { width: 19%; min-width: 190px; }
.credits-table th:nth-child(5), .credits-table td:nth-child(5) { width: 17%; min-width: 150px; }
.credits-table th:nth-child(6), .credits-table td:nth-child(6) { width: 18%; min-width: 140px; }
.resource-list th:nth-child(1), .resource-list td:nth-child(1) { width: 20%; min-width: 200px; }
.resource-list th:nth-child(2), .resource-list td:nth-child(2) { width: 15%; min-width: 160px; }
.resource-list th:nth-child(3), .resource-list td:nth-child(3) { width: 15%; min-width: 160px; }
.resource-list th:nth-child(4), .resource-list td:nth-child(4) { width: 36%; min-width: 320px; }
.resource-list th:nth-child(5), .resource-list td:nth-child(5) { width: 14%; min-width: 120px; }

@media(max-width:860px){
  .data-card,
  .rule-card,
  .step-card,
  .side-card,
  .guide-section,
  .credits-panel,
  .resource-card,
  .category-block { padding-top: 54px; }
  .credits-toolbar-detailed { grid-template-columns: 1fr; }
  .sortable-table th, .sortable-table td { min-width: 160px; }
}


/* SEO V21 patch */
.rule-card h2,
.step-card h2 {
  font-size: 1.15rem;
  line-height: 1.12;
  margin: 0 0 14px;
}
.closing-panel .cta-row,
#avant-candidature .cta-row {
  margin-top: 14px;
}
