/* ============================================================
   L'ÉVEIL — event Solo Leveling · thème « System »
   Scoped sous #sec-eveil (overlay plein écran) + body.eveil-system.
   Polices auto-hébergées : Anton (display) + IBM Plex Mono (HUD/terminal).
   Increment 1 : entrée · glitch · splash · gate compte · recherche.
   ============================================================ */
#sec-eveil{
  --sys:#39b7ff; --sys2:#7fd8ff; --glow:rgba(57,183,255,.55);
  --violet:#9b6cff; --violetglow:rgba(155,108,255,.5);
  --gold:#ffcf5a; --danger:#ff3b6b; --green:#5ff0b0;
  --ink:#dfeaff; --mut:#8ea6d6; --mut2:#5c7099; --line:#1d3563;
  --panel:rgba(12,22,44,.62); --panel2:rgba(16,28,54,.9);
  --fd:'Anton',sans-serif; --fh:'IBM Plex Mono',monospace; --fb:'IBM Plex Mono',monospace;
  position:fixed; inset:0; z-index:1200; display:none; flex-direction:column;
  background:linear-gradient(180deg,#060a16,#04060e 60%); color:var(--ink);
  font-family:var(--fb); overflow:hidden;
}
#sec-eveil.active{ display:flex; }
#sec-eveil *{ box-sizing:border-box; }
/* scanlines + vignette globales */
#sec-eveil::before{ content:''; position:absolute; inset:0; pointer-events:none; z-index:60;
  background:repeating-linear-gradient(0deg,rgba(57,183,255,.025) 0 1px,transparent 1px 4px); mix-blend-mode:screen; opacity:.32; }
#sec-eveil::after{ content:''; position:absolute; inset:0; pointer-events:none; z-index:61; box-shadow:inset 0 0 140px rgba(0,0,0,.75); }
#eveilStage{ position:relative; z-index:20; flex:1; display:flex; flex-direction:column; overflow:hidden; }
/* structure d'un écran : header fixe · milieu scrollable · footer fixe */
.ev-head{ flex:0 0 auto; position:relative; z-index:30; }
.ev-scroll{ flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; display:flex; flex-direction:column; }
.ev-scroll::-webkit-scrollbar{ display:none; }
.ev-foot{ flex:0 0 auto; position:relative; z-index:30; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:linear-gradient(180deg,rgba(6,12,26,.4),rgba(6,12,26,.96) 40%); }
.ev-real{ text-align:center; font-family:var(--fh); font-size:10px; letter-spacing:2px; color:var(--danger); }
/* puce chrono « fenêtre 1h » : combien de temps il te reste pour enchaîner les parties */
.ev-window{ display:inline-block; margin:10px auto 0; font-family:var(--fh); font-weight:700; font-size:13px; letter-spacing:2px;
  color:#04060e; background:linear-gradient(180deg,var(--gold),#ffb638); border:1px solid var(--gold);
  box-shadow:0 0 16px rgba(255,207,90,.5); padding:5px 12px; }
.ev-close{ position:absolute; top:10px; right:10px; z-index:90; width:38px; height:38px; border:1px solid var(--sys);
  background:rgba(8,16,34,.94); color:var(--sys2); font-family:var(--fh); font-size:17px; line-height:1; border-radius:0; cursor:pointer;
  box-shadow:0 0 14px rgba(57,183,255,.35); }
.ev-close:active{ transform:translateY(1px); }

/* ---- statut haut (faux status bar System) ---- */
.ev-sb{ height:34px; flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:0 18px;
  font-family:var(--fh); font-size:11px; letter-spacing:1px; color:var(--mut); z-index:40; }

