:root{--bg:#140f2d;--card:#211947;--text:#f7f4ff;--muted:#c9c1e8;--accent:#ffcf33;--danger:#ff4f70;--success:#38d996;--line:#3a2d75}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#38227d,#140f2d 55%,#0b0718);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.25);backdrop-filter:blur(8px)}.brand{font-weight:900;font-size:22px}.container{max-width:1180px;margin:0 auto;padding:24px}.card{background:rgba(33,25,71,.94);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:22px;box-shadow:0 18px 45px rgba(0,0,0,.25)}.login-card{max-width:460px;margin:8vh auto}.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form{display:grid;gap:10px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#120d2a;color:var(--text)}.btn{border:0;border-radius:999px;padding:12px 18px;background:var(--accent);color:#1b1433;font-weight:900;cursor:pointer}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.muted{color:var(--muted)}.alert{border-radius:14px;padding:12px 14px;margin-bottom:16px}.alert-error{background:rgba(255,79,112,.18);border:1px solid var(--danger)}.alert-success{background:rgba(56,217,150,.18);border:1px solid var(--success)}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left}a{color:var(--accent);font-weight:700}@media(max-width:800px){.grid.two{grid-template-columns:1fr}.container{padding:16px}}
.table-responsive{width:100%;overflow-x:auto}.badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 9px;background:rgba(255,255,255,.06);font-size:13px}.btn-small{display:inline-block;padding:8px 12px;font-size:13px;text-decoration:none}.btn-danger{background:var(--danger);color:#fff}.inline-edit-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(170px,1.4fr) minmax(130px,.9fr) minmax(95px,.7fr) minmax(170px,1fr) auto;gap:8px;align-items:center}.inline-edit-form input,.inline-edit-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px;background:#120d2a;color:var(--text)}.action-form{margin:0 0 8px 0}@media(max-width:1100px){.inline-edit-form{grid-template-columns:1fr}}

/* Gestion des parties */
.compact-grid{gap:12px}.settings-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.settings-grid label{display:grid;gap:6px;color:var(--muted);font-weight:700}.settings-grid input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px;background:#120d2a;color:var(--text)}.checkbox-list{display:grid;gap:8px;margin:8px 0 14px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04)}.check-row input{margin-top:3px}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.game-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.game-summary>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.04)}.label{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.admin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.04)}.form input:disabled,.form textarea:disabled,.form select:disabled,.settings-grid input:disabled{opacity:.65;cursor:not-allowed}@media(max-width:1000px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.settings-grid,.game-summary,.admin-list{grid-template-columns:1fr}}

/* Gestion des joueurs */
.stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px 0 22px}.stats-row>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.04)}.wide-card{max-width:760px}.avatar-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:8px 0 14px}.compact-avatar-grid{grid-template-columns:repeat(10,44px)}.avatar-choice{display:block}.avatar-choice input{position:absolute;opacity:0;pointer-events:none}.avatar-choice span{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.05);font-size:24px;cursor:pointer}.avatar-choice input:checked+span{border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,207,51,.28);background:rgba(255,207,51,.14)}.players-list{display:grid;gap:14px}.player-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}.player-main{display:flex;align-items:center;gap:14px}.player-avatar{width:72px;height:72px;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:rgba(255,255,255,.06);flex:0 0 auto}.player-avatar span{font-size:38px}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-avatar-large{width:104px;height:104px}.player-avatar-large span{font-size:54px}.player-card h4{margin:0 0 6px}.player-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.player-actions form{margin:0}.player-edit-details{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.player-edit-details summary{cursor:pointer;font-weight:800;color:var(--accent)}.player-edit-form{margin-top:12px}.player-create-form{margin-top:12px}@media(max-width:900px){.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-avatar-grid{grid-template-columns:repeat(5,44px)}}@media(max-width:600px){.stats-row{grid-template-columns:1fr}.player-main{align-items:flex-start}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.copy-btn{margin-left:8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.06);color:var(--text);padding:5px 9px;font-size:12px;cursor:pointer}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}

