
:root{
  --bg:#080808;--surface:#141414;--surface2:#1c1c1c;--border:#2a2a2a;
  --purple:#7c3aed;--purple2:#6d28d9;--purple-light:#a78bfa;--purple-dim:#4c1d95;
  --text:#f0ede8;--text-muted:#6b6560;
  --font-display:'Bebas Neue',sans-serif;--font-body:'Syne',sans-serif;--font-mono:'DM Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:0.6;}
nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px;background:rgba(8,8,8,0.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(124,58,237,0.2);}
.nav-logo{font-family:var(--font-display);font-size:2rem;letter-spacing:0.1em;background:linear-gradient(135deg,var(--purple),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;}

.nav-links a{color:var(--text-muted);text-decoration:none;font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover{color:var(--purple-light);}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 40px 60px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 80px,rgba(124,58,237,0.03) 80px,rgba(124,58,237,0.03) 81px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(124,58,237,0.03) 80px,rgba(124,58,237,0.03) 81px);}
.hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,0.1) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.hero-eyebrow{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--purple-light);margin-bottom:20px;opacity:0;animation:fadeUp 0.8s 0.2s forwards;}
.hero-title{font-family:var(--font-display);font-size:clamp(5rem,15vw,12rem);line-height:0.9;letter-spacing:0.02em;background:linear-gradient(160deg,#fff 0%,var(--purple-light) 50%,var(--purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;animation:fadeUp 0.8s 0.4s forwards;}
.hero-tagline{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--text-muted);margin-top:14px;opacity:0;animation:fadeUp 0.8s 0.55s forwards;}
.hero-sub{font-size:1.05rem;color:var(--text-muted);margin-top:16px;max-width:480px;line-height:1.6;font-weight:400;opacity:0;animation:fadeUp 0.8s 0.6s forwards;}
.hero-cta{display:flex;gap:14px;margin-top:48px;opacity:0;animation:fadeUp 0.8s 0.8s forwards;flex-wrap:wrap;justify-content:center;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:6px;font-family:var(--font-body);font-size:0.85rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:all 0.2s;}
.btn-purple{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;}
.btn-purple:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(124,58,237,0.5);}
.btn-outline{background:transparent;color:var(--purple-light);border:1px solid var(--purple-dim);}
.btn-outline:hover{border-color:var(--purple);background:rgba(124,58,237,0.08);}
.section{padding:100px 40px;max-width:1200px;margin:0 auto;}
.section-label{text-align:center;font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--purple-light);margin-bottom:12px;}
.section-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);letter-spacing:0.03em;line-height:1;margin-bottom:16px;text-align:center;}
.section-desc{color:var(--text-muted);font-size:0.95rem;line-height:1.7;max-width:520px;margin-bottom:56px;text-align:center;margin-left:auto;margin-right:auto;}
/* GAME CARDS */
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:3px;}
.game-card{position:relative;padding:44px 40px;text-decoration:none;color:var(--text);overflow:hidden;cursor:pointer;transition:transform 0.25s,box-shadow 0.25s;border-radius:2px;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;}
.game-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,0.5);}
/* Au hover : le fond (couleur OU image) gagne en intensité — saturation +
   luminosité boostées, et l'overlay assombrissant s'allège pour mieux laisser
   transparaître le visuel. Effet additif aux animations existantes. */
