/* Fredoka (titres) + Figtree (corps) : identité "panda EscapeIT" — rond,
   chaleureux, lisible. JetBrains Mono reste la police technique/données.
   Chargée ici en CSS pur pour respecter la règle "aucune modification du DOM". */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Figtree:wght@400;500;600;700&display=swap');

/* ═══════════════════════════════════════════════════════════════════════
   DIRECTION ARTISTIQUE — v4, "panda EscapeIT"
   Vert de marque franc (#00A719), fond sombre par défaut / clair en option
   (inchangé : data-mode="light" reste l'interrupteur), composants arrondis
   façon manette de jeu. Le panda aux yeux-manette est le repère visuel.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
    --color-bg-primary:#0B130D; --color-bg-secondary:#132016;
    --color-text-primary:#ECF5ED; --color-text-secondary:#9FB3A3;
    --ink:var(--color-bg-primary); --bg2:var(--color-bg-secondary); --panel:var(--color-bg-secondary); --panel2:#0F1911; --line:#223326; --line2:#2F4634;
    --txt:var(--color-text-primary); --txt2:var(--color-text-secondary); --muted:var(--color-text-secondary); --dim:#6F8574;
    --shadow:rgba(0,0,0,.5);
    --ring: inset 0 0 0 1px rgba(236,245,237,.06);

    --color-accent-primary:#12B82C; --color-accent-hover:#4BDB64;
    --accent:var(--color-accent-primary); --accent2:var(--color-accent-hover);
    --accent-deep:#008013; --accent-soft:#133A1A; --face:#FFFFFF;
    --safe:#4BDB64; --danger:#FF6F5E; --ink-on-accent:#06110A;
    --glow:rgba(18,184,44,.18);

    --sans:"Figtree",system-ui,-apple-system,sans-serif; --disp:"Fredoka","Nunito",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
    --maxw:1180px; --r:20px;
    --sec-py:120px; --sec-py-m:72px;
  }
  html[data-theme="ambre"]{ --accent:#D4621C; --accent2:#E8752A; --safe:#3AA56B; --ink-on-accent:#0B0C0A; --glow:rgba(212,98,28,.10); }

  html[data-mode="light"]{
    --ink:#F6FAF5; --bg2:#FFFFFF; --panel:#FFFFFF; --panel2:#EAF2E9; --line:#DCE7DB; --line2:#C3D3C2;
    --txt:#0F1D12; --txt2:#4F5F52; --muted:#4F5F52; --dim:#7F8E82; --shadow:rgba(15,40,18,.14);
    --accent:#00A719; --accent2:#007417; --accent-deep:#008013; --accent-soft:#DDF3DF;
    --safe:#008013; --danger:#D23B2A; --ink-on-accent:#0F1D12;
    --ring: inset 0 0 0 1px rgba(15,29,18,.05);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
  body{margin:0;color:var(--txt);font-family:var(--sans);line-height:1.62;background:var(--ink);-webkit-font-smoothing:antialiased}
  .grid-bg{display:none}
  /* Emphase de titre : couleur d'accent + même famille, jamais de dégradé
     texte (tell d'IA classique). */
  .grad-text{color:var(--accent2);font-weight:800}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);position:relative;padding-left:16px;text-transform:uppercase}
  .eyebrow::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1.5px;background:var(--accent)}
  h1,h2,h3{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;margin:0}
  h1{font-size:clamp(42px,6.4vw,86px);line-height:1.02;letter-spacing:-.025em}
  h2{font-size:clamp(30px,4vw,52px);line-height:1.08}
  h3{font-size:20px;font-weight:700;font-family:var(--sans);letter-spacing:-.01em}
  p{margin:0}
  .lead{font-size:clamp(18px,1.8vw,21px);color:var(--txt2);max-width:52ch;line-height:1.55}
  .muted{color:var(--muted)}
  .btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--disp);font-weight:600;border-radius:980px;padding:14px 26px;border:2px solid transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .1s ease,box-shadow .1s ease;font-size:15.5px;white-space:nowrap}
  .btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
  .btn-accent{background:var(--accent);color:var(--ink-on-accent);box-shadow:0 4px 0 var(--accent-deep)}
  .btn-accent:hover{background:var(--accent2)}
  .btn-accent:active{transform:translateY(2px);box-shadow:0 2px 0 var(--accent-deep)}
  .btn-ghost{border-color:var(--line2);color:var(--txt);background:var(--panel)}
  .btn-ghost:hover{border-color:var(--accent)}
  .btn-ghost:active{transform:scale(.97)}
  .btn-lg{padding:17px 30px;font-size:17px}
  @media (prefers-reduced-motion:reduce){ .btn{transition:none} .btn:active{transform:none} }
  .nav{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--ink) 80%,transparent);border-bottom:1px solid var(--line)}
  .nav .row{display:flex;align-items:center;gap:26px;height:64px}
  .brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:700;font-size:19px}
  .mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--face);border:1px solid var(--line);flex:none}
  .mark svg{width:28px;height:auto}
  .nav .links{display:flex;gap:26px;margin-left:8px}
  .nav .links a{font-size:13.5px;color:var(--muted);transition:color .15s ease}
  .nav .links a:hover{color:var(--txt)}
  .nav .sp{margin-left:auto}
  .mode-toggle{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;margin-left:2px;transition:border-color .15s ease,color .15s ease}
  .mode-toggle:hover{color:var(--txt);border-color:var(--line2)}
  .mode-toggle .i-sun{display:none}
  html[data-mode="light"] .mode-toggle .i-sun{display:block}
  html[data-mode="light"] .mode-toggle .i-moon{display:none}
  section{padding:var(--sec-py) 0}
  .sec-head{max-width:44ch;margin:0 auto 56px;text-align:center}
  .sec-head h2{margin:0}
  .sec-head .lead{max-width:46ch;margin:18px auto 0}
  #comment .sec-head, #tester .sec-head, #offre .sec-head, #approche .sec-head, #telecharger .sec-head{text-align:left;margin-left:0}
  #comment .sec-head .lead, #tester .sec-head .lead, #offre .sec-head .lead, #approche .sec-head .lead{margin-left:0}

  /* --- Hero : le panda-manette comme repère visuel + preuves chiffrées en HUD --- */
  .hero{padding:72px 0 96px}
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .hero-copy h1{margin:0 0 .34em;max-width:16ch;font-size:clamp(34px,4.4vw,58px);line-height:1.04}
  .hero-copy .lead{margin:0}
  .hero-copy .cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
  .trust-line{margin:22px 0 0;font-size:13px;color:var(--dim)}

  .stage{position:relative;background:var(--accent);border-radius:40px;padding:56px 40px 64px;display:grid;place-items:center;min-width:0;box-shadow:inset 0 -10px 0 var(--accent-deep)}
  .stage-face{width:min(100%,380px);aspect-ratio:1;border-radius:50%;background:var(--face);display:grid;place-items:center;box-shadow:0 30px 60px -30px rgba(0,40,8,.55);animation:pandaBob 5s ease-in-out infinite}
  .stage-face svg{width:80%;height:auto;overflow:visible}
  .stage-face .b{transform-box:fill-box;transform-origin:center;animation:pandaPress 4s infinite}
  .stage-face .bT{animation-delay:0s}.stage-face .bR{animation-delay:.5s}.stage-face .bB{animation-delay:1s}.stage-face .bL{animation-delay:1.5s}
  .stage-face .dpad{transform-box:fill-box;transform-origin:center;animation:pandaTilt 4s infinite 2.2s}
  @keyframes pandaPress{0%,8%{transform:scale(1);fill:var(--accent-deep)}4%{transform:scale(.8);fill:var(--accent)}}
  @keyframes pandaTilt{0%,10%{transform:none}3%{transform:translateX(-5px)}6%{transform:translateY(5px)}}
  @keyframes pandaBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  @media (prefers-reduced-motion:reduce){ .stage-face,.stage-face .b,.stage-face .dpad{animation:none} }

  .hud{position:absolute;background:var(--panel);color:var(--txt);border-radius:18px;box-shadow:0 16px 36px -18px var(--shadow),0 0 0 1px var(--line)}
  .hud-main{left:-28px;bottom:-34px;padding:16px 20px;max-width:260px}
  .hud-main .n{display:block;font-family:var(--disp);font-weight:700;font-size:34px;line-height:1;color:var(--accent2)}
  .hud-main .u{display:block;font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:4px}
  .hud-main p{font-size:13px;color:var(--txt2);margin-top:8px;line-height:1.4}
  .hud-main .ref{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:6px;line-height:1.4;overflow-wrap:anywhere}
  .hud-main .ref a{color:var(--accent2)}
  .hud-mini{padding:10px 14px;display:flex;align-items:center;gap:10px}
  .hud-mini .n{font-family:var(--disp);font-weight:700;font-size:22px;line-height:1}
  .hud-mini .t{display:flex;flex-direction:column;line-height:1.25}
  .hud-mini .u{font-family:var(--mono);font-size:10.5px;color:var(--dim)}
  .hud-mini p{font-size:12.5px;color:var(--txt2)}
  .hud-a{top:-22px;right:28px}
  .hud-b{bottom:-22px;right:24px}
  @media(max-width:900px){
    .hero{padding:56px 0 64px}
    .hero-grid{grid-template-columns:1fr;gap:56px}
    .hero-copy h1{max-width:none}
    .hud-main{left:-10px}
  }
  @media(max-width:640px){
    .stage{padding:32px 20px 24px;border-radius:28px;display:flex;flex-direction:column;gap:14px}
    .hud{position:static;max-width:none;width:100%}
    .stage-face{width:min(100%,280px)}
  }

  /* --- Tarifs : la liste de fonctionnalités une seule fois + une échelle de paliers --- */
  .pricing-wrap{display:grid;grid-template-columns:.8fr 1.7fr;gap:18px;align-items:stretch}
  .price-card{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:26px 22px;display:flex;flex-direction:column}
  .price-card h3{font-size:22px}
  .price-seg{font-family:var(--mono);font-size:12px;color:var(--dim);margin-top:4px !important}
  .price-amount{margin-top:18px;display:flex;align-items:baseline;gap:8px}
  .price-num{font-family:var(--disp);font-weight:700;font-size:27px}
  .price-unit{font-family:var(--mono);font-size:11px;color:var(--dim)}
  .price-list{list-style:none;padding:0;margin:18px 0 22px;display:flex;flex-direction:column;gap:8px;flex:1}
  .price-list li{font-size:13.5px;color:var(--txt2);padding-left:18px;position:relative}
  .price-list li::before{content:"✓";position:absolute;left:0;color:var(--safe)}
  .price-card .btn{justify-content:center;width:100%}
  .price-badge{align-self:flex-start;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2);background:var(--accent-soft);border-radius:999px;padding:3px 10px;margin:0 0 10px}

  .price-panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:30px;display:grid;grid-template-columns:1fr 1.5fr;gap:32px}
  .price-panel-features h3{font-size:16px;font-family:var(--disp)}
  .price-panel-features ul{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:10px}
  .price-panel-features li{font-size:14px;color:var(--txt2);padding-left:22px;position:relative;line-height:1.4}
  .price-panel-features li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;background:var(--accent-soft);box-shadow:inset 0 0 0 4px var(--accent-soft),inset 0 0 0 13px var(--accent)}
  .ppf-note{margin-top:18px;font-family:var(--mono);font-size:11px;color:var(--dim);line-height:1.5}
  .price-panel-tiers{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:32px}
  .tier-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
  .tier-row:first-child{border-top:none;padding-top:0}
  .tier-seg{font-size:14.5px;color:var(--txt2)}
  .tier-amt{font-family:var(--disp);font-weight:700;font-size:21px;white-space:nowrap}
  .tier-amt small{font-family:var(--mono);font-weight:500;font-size:10.5px;color:var(--dim);margin-left:5px}
  .tier-row .btn{padding:9px 16px;font-size:13.5px}
  @media(max-width:1080px){
    .pricing-wrap{grid-template-columns:1fr}
    .price-panel{grid-template-columns:1fr}
    .price-panel-tiers{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
  }
  @media(max-width:640px){
    .price-panel{padding:22px}
    .tier-row{grid-template-columns:1fr;gap:8px;text-align:left}
    .tier-row .btn{width:100%;justify-content:center}
  }

  /* --- Comment ça marche : cartes rondes, pastille numérotée --- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .step{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:26px 22px 28px}
  .step .n{width:44px;height:44px;border-radius:50%;background:var(--accent-deep);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:18px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);margin-bottom:18px}
  .step:nth-child(2n) .n{background:var(--accent)}
  .step .ic{display:none}
  .step h3{margin-bottom:8px;font-size:21px}
  .step p{color:var(--txt2);font-size:15px;line-height:1.6}
  .step .tag{display:none}

  /* --- teaser mail (structure inchangée, requise par le script) --- */
  .teaser{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:start}
  @media(max-width:900px){.teaser{grid-template-columns:1fr}}
  .mailwin{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);box-shadow:0 40px 80px -40px var(--shadow)}
  .mailwin .tb{display:flex;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--dim)}
  .mailwin .tb svg{opacity:.7}
  .mailwin .tb .sp{margin-left:auto;font-family:var(--mono);font-size:11px}
  .mailwin .head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
  .avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--disp);font-weight:800;color:#fff;background:linear-gradient(135deg,#64748B,#334155)}
  .head .who{font-size:14px}.head .who b{color:var(--txt)}.head .when{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--dim)}
  .subj{padding:12px 18px 0;font-size:15px;color:var(--txt2)}
  .body{padding:12px 18px 18px;color:var(--txt2);font-size:14.5px}
  .clk{border-bottom:1px dashed var(--line2);cursor:pointer;padding:1px 3px;border-radius:5px;transition:background .12s ease;white-space:normal}
  .clk:hover{background:rgba(255,255,255,.05)}
  .clk.sel{background:color-mix(in srgb,var(--accent) 16%,transparent);border-bottom-color:var(--accent);color:var(--accent2)}
  .clk.good{background:color-mix(in srgb,var(--safe) 16%,transparent);border-bottom:1px solid var(--safe);color:var(--safe)}
  .clk.bad{background:color-mix(in srgb,var(--danger) 16%,transparent);border-bottom:1px solid var(--danger);color:var(--danger)}
  .clk.miss{border-bottom:2px solid var(--safe);color:var(--safe)}
  .badge{font-family:var(--mono);font-size:9.5px;padding:1px 5px;border-radius:6px;margin-left:5px;vertical-align:middle}
  .badge.g{background:var(--safe);color:#04231c}.badge.b{background:var(--danger);color:#2a0608}.badge.m{background:transparent;border:1px solid var(--safe);color:var(--safe)}
  .panel-side{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:24px}
  .panel-side .score{font-family:var(--disp);font-size:36px;font-weight:800}
  .panel-side .score small{font-size:15px;color:var(--muted);font-weight:500;font-family:var(--sans)}
  .checklist{list-style:none;padding:0;margin:14px 0 0}
  .checklist li{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--txt2)}
  .checklist li .mk{color:var(--dim);font-family:var(--mono);margin-top:1px}
  .checklist li.hit .mk{color:var(--safe)}
  .side-cta{margin-top:16px;display:none}
  .side-cta.show{display:block}

  /* --- Offre : cartes rondes, icône en pastille teintée --- */
  .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
  .card{border:1px solid var(--line);padding:26px;background:var(--panel);border-radius:24px;display:flex;gap:18px;flex-direction:row;align-items:flex-start;box-shadow:none}
  .card .ic{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent2)}
  .card h3{margin-bottom:6px;font-size:21px}.card p{color:var(--txt2);font-size:15px;line-height:1.6}
  @media(max-width:900px){.cards{grid-template-columns:1fr}}

  /* --- Recherche : cartes rondes, une pleine largeur pour la méta-analyse --- */
  .rnote{border-left:3px solid var(--safe);padding:16px 20px;background:color-mix(in srgb,var(--safe) 8%,transparent);border-radius:0 14px 14px 0;max-width:82ch;color:var(--txt2)}
  .studies{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
  .study{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:12px}
  .study.wide{grid-column:1 / -1}
  .study .tag{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--dim);text-transform:uppercase}
  .study h3{margin:0;font-size:20px}.study p{color:var(--txt2);font-size:15px;line-height:1.6}
  .study .msg{color:var(--txt);font-weight:600;background:var(--accent-soft);border-radius:14px;padding:12px 14px;font-size:14.5px}
  .study .ref{font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:auto;padding-top:10px;border-top:1px dashed var(--line2)}
  .study .ref a{color:var(--accent2)}
  .esbar{display:flex;align-items:center;gap:10px;margin:0}
  .esbar b{font-family:var(--disp);font-weight:700;font-size:32px;line-height:1;color:var(--accent2)}
  .esbar .track{flex:1;height:8px;border-radius:999px;background:var(--panel2);overflow:hidden}
  .esbar .fill{height:100%;background:var(--accent);border-radius:999px;width:0}
  .esbar small{font-family:var(--mono);font-size:11px;color:var(--muted)}
  .method{font-family:var(--mono);font-size:12px;color:var(--dim);margin-top:30px;max-width:82ch}
  @media(max-width:900px){.studies{grid-template-columns:1fr}.study.wide{grid-column:auto}}

  /* --- Bande CTA finale : centrée, minimale --- */
  .band{border:0;border-radius:0;padding:0;background:none;display:flex;flex-direction:column;gap:28px;align-items:center;text-align:center}
  footer{border-top:1px solid var(--line);padding:38px 0;color:var(--dim);font-family:var(--mono);font-size:12px}
  footer .row{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;align-items:center}
  footer .brand{font-size:16px;color:var(--txt)}
  footer .foot-links{display:flex;gap:18px;flex-wrap:wrap}
  footer .foot-links a:hover{color:var(--txt)}
  footer .foot-bottom{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);width:100%}
  .rev{opacity:1;transform:none}
  @media(max-width:900px){
    :root{--sec-py:var(--sec-py-m)}
    .steps{grid-template-columns:1fr 1fr;row-gap:40px}
    .nav .links{display:none}
  }
  @media(max-width:640px){ .steps{grid-template-columns:1fr} .btn-lg{white-space:normal;text-align:center;line-height:1.3} }
  :focus-visible{outline:2px solid var(--safe);outline-offset:3px;border-radius:8px}