/* Moteur Killer */
.target-links-list,.restrictions-list,.log-list{display:grid;gap:10px;margin-top:12px}.restriction-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.restriction-item form{margin:0}.badge-warning{border-color:var(--accent);color:var(--accent);background:rgba(255,207,51,.12)}.mission-card{border-color:rgba(255,207,51,.55)}.mission-text{font-size:22px;line-height:1.35;font-weight:900}.target-card{border-color:rgba(56,217,150,.4)}.public-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.public-player-card{display:grid;justify-items:center;text-align:center;gap:8px}.public-player-card .player-avatar{width:62px;height:62px}.log-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}@media(max-width:900px){.public-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restriction-item{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.public-player-grid{grid-template-columns:1fr}}
.launch-preview{margin-top:16px}.launch-chain{display:grid;gap:14px;margin:12px 0}.launch-link-card{border:1px solid rgba(255,207,51,.45);border-radius:18px;padding:16px;background:rgba(255,255,255,.05)}.launch-link-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:12px}.launch-link-head>div:first-child{text-align:right}.launch-arrow{width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,207,51,.16);border:1px solid rgba(255,207,51,.45);color:var(--accent);font-size:24px;font-weight:900}.launch-link-card textarea{min-height:86px}.launch-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}@media(max-width:700px){.launch-link-head{grid-template-columns:1fr;text-align:left}.launch-link-head>div:first-child{text-align:left}.launch-arrow{transform:rotate(90deg)}}
.launch-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.launch-mode-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.04);display:grid;gap:10px}.launch-mode-card h3{margin:0}.launch-link-head select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#120d2a;color:var(--text)}@media(max-width:800px){.launch-mode-grid{grid-template-columns:1fr}}
.manual-loop-builder{gap:16px}.manual-loop-panel{border:1px solid rgba(255,207,51,.42);border-radius:18px;padding:16px;background:rgba(255,255,255,.045)}.manual-loop-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.manual-loop-current{margin-top:12px;border:1px dashed rgba(255,207,51,.5);border-radius:14px;padding:12px;background:rgba(255,207,51,.08);font-weight:900}.manual-loop-controls select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#120d2a;color:var(--text)}@media(max-width:750px){.manual-loop-controls{grid-template-columns:1fr}}
.kill-validation-box{margin-top:18px;border:1px solid rgba(56,217,150,.35);border-radius:16px;padding:16px;background:rgba(56,217,150,.08)}.kill-validation-box h3{margin-top:0}.kill-form{max-width:360px}.kill-form input{text-align:center;font-size:22px;letter-spacing:.24em;font-weight:900}
.counterkill-card{border-color:rgba(255,79,112,.45)}.counterkill-form{max-width:460px}.counterkill-form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#120d2a;color:var(--text)}.badge-danger{border-color:var(--danger);color:#fff;background:rgba(255,79,112,.18)}.badge-success{border-color:var(--success);color:#fff;background:rgba(56,217,150,.18)}

.active-link-card{display:grid;gap:12px}.active-link-card-warning{border-color:rgba(255,207,51,.55);background:rgba(255,207,51,.08)}.active-link-mission-form{display:grid;gap:10px;margin-top:4px}.active-link-mission-form textarea{min-height:86px}.active-link-mission-form .btn{justify-self:start}
.mission-catalog-card details summary{cursor:pointer;font-weight:800;color:var(--accent)}.mission-catalog-list{display:grid;gap:10px;margin-top:14px}.mission-catalog-item{display:grid;gap:12px}.mission-catalog-item summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mission-catalog-item-disabled{opacity:.68}.mission-catalog-form textarea{min-height:92px}.mission-catalog-select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#120d2a;color:var(--text)}