.game-card-bg{position:absolute;inset:0;z-index:0;transition:filter 0.35s ease,transform 0.5s ease;}
.game-card:hover .game-card-bg{filter:saturate(1.25) brightness(1.18);transform:scale(1.04);}
.game-card-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,8,8,0) 0%,rgba(8,8,8,0.85) 70%);z-index:1;transition:opacity 0.35s ease;}
.game-card:hover .game-card-overlay{opacity:0.55;}
.game-card-content{position:relative;z-index:2;}
.game-card-num{font-family:var(--font-display);font-size:5rem;position:absolute;top:20px;right:24px;opacity:0.12;line-height:1;z-index:2;transition:opacity 0.3s;}
.game-card:hover .game-card-num{opacity:0.22;}
.game-card-tag{display:inline-block;font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.1);padding:3px 9px;border-radius:2px;margin-bottom:10px;backdrop-filter:blur(4px);}
.game-card-title{font-family:var(--font-display);font-size:2rem;letter-spacing:0.04em;margin-bottom:8px;line-height:1.1;}
.game-card-desc{font-size:0.8rem;color:rgba(255,255,255,0.6);line-height:1.6;margin-bottom:18px;}
.game-card-arrow{font-size:1.1rem;color:rgba(255,255,255,0.4);transition:transform 0.3s,color 0.3s;}
.game-card:hover .game-card-arrow{transform:translateX(6px);color:#fff;}
/* Card backgrounds by game */
/* Dégradés par défaut alignés sur le rendu de la page "Jeux" — plus lumineux
   et plus saturés que la version précédente, pour cohérence visuelle entre
   les deux pages. Les overlays restent communs (rgba noir, géré par
   .game-card-overlay générique) → un seul jeu de règles à maintenir. */
.card-ia       .game-card-bg{background:linear-gradient(135deg,#1a0a2e,#2d1260,#4c28a0);}
.card-vf       .game-card-bg{background:linear-gradient(135deg,#0d0d22,#142a5a,#1e4d9a);}
.card-ocm      .game-card-bg{background:linear-gradient(135deg,#1a1004,#3d2406,#6b4010);}
.card-ordre    .game-card-bg{background:linear-gradient(135deg,#041a0e,#08381e,#0f6035);}
.card-tier     .game-card-bg{background:linear-gradient(135deg,#1a0620,#340850,#5a0e82);}
.card-lettres  .game-card-bg{background:linear-gradient(135deg,#1a0414,#3a0828,#7a1a4a);}
.card-mots     .game-card-bg{background:linear-gradient(135deg,#180a04,#2e1808,#5e3818);}
.card-faceswap .game-card-bg{background:linear-gradient(135deg,#1a0828,#2d0a3e,#5a0a8a);}
/* Tier wide card */
.game-card.wide{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;min-height:160px;padding:40px 52px;}
.wide .game-card-content{flex:1;}
.tier-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;}
.tier-badge{font-family:var(--font-display);font-size:1.3rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:4px;}
/* Decorative pattern overlays on cards.
   Le contenu vient de la variable CSS --bg-emoji (settée par JS pour refléter
   l'émoji de premier plan choisi par l'admin). Si non-définie, fallback par défaut. */
.game-card .game-card-bg::after{position:absolute;top:18px;left:22px;font-size:3.5rem;opacity:0.07;filter:grayscale(1);}
.card-ia       .game-card-bg::after{content:var(--bg-emoji,'🤖');}
.card-vf       .game-card-bg::after{content:var(--bg-emoji,'🕵️');}
.card-ocm      .game-card-bg::after{content:var(--bg-emoji,'🧩');}
.card-ordre    .game-card-bg::after{content:var(--bg-emoji,'🎵');}
.card-lettres  .game-card-bg::after{content:var(--bg-emoji,'🔤');}
.card-mots     .game-card-bg::after{content:var(--bg-emoji,'🔡');}
.card-faceswap .game-card-bg::after{content:var(--bg-emoji,'🔀');}
.card-timeline .game-card-bg::after{content:var(--bg-emoji,'📅');}
.card-blindtest .game-card-bg::after{content:var(--bg-emoji,'🎧');}
/* Supprime le ::after quand l'admin a choisi "aucun emoji" */
.no-emoji .game-card-bg::after{content:''!important;}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,0.3),transparent);margin:0 40px;}



@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
@media(max-width:768px){
  nav{padding:0 20px;}
  .nav-links{display:none !important;}
  .hero{padding:80px 20px 48px;}
  .hero-title{font-size:clamp(3.5rem,16vw,7rem);}
  .hero-cta{flex-direction:column;align-items:center;}
  .section{padding:40px 20px;}
  .games-grid{grid-template-columns:1fr;gap:3px;}
  .tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,480px));gap:8px;max-width:976px;margin-left:auto;margin-right:auto;}
  .game-card{min-height:200px;padding:32px 24px;}
  .game-card.wide{flex-direction:column;min-height:auto;padding:28px 20px;}
  .tier-badges{justify-content:flex-start;margin-top:16px;}
  .divider{margin:0 20px;}
  .section-title{font-size:clamp(2rem,8vw,3.5rem);}
}
@media(max-width:400px){
  .hero-title{font-size:clamp(3rem,14vw,5rem);}
  .section{padding:32px 14px;}
  .game-card-title{font-size:1.7rem;}
}.hero{padding:80px 20px 60px;}.section{padding:60px 20px;}.game-card.wide{grid-template-columns:1fr;flex-direction:column;}.tier-badges{justify-content:flex-start;margin-top:16px;}}


/* .construction-badge : déplacé dans style.css (partagé toutes pages) */
/* Méta-bloc en pied de carte : badge "Bientôt" à gauche, cadenas absolu en bas-droite. */
.game-card-meta{display:flex;align-items:center;margin-top:8px;}
/* Carte "Bientôt disponible" : aligné sur le style de la page Jeux.
   - opacité réduite + assombrissement supplémentaire (filter:brightness) pour
     bien signaler que la carte n'est pas cliquable
   - hover totalement neutralisé */
.no-questions{opacity:0.5;cursor:default;filter:brightness(0.7);}
.no-questions:hover{transform:none;box-shadow:none;filter:brightness(0.7);}
.no-questions:hover .game-card-bg{filter:none;transform:none;}
.no-questions:hover .game-card-overlay{opacity:1;}
.no-questions:hover .game-card-arrow{transform:none;color:rgba(255,255,255,0.55);}
/* Cadenas positionné dans le coin bas-droite de la carte (pas dans le flux meta) */
.no-questions .game-card-meta .game-card-arrow{position:absolute;right:22px;bottom:22px;font-size:1.3rem;color:rgba(255,255,255,0.55);}
@media(max-width:600px){
  .no-questions .game-card-meta .game-card-arrow{right:18px;bottom:18px;}
}