/* --- fil d'Ariane, FAQ, prose sous-pages, skip-link --- */
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--ink-on-accent);padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px;top:10px}
.crumbs{padding-top:22px}
.crumbs ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;font-family:var(--mono);font-size:12px;color:var(--dim)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--txt)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line2)}
.prose{max-width:72ch}
.prose p{color:var(--txt2);margin:0 0 1em}
.prose h2{margin:1.6em 0 .5em}
.prose ul{color:var(--txt2);padding-left:1.1em}.prose li{margin:.3em 0}
/* --- Téléchargement / auto-hébergement --- */
.dl-card{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:28px}
.dl-list{list-style:none;padding:0;margin:14px 0;display:grid;gap:8px}
.dl-list li{display:flex;gap:9px;align-items:flex-start;color:var(--txt2);font-size:14.5px}
.dl-list li::before{content:"✓";color:var(--safe);font-weight:700}
.code{font-family:var(--mono);font-size:13px;background:#14181D;border:1px solid var(--line);border-radius:12px;padding:14px 16px;white-space:pre;overflow:auto;color:#E7ECF5}
.faq{display:grid;gap:12px;max-width:80ch}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:2px 18px;transition:border-color .15s ease}
.faq details[open]{border-color:var(--line2)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-family:var(--disp);font-weight:700;font-size:16.5px;display:flex;align-items:center;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--accent);font-family:var(--mono);font-size:20px;line-height:1}
.faq details[open] summary::before{content:"–"}
.faq details p{color:var(--txt2);font-size:14.5px;margin:0 0 18px}
.pagelead{max-width:60ch;margin:.4em 0 8px;color:var(--txt2);font-size:clamp(17px,1.9vw,20px)}