.mission-change-box,
.kill-validation-box {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mission-change-request-list {
  display: grid;
  gap: 14px;
}

.mission-change-request-card {
  display: grid;
  gap: 12px;
}

.mission-change-admin-form {
  margin-top: 8px;
}
.mission-catalog-lines{display:grid;gap:8px;margin-top:14px}.mission-catalog-line{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);overflow:hidden}.mission-catalog-line.is-disabled{opacity:.74}.mission-catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.mission-catalog-summary::-webkit-details-marker{display:none}.mission-catalog-summary::before{content:"▸";color:var(--accent);font-weight:900;transition:transform .15s ease}.mission-catalog-line[open] .mission-catalog-summary::before{transform:rotate(90deg)}.mission-catalog-title{flex:1;font-weight:800;line-height:1.35}.mission-catalog-panel{border-top:1px solid var(--line);padding:14px;background:rgba(0,0,0,.12);display:grid;gap:10px}.mission-catalog-edit-form{display:grid;gap:10px}.mission-catalog-edit-form label{display:grid;gap:6px;color:var(--muted);font-weight:700}.mission-catalog-edit-form textarea,.mission-catalog-edit-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px;background:#120d2a;color:var(--text)}.mission-catalog-edit-form textarea{min-height:92px}@media(max-width:700px){.mission-catalog-summary{align-items:flex-start;flex-direction:column}.mission-catalog-summary::before{display:none}}
.avatar-choice span img,.player-avatar span img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar-choice span{overflow:hidden}.avatar-choice span img{border-radius:12px}.player-avatar span{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.compact-avatar-grid{grid-template-columns:repeat(auto-fill,minmax(44px,54px))}

.notification-rule-list {
  display: grid;
  gap: 10px;
}

.notification-rule {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.notification-rule summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

.notification-rule summary::-webkit-details-marker {
  display: none;
}

.notification-rule summary small {
  display: block;
  color: #6b7280;
  font-weight: 400;
  margin-top: 2px;
}

.notification-rule[open] summary {
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}

.rule-badges {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.badge-success {
  background: #dcfce7;
  color: #166534;
}

.compact-form {
  padding: 14px;
}
/* Correctif lisibilité des règles de notification admin */
.notification-rule {
  color: #111827;
}

.notification-rule summary strong {
  color: #111827;
}

.notification-rule .compact-form,
.notification-rule .checkbox-list,
.notification-rule .check-row,
.notification-rule .compact-form label {
  color: #111827;
}

.notification-rule .muted {
  color: #4b5563;
}

.notification-rule .badge:not(.badge-success) {
  color: #374151;
  background: #f3f4f6;
  border-color: #d1d5db;
}

/* Accordéons admin partie */
.admin-accordion {
  padding: 0;
  overflow: hidden;
}

.admin-accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  color: #111827;
  background: #ffffff;
}

.admin-accordion-summary::-webkit-details-marker {
  display: none;
}

.admin-accordion-summary::after {
  content: 'Déplier';
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  color: #4b5563;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  padding: 4px 10px;
  background: #f9fafb;
}

.admin-accordion[open] > .admin-accordion-summary::after {
  content: 'Replier';
}

.admin-accordion-summary span {
  display: block;
  font-size: 18px;
  font-weight: 800;
}

.admin-accordion-summary small {
  display: block;
  margin-top: 3px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 400;
}

.admin-accordion[open] > .admin-accordion-summary {
  border-bottom: 1px solid #e5e7eb;
}

.admin-accordion-content {
  padding: 20px;
}

.admin-accordion-content > h2:first-child,
.admin-accordion-subsection > h2:first-child,
.admin-accordion-subsection > h3:first-child {
  margin-top: 0;
}

.admin-accordion-subsection {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e5e7eb;
}

.admin-accordion-subsection:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 720px) {
  .admin-accordion-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

.avatar-preview-trigger{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.avatar-preview-trigger:focus,.avatar-preview-trigger:hover{transform:scale(1.03);box-shadow:0 0 0 3px rgba(255,207,51,.22);outline:none}.avatar-preview-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}.avatar-preview-modal.is-open{display:flex}.avatar-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.avatar-preview-dialog{position:relative;z-index:1;width:min(92vw,560px);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.45);padding:18px;text-align:center}.avatar-preview-dialog h2{margin:0 42px 16px}.avatar-preview-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);font-size:26px;line-height:1;cursor:pointer}.avatar-preview-content{display:flex;align-items:center;justify-content:center;min-height:240px}.avatar-preview-content img{display:block;max-width:100%;max-height:68vh;border-radius:18px;object-fit:contain}.avatar-preview-text{width:240px;height:240px;border-radius:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:120px;background:rgba(255,255,255,.06);margin:0 auto}@media(max-width:520px){.avatar-preview-dialog{padding:14px}.avatar-preview-content{min-height:180px}.avatar-preview-text{width:180px;height:180px;font-size:92px}}