/* ---- primitives ---- */
.ev-glow{ text-shadow:0 0 10px var(--glow); }
.ev-disp{ font-family:var(--fd); letter-spacing:2px; }
.ev-mut{ color:var(--mut); } .ev-mut2{ color:var(--mut2); }
.ev-sys{ position:relative; background:var(--panel); border:1px solid var(--line);
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  box-shadow:0 0 22px rgba(57,183,255,.14),inset 0 0 30px rgba(57,183,255,.05); }
.ev-brk{ position:absolute; width:14px; height:14px; border:2px solid var(--sys); opacity:.85; }
.ev-brk.tl{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.ev-brk.tr{ top:-1px; right:-1px; border-left:0; border-bottom:0; }
.ev-brk.bl{ bottom:-1px; left:-1px; border-right:0; border-top:0; }
.ev-brk.br{ bottom:-1px; right:-1px; border-left:0; border-top:0; }
.ev-sysh{ font-family:var(--fh); font-size:11px; letter-spacing:3px; color:var(--sys2); display:flex; align-items:center; gap:8px; }
.ev-sysh::before{ content:'◈'; color:var(--sys); }
.ev-cta{ font-family:var(--fd); font-size:18px; letter-spacing:2px; color:#041022; -webkit-tap-highlight-color:transparent;
  background:linear-gradient(180deg,var(--sys2),var(--sys)); border:none; padding:16px; width:100%; text-align:center; cursor:pointer;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  box-shadow:0 0 26px var(--glow),inset 0 0 16px rgba(255,255,255,.35); }
.ev-cta:active{ transform:translateY(1px); }
.ev-cta.ghost{ background:transparent; color:var(--sys2); border:1px solid var(--line); box-shadow:none; font-size:13px; font-family:var(--fh); letter-spacing:2px; padding:13px; }
.ev-cta.danger{ background:linear-gradient(180deg,#ff9cb4,var(--danger)); box-shadow:0 0 24px rgba(255,59,107,.4); color:#2a0410; }
.ev-pulse{ animation:ev-pulse 2.4s ease-in-out infinite; }
@keyframes ev-pulse{ 0%,100%{opacity:1} 50%{opacity:.55} }

/* ---- GLITCH (transformation) ---- */
.ev-glc{ flex:1; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:24px;
  background:radial-gradient(80% 60% at 50% 45%,rgba(57,183,255,.16),#04060e 70%); }
.ev-glc .bars{ position:absolute; inset:0; pointer-events:none; opacity:.28;
  background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(57,183,255,.05) 22px 24px,transparent 24px 46px); }
.ev-glc .bars.b2{ background:repeating-linear-gradient(0deg,transparent 0 60px,rgba(255,59,107,.04) 60px 63px,transparent 63px 130px); animation:ev-slide 2.4s linear infinite; }
@keyframes ev-slide{ to{ transform:translateY(-40px) } }
/* glitch plus DOUX (avant : jitter .28s = scintille, ça pique les yeux) */
.ev-glc .logo{ position:relative; width:82%; max-width:300px; z-index:4; animation:ev-jit 3.2s ease-in-out infinite; }
.ev-glc .logo img{ width:100%; display:block; filter:drop-shadow(2px 0 rgba(255,59,107,.55)) drop-shadow(-2px 0 rgba(57,183,255,.55)) drop-shadow(0 0 22px rgba(120,140,255,.45)) brightness(1.08); }
@keyframes ev-jit{ 0%,88%,100%{transform:translate(0)} 90%{transform:translate(-1.5px,1px)} 94%{transform:translate(1.5px,-1px)} }
@media (prefers-reduced-motion: reduce){ .ev-glc .logo, .ev-glc .bars.b2, .ev-pulse{ animation:none !important; } }
.ev-glc .sysline{ font-family:var(--fh); font-size:12px; letter-spacing:4px; color:var(--sys2); }
.ev-glc .code{ font-family:var(--fh); font-size:11px; letter-spacing:3px; color:var(--danger); opacity:.75; margin-top:4px; }
.ev-glc .line{ width:64%; height:2px; margin-top:10px; background:linear-gradient(90deg,transparent,var(--sys),transparent); box-shadow:0 0 14px var(--glow); }

/* ---- SPLASH (entrer dans le donjon) ---- */
.ev-splash{ min-height:100%; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:26px; overflow:hidden; }
.ev-splash .bgfx{ position:absolute; inset:0; z-index:0; opacity:.15; background-size:cover; background-position:center; filter:blur(2px) saturate(1.2); }
.ev-splash .veil{ position:absolute; inset:0; z-index:1; background:
  radial-gradient(70% 50% at 50% 42%,rgba(57,183,255,.18),transparent 68%),
  radial-gradient(80% 40% at 50% 100%,rgba(155,108,255,.22),transparent 70%),
  linear-gradient(180deg,rgba(4,6,14,.72),rgba(4,6,14,.5)); }
.ev-splash>*{ position:relative; z-index:2; }
.ev-splash .logo{ width:86%; max-width:320px; filter:drop-shadow(0 0 34px rgba(120,140,255,.6)) drop-shadow(0 0 10px rgba(255,255,255,.25)); animation:ev-pulse 3.4s ease-in-out infinite; }
.ev-splash .rankdj{ font-family:var(--fd); font-size:16px; letter-spacing:3px; color:#fff; border:1px solid var(--danger); padding:6px 15px; box-shadow:0 0 18px rgba(255,59,107,.4); background:rgba(6,14,30,.5); }
.ev-splash .meta{ font-family:var(--fh); font-size:12px; letter-spacing:1.5px; color:var(--sys2); line-height:1.8; }
.ev-splash .online{ font-family:var(--fh); font-size:11px; letter-spacing:2px; color:var(--green); }
.ev-splash .online b{ color:#fff; }
.ev-splash .ent{ width:100%; max-width:340px; margin-top:8px; }
.ev-splash .ready{ font-family:var(--fh); font-size:10px; letter-spacing:3px; color:var(--mut2); }

/* ---- GATE (compte requis) ---- */
.ev-gate{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:30px 24px; }
/* écran de lancement (fin de la sim de matchmaking) */
.ev-launch{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:30px 24px; }
.ev-launch .logo-sm{ width:150px; margin-bottom:6px; filter:drop-shadow(0 0 24px rgba(120,140,255,.6)); }
.ev-launch .logo-sm img{ width:100%; display:block; }
.ev-launch .big{ font-family:var(--fd); font-size:40px; line-height:.95; letter-spacing:2px; color:#fff; }
.ev-gate .lock{ width:96px; height:96px; border-radius:50%; display:grid; place-items:center; font-size:42px;
  border:3px solid var(--danger); color:var(--danger); box-shadow:0 0 34px rgba(255,59,107,.45); }
.ev-gate .box{ width:100%; max-width:360px; padding:22px; border:1px solid #5a2440; box-shadow:0 0 24px rgba(255,59,107,.25); }
.ev-gate .box .ttl{ font-family:var(--fd); font-size:24px; letter-spacing:1px; color:#fff; margin:8px 0 8px; }
.ev-gate .box .ds{ font-family:var(--fb); font-size:13px; color:var(--mut); line-height:1.4; margin-bottom:16px; }

/* ---- MATCHMAKING (recherche de chasseurs) ---- */
.ev-mm{ padding:16px; display:flex; flex-direction:column; min-height:100%; }
.ev-mm .h{ font-family:var(--fd); font-size:24px; letter-spacing:2px; color:#fff; }
.ev-mm .sub{ font-family:var(--fh); font-size:11px; letter-spacing:2px; color:var(--sys2); margin-top:2px; }
.ev-mm .cdbox{ margin-top:14px; padding:16px; text-align:center; }
.ev-mm .cdlbl{ font-family:var(--fh); font-size:11px; letter-spacing:3px; color:var(--sys2); }
.ev-mm .cd{ font-family:var(--fd); font-size:40px; letter-spacing:3px; color:#fff; text-shadow:0 0 22px var(--glow); line-height:1; margin-top:4px; }
.ev-mm .count{ text-align:center; font-family:var(--fh); font-size:12px; letter-spacing:1px; color:var(--mut); margin-top:14px; }
.ev-mm .count b{ color:var(--sys2); }
.ev-mm .bar{ height:12px; background:rgba(4,10,24,.7); border:1px solid var(--line); position:relative; margin:8px 0 2px;
  clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px); }
.ev-mm .bar>i{ display:block; height:100%; background:linear-gradient(90deg,var(--sys),var(--sys2)); box-shadow:0 0 12px var(--glow); transition:width .4s ease; }
.ev-mm .bar .min{ position:absolute; top:-4px; bottom:-4px; width:2px; background:var(--gold); box-shadow:0 0 8px rgba(255,207,90,.7); }
.ev-mm .minnote{ text-align:center; font-family:var(--fh); font-size:9px; letter-spacing:1px; color:var(--gold); }
.ev-mm .grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:14px; }
.ev-mm .hg{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.ev-mm .hg .av{ width:100%; aspect-ratio:1; border:1px solid var(--line); overflow:hidden; position:relative;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); }
.ev-mm .hg.on .av{ border-color:var(--sys); box-shadow:0 0 14px var(--glow); }
.ev-mm .hg .av img{ width:100%; height:100%; object-fit:cover; }
.ev-mm .hg.wait .av{ border-style:dashed; display:grid; place-items:center; color:var(--mut2); font-size:20px; }
.ev-mm .hg .nm{ font-family:var(--fh); font-size:10px; letter-spacing:.5px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ev-mm .real{ text-align:center; font-family:var(--fh); font-size:10px; letter-spacing:2px; color:var(--danger); margin-top:auto; padding-top:16px; }

/* ============================================================
   RESKIN GLOBAL (body.eveil-system) — assombrit le shell app le temps de l'event.
   (Le reskin complet des écrans persistants = increment ultérieur.)
   ============================================================ */
body.eveil-system{ background:#04060e; }

/* ---- tuile hub « L'ÉVEIL » (écran CHOISIS TON JEU) ---- */
.hub-tile.eveil{ background:linear-gradient(135deg,#0a1230,#111a3e); position:relative; overflow:hidden; }
.hub-tile.eveil .hub-nm{ color:#fff; }
.hub-tile.eveil .hub-ds{ color:#7fd8ff; }
.hub-tile.eveil::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 88% 8%,rgba(57,183,255,.38),transparent 55%); }

/* ---- héros L'ÉVEIL sur l'accueil (mega card, façon JPO — hors #sec-eveil → polices citées) ---- */
.eveil-hero{ position:relative; margin:24px 0 14px; cursor:pointer; border:3px solid #0a0a0a; box-shadow:6px 6px 0 #0a0a0a; overflow:hidden;
  background:linear-gradient(180deg,#0b1533,#070d1f); color:#dfeaff; }
/* fond = logo en filigrane (PAS la bannière-récompense, pour ne pas la spoiler) */
.eveil-hero .eh-deco{ position:absolute; inset:0; z-index:0; opacity:.62; background-image:url(/solo/background.jpeg); background-size:cover; background-position:center; background-repeat:no-repeat; }
.eveil-hero .eh-deco::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,13,31,.35),rgba(7,13,31,.92)); }
.eveil-hero .eh-scan{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.4; background:repeating-linear-gradient(0deg,rgba(57,183,255,.05) 0 2px,transparent 2px 4px); }
.eveil-hero .eh-body{ position:relative; z-index:2; padding:14px 15px 15px; }
.eveil-hero .eh-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.eveil-hero .eh-badge{ display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:2px; color:#04101f; background:#7fd8ff; padding:4px 9px; box-shadow:0 0 14px rgba(57,183,255,.6); }
.eveil-hero .eh-badge .dot{ width:6px; height:6px; border-radius:50%; background:#04101f; animation:ev-pulse 1.4s ease-in-out infinite; }
.eveil-hero .eh-rank{ font-family:'Anton',sans-serif; font-size:15px; letter-spacing:2px; color:#fff; border:1px solid #ff3b6b; padding:2px 10px; box-shadow:0 0 14px rgba(255,59,107,.4); }
.eveil-hero .eh-title{ font-family:'Anton',sans-serif; font-size:36px; letter-spacing:1px; line-height:.92; color:#fff; text-shadow:0 0 18px rgba(57,183,255,.55); }
.eveil-hero .eh-sub{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.5px; color:#9fb4d8; margin:5px 0 10px; }
.eveil-hero .eh-chips{ display:flex; gap:7px; flex-wrap:wrap; margin-bottom:12px; }
.eveil-hero .eh-chip{ font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:1px; color:#7fd8ff; border:1px solid #1d3563; background:rgba(12,22,44,.6); padding:4px 9px; }
.eveil-hero .eh-cta{ font-family:'Anton',sans-serif; font-size:15px; letter-spacing:1px; color:#04101f; background:linear-gradient(180deg,#7fd8ff,#39b7ff); padding:11px; text-align:center; box-shadow:0 0 20px rgba(57,183,255,.4); }

/* ---- top 1 des récompenses : avatar animé + bannière animée montrés ENSEMBLE ---- */
.ev-featured{ position:relative; border:1px solid var(--danger); box-shadow:0 0 20px rgba(255,59,107,.35); background:var(--panel); margin-bottom:10px; overflow:hidden;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px); }
.ev-featured .arts{ display:flex; gap:8px; padding:10px 10px 0; }
.ev-featured .art{ position:relative; border:1px solid var(--line); overflow:hidden; }
.ev-featured .art img{ display:block; width:100%; height:100%; object-fit:cover; }
.ev-featured .art.av{ width:80px; height:80px; flex:0 0 auto; border-color:var(--danger); box-shadow:0 0 14px rgba(255,59,107,.4); }
.ev-featured .art.bn{ flex:1; height:80px; border-color:var(--gold); box-shadow:0 0 14px rgba(255,207,90,.35); }
.ev-featured .art .tag{ position:absolute; bottom:4px; left:4px; font-family:var(--fh); font-size:8px; letter-spacing:1px; color:#0a1220; background:var(--gold); padding:1px 5px; }
.ev-featured .art.av .tag{ background:#cfe0ff; }
.ev-featured .info{ padding:9px 12px 11px; }
.ev-featured .info .pos{ font-family:var(--fh); font-size:10px; letter-spacing:2px; color:var(--danger); }
.ev-featured .info .rw{ font-family:var(--fb); font-size:14px; color:#fff; margin:2px 0; }
.ev-featured .info .gif{ font-family:var(--fh); font-size:9px; letter-spacing:1px; color:#0a0620; background:linear-gradient(180deg,#ffd7e6,var(--danger)); padding:2px 6px; }
.ev-featured .info .co{ font-family:var(--fd); font-size:14px; color:var(--gold); letter-spacing:.5px; }

/* ---- écran RÉCOMPENSES (aperçu avant de jouer) ---- */
.ev-rw{ padding:16px 16px 26px; }
.ev-rw .h{ font-family:var(--fd); font-size:24px; letter-spacing:2px; color:#fff; }
.ev-rw .sub{ font-family:var(--fh); font-size:11px; letter-spacing:.5px; color:var(--mut); margin:3px 0 12px; line-height:1.4; }
.ev-unlock{ padding:11px 13px; display:flex; align-items:center; gap:10px; margin-bottom:12px;
  background:linear-gradient(135deg,rgba(155,108,255,.18),rgba(57,183,255,.12)); border:1px solid var(--violet);
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px); box-shadow:0 0 20px var(--violetglow); }
.ev-unlock .e{ font-size:22px; }
.ev-unlock .t{ font-family:var(--fb); font-size:12px; color:#fff; line-height:1.35; }
.ev-unlock .t b{ color:#d7c4ff; }
.ev-rkrow{ padding:9px 12px; display:flex; align-items:center; gap:11px; margin-bottom:8px; }
.ev-rkrow .pos{ font-family:var(--fd); font-size:16px; width:30px; text-align:center; color:var(--mut); }
.ev-rkrow.g1 .pos{ color:var(--gold); } .ev-rkrow.g2 .pos{ color:#cfe0ff; } .ev-rkrow.g3 .pos{ color:#e0a06a; }
.ev-rkrow .art{ width:50px; height:50px; flex:0 0 auto; border:1px solid var(--line); overflow:hidden;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); }
.ev-rkrow.g1 .art{ border-color:var(--danger); box-shadow:0 0 16px rgba(255,59,107,.45); }
.ev-rkrow .art img{ width:100%; height:100%; object-fit:cover; }
.ev-rkrow .info{ flex:1; min-width:0; }
.ev-rkrow .rw{ font-family:var(--fb); font-size:13px; color:#fff; line-height:1.25; }
.ev-rkrow .co{ font-family:var(--fd); font-size:13px; color:var(--gold); letter-spacing:.5px; }
.ev-rkrow .gif{ font-family:var(--fh); font-size:9px; letter-spacing:1px; color:#0a0620; background:linear-gradient(180deg,#ffd7e6,var(--danger)); padding:2px 6px; }
.ev-mini{ display:flex; justify-content:space-between; padding:8px 12px; font-family:var(--fh); font-size:12px; letter-spacing:.5px; border-top:1px solid rgba(29,53,99,.5); }
.ev-mini .p{ color:var(--sys2); } .ev-mini .c{ color:var(--gold); font-family:var(--fd); }

/* ============================================================
   GAMEPLAY (increment 2c) : transition · question · feedback · final
   ============================================================ */
.ev-trans{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; padding:24px; }
.ev-trans .ep{ font-family:var(--fh); font-size:12px; letter-spacing:5px; color:var(--sys2); }
.ev-catpill{ font-family:var(--fh); font-size:12px; letter-spacing:2px; color:#04101f; background:linear-gradient(180deg,var(--sys2),var(--sys)); padding:6px 14px; box-shadow:0 0 16px var(--glow);
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); }
.ev-trans .big3{ font-family:var(--fd); font-size:84px; color:#fff; text-shadow:0 0 40px var(--glow); line-height:1; }
.ev-trans .mode-nm{ font-family:var(--fd); font-size:20px; letter-spacing:1px; }

.ev-qhud{ display:flex; align-items:center; gap:10px; padding:12px 14px; }
.ev-qhud .ep{ font-family:var(--fh); font-size:11px; letter-spacing:2px; color:var(--sys2); }
.ev-qhud .sp{ flex:1; }
.ev-qhud .pt{ font-family:var(--fd); font-size:14px; color:var(--gold); text-shadow:0 0 10px rgba(255,207,90,.5); }
/* timer = hexagone System (pas un cercle) */
.ev-qtimer{ width:48px; height:44px; display:grid; place-items:center; font-family:var(--fd); font-size:17px; color:#fff; background:#070c1a; border:2px solid var(--sys); box-shadow:0 0 16px var(--glow);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.ev-qtimer.warn{ border-color:var(--danger); box-shadow:0 0 18px rgba(255,59,107,.55); color:#ffd0dc; animation:ev-pulse .6s ease-in-out infinite; }
/* bande « qui a répondu » sous la question */
.ev-answered{ display:flex; align-items:center; gap:8px; margin:10px 14px 0; padding:8px 11px; font-family:var(--fh); font-size:10px; letter-spacing:1px; color:var(--sys2); }
.ev-answered .dots{ display:flex; gap:4px; flex-wrap:wrap; flex:1; }
.ev-answered .dt{ width:20px; height:20px; border:1px solid var(--sys); overflow:hidden; clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px); }
.ev-answered .dt img{ width:100%; height:100%; object-fit:cover; }
.ev-qcard{ margin:6px 14px 0; padding:20px 16px; text-align:center; }
.ev-qcard .ty{ font-family:var(--fh); font-size:11px; letter-spacing:3px; color:var(--sys2); }
.ev-qcard .qt{ font-family:var(--fb); font-size:18px; line-height:1.3; color:#fff; margin-top:8px; }
.ev-qopts{ display:grid; gap:10px; }
.ev-qopts.two{ grid-template-columns:1fr 1fr; }
.ev-qopt{ position:relative; padding:16px 14px; text-align:center; font-family:var(--fd); font-size:16px; letter-spacing:.5px; color:#eaf6ff; background:var(--panel2); border:1px solid var(--line); cursor:pointer;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px); box-shadow:0 0 14px rgba(57,183,255,.1); }
.ev-qopt .k{ display:block; font-family:var(--fh); font-size:10px; letter-spacing:2px; color:var(--sys2); margin-bottom:3px; }
.ev-qopt.sel{ border-color:var(--sys); box-shadow:0 0 18px var(--glow); }
.ev-qopt[disabled]{ opacity:.5; cursor:default; }

.ev-fb{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:26px; }
.ev-fb.good{ background:radial-gradient(70% 50% at 50% 40%,rgba(95,240,176,.16),transparent 70%); }
.ev-fb.bad{ background:radial-gradient(70% 50% at 50% 40%,rgba(255,59,107,.16),transparent 70%); }
/* verdict = hexagone System (pas un cercle) + animation d'apparition */
.ev-fb .fb-ring{ width:124px; height:118px; display:grid; place-items:center; font-size:52px; font-weight:700; border:3px solid; clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%); animation:ev-fbpop .5s cubic-bezier(.2,1.35,.4,1) both; }
/* couleur EXPLICITE du hexagone feedback (fix : l'icône restait grise/noire faute de couleur définie) */
.ev-fb.good .fb-ring{ border-color:var(--green); color:var(--green); background:radial-gradient(circle,rgba(95,240,176,.16),transparent 70%); box-shadow:0 0 42px rgba(95,240,176,.45),inset 0 0 26px rgba(95,240,176,.2); text-shadow:0 0 18px rgba(95,240,176,.6); }
.ev-fb.bad .fb-ring{ border-color:var(--danger); color:var(--danger); background:radial-gradient(circle,rgba(255,59,107,.16),transparent 70%); box-shadow:0 0 42px rgba(255,59,107,.45),inset 0 0 26px rgba(255,59,107,.2); text-shadow:0 0 18px rgba(255,59,107,.6); }
@keyframes ev-fbpop{ 0%{ transform:scale(.35) rotate(-8deg); opacity:0 } 60%{ transform:scale(1.12) rotate(2deg) } 100%{ transform:scale(1) rotate(0); opacity:1 } }
@keyframes ev-fbslide{ from{ transform:translateY(16px); opacity:0 } to{ transform:translateY(0); opacity:1 } }
.ev-fb .verdict{ animation:ev-fbslide .4s ease both .08s; }
.ev-fb .ans{ animation:ev-fbslide .4s ease both .14s; }
.ev-fb .pts{ animation:ev-fbslide .45s cubic-bezier(.2,1.3,.4,1) both .2s; }
.ev-fb .meta{ animation:ev-fbslide .4s ease both .28s; }
.ev-fb.good .fb-ring{ animation:ev-fbpop .5s cubic-bezier(.2,1.35,.4,1) both, ev-ringglow 1.4s ease-in-out .5s infinite; }
@keyframes ev-ringglow{ 0%,100%{ box-shadow:0 0 34px rgba(95,240,176,.45) } 50%{ box-shadow:0 0 52px rgba(95,240,176,.75) } }
.ev-fb.good .fb-ring{ border-color:var(--green); color:var(--green); box-shadow:0 0 40px rgba(95,240,176,.5); }
.ev-fb.bad .fb-ring{ border-color:var(--danger); color:var(--danger); box-shadow:0 0 40px rgba(255,59,107,.5); }
.ev-fb .verdict{ font-family:var(--fd); font-size:26px; letter-spacing:1px; }
.ev-fb.good .verdict{ color:var(--green); } .ev-fb.bad .verdict{ color:var(--danger); }
.ev-fb .ans{ font-family:var(--fb); font-size:14px; color:var(--ink); max-width:290px; line-height:1.35; }
.ev-fb .ans b{ color:var(--sys2); }
.ev-fb .pts{ font-family:var(--fd); font-size:32px; color:#fff; text-shadow:0 0 20px var(--glow); }
.ev-fb .meta{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.ev-fb .mchip{ font-family:var(--fh); font-size:11px; letter-spacing:1px; padding:5px 10px; border:1px solid var(--line); background:var(--panel); color:var(--ink); }
.ev-fb .mchip.up{ color:var(--green); border-color:var(--green); }

.ev-final{ padding:16px 16px 26px; }
.ev-final .me{ text-align:center; padding:14px; margin-bottom:12px; }
.ev-final .me .rk{ font-family:var(--fd); font-size:40px; color:var(--gold); text-shadow:0 0 20px rgba(255,207,90,.5); line-height:1; }
.ev-final .me .sc{ font-family:var(--fh); font-size:12px; letter-spacing:2px; color:var(--sys2); margin-top:4px; }
.ev-final .lbrow{ display:flex; align-items:center; gap:10px; padding:8px 11px; margin-top:7px; }
.ev-final .lbrow .n{ font-family:var(--fd); font-size:14px; color:var(--mut); width:24px; text-align:center; }
.ev-final .lbrow .nm{ flex:1; font-family:var(--fh); font-size:13px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ev-final .lbrow .sc{ font-family:var(--fd); font-size:13px; color:#fff; }
.ev-final .lbrow.mine{ border-color:var(--sys); box-shadow:0 0 14px var(--glow); }

/* ---- avatars dans les classements + classement provisoire (entre épreuves) ---- */
.ev-final .lbrow .av, .ev-prov .lbrow .av{ width:32px; height:32px; flex:0 0 auto; border:1px solid var(--line); overflow:hidden; clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px); }
.ev-final .lbrow .av img, .ev-prov .lbrow .av img{ width:100%; height:100%; object-fit:cover; }
.ev-prov{ min-height:100%; padding:16px; }
.ev-prov .h{ font-family:var(--fd); font-size:24px; letter-spacing:2px; color:#fff; }
.ev-prov .sub{ font-family:var(--fh); font-size:11px; letter-spacing:1.5px; color:var(--sys2); margin:3px 0 12px; }
.ev-prov .lbrow{ display:flex; align-items:center; gap:10px; padding:8px 11px; margin-top:7px; animation:ev-fbslide .35s ease both; }
.ev-prov .lbrow .n{ font-family:var(--fd); font-size:15px; color:var(--mut); width:24px; text-align:center; }
.ev-prov .lbrow.g1 .n{ color:var(--gold); } .ev-prov .lbrow.g2 .n{ color:#cfe0ff; } .ev-prov .lbrow.g3 .n{ color:#e0a06a; }
.ev-prov .lbrow .nm{ flex:1; font-family:var(--fh); font-size:13px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ev-prov .lbrow .sc{ font-family:var(--fd); font-size:14px; color:#fff; }
.ev-prov .lbrow.mine{ border-color:var(--sys); box-shadow:0 0 14px var(--glow); }

/* ---- barre de temps animée (se vide) ---- */
.ev-qbar{ height:4px; margin:4px 14px 0; background:rgba(4,10,24,.6); overflow:hidden; clip-path:polygon(3px 0,100% 0,100% 100%,0 100%,0 3px); }
.ev-qbar>i{ display:block; height:100%; width:100%; transform-origin:left; background:linear-gradient(90deg,var(--sys),var(--sys2)); box-shadow:0 0 10px var(--glow); animation:ev-drain linear forwards; }
@keyframes ev-drain{ from{ transform:scaleX(1) } to{ transform:scaleX(0) } }
/* ---- options révélées : vert (juste) / rouge (ta faute) ---- */
/* reveal : le FOND de l'option devient vert (bonne réponse) / rouge (mauvaise) — pas de badge */
.ev-qopt.ok{ border-color:var(--green); color:#04160d; background:linear-gradient(180deg,#7ff5c1,var(--green)); box-shadow:0 0 26px rgba(95,240,176,.55); animation:ev-okpop .4s cubic-bezier(.2,1.35,.4,1) both; }
.ev-qopt.ok .k{ color:rgba(4,22,13,.6); }
.ev-qopt.no{ border-color:var(--danger); color:#2a0410; background:linear-gradient(180deg,#ff7d9b,var(--danger)); box-shadow:0 0 24px rgba(255,59,107,.5); }
.ev-qopt.no .k{ color:rgba(42,4,16,.55); }
@keyframes ev-okpop{ 0%{ transform:scale(.96) } 55%{ transform:scale(1.03) } 100%{ transform:scale(1) } }

/* ---- PV dans le HUD de question + vie perdue au feedback ---- */
.ev-pv{ font-family:var(--fb); font-size:15px; color:var(--danger); letter-spacing:1px; margin-left:4px; }
.ev-fb .mchip.dn{ color:var(--danger); border-color:var(--danger); }

/* ---- choix du chasseur (avatar) au lobby ---- */
.ev-pick{ padding:16px; }
.ev-pick .h{ font-family:var(--fd); font-size:24px; letter-spacing:2px; color:#fff; }
.ev-pick .sub{ font-family:var(--fh); font-size:11px; letter-spacing:1px; color:var(--sys2); margin:2px 0 12px; }
.ev-hgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.ev-hp{ cursor:pointer; text-align:center; }
.ev-hp .im{ aspect-ratio:1; border:1px solid var(--line); overflow:hidden; clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); }
.ev-hp .im img{ width:100%; height:100%; object-fit:cover; }
.ev-hp .nm{ font-family:var(--fh); font-size:9px; letter-spacing:.5px; color:var(--mut); margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ev-hp.sel .im{ border-color:var(--sys); box-shadow:0 0 16px var(--glow); }
.ev-hp.sel .nm{ color:var(--sys2); }

/* ---- identité couleur par format sur la carte question ---- */
.ev-qcard.fmt-porte{ border-color:var(--danger); box-shadow:0 0 22px rgba(255,59,107,.22),inset 0 0 30px rgba(255,59,107,.05); }
.ev-qcard.fmt-porte .ty{ color:#ff8aa6; }
.ev-qcard.fmt-porte .brk{ border-color:var(--danger); }
.ev-qcard.fmt-pacte{ border-color:var(--gold); box-shadow:0 0 22px rgba(255,207,90,.2); }
.ev-qcard.fmt-pacte .ty{ color:var(--gold); }
.ev-qcard.fmt-pacte .brk{ border-color:var(--gold); }
.ev-qcard.fmt-duel .ty{ color:var(--sys2); }
.ev-qcard.fmt-descente{ border-color:var(--violet); box-shadow:0 0 22px var(--violetglow); }
.ev-qcard.fmt-descente .ty{ color:#c3a6ff; }
.ev-qcard.fmt-descente .brk{ border-color:var(--violet); }

/* ---- écran d'élimination (TU TOMBES) + cartes Couloir/Mise ---- */
.ev-elim{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:28px;
  background:radial-gradient(70% 50% at 50% 42%,rgba(255,59,107,.18),transparent 70%); }
.ev-elim .em{ font-size:74px; filter:drop-shadow(0 0 20px rgba(255,59,107,.5)); animation:ev-fbpop .5s cubic-bezier(.2,1.35,.4,1) both; }
.ev-elim .t{ font-family:var(--fd); font-size:34px; letter-spacing:1px; color:var(--danger); text-shadow:0 0 20px rgba(255,59,107,.5); }
.ev-elim .s{ font-family:var(--fb); font-size:14px; color:var(--mut); max-width:280px; line-height:1.4; }
.ev-qcard.fmt-couloir{ border-color:var(--danger); box-shadow:0 0 22px rgba(255,59,107,.2); }
.ev-qcard.fmt-couloir .ty{ color:#ff8aa6; } .ev-qcard.fmt-couloir .brk{ border-color:var(--danger); }
.ev-qcard.fmt-mise{ border-color:var(--violet); box-shadow:0 0 22px var(--violetglow); }
.ev-qcard.fmt-mise .ty{ color:#c3a6ff; } .ev-qcard.fmt-mise .brk{ border-color:var(--violet); }

/* ---- DUEL DE RÉFLEXES : écran BUZZ (bouton carré) ---- */
.ev-buzz{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:24px 16px; }
.ev-buzzbtn{ width:200px; height:150px; display:grid; place-items:center; font-family:var(--fd); font-size:36px; line-height:1.05; color:#04101f; background:linear-gradient(180deg,#bfeaff,var(--sys)); border:3px solid #cfeeff; cursor:pointer; box-shadow:0 0 50px var(--glow); clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px); }
.ev-buzzbtn:active{ transform:translateY(2px); }
.ev-buzzlbl{ font-family:var(--fh); font-size:11px; letter-spacing:2px; color:var(--sys2); text-align:center; }
.ev-buzzlocked{ text-align:center; font-family:var(--fd); font-size:20px; color:var(--mut); letter-spacing:1px; padding:20px; }

/* ---- PILLAGE DU DONJON (carnage) : carte + inventaire + loot ---- */
.ev-qcard.fmt-carnage{ border-color:var(--gold); box-shadow:0 0 22px rgba(255,207,90,.24),inset 0 0 30px rgba(255,207,90,.05); }
.ev-qcard.fmt-carnage .ty{ color:var(--gold); }
.ev-qcard.fmt-carnage .brk{ border-color:var(--gold); }

.ev-inv-lbl{ font-family:var(--fh); font-size:9px; letter-spacing:1.5px; color:var(--gold); margin:10px 2px 6px; opacity:.85; }
.ev-inv{ display:flex; gap:8px; flex-wrap:wrap; }
.ev-skill{ width:46px; height:46px; display:grid; place-items:center; font-size:22px; background:rgba(255,207,90,.08); border:1px solid var(--gold); color:#fff; cursor:pointer;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); box-shadow:0 0 12px rgba(255,207,90,.18); transition:transform .08s; }
.ev-skill:active{ transform:translateY(2px) scale(.96); }
.ev-skill[disabled]{ opacity:.3; pointer-events:none; filter:grayscale(1); }

.ev-loot{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:26px;
  background:radial-gradient(70% 50% at 50% 42%,rgba(255,207,90,.16),transparent 70%); }
.ev-loot .chest{ font-size:70px; filter:drop-shadow(0 0 22px rgba(255,207,90,.55)); animation:ev-fbpop .5s cubic-bezier(.2,1.35,.4,1) both; }
.ev-lootcard{ background:rgba(255,207,90,.07); border:1px solid var(--gold); padding:16px 22px; min-width:200px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px); box-shadow:0 0 26px rgba(255,207,90,.22); }
.ev-lootcard .e{ font-size:38px; }
.ev-lootcard .nm{ font-family:var(--fd); font-size:22px; letter-spacing:1px; color:var(--gold); margin-top:4px; }
.ev-lootcard .ds{ font-family:var(--fb); font-size:12px; color:var(--mut); margin-top:4px; }
/* PILLAGE — CHOIX de 3 cartes (version brutale de L'ÉVEIL) */
.ev-lootpicks{ display:flex; gap:9px; flex-wrap:wrap; justify-content:center; max-width:420px; }
.ev-lootpick{ flex:1 1 118px; max-width:132px; min-width:104px; background:rgba(255,207,90,.06); border:1px solid var(--gold);
  color:var(--ink); padding:13px 9px 12px; cursor:pointer; text-align:center; transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px); }
.ev-lootpick:hover, .ev-lootpick:focus-visible{ transform:translateY(-3px); background:rgba(255,207,90,.13); box-shadow:0 0 22px rgba(255,207,90,.3); outline:none; }
.ev-lootpick .e{ font-size:32px; line-height:1; }
.ev-lootpick .nm{ font-family:var(--fd); font-size:16px; letter-spacing:.5px; color:var(--gold); margin-top:6px; }
.ev-lootpick .ds{ font-family:var(--fb); font-size:10.5px; color:var(--mut); margin-top:4px; line-height:1.25; }
.ev-lootpick.brutal{ border-color:var(--danger); background:rgba(255,59,107,.07); }
.ev-lootpick.brutal:hover, .ev-lootpick.brutal:focus-visible{ background:rgba(255,59,107,.15); box-shadow:0 0 22px rgba(255,59,107,.34); }
.ev-lootpick.brutal .nm{ color:var(--danger); }
.ev-lootpick.chosen{ transform:translateY(-3px); background:rgba(255,207,90,.2); box-shadow:0 0 26px rgba(255,207,90,.4); }
.ev-lootpick.brutal.chosen{ background:rgba(255,59,107,.24); box-shadow:0 0 26px rgba(255,59,107,.45); }
.ev-lootpick[disabled]:not(.chosen){ opacity:.4; cursor:default; transform:none; box-shadow:none; }

/* ---- avatar déjà pris par un autre chasseur (unique par partie) ---- */
.ev-hp.taken{ cursor:not-allowed; position:relative; }
.ev-hp.taken .im{ filter:grayscale(1) brightness(.5); border-style:dashed; }
.ev-hp.taken .nm{ opacity:.4; }
.ev-hp.taken::after{ content:'PRIS'; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  font-family:var(--fh); font-size:8px; letter-spacing:1.5px; color:#fff; background:var(--danger);
  padding:2px 6px; clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px); }

/* ---- types de questions INÉDITS ---- */
/* SILHOUETTE : portrait en ombre qui se dévoile au reveal */
.ev-silh{ margin:8px 14px; height:190px; overflow:hidden; border:1px solid var(--line); position:relative;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px); }
.ev-silh img{ width:100%; height:100%; object-fit:cover; object-position:top center; filter:brightness(0) contrast(3); transition:filter .6s ease; }
.ev-silh.rev img{ filter:brightness(.62) saturate(1.2); }
.ev-silh .scan{ position:absolute; left:0; right:0; height:38%; top:0; background:linear-gradient(180deg,rgba(57,183,255,.28),transparent); animation:ev-silhscan 2.4s ease-in-out infinite; }
@keyframes ev-silhscan{ 0%,100%{ top:0 } 50%{ top:62% } }
/* DÉCHIFFRE : runes brouillées */
.ev-decode{ display:flex; gap:7px; justify-content:center; flex-wrap:wrap; padding:12px 14px 4px; }
.ev-decode .g{ width:42px; height:48px; border:1px solid var(--sys); background:rgba(57,183,255,.06); display:grid; place-items:center;
  font-family:var(--fd); font-size:22px; color:var(--sys2); text-shadow:0 0 10px var(--glow);
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); animation:ev-fbpop .4s cubic-bezier(.2,1.35,.4,1) both; }
/* LE PIÈGE : bannière + carte or */
.ev-trap{ margin:8px 14px 0; padding:8px 12px; border:1px solid var(--gold); background:rgba(255,207,90,.08);
  font-family:var(--fh); font-size:11px; letter-spacing:1px; color:var(--gold); text-align:center; }
.ev-qcard.fmt-trap{ border-color:var(--gold); box-shadow:0 0 22px rgba(255,207,90,.2); }
.ev-qcard.fmt-trap .ty{ color:var(--gold); } .ev-qcard.fmt-trap .brk{ border-color:var(--gold); }

/* ---- LE BON ORDRE (type ordonnancement) ---- */
.ev-ohint{ text-align:center; font-family:var(--fh); font-size:9px; letter-spacing:1.5px; color:var(--sys2); opacity:.8; margin:8px 14px 2px; }
.ev-order{ padding:2px 14px; }
.ev-oslots{ display:flex; flex-direction:column; gap:8px; }
.ev-oslot{ display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px dashed var(--line); background:rgba(57,183,255,.03);
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); transition:border-color .15s; }
.ev-oslot .n{ font-family:var(--fd); font-size:17px; color:var(--sys2); width:22px; text-align:center; }
.ev-oslot .it{ flex:1; font-family:var(--fh); font-size:13px; letter-spacing:.5px; color:#fff; }
.ev-oslot.filled{ border-style:solid; border-color:var(--sys); background:rgba(57,183,255,.08); cursor:pointer; }
.ev-oslot.ok{ border-style:solid; border-color:var(--green); background:rgba(0,255,151,.08); }
.ev-oslot.no{ border-style:solid; border-color:var(--danger); background:rgba(255,59,107,.08); }
.ev-oslot .was{ font-family:var(--fh); font-size:9px; letter-spacing:.5px; color:var(--danger); opacity:.85; }
.ev-opool{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:12px; min-height:44px; }
.ev-ocard{ padding:11px 15px; font-family:var(--fh); font-size:13px; letter-spacing:.5px; color:#fff; background:linear-gradient(180deg,rgba(57,183,255,.14),rgba(57,183,255,.05));
  border:1px solid var(--sys); cursor:pointer; box-shadow:0 0 12px var(--glow); clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); transition:transform .08s; }
.ev-ocard:active{ transform:translateY(2px) scale(.97); }

/* ---- LA PORTE INSTABLE : bombe qui tique ---- */
.ev-bomb{ position:relative; margin:10px auto 4px; width:120px; height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
/* bombe = HEXAGONE System (plus de cercle) */
.ev-bomb .ring{ position:absolute; inset:6px; border:3px solid var(--danger); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  box-shadow:0 0 26px rgba(255,59,107,.45),inset 0 0 22px rgba(255,59,107,.18); animation:ev-bombpulse 1s infinite; }
.ev-bomb .b{ font-size:44px; filter:drop-shadow(0 0 14px rgba(255,59,107,.6)); z-index:1; animation:ev-bombshake 1s infinite; }
.ev-bomb .cd{ position:absolute; z-index:2; font-family:var(--fd); font-size:26px; color:#fff; text-shadow:0 0 12px rgba(255,59,107,.9); top:-6px; right:-4px; }
.ev-bomb .lbl{ position:absolute; bottom:-14px; font-family:var(--fh); font-size:8px; letter-spacing:2px; color:var(--danger); white-space:nowrap; }
.ev-bomb.warn .ring{ animation-duration:.5s; } .ev-bomb.warn .b{ animation-duration:.5s; }
.ev-bomb.crit .ring{ animation-duration:.22s; border-color:#fff; } .ev-bomb.crit .b{ animation-duration:.22s; }
@keyframes ev-bombpulse{ 0%,100%{ transform:scale(1); opacity:1 } 50%{ transform:scale(1.08); opacity:.7 } }
@keyframes ev-bombshake{ 0%,100%{ transform:rotate(-5deg) } 50%{ transform:rotate(5deg) } }

/* ---- L'ÉVEIL pas encore ouvert : badge/CTA « bientôt » + compte à rebours ---- */
.eh-badge.soon { background: rgba(255,207,90,.14) !important; border: 1px solid var(--gold); color: var(--gold) !important; }
.eh-badge.soon .dot { display: none; }
.eh-cta.soon { background: transparent !important; border: 1px solid var(--gold); color: var(--gold) !important; box-shadow: none !important; }
.ev-lockcd { font-family: var(--fd); font-size: 40px; letter-spacing: 2px; color: #fff; text-shadow: 0 0 22px var(--glow); margin: 4px 0; }

/* ---- image de question (drapeaux, etc.) ---- */
.ev-qimg{ margin:10px 14px 2px; height:148px; overflow:hidden; border:1px solid var(--line); background:rgba(4,10,24,.45); display:grid; place-items:center;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px); box-shadow:0 0 16px rgba(57,183,255,.1); }
.ev-qimg img{ max-width:100%; max-height:100%; object-fit:contain; }
/* ---- compteur 3·2·1 sur la transition ---- */
.ev-tcount{ margin-top:16px; font-family:var(--fd); font-size:56px; color:#fff; text-shadow:0 0 28px var(--glow); line-height:1; }

/* ---- CLASSEMENT DE L'ÉVEIL (global, par Points de Gloire) ---- */
.ev-lbwrap{ padding:16px 14px 4px; }
.ev-lbhead{ text-align:center; font-size:26px; letter-spacing:1px; color:#fff; }
.ev-lbsub{ text-align:center; font-family:var(--fh); font-size:10px; letter-spacing:2px; color:var(--sys2); margin:2px 0 14px; }
.ev-lblist{ display:flex; flex-direction:column; gap:8px; }
.ev-lbrow{ display:flex; align-items:center; gap:11px; padding:9px 11px; background:var(--panel); border:1px solid var(--line);
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); }
.ev-lbrow .rk{ font-family:var(--fd); font-size:16px; color:var(--mut); width:26px; text-align:center; }
.ev-lbrow:nth-child(1) .rk{ color:var(--gold); text-shadow:0 0 10px rgba(255,207,90,.5); }
.ev-lbrow:nth-child(2) .rk{ color:#cfe0ff; } .ev-lbrow:nth-child(3) .rk{ color:#e0a06a; }
.ev-lbrow .av{ width:38px; height:38px; flex:0 0 auto; border:1px solid var(--line); overflow:hidden;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }
.ev-lbrow .av img{ width:100%; height:100%; object-fit:cover; }
.ev-lbrow .nm{ flex:1; min-width:0; font-family:var(--fh); font-weight:700; font-size:14px; letter-spacing:.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ev-lbrow .nm b{ color:var(--sys2); }
.ev-lbrow .gl{ font-family:var(--fd); font-size:15px; color:var(--gold); display:flex; align-items:center; gap:4px; }
.ev-lbrow .gl small{ font-size:10px; color:var(--sys); }
.ev-lbrow.me{ border-color:var(--sys); box-shadow:0 0 16px rgba(57,183,255,.3); }

/* --- verdict correct/faux : marque ✓ / ✗ TRACÉE en CSS (plus d'emoji « checkbox ») --- */
.ev-fb .fb-ring{ position:relative; font-size:0; }
.ev-fb.good .fb-ring::before{ content:''; width:26px; height:50px; margin-top:-9px; box-sizing:border-box; border:solid var(--green); border-width:0 9px 9px 0; transform:rotate(45deg); filter:drop-shadow(0 0 10px rgba(95,240,176,.7)); }
.ev-fb.bad .fb-ring::before, .ev-fb.bad .fb-ring::after{ content:''; position:absolute; left:50%; top:50%; width:9px; height:54px; margin:-27px 0 0 -4.5px; background:var(--danger); border-radius:2px; box-shadow:0 0 12px rgba(255,59,107,.7); }
.ev-fb.bad .fb-ring::before{ transform:rotate(45deg); } .ev-fb.bad .fb-ring::after{ transform:rotate(-45deg); }

/* --- classement : séparateur « toi hors du top » --- */
.ev-lbgap{ text-align:center; font-family:var(--fh); letter-spacing:6px; color:var(--mut2); padding:2px 0 4px; }

/* --- transitions : glyphe System du mode (cyan + halo, aucun cadre/fond, plus d'emoji) --- */
.ev-trans .ev-glyph{ font-size:78px; line-height:1.02; color:var(--sys2); text-shadow:0 0 26px var(--glow),0 0 60px rgba(57,183,255,.4); }
.ev-trans .noto, .ev-trans img{ background:none !important; border:0 !important; box-shadow:none !important; }

/* ============================================================
   REFONTE carte L'ÉVEIL (s30) sur l'accueil : la carte RESSORT (liseré clair +
   halo bleu, l'ombre noire ne se fond plus dans le fond) + COMPTE À REBOURS hh:mm:ss
   ============================================================ */
.eveil-hero { background:#141130; margin:12px 0 0;
  box-shadow:0 0 0 2px rgba(170,210,255,.5) inset, 6px 6px 0 #0a0a0a, 0 0 26px rgba(60,120,255,.42); }
.eveil-hero .eh-cd { position:relative; z-index:2; border:2px solid rgba(255,210,74,.55); background:rgba(8,12,28,.55); padding:9px 11px; }
.eveil-hero .eh-cd .cd-lab { font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:9px; letter-spacing:2px; color:#ffd24a; }
.eveil-hero .eh-cd .cd-time { margin-top:5px; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:32px; letter-spacing:2px; line-height:1; color:#fff; text-shadow:0 0 12px rgba(255,210,74,.4); }
.eveil-hero .eh-cta { letter-spacing:1.5px; }

/* ============================================================
   ÉCRAN D'ENTRÉE DU RAID (eveil:launch) — sung.gif animé + glitch + System/Sung + compte à rebours
   Restauré après le revert PR #108 (avait disparu).
   ============================================================ */
.ev-entry{ position:relative; flex:1; display:flex; flex-direction:column; overflow:hidden; background:#04060e; }
.ev-entry .ee-hero{ position:relative; flex:1 1 auto; min-height:52%; overflow:hidden; }
.ev-entry .ee-art{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 18%; filter:contrast(1.1) saturate(1.06) brightness(.94); }
.ev-entry .ee-art.r{ mix-blend-mode:screen; filter:brightness(.9) saturate(0) sepia(1) hue-rotate(-30deg) saturate(6); opacity:0; animation:ee-gr 5.5s steps(1) infinite; }
.ev-entry .ee-art.b{ mix-blend-mode:screen; filter:brightness(.9) saturate(0) sepia(1) hue-rotate(160deg) saturate(6); opacity:0; animation:ee-gb 5.5s steps(1) infinite; }
@keyframes ee-gr{ 0%,86%,100%{opacity:0;transform:translate(0)} 87%{opacity:.55;transform:translate(-5px,2px)} 90%{opacity:0} 93%{opacity:.5;transform:translate(4px,-2px)} 95%{opacity:0} }
@keyframes ee-gb{ 0%,86%,100%{opacity:0;transform:translate(0)} 87%{opacity:.5;transform:translate(5px,-2px)} 90%{opacity:0} 93%{opacity:.5;transform:translate(-4px,2px)} 95%{opacity:0} }
.ev-entry .ee-slice{ position:absolute; inset:0; pointer-events:none; z-index:2; opacity:0; animation:ee-slice 5.5s steps(1) infinite;
  background:linear-gradient(0deg,transparent 0,transparent 42%,rgba(255,59,107,.16) 42%,rgba(57,183,255,.16) 46%,transparent 46%,transparent 61%,rgba(57,183,255,.14) 61%,transparent 64%); }
@keyframes ee-slice{ 0%,88%,100%{opacity:0} 89%{opacity:1;transform:translateY(-8px)} 92%{opacity:0} 94%{opacity:1;transform:translateY(10px)} 96%{opacity:0} }
.ev-entry .ee-veil{ position:absolute; inset:0; z-index:3; background:
  radial-gradient(90% 55% at 50% 26%, rgba(255,59,107,.16), transparent 60%),
  linear-gradient(180deg, rgba(4,6,14,.5) 0%, rgba(4,6,14,0) 24%, rgba(4,6,14,.55) 68%, #04060e 100%); }
.ev-entry .ee-scan{ position:absolute; inset:0; z-index:3; pointer-events:none; background:repeating-linear-gradient(0deg,rgba(57,183,255,.05) 0 1px,transparent 1px 3px); mix-blend-mode:screen; opacity:.55; }
.ev-entry .ee-badge{ position:absolute; top:38px; left:0; right:0; z-index:5; text-align:center; padding:0 14px; }
.ev-entry .ee-badge .k{ font-family:var(--fh); font-size:11px; letter-spacing:5px; color:var(--danger); text-shadow:0 0 14px rgba(255,59,107,.7); }
.ev-entry .ee-gt{ position:relative; display:inline-block; font-family:var(--fd); font-size:50px; line-height:.86; letter-spacing:1px; color:#fff; margin-top:6px; text-shadow:0 0 26px rgba(255,59,107,.5),0 0 60px var(--glow); }
.ev-entry .ee-gt::before,.ev-entry .ee-gt::after{ content:attr(data-t); position:absolute; left:0; top:0; width:100%; }
.ev-entry .ee-gt::before{ color:var(--danger); animation:ee-gta 3.2s steps(1) infinite; }
.ev-entry .ee-gt::after{ color:var(--sys2); animation:ee-gtb 3.2s steps(1) infinite; }
@keyframes ee-gta{ 0%,92%,100%{opacity:0;transform:translate(0)} 93%{opacity:.8;transform:translate(-3px,1px);clip-path:inset(0 0 62% 0)} 96%{opacity:0} }
@keyframes ee-gtb{ 0%,92%,100%{opacity:0;transform:translate(0)} 93%{opacity:.8;transform:translate(3px,-1px);clip-path:inset(58% 0 0 0)} 96%{opacity:0} }
.ev-entry .ee-c{ margin-top:9px; font-family:var(--fd); font-size:13px; letter-spacing:2px; color:#fff; } .ev-entry .ee-c .g{ color:var(--gold); }
.ev-entry .ee-low{ position:relative; z-index:5; flex:0 0 auto; padding:2px 16px calc(16px + env(safe-area-inset-bottom)); }
.ev-entry .ee-line{ position:relative; display:flex; gap:11px; align-items:flex-start; padding:9px 12px 9px 11px; margin:8px 0; border-left:3px solid; background:linear-gradient(90deg,rgba(12,20,40,.72),rgba(12,20,40,.28)); }
.ev-entry .ee-line .pic{ width:50px; height:50px; flex:0 0 auto; overflow:hidden; border:1px solid; clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); }
.ev-entry .ee-line .pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.ev-entry .ee-line .who{ font-family:var(--fd); font-size:12px; letter-spacing:2px; }
.ev-entry .ee-line .sp{ font-family:var(--fb); font-size:13.5px; line-height:1.38; margin-top:3px; color:#dfe8ff; } .ev-entry .ee-line .sp b{ color:#fff; }
.ev-entry .ee-line.sys{ border-color:var(--danger); } .ev-entry .ee-line.sys .pic{ border-color:#4a2136; box-shadow:0 0 16px rgba(255,59,107,.4); } .ev-entry .ee-line.sys .who{ color:var(--danger); } .ev-entry .ee-line.sys .sp b{ color:#ff9cb4; }
.ev-entry .ee-line.sung{ border-color:var(--violet); } .ev-entry .ee-line.sung .pic{ border-color:#3a2a63; box-shadow:0 0 16px rgba(155,108,255,.4); } .ev-entry .ee-line.sung .who{ color:var(--violet); } .ev-entry .ee-line.sung .sp b{ color:#c3a6ff; }
.ev-entry .ee-cd{ text-align:center; margin-top:12px; }
.ev-entry .ee-cd .lbl{ font-family:var(--fh); font-size:11px; letter-spacing:4px; color:var(--danger); text-shadow:0 0 12px rgba(255,59,107,.5); }
.ev-entry .ee-cd .num{ font-family:var(--fd); font-size:70px; line-height:.9; color:#fff; text-shadow:0 0 30px rgba(255,59,107,.7),0 0 60px var(--glow); animation:ee-beat 1s steps(1) infinite; }
@keyframes ee-beat{ 0%{transform:scale(1);opacity:1} 50%{transform:scale(1.12);opacity:.85} 100%{transform:scale(1);opacity:1} }

/* bouton d'action désactivé (ex. VALIDER L'ORDRE tant que les 4 cartes ne sont pas posées) */
.ev-cta[disabled]{ opacity:.38; filter:grayscale(.5); pointer-events:none; cursor:default; }