/* --- Modale de capture de lead (démo) --- */
.lead-ov{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(5,9,18,.72);backdrop-filter:blur(6px)}
.lead-ov.open{display:flex}
.lead-modal{width:100%;max-width:460px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 24px 56px -20px var(--shadow);padding:26px;position:relative}
.lead-modal h2{font-size:23px;margin:0 0 4px}
.lead-modal .sub{color:var(--muted);font-size:14px;margin:0 0 18px}
.lead-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}
.lead-close:hover{color:var(--txt);border-color:var(--line2)}
.lead-modal label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:12px 0 5px}
.lead-modal input{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--line);background:var(--ink);color:var(--txt);font:inherit;font-size:15px}
.lead-modal input:focus{outline:2px solid var(--safe);outline-offset:1px;border-color:var(--safe)}
.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lead-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0 4px;font-size:12.5px;color:var(--muted);line-height:1.45}
.lead-consent input{width:16px;height:16px;margin-top:2px;flex:none}
.lead-consent a{color:var(--safe)}
.lead-modal .err{display:none;margin-top:10px;color:var(--danger);font-size:13px}
.lead-modal .err.show{display:block}
.lead-submit{width:100%;justify-content:center;margin-top:16px}
.lead-submit[disabled]{opacity:.6;cursor:default}