/* Galerie avatars BD par catégorie */
.avatar-category-list{display:grid;gap:14px;margin:8px 0 14px}.avatar-category{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}.avatar-category h3{margin:0 0 10px;font-size:14px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.avatar-category .avatar-grid{margin:0}.avatar-category-list-compact{gap:10px}.avatar-category-list-compact .avatar-category{padding:10px}.avatar-category-list-compact .avatar-category h3{font-size:12px;margin-bottom:8px}

/* Actions en attente et historique complet côté Maître du Jeu */
.admin-pending-actions-alert {
  border-left: 5px solid #f59e0b;
}

.admin-pending-actions-alert ul {
  margin: 12px 0 0;
  padding-left: 20px;
}

.admin-pending-actions-alert li + li {
  margin-top: 8px;
}

.admin-pending-actions-alert a {
  margin-left: 8px;
  font-weight: 700;
}

.mission-change-request-card {
  border-width: 2px;
}
.mission-change-request-card-1 {
  border-color: rgba(255, 207, 51, .75);
  background: rgba(255, 207, 51, .10);
}
.mission-change-request-card-2 {
  border-color: rgba(56, 217, 150, .70);
  background: rgba(56, 217, 150, .10);
}
.mission-change-request-card-3 {
  border-color: rgba(96, 165, 250, .72);
  background: rgba(96, 165, 250, .10);
}
.mission-change-request-card-4 {
  border-color: rgba(244, 114, 182, .72);
  background: rgba(244, 114, 182, .10);
}

.admin-history-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.admin-history-main {
  min-width: 0;
}
@media (max-width: 520px) {
  .admin-history-item {
    flex-direction: column;
  }
}


/* Couleurs des blocs admin dépliés */
.admin-accordion[open] {
  border-width: 2px;
}
.admin-accordion-block-1[open] {
  border-color: rgba(255, 207, 51, .78);
  background: rgba(255, 207, 51, .10);
}
.admin-accordion-block-2[open] {
  border-color: rgba(56, 217, 150, .72);
  background: rgba(56, 217, 150, .10);
}
.admin-accordion-block-3[open] {
  border-color: rgba(96, 165, 250, .74);
  background: rgba(96, 165, 250, .10);
}
.admin-accordion-block-4[open] {
  border-color: rgba(244, 114, 182, .74);
  background: rgba(244, 114, 182, .10);
}
.admin-accordion-block-5[open] {
  border-color: rgba(168, 85, 247, .74);
  background: rgba(168, 85, 247, .10);
}
.admin-accordion-block-6[open] {
  border-color: rgba(251, 146, 60, .74);
  background: rgba(251, 146, 60, .10);
}
.admin-accordion[open] > .admin-accordion-summary {
  border-bottom-color: rgba(255, 255, 255, .14);
}

/* Popup d'agrandissement des avatars/photos admin */
.avatar-preview-trigger {
  cursor: zoom-in;
}
.avatar-preview-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.avatar-preview-modal.is-open {
  display: flex;
}
.avatar-preview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .72);
}
.avatar-preview-dialog {
  position: relative;
  width: min(92vw, 720px);
  max-height: 90vh;
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 18px;
  background: #111827;
  color: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
  padding: 18px;
}
.avatar-preview-dialog h2 {
  margin: 0 48px 14px 0;
  font-size: 20px;
}
.avatar-preview-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.avatar-preview-close:hover,
.avatar-preview-close:focus {
  background: rgba(255, 255, 255, .24);
}
.avatar-preview-content {
  display: flex;
  align-items: center;
  justify-content: center;
}
.avatar-preview-content img {
  display: block;
  max-width: 100%;
  max-height: 72vh;
  border-radius: 14px;
  object-fit: contain;
  background: rgba(255, 255, 255, .08);
}
@media (max-width: 520px) {
  .avatar-preview-modal {
    padding: 12px;
  }
  .avatar-preview-dialog {
    padding: 14px;
  }
}


/* Accordéon règles côté joueur */
.player-rules-card {
  padding: 0;
  overflow: hidden;
}
.player-rules-accordion {
  display: block;
}
.player-rules-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
}
.player-rules-summary::-webkit-details-marker {
  display: none;
}
.player-rules-summary::after {
  content: 'Déplier';
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 10px;
  color: var(--muted);
  background: rgba(255,255,255,.05);
}
.player-rules-accordion[open] > .player-rules-summary::after {
  content: 'Replier';
}
.player-rules-summary span {
  display: block;
  font-size: 18px;
  font-weight: 900;
}
.player-rules-summary small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}
.player-rules-accordion[open] > .player-rules-summary {
  border-bottom: 1px solid var(--line);
}
.player-rules-content {
  padding: 20px;
  line-height: 1.65;
}
.player-rules-content p {
  margin: 0 0 14px;
}
.player-rules-content p:last-child {
  margin-bottom: 0;
}
.player-rules-content strong {
  font-weight: 900;
}
.player-rules-points {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
  padding-left: 20px;
}
@media (max-width: 620px) {
  .player-rules-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Classement final graphique */
.final-ranking-card{position:relative;overflow:hidden}.final-ranking-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(255,207,51,.16),transparent 34%),radial-gradient(circle at 18% 22%,rgba(107,161,255,.12),transparent 26%),radial-gradient(circle at 82% 24%,rgba(255,143,51,.12),transparent 24%)}.final-ranking-card>*{position:relative}.final-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;margin:26px 0 18px}.podium-player{border:1px solid var(--line);border-radius:20px;padding:16px 14px 0;text-align:center;background:rgba(255,255,255,.055);box-shadow:0 12px 32px rgba(0,0,0,.18);display:grid;justify-items:center;gap:8px}.podium-place-1{order:2;border-color:rgba(255,207,51,.65);transform:translateY(-18px);background:linear-gradient(180deg,rgba(255,207,51,.18),rgba(255,255,255,.045))}.podium-place-2{order:1;border-color:rgba(210,220,235,.48)}.podium-place-3{order:3;border-color:rgba(205,127,50,.55)}.podium-medal{font-size:34px;line-height:1}.podium-avatar{width:88px;height:88px;border-radius:999px;border-width:3px}.podium-place-1 .podium-avatar{width:106px;height:106px;border-color:rgba(255,207,51,.8)}.podium-points{font-weight:900;color:var(--accent)}.podium-step{width:100%;border-radius:14px 14px 0 0;margin-top:8px;padding:18px 0;font-size:34px;font-weight:1000;background:rgba(255,255,255,.1)}.podium-place-1 .podium-step{padding:28px 0;font-size:46px;background:rgba(255,207,51,.26)}.final-ranking-list{display:grid;gap:8px;margin-top:14px}.final-ranking-row{display:grid;grid-template-columns:44px 44px minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.04)}.public-final-ranking-row{grid-template-columns:44px 44px minmax(0,1fr) auto}.final-ranking-avatar{width:38px;height:38px;border-radius:999px}.final-ranking-avatar span{font-size:22px}@media(max-width:760px){.final-podium{grid-template-columns:1fr}.podium-place-1,.podium-place-2,.podium-place-3{order:initial;transform:none}.final-ranking-row,.public-final-ranking-row{grid-template-columns:34px 38px minmax(0,1fr);gap:8px}.final-ranking-row .badge,.final-ranking-row>strong:last-child,.public-final-ranking-row>strong:last-child{grid-column:3}.podium-avatar,.podium-place-1 .podium-avatar{width:82px;height:82px}}
.game-finished-banner{text-align:center;border-color:rgba(255,207,51,.6);background:linear-gradient(135deg,rgba(255,207,51,.18),rgba(255,255,255,.04));box-shadow:0 18px 42px rgba(0,0,0,.2)}.game-finished-banner h2{font-size:clamp(1.7rem,4vw,2.5rem);margin-bottom:8px}.game-finished-banner p{margin:6px 0}.final-stats-card{overflow:hidden}.final-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.final-stats-grid>div,.final-honours>div{border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.045)}.final-stats-grid span,.final-honours span{display:block;color:var(--muted);font-size:.92rem}.final-stats-grid strong{display:block;font-size:2rem;margin-top:6px}.final-honours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.final-honours strong{display:block;margin:8px 0 4px}.final-honours small{color:var(--accent)}@media(max-width:760px){.final-stats-grid,.final-honours{grid-template-columns:1fr 1fr}}@media(max-width:520px){.final-stats-grid,.final-honours{grid-template-columns:1fr}}