/* --- Modale pages légales (mentions légales, CGV, règlement) --- */
.info-modal{max-width:640px;max-height:84vh;padding:0;display:flex;flex-direction:column;overflow:hidden}
.info-modal .lead-close{z-index:2}
.info-body{overflow-y:auto;padding:46px 32px 32px}
.info-body h1{font-size:22px;margin:.1em 0 .2em}
.info-body .prose{max-width:none}
.info-body .cta,.info-body .crumbs{display:none}
.lead-foot{margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--dim);text-align:center}

/* ================= Escape autonome (site) ================= */
#app{max-width:var(--maxw);margin:0 auto;padding:16px 22px 60px}
.eg-msg{padding:40px;text-align:center;color:var(--muted)}
.eg-hud{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 0;background:var(--ink);flex-wrap:wrap}
.eg-chip{font-family:var(--mono);font-size:12px;color:var(--txt);border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 9px}
.eg-pips{display:flex;gap:5px;margin-left:auto}.eg-pips i{width:20px;height:6px;border-radius:3px;background:var(--line)}.eg-pips i.on{background:var(--safe);box-shadow:0 0 8px var(--safe)}
.eg-quit{font-family:var(--mono);font-size:12px;color:var(--muted)}
.eg-stage{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--panel2))}
.eg-scene{position:relative;aspect-ratio:16/7;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 120% at 50% 0,#16233c,#0b1424 70%)}
.eg-scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eg-scene:has(.eg-scene-img)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,18,.15),rgba(5,9,18,.65))}
.eg-scene-title{position:relative;z-index:1;font-family:var(--disp);font-weight:700;font-size:clamp(20px,4vw,34px);color:#33507a}
.eg-scene:has(.eg-scene-img) .eg-scene-title{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.eg-caption{padding:16px 18px;color:var(--txt);font-size:15px;border-top:1px solid var(--line)}
.eg-row{display:grid;grid-template-columns:1fr auto;gap:20px;margin-top:16px}
@media(max-width:700px){.eg-row{grid-template-columns:1fr}}
.eg-objs,.eg-exits{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.eg-obj,.eg-exit{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--txt);border-radius:10px;padding:9px 12px;font-size:14px}
.eg-obj:hover,.eg-exit:hover:not([disabled]){border-color:var(--accent);color:var(--accent)}
.eg-exit[disabled]{opacity:.5;cursor:not-allowed}
.eg-done{color:var(--safe)}
.eg-inv{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.eg-tk{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--safe);border:1px solid color-mix(in srgb,var(--safe) 40%,transparent);background:color-mix(in srgb,var(--safe) 12%,transparent);border-radius:8px;padding:3px 8px}
.eg-ov{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,9,18,.72);backdrop-filter:blur(6px)}
.eg-modal{width:100%;max-width:560px;max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--panel),var(--panel2));padding:22px;position:relative;box-shadow:0 24px 56px -20px var(--shadow)}
.eg-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}
.eg-narr{color:var(--txt2);margin:.3em 0 1em}.eg-sm{font-size:13px;margin:.2em 0 .6em}.eg-speaker{color:var(--accent);font-weight:600}
.eg-invrem{display:flex;flex-wrap:wrap;gap:6px;margin:.2em 0 1em}
.eg-actions{display:flex;flex-direction:column;gap:8px}
.eg-rows,.eg-sort,.eg-q{display:flex;flex-direction:column;gap:8px;margin:.4em 0}
.eg-check{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer;background:var(--ink);font-size:14px}
.eg-check input{margin-top:3px}
.eg-sortitem{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:var(--ink);font-size:14px}
.eg-sortitem select{background:var(--ink);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:5px}
.eg-order{list-style:decimal inside;padding:0;margin:.4em 0;display:flex;flex-direction:column;gap:6px}
.eg-order li{border:1px solid var(--safe);border-radius:8px;padding:7px 10px;background:color-mix(in srgb,var(--safe) 10%,transparent);font-size:14px}
.eg-picks{display:flex;flex-wrap:wrap;gap:6px}
.eg-decoder{border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--txt);border-radius:10px;padding:9px 11px;margin-bottom:10px;font-size:14px}
.eg-code{width:100%;font-family:var(--mono);font-size:26px;letter-spacing:.4em;text-align:center;background:var(--ink);border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--safe)}
.eg-pz-actions{display:flex;gap:8px;margin-top:14px}
.eg-err{color:var(--danger);font-size:13px;min-height:1em;margin-top:8px}
.eg-end{text-align:center;max-width:620px;margin:24px auto}
.eg-end h1{font-size:clamp(28px,6vw,46px);margin:.2em 0}
.eg-end.win h1{color:var(--safe)} .eg-end.lose h1{color:var(--danger)}
.eg-endtext{color:var(--txt2)}.eg-time{font-family:var(--mono);margin:.4em 0}
.eg-debrief{text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px;margin:16px 0}
.eg-debrief ul{margin:.4em 0 0;padding-left:1.1em;color:var(--txt2)}.eg-debrief li{margin:.3em 0}
.eg-share,.eg-rate{margin:16px 0}
.eg-star{font-size:26px;background:none;border:0;cursor:pointer;color:var(--txt);opacity:.3}.eg-star.on{opacity:1;color:var(--accent)}
.eg-endcta{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.eg-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--panel);border:1px solid var(--accent);color:var(--txt);border-radius:12px;padding:12px 16px;max-width:90vw;z-index:80;opacity:0;transition:.3s;font-size:14px}
.eg-toast.show{opacity:1;transform:translate(-50%,0)}
.eg-lb{margin:16px 0}
.eg-lb-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.eg-lb-row input{background:var(--ink);border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:9px 12px;font-size:14px}
.eg-lb-res{color:var(--safe);font-size:15px}
.eg-lb-res a{color:var(--safe)}