/* Ordre des blocs liste joueurs / classement final */
.player-list-ranking-order.is-finished {
  display: flex;
  flex-direction: column;
}
.player-list-ranking-order.is-finished .ranking-order-block {
  order: 1;
}
.player-list-ranking-order.is-finished .player-list-order-block {
  order: 2;
}

/* Mise en évidence des événements actifs côté joueur */
.active-events-alert {
  border: 2px solid #d90000;
  background: #ffe95c;
  color: #b00000;
  box-shadow: 0 14px 34px rgba(176, 0, 0, .22);
}
.active-events-alert h2,
.active-events-alert strong,
.active-events-alert p,
.active-events-alert .muted {
  color: #b00000;
}
.active-events-alert .log-item {
  border-color: rgba(176, 0, 0, .35);
  background: rgba(255, 255, 255, .32);
}



.event-dashboard-heading{display:flex;justify-content:space-between;align-items:end;margin-top:28px}.event-dashboard-heading h3,.event-dashboard-heading p{margin:0}.event-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 26px}.event-dashboard-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 12px 28px rgba(0,0,0,.16);display:grid;gap:14px}.event-dashboard-card.event-type-points_modifier{border-color:rgba(255,207,51,.55)}.event-dashboard-card.event-type-fog{border-color:rgba(160,174,192,.55)}.event-dashboard-card.event-type-truce{border-color:rgba(255,92,92,.55)}.event-dashboard-card.event-type-bounty{border-color:rgba(255,143,51,.6)}.event-dashboard-top{display:flex;align-items:center;gap:12px}.event-dashboard-icon{font-size:32px;line-height:1}.event-dashboard-title{display:grid;gap:2px;min-width:0;flex:1}.event-dashboard-title strong{font-size:18px}.event-dashboard-title span{font-size:13px;color:var(--muted)}.event-dashboard-card>p{margin:0}.event-dashboard-time{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;border-radius:14px;padding:12px;background:rgba(0,0,0,.16)}.event-dashboard-time span{font-size:13px;color:var(--muted)}.event-dashboard-time strong{text-align:right;color:var(--accent);font-size:18px}.event-dashboard-time small{grid-column:1/-1;color:var(--muted)}.event-dashboard-actions{display:flex;justify-content:space-between;align-items:end;gap:10px;flex-wrap:wrap}.event-dashboard-actions form{margin:0}.event-extend-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.event-extend-form label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.event-extend-form select{min-width:92px;padding:8px 10px}@media(max-width:900px){.event-dashboard-grid{grid-template-columns:1fr}}@media(max-width:600px){.event-dashboard-actions,.event-extend-form{align-items:stretch;flex-direction:column}.event-dashboard-actions form,.event-dashboard-actions button,.event-extend-form label,.event-extend-form select{width:100%}}
