:root{--bg:#08060d;--bg2:#120d1d;--panel:#171221;--text:#f4ebdc;--muted:#bfae9a;--gold:#d6a84f;--rose:#ba4a74;--red:#8b1e31;--cyan:#80e8ff;--line:rgba(246,224,177,.17);--shadow:rgba(0,0,0,.55);--danger:#ff5370;--green:#63d297;--radius:24px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
html[data-theme="light"]{--bg:#f6efe4;--bg2:#fff8ee;--panel:#fffaf2;--text:#211816;--muted:#6f5f53;--gold:#9c6a1b;--rose:#9c355b;--red:#8a1f2d;--cyan:#0a748f;--line:rgba(66,39,17,.16);--shadow:rgba(60,35,20,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 18% 8%,rgba(139,92,246,.22),transparent 32rem),radial-gradient(circle at 82% 14%,rgba(214,168,79,.18),transparent 30rem),linear-gradient(160deg,var(--bg),var(--bg2));color:var(--text);font-family:var(--sans);line-height:1.65;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 88%);z-index:-1}button,textarea{font:inherit}.progress{position:fixed;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--red),var(--gold),var(--cyan));z-index:80}.tools{position:fixed;right:1rem;top:1rem;display:flex;gap:.65rem;z-index:60}.tool-btn,.back-top{border:1px solid var(--line);background:rgba(15,10,20,.68);color:var(--text);backdrop-filter:blur(14px);border-radius:999px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 32px var(--shadow)}.back-top{position:fixed;right:1rem;bottom:1rem;opacity:0;pointer-events:none;z-index:60}.back-top.visible{opacity:1;pointer-events:auto}.chapter-nav{position:fixed;left:1rem;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:.55rem}.chapter-nav a{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.09);position:relative}.chapter-nav a.active{background:var(--gold);box-shadow:0 0 18px var(--gold)}.chapter-nav a:after{content:attr(aria-label);position:absolute;left:1.4rem;top:50%;transform:translateY(-50%);white-space:nowrap;opacity:0;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:.35rem .6rem;border-radius:999px;font-size:.78rem}.chapter-nav a:hover:after{opacity:1}section{min-height:100vh;min-height:100dvh;padding:6.5rem clamp(1.25rem,4vw,5rem);display:flex;flex-direction:column;justify-content:center}.wide{max-width:1240px;margin:auto;width:100%}.narrow{max-width:940px;margin:auto}.hero{text-align:center}.sigil{width:min(44vw,360px);aspect-ratio:1;margin:0 auto 2rem;border-radius:50%;border:1px solid var(--line);position:relative;display:grid;place-items:center;box-shadow:inset 0 0 80px rgba(214,168,79,.12),0 35px 100px rgba(0,0,0,.25);background:conic-gradient(from 90deg,rgba(214,168,79,.15),rgba(139,92,246,.12),rgba(186,74,116,.18),rgba(214,168,79,.15));animation:turn 32s linear infinite}.sigil:before,.sigil:after{content:"";position:absolute;border-radius:50%;border:1px solid var(--line)}.sigil:before{inset:12%}.sigil:after{inset:28%;background:radial-gradient(circle,var(--gold),transparent 3px),radial-gradient(circle,transparent 41%,rgba(255,255,255,.08) 42%,transparent 44%)}@keyframes turn{to{transform:rotate(360deg)}}.eye{position:absolute;top:38%;width:18px;height:18px;border-radius:50%;background:var(--gold);box-shadow:0 0 25px var(--gold)}.e1{left:35%}.e2{right:35%}.mouth{position:absolute;left:38%;right:38%;top:62%;height:1px;background:var(--line);box-shadow:0 0 18px var(--rose)}.kicker,.chapter-num{letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-size:.8rem;font-weight:800}.hero h1{font-family:var(--serif);font-size:clamp(4.2rem,13vw,10rem);line-height:.82;margin:.8rem 0 1rem;font-weight:400;letter-spacing:-.06em}.hero h1 em,.chapter-title em{font-style:italic;color:var(--gold)}.hero-sub,.chapter-body{max-width:850px;margin-left:auto;margin-right:auto;color:var(--muted);font-size:clamp(1.08rem,2vw,1.45rem)}.chapter-title{font-family:var(--serif);font-size:clamp(2.5rem,6vw,5.8rem);line-height:.92;margin:.2rem 0 1.8rem;font-weight:400;letter-spacing:-.05em}.lead{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--text)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));padding:1.3rem;box-shadow:0 20px 70px var(--shadow);position:relative;overflow:hidden}.card h3{font-family:var(--serif);font-size:1.55rem;margin:.2rem 0 .6rem;font-weight:400}.tag,.pill{display:inline-flex;gap:.35rem;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.25rem .55rem;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.pill{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.82rem}.warning{border-color:rgba(255,83,112,.35);background:linear-gradient(135deg,rgba(139,30,49,.22),rgba(255,255,255,.04))}.soft,.small{color:var(--muted)}.small{font-size:.88rem}.quote{font-family:var(--serif);font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.1;border-left:3px solid var(--gold);padding-left:1rem}.btn{border:1px solid var(--line);background:linear-gradient(135deg,rgba(214,168,79,.18),rgba(139,92,246,.13));color:var(--text);padding:.95rem 1.25rem;border-radius:999px;cursor:pointer;text-decoration:none;box-shadow:0 16px 44px var(--shadow);display:inline-flex;align-items:center;gap:.45rem}.btn:hover{transform:translateY(-2px);border-color:var(--gold)}.btn.danger{background:linear-gradient(135deg,rgba(139,30,49,.55),rgba(214,168,79,.16))}.btn.ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.app-shell{display:grid;grid-template-columns:300px 1fr;gap:1.2rem;align-items:start;margin-top:2rem}.side{position:sticky;top:1rem}.meter{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:.5rem 0 1rem}.meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--rose),var(--cyan));transition:.35s}.chip{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid var(--line);padding:.55rem 0;color:var(--muted);font-size:.85rem}.chip b{color:var(--text)}.log{max-height:260px;overflow:auto;margin-top:.8rem;border-top:1px solid var(--line);padding-top:.6rem;color:var(--muted);font-size:.82rem}.log p{margin:.3rem 0}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mode-card{cursor:pointer;min-height:200px}.mode-card:hover{border-color:var(--gold);transform:translateY(-2px)}.mode-card.selected{outline:2px solid var(--gold);box-shadow:0 0 0 6px rgba(214,168,79,.10),var(--shadow)}.mirror-app{border:1px solid var(--line);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 40px 120px var(--shadow);overflow:hidden}.mirror-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.q-wrap{padding:clamp(1.1rem,4vw,3rem)}.q-meta{color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800}.q-text{font-family:var(--serif);font-size:clamp(1.55rem,3.8vw,3.1rem);line-height:1.05;margin:.7rem 0 1.5rem}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}.scale button,.choice-btn,.project-btn{border:1px solid var(--line);background:rgba(255,255,255,.055);color:var(--text);border-radius:20px;padding:1rem;cursor:pointer;text-align:left;transition:.2s}.scale button{text-align:center;min-height:66px;font-weight:800}.scale small{display:block;font-weight:500;color:var(--muted)}.choice-btn:hover,.project-btn:hover,.scale button:hover,.project-btn.selected{border-color:var(--gold);background:rgba(214,168,79,.12);transform:translateY(-2px)}.mirror-actions{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-top:1px solid var(--line);flex-wrap:wrap}.projection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.timer{display:flex;align-items:center;gap:.8rem;margin:1rem 0}.timer-ring{width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.12);display:grid;place-items:center;font-weight:900;color:var(--gold);background:rgba(0,0,0,.12)}.timer-bar{flex:1;height:10px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}.timer-bar span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--green),var(--gold),var(--danger));transition:width .25s linear}.dissonance-card,.checkpoint{border:1px solid rgba(255,83,112,.30);background:rgba(139,30,49,.13);border-radius:20px;padding:1rem;margin:.8rem 0}.axis-cloud{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.axis-pill{border:1px solid var(--line);border-radius:999px;padding:.35rem .65rem;background:rgba(255,255,255,.055);font-size:.85rem}textarea{width:100%;min-height:150px;background:rgba(0,0,0,.22);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:1rem;resize:vertical}.results{display:none}.results.show{display:block}.result-hero{border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 50% 0%,rgba(214,168,79,.18),transparent 21rem),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));padding:clamp(1.3rem,4vw,3rem);box-shadow:0 35px 110px var(--shadow)}.result-title{font-family:var(--serif);font-size:clamp(2.1rem,5vw,4.8rem);line-height:.95;margin:.4rem 0 1rem}.bars{display:grid;gap:.75rem}.bar{display:grid;grid-template-columns:160px 1fr 48px;gap:.8rem;align-items:center}.track{height:12px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.fill{height:100%;width:0;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:999px;transition:1s}.radar{position:relative;aspect-ratio:1;max-width:440px;margin:auto;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 18%,var(--line) 18.5% 19%,transparent 19.5% 20%),conic-gradient(from 0deg,rgba(214,168,79,.10),rgba(139,92,246,.08),rgba(186,74,116,.10),rgba(214,168,79,.10));border:1px solid var(--line)}.radar .dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px var(--gold);transform:translate(-50%,-50%)}.radar .label{position:absolute;transform:translate(-50%,-50%);font-size:.72rem;color:var(--muted);white-space:nowrap}.summary{white-space:pre-wrap;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:22px;padding:1rem;max-height:420px;overflow:auto;font-size:.9rem;color:var(--muted)}.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%) translateY(2rem);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.75rem 1rem;z-index:100;opacity:0;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

.sigil{filter:drop-shadow(0 0 26px rgba(214,168,79,.22));}
.sigil:after{box-shadow:0 0 52px rgba(214,168,79,.20), inset 0 0 36px rgba(186,74,116,.08)}
.live-card{border:1px solid rgba(255,83,112,.38);background:linear-gradient(135deg,rgba(139,30,49,.22),rgba(214,168,79,.06));border-radius:24px;padding:1rem;margin-top:1rem;box-shadow:0 18px 52px rgba(0,0,0,.22)}
.live-card strong{color:var(--gold)}
.selection-why{border-left:3px solid var(--gold);padding-left:.85rem;margin-top:1rem;color:var(--muted)}
.burn-line{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.15;color:var(--text)}
.radar{box-shadow:inset 0 0 70px rgba(214,168,79,.10),0 24px 70px rgba(0,0,0,.25)}
.radar:before{content:"";position:absolute;inset:10%;border-radius:50%;border:1px dashed rgba(214,168,79,.28);box-shadow:0 0 28px rgba(214,168,79,.12)}
.radar:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:var(--gold);box-shadow:0 0 32px var(--gold)}
.stability-score{font-family:var(--serif);font-size:2.4rem;color:var(--gold);line-height:1;margin:.4rem 0}
.protocol li{margin:.55rem 0}

@media(max-width:900px){.chapter-nav{display:none}.grid-2,.grid-3,.mode-grid,.projection-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3.4rem,17vw,6rem)}section{padding:5rem 1rem}.app-shell{grid-template-columns:1fr}.side{position:static}.scale{grid-template-columns:1fr}.bar{grid-template-columns:1fr}.tools{right:.5rem;top:.5rem}}
@media print{.tools,.chapter-nav,.back-top,.progress,.hero-actions,.mirror-actions,.btn:not(.print-keep),.section-art-card,.phase-art,#hero,#pacte,#carte,#sources{display:none!important}body{background:white;color:#111}section{min-height:auto;padding:2rem}.card,.result-hero{box-shadow:none;border:1px solid #ccc;background:#fff}.reveal{opacity:1!important;transform:none!important}.results{display:block!important}.image-section::before,.image-section::after{display:none!important}}

/* --- Images générées : modes sombre / clair --- */
:root{
  --img-hero:url("../assets/images/hero-dark.webp");
  --img-pacte:url("../assets/images/pacte-dark.webp");
  --img-carte:url("../assets/images/carte-dark.webp");
  --img-miroir:url("../assets/images/miroir-dark.webp");
  --img-resultats:url("../assets/images/resultats-dark.webp");
  --img-sources:url("../assets/images/sources-dark.webp");
  --img-projection:url("../assets/images/projection-dark.webp");
  --img-dilemme:url("../assets/images/dilemme-dark.webp");
  --img-crypte:url("../assets/images/crypte-dark.webp");
  --img-retest:url("../assets/images/retest-dark.webp");
  /* Galerie additionnelle 21:9 — variantes sombres par défaut */
  --img-arbre:url("../assets/images/arbre-dark.jpg");
  --img-porte:url("../assets/images/seuil-porte-dark.jpg");
  --img-crypte-voute:url("../assets/images/crypte-obsidienne-dark.jpg");
  --img-tensions:url("../assets/images/carte-tensions-dark.jpg");
  --img-rubans:url("../assets/images/carte-rubans-dark.jpg");
  --img-miroir-double:url("../assets/images/miroir-femme-dark.jpg");
  --img-miroir-racines:url("../assets/images/miroir-racines-dark.jpg");
  --img-miroir-profil:url("../assets/images/ombre-fresque.jpg");
  --img-dilemme-or:url("../assets/images/dilemme-dark.jpg");
  --img-dilemme-rose:url("../assets/images/dilemme-rose-dark.jpg");
  --img-projection-multi:url("../assets/images/projection-multi-dark.jpg");
  --img-cosmos:url("../assets/images/cosmos-dark.jpg");
  --img-sources-prudence:url("../assets/images/sources-prudence-dark.jpg");
  --img-hypothese-vivante:url("../assets/images/hypothese-vivante-dark.jpg");
  --img-duo-racine:url("../assets/images/duo-racine-dark.jpg");
  --img-chambre-noire:url("../assets/images/chambre-noir-dark.jpg");
  /* Carrés-boutons (1:1) — fond des mode-cards et accents */
  --img-mode-clair:url("../assets/images/reflet-respire-dark.jpg");
  --img-mode-vif:url("../assets/images/avif-dark.jpg");
  --img-mode-crypte:url("../assets/images/crypte-square-dark.jpg");
  --img-carre-mystique:url("../assets/images/carre-mystique-dark.jpg");
  /* Carrés des 5 valeurs-axes */
  --img-axe-verite:url("../assets/images/verite-dark.jpg");
  --img-axe-lien:url("../assets/images/lien-dark.jpg");
  --img-axe-liberte:url("../assets/images/liberte-dark.jpg");
  --img-axe-durete:url("../assets/images/durete-dark.jpg");
  --img-axe-creation:url("../assets/images/creation-dark.jpg");
  --art-dim:.30;
  --art-blur:0px;
  --art-overlay:linear-gradient(90deg,rgba(8,6,13,.92),rgba(8,6,13,.72) 42%,rgba(8,6,13,.86));
}
html[data-theme="light"]{
  --img-hero:url("../assets/images/hero-light.webp");
  --img-pacte:url("../assets/images/pacte-light.webp");
  --img-carte:url("../assets/images/carte-light.webp");
  --img-miroir:url("../assets/images/miroir-light.webp");
  --img-resultats:url("../assets/images/resultats-light.webp");
  --img-sources:url("../assets/images/sources-light.webp");
  --img-projection:url("../assets/images/projection-light.webp");
  --img-dilemme:url("../assets/images/dilemme-light.webp");
  --img-crypte:url("../assets/images/crypte-light.webp");
  --img-retest:url("../assets/images/retest-light.webp");
  /* Galerie additionnelle 21:9 — variantes claires (chaque variable a une image distincte sauf 2 paires de partage thématique) */
  --img-arbre:url("../assets/images/arbre-light.jpg");
  --img-porte:url("../assets/images/seuil-porte-light.jpg");
  --img-crypte-voute:url("../assets/images/crypte-voute-light.jpg");
  --img-tensions:url("../assets/images/carte-flora-light.jpg");
  --img-rubans:url("../assets/images/carte-flora-light.jpg"); /* partage thématique avec tensions */
  --img-miroir-double:url("../assets/images/miroir-double-light.jpg");
  --img-miroir-racines:url("../assets/images/miroir-dos-light.jpg");
  --img-miroir-profil:url("../assets/images/miroir-profil-light.jpg");
  --img-dilemme-or:url("../assets/images/eruption-light.jpg");
  --img-dilemme-rose:url("../assets/images/eruption-bis-light.jpg");
  --img-projection-multi:url("../assets/images/eclair-light.jpg");
  --img-cosmos:url("../assets/images/eclair-light.jpg"); /* partage thématique foudre/énergie avec projection-multi */
  --img-sources-prudence:url("../assets/images/sources-prudence-light.jpg");
  --img-hypothese-vivante:url("../assets/images/hypothese-vivante-light.jpg");
  --img-duo-racine:url("../assets/images/duo-racine-light.jpg");
  --img-chambre-noire:url("../assets/images/chambre-noir-light.jpg");
  /* Carrés-boutons (1:1) — fond des mode-cards et accents */
  --img-mode-clair:url("../assets/images/reflet-respire-light.jpg");
  --img-mode-vif:url("../assets/images/avif-light.jpg");
  --img-mode-crypte:url("../assets/images/crypte-square-light.jpg");
  --img-carre-mystique:url("../assets/images/carre-mystique-light.jpg");
  /* Carrés des 5 valeurs-axes */
  --img-axe-verite:url("../assets/images/verite-light.jpg");
  --img-axe-lien:url("../assets/images/lien-light.jpg");
  --img-axe-liberte:url("../assets/images/liberte-light.jpg");
  --img-axe-durete:url("../assets/images/durete-light.jpg");
  --img-axe-creation:url("../assets/images/creation-light.jpg");
  --art-dim:.21;
  --art-overlay:linear-gradient(90deg,rgba(246,239,228,.94),rgba(246,239,228,.72) 42%,rgba(246,239,228,.88));
}
#hero{--section-img:var(--img-hero)}
#pacte{--section-img:var(--img-pacte)}
#carte{--section-img:var(--img-carte)}
#miroir{--section-img:var(--img-miroir)}
#resultats{--section-img:var(--img-resultats)}
#sources{--section-img:var(--img-sources)}
/* Pas de fond pour duo-racine et chambre-noire — image dédiée au-dessus du titre à la place */
.section-hero-img,.section-hero-video{display:block;width:auto;max-width:100%;max-height:900px;height:auto;margin:0 auto 1.5rem;border-radius:20px;box-shadow:0 22px 60px var(--shadow,rgba(0,0,0,.5));border:1px solid var(--line,rgba(246,224,177,.18))}
.section-hero-video{background:#000}
.theme-only-dark{display:block}
.theme-only-light{display:none}
html[data-theme="light"] .theme-only-dark{display:none}
html[data-theme="light"] .theme-only-light{display:block}
/* Desktop ≥ 721px : vidéo affichée, image-mobile cachée */
@media(min-width:721px){
  .section-hero-img-mobile{display:none!important}
}
/* Mobile ≤ 720px : image affichée, vidéo cachée */
@media(max-width:720px){
  .section-hero-img,.section-hero-video{max-height:600px;border-radius:14px}
  .section-hero-video{display:none!important}
}
/* Reduce motion : couper la vidéo, garder l'image */
@media(prefers-reduced-motion:reduce){
  .section-hero-video{display:none!important}
  .section-hero-img-mobile{display:block!important}
  html[data-theme="light"] .section-hero-img-mobile.theme-only-dark{display:none!important}
  html[data-theme="dark"] .section-hero-img-mobile.theme-only-light{display:none!important}
}
.image-section{position:relative;isolation:isolate;overflow:hidden}
.image-section::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--section-img);
  background-size:cover;background-position:center;
  opacity:var(--art-dim);filter:saturate(1.04) contrast(1.02) blur(var(--art-blur));
  transform:scale(1.02);pointer-events:none;
}
.image-section::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(circle at 74% 36%,rgba(214,168,79,.13),transparent 34rem),var(--art-overlay);
  pointer-events:none;
}
.hero.image-section::before{opacity:.54;filter:saturate(1.04) contrast(1.04)}
html[data-theme="light"] .hero.image-section::before{opacity:.38}
.hero.image-section::after{
  background:radial-gradient(circle at 58% 42%,rgba(214,168,79,.25),transparent 30rem),
  linear-gradient(180deg,rgba(8,6,13,.58),rgba(8,6,13,.70) 44%,rgba(8,6,13,.96));
}
html[data-theme="light"] .hero.image-section::after{
  background:radial-gradient(circle at 55% 42%,rgba(156,106,27,.22),transparent 30rem),
  linear-gradient(180deg,rgba(246,239,228,.62),rgba(246,239,228,.72) 46%,rgba(246,239,228,.94));
}
.section-art-card{
  position:relative;min-height:250px;border:1px solid var(--line);border-radius:32px;overflow:hidden;
  box-shadow:0 24px 80px var(--shadow);margin:1.4rem 0;background:rgba(255,255,255,.04)
}
.section-art-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.04);opacity:0;transition:opacity .55s ease}
.section-art-card.is-loaded .section-art-card-bg{background-image:var(--section-img);opacity:.76}
html[data-theme="light"] .section-art-card.is-loaded .section-art-card-bg{opacity:.82}
.section-art-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,13,.84),rgba(8,6,13,.38) 48%,rgba(8,6,13,.82))}
html[data-theme="light"] .section-art-card::after{background:linear-gradient(90deg,rgba(246,239,228,.88),rgba(246,239,228,.42) 48%,rgba(246,239,228,.86))}
.section-art-card-copy{position:absolute;z-index:2;left:1.4rem;bottom:1.2rem;max-width:620px}
.section-art-card-copy h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:.35rem 0}
.section-art-card-copy p{margin:0;color:var(--muted);font-size:1rem}
.phase-art{
  position:relative;min-height:220px;border-radius:28px;overflow:hidden;border:1px solid var(--line);
  margin:1rem 1.1rem 0;background:rgba(255,255,255,.04);box-shadow:0 22px 70px var(--shadow)
}
.phase-art-img{position:absolute;inset:0;background-image:var(--img-hero);background-size:cover;background-position:center;transition:background-image .35s ease,opacity .35s ease,filter .35s ease;opacity:.80;filter:saturate(1.05) contrast(1.05)}
.phase-art-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,13,.88),rgba(8,6,13,.28) 52%,rgba(8,6,13,.86))}
html[data-theme="light"] .phase-art-overlay{background:linear-gradient(90deg,rgba(246,239,228,.88),rgba(246,239,228,.26) 52%,rgba(246,239,228,.88))}
.phase-art-copy{position:absolute;z-index:2;left:1.1rem;right:1.1rem;bottom:1rem;max-width:680px}
.phase-art-copy h3{font-family:var(--serif);font-size:1.65rem;font-weight:400;margin:.25rem 0}
.phase-art-copy p{margin:0;color:var(--muted)}
html[data-theme="light"] .card, html[data-theme="light"] .mirror-app, html[data-theme="light"] .side{
  background:rgba(255,250,242,.86);backdrop-filter:blur(14px)
}
.card, .mirror-app, .side{backdrop-filter:blur(14px)}

/* --- Mode-cards : fonds carrés thématiques (1:1) --- */
.mode-card{position:relative;overflow:hidden;background:transparent!important}
.mode-card > *{position:relative;z-index:2}
.mode-card::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  opacity:.42;filter:saturate(1.05) contrast(1.04);
  transition:opacity .35s ease;
}
.mode-card::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(8,6,13,.78),rgba(8,6,13,.42) 55%,rgba(8,6,13,.85));
  pointer-events:none;
}
html[data-theme="light"] .mode-card::after{
  background:linear-gradient(160deg,rgba(246,239,228,.82),rgba(246,239,228,.46) 55%,rgba(246,239,228,.88));
}
.mode-card[data-mode="clair"]::before{background-image:var(--img-mode-clair)}
.mode-card[data-mode="vif"]::before{background-image:var(--img-mode-vif)}
.mode-card[data-mode="crypte"]::before{background-image:var(--img-mode-crypte)}
.mode-card:hover::before{opacity:.62}
.mode-card.selected::before{opacity:.72}

/* --- Pavé rotatif 3D : 4 faces qui défilent sur l'axe horizontal --- */
.pave-stage{position:relative;margin:7rem 0 5rem;perspective:1600px}
.pave{position:relative;width:100%;height:300px;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.65,.02,.30,1);will-change:transform}
.pave-face{
  position:absolute;inset:0;
  border:1px solid var(--line);border-radius:32px;overflow:hidden;
  box-shadow:0 24px 80px var(--shadow);background:rgba(255,255,255,.04);
  backface-visibility:hidden;
}
/* Les transforms par face et la rotation du cube sont posés en inline-style par le JS,
   pour supporter dynamiquement N = 3, 4 ou 5 faces. */
.pave-face .section-art-card-bg{position:absolute;inset:0;background-image:var(--section-img);background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.04);opacity:.78}
html[data-theme="light"] .pave-face .section-art-card-bg{opacity:.84}
.pave-face::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,13,.84),rgba(8,6,13,.38) 48%,rgba(8,6,13,.82));pointer-events:none}
html[data-theme="light"] .pave-face::after{background:linear-gradient(90deg,rgba(246,239,228,.88),rgba(246,239,228,.42) 48%,rgba(246,239,228,.86))}
.pave-face .section-art-card-copy{position:absolute;z-index:2;left:1.4rem;bottom:1.2rem;max-width:620px}
.pave-face .section-art-card-copy h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:.35rem 0}
.pave-face .section-art-card-copy p{margin:0;color:var(--muted);font-size:1rem}

/* Dots de navigation */
.pave-dots{display:flex;justify-content:center;gap:.65rem;margin-top:1.2rem}
.pave-dots button{
  width:11px;height:11px;border-radius:50%;border:1px solid var(--line);
  background:rgba(255,255,255,.12);cursor:pointer;padding:0;
  transition:.25s;
}
.pave-dots button:hover{background:rgba(214,168,79,.45);transform:scale(1.2)}
.pave-dots button[aria-current="true"]{background:var(--gold);box-shadow:0 0 14px var(--gold)}

/* Mobile : dégrader en simple stack vertical, pas de 3D */
@media(max-width:720px){
  .pave-stage{perspective:none}
  .pave{height:auto;transform:none!important;display:flex;flex-direction:column;gap:1rem}
  .pave-face{position:relative;inset:auto;transform:none!important;height:200px}
  .pave-dots{display:none}
}
@media(prefers-reduced-motion:reduce){
  .pave{transition:none}
}

/* --- Header top-nav (style équilibreNash) --- */
html{scroll-padding-top:84px}
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:70;
  background:rgba(8,6,13,.62);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
html[data-theme="light"] .site-header{background:rgba(246,239,228,.72)}
.site-header-inner{
  width:min(1240px,calc(100% - 2rem));margin:0 auto;
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
}
.site-logo{
  display:flex;align-items:center;gap:.7rem;
  text-decoration:none;color:var(--gold);
  font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em;font-weight:600;
  flex-shrink:0;
}
.site-logo em{font-style:italic;color:var(--text);font-weight:400}
.site-logo-mark{
  width:42px;height:42px;border-radius:14px;border:1px solid var(--line);
  background-image:url("../assets/images/sigil-logo.jpg");
  background-size:cover;background-position:center;
  box-shadow:inset 0 0 28px rgba(214,168,79,.28),0 6px 24px rgba(0,0,0,.4);
  flex-shrink:0;
}
.site-nav-links{
  display:flex;align-items:center;gap:1.4rem;flex:1;justify-content:center;
  font-size:.92rem;color:var(--muted);
}
.site-nav-links a{
  position:relative;color:inherit;text-decoration:none;padding:.4rem 0;
  transition:color .2s ease;
}
.site-nav-links a:hover{color:var(--gold)}
.site-nav-links a.active{color:var(--gold);font-weight:700}
.site-nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;
  background:linear-gradient(90deg,var(--rose),var(--gold));
  border-radius:999px;transition:right .35s cubic-bezier(.65,.02,.30,1);
  box-shadow:0 0 12px rgba(214,168,79,.5);
}
.site-nav-links a:hover::after,.site-nav-links a.active::after{right:0}
.site-nav-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.site-nav-actions .tool-btn{
  width:38px;height:38px;background:rgba(15,10,20,.45);
  border:1px solid var(--line);color:var(--text);border-radius:999px;
  display:grid;place-items:center;cursor:pointer;
}
html[data-theme="light"] .site-nav-actions .tool-btn{background:rgba(255,255,255,.55)}
.site-nav-burger{
  display:none;width:38px;height:38px;background:transparent;
  border:1px solid var(--line);border-radius:10px;color:var(--text);
  cursor:pointer;font-size:1.1rem;
}

/* Décale .progress sous le header */
.progress{top:76px!important;z-index:69}
/* Cache l'ancienne chapter-nav latérale (remplacée par la top-nav) */
.chapter-nav{display:none!important}
/* Cache l'ancien .tools flottant (intégré au header) */
.tools{display:none!important}

@media(max-width:900px){
  .site-header-inner{height:64px}
  html{scroll-padding-top:72px}
  .progress{top:64px!important}
  .site-nav-links{
    position:fixed;top:64px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(8,6,13,.92);backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
    padding:.5rem 1rem 1rem;
    transform:translateY(-110%);transition:transform .35s ease;
  }
  html[data-theme="light"] .site-nav-links{background:rgba(246,239,228,.96)}
  .site-header.menu-open .site-nav-links{transform:translateY(0)}
  .site-nav-links a{padding:.85rem 0;border-bottom:1px solid var(--line)}
  .site-nav-links a:last-child{border-bottom:none}
  .site-nav-links a::after{display:none}
  .site-nav-burger{display:grid;place-items:center}
}
@media print{.site-header,.progress{display:none!important}}

/* --- Bouton Ambiance sonore (bas-gauche, auto-hide) --- */
.audio-toggle{
  position:fixed;left:1rem;bottom:1rem;z-index:65;
  display:flex;align-items:center;gap:.55rem;
  padding:.55rem .9rem .55rem .65rem;
  border:1px solid var(--line);border-radius:999px;
  background:rgba(15,10,20,.68);backdrop-filter:blur(14px);
  color:var(--text);cursor:pointer;
  box-shadow:0 12px 32px var(--shadow);
  font-size:.85rem;
  transition:opacity .6s ease, transform .35s ease, box-shadow .35s ease;
  opacity:1;
}
html[data-theme="light"] .audio-toggle{background:rgba(255,250,242,.78)}
.audio-toggle:hover{transform:translateY(-2px);box-shadow:0 18px 44px var(--shadow);opacity:1!important}
.audio-toggle.is-dimmed{opacity:.18}
.audio-toggle.is-dimmed:hover{opacity:1}
.audio-toggle-icon{
  width:30px;height:30px;border-radius:50%;
  border:1px solid var(--line);
  display:grid;place-items:center;
  background:rgba(214,168,79,.10);
  color:var(--gold);font-size:.95rem;line-height:1;
  flex-shrink:0;
  position:relative;
}
.audio-toggle.is-playing .audio-toggle-icon::after{
  content:"";position:absolute;inset:-3px;border-radius:50%;
  border:1px solid rgba(214,168,79,.45);
  animation:audioPulse 2.6s ease-out infinite;
}
@keyframes audioPulse{
  0%{transform:scale(.96);opacity:.9}
  60%{transform:scale(1.18);opacity:0}
  100%{transform:scale(1.18);opacity:0}
}
.audio-toggle-label{
  letter-spacing:.04em;color:var(--muted);
  white-space:nowrap;
}
.audio-toggle.is-playing .audio-toggle-label{color:var(--text)}

@media(max-width:600px){
  .audio-toggle{padding:.45rem .55rem}
  .audio-toggle-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .audio-toggle.is-playing .audio-toggle-icon::after{animation:none}
}
@media print{.audio-toggle{display:none!important}}

/* --- Cartes de valeurs (axe-card) : 5 dimensions vérité/lien/liberté/dureté/création --- */
.axe-card{position:relative;overflow:hidden;background:transparent!important;display:flex;flex-direction:column;justify-content:flex-end}
.axe-card > *{position:relative;z-index:2}
.axe-card::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  opacity:.50;filter:saturate(1.03) contrast(1.04);
}
.axe-card::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,6,13,.20),rgba(8,6,13,.92));
}
html[data-theme="light"] .axe-card::after{
  background:linear-gradient(180deg,rgba(246,239,228,.20),rgba(246,239,228,.92));
}
.axe-card[data-axe="verite"]::before{background-image:var(--img-axe-verite)}
.axe-card[data-axe="lien"]::before{background-image:var(--img-axe-lien)}
.axe-card[data-axe="liberte"]::before{background-image:var(--img-axe-liberte)}
.axe-card[data-axe="durete"]::before{background-image:var(--img-axe-durete)}
.axe-card[data-axe="creation"]::before{background-image:var(--img-axe-creation)}

/* --- Bars de résultats : illustration de l'axe à gauche --- */
.bar[data-axe]{position:relative}
.bar[data-axe]::before{
  content:"";display:block;width:42px;height:42px;border-radius:12px;
  background-size:cover;background-position:center;
  border:1px solid var(--line);
  flex-shrink:0;
  background-color:rgba(255,255,255,.04);
}
.bar[data-axe]{display:grid;grid-template-columns:48px 160px 1fr 48px;align-items:center;gap:.6rem}
.bar[data-axe="verite"]::before{background-image:var(--img-axe-verite)}
.bar[data-axe="lien"]::before{background-image:var(--img-axe-lien)}
.bar[data-axe="liberte"]::before{background-image:var(--img-axe-liberte)}
.bar[data-axe="durete"]::before{background-image:var(--img-axe-durete)}
.bar[data-axe="creation"]::before{background-image:var(--img-axe-creation)}
/* Axes sans image dédiée : icône absente, juste les 3 colonnes habituelles */
.bar[data-axe]:not([data-axe="verite"]):not([data-axe="lien"]):not([data-axe="liberte"]):not([data-axe="durete"]):not([data-axe="creation"]){grid-template-columns:160px 1fr 48px}
.bar[data-axe]:not([data-axe="verite"]):not([data-axe="lien"]):not([data-axe="liberte"]):not([data-axe="durete"]):not([data-axe="creation"])::before{display:none}
@media(max-width:900px){
  .bar[data-axe]{grid-template-columns:1fr}
  .bar[data-axe]::before{width:36px;height:36px}
  .bar[data-axe]:not([data-axe="verite"]):not([data-axe="lien"]):not([data-axe="liberte"]):not([data-axe="durete"]):not([data-axe="creation"]){grid-template-columns:1fr}
}

/* --- Result-hero : fond image carrée selon l'axe dominant --- */
.result-hero[data-axe]{position:relative;overflow:hidden;isolation:isolate}
.result-hero[data-axe] > *{position:relative;z-index:2}
.result-hero[data-axe]::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  opacity:.30;filter:saturate(1.05) contrast(1.04);
  transition:opacity .5s ease;
}
.result-hero[data-axe]::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(circle at 50% 0%,rgba(214,168,79,.18),transparent 21rem),linear-gradient(180deg,rgba(8,6,13,.55),rgba(8,6,13,.86));
}
html[data-theme="light"] .result-hero[data-axe]::after{
  background:radial-gradient(circle at 50% 0%,rgba(156,106,27,.18),transparent 21rem),linear-gradient(180deg,rgba(246,239,228,.55),rgba(246,239,228,.86));
}
.result-hero[data-axe="verite"]::before{background-image:var(--img-axe-verite)}
.result-hero[data-axe="lien"]::before{background-image:var(--img-axe-lien)}
.result-hero[data-axe="liberte"]::before{background-image:var(--img-axe-liberte)}
.result-hero[data-axe="durete"]::before{background-image:var(--img-axe-durete)}
.result-hero[data-axe="creation"]::before{background-image:var(--img-axe-creation)}

/* --- Carré mystique : accent décoratif sur certains éléments --- */
.mystique-bg{position:relative;overflow:hidden;background:transparent!important}
.mystique-bg > *{position:relative;z-index:2}
.mystique-bg::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--img-carre-mystique);
  background-size:cover;background-position:center;
  opacity:.32;filter:saturate(1.03) contrast(1.05);
}
.mystique-bg::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(8,6,13,.50),rgba(8,6,13,.85));
}
html[data-theme="light"] .mystique-bg::after{
  background:linear-gradient(160deg,rgba(246,239,228,.50),rgba(246,239,228,.85));
}
@media(max-width:720px){
  .section-art-card{min-height:210px;border-radius:24px}
  .section-art-card-copy h3{font-size:1.45rem}
  .phase-art{min-height:185px;margin:.8rem .8rem 0}
}


/* --- Vidéo de fond intelligente : PC continu, mobile/tablette intermittent --- */
.hero.image-section{position:relative;isolation:isolate;overflow:hidden}
.hero.image-section > *{position:relative;z-index:2}
.hero-video-shell{position:absolute!important;inset:0;z-index:-1!important;pointer-events:none;opacity:.55;transition:opacity 1.1s ease,filter 1.1s ease;overflow:hidden;background-image:var(--section-img);background-size:cover;background-position:center}
.hero-bg-video{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.74) saturate(1.03) contrast(1.04);transform:scale(1.03)}
.hero.image-section::before{z-index:-2}
.hero.image-section::after{z-index:0}
.hero-video-shell.video-rest{opacity:0}
.hero-video-shell.video-active{opacity:.58}
html[data-theme="light"] .hero-video-shell.video-active{opacity:.28;filter:saturate(.82) brightness(1.08)}
html[data-theme="light"] .hero-bg-video{filter:brightness(1.08) saturate(.76) contrast(.94)}
body.video-mobile-cycle .hero-video-shell.video-active{opacity:.48}
body.video-mobile-cycle html[data-theme="light"] .hero-video-shell.video-active{opacity:.24}
@media(max-width:1024px),(pointer:coarse){.hero-video-shell.video-active{opacity:.42}.hero-bg-video{filter:brightness(.70) saturate(.95) contrast(.98)}}
@media(prefers-reduced-motion:reduce){.hero-video-shell{display:none!important}}


/* --- Correction panoramique 21:9 : pas de zoom artificiel --- */
.image-section::before{background-size:cover;background-position:center center;}
.section-art-card-bg,.phase-art-img,.hero-video-shell{background-size:cover;background-position:center center;}
.hero-bg-video{transform:none;}
@media (max-width: 900px){
  .image-section::before{background-size:cover;background-position:center center;}
}

/* ===== Duo racine (mini-quiz 12 questions) ===== */
#duo-racine .duo-progress{height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:1rem 0 .4rem}
#duo-racine .duo-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rose,#b84975),var(--gold,#d7aa55),var(--cyan,#80e8ff));transition:.4s}
#duo-racine .duo-qcount{font-size:.8rem;color:var(--muted,#bda994);letter-spacing:.05em;text-transform:uppercase}
#duo-racine .duo-qtext{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.03em;margin:1rem 0 1.4rem}
#duo-racine .duo-pairs{display:grid;gap:.6rem}
#duo-racine .duo-pair{border:1px solid var(--line,rgba(246,224,177,.18));background:rgba(255,255,255,.06);color:var(--text,#f4ebdc);border-radius:18px;padding:.95rem 1rem;cursor:pointer;text-align:left;font:inherit;transition:.18s}
#duo-racine .duo-pair:hover,#duo-racine .duo-pair.selected{border-color:var(--gold,#d7aa55);background:rgba(215,170,85,.12);transform:translateY(-2px)}
#duo-racine .duo-card-wound,#duo-racine .duo-card-virtue,#duo-racine .duo-card-trap,#duo-racine .duo-card-ritual{position:relative;overflow:hidden}
#duo-racine .duo-card-wound{border-left:3px solid var(--red,#8b1e31)}
#duo-racine .duo-card-virtue{border-left:3px solid var(--gold,#d7aa55)}
#duo-racine .duo-card-trap{border-left:3px solid var(--rose,#b84975)}
#duo-racine .duo-card-ritual{border-left:3px solid var(--cyan,#80e8ff)}
#duo-racine [hidden]{display:none!important}

/* ===== Chambre noire (12 axes adaptive) ===== */
#chambre-noire .cn-mode{cursor:pointer;border:1px solid var(--line,rgba(246,224,177,.18));transition:.18s}
#chambre-noire .cn-mode.selected,#chambre-noire .cn-mode:hover{border-color:var(--gold,#d7aa55);background:rgba(215,170,85,.10);transform:translateY(-2px)}
#chambre-noire .cn-qtop{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.6rem}
#chambre-noire .cn-progressline{height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;flex:1;min-width:170px}
#chambre-noire .cn-progressline span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rose,#b84975),var(--gold,#d7aa55),var(--cyan,#80e8ff));transition:.4s}
#chambre-noire .cn-qmode{font-size:.8rem;color:var(--muted,#bda994)}
#chambre-noire .cn-meta{font-size:.85rem;color:var(--muted,#bda994);margin:.25rem 0 .5rem}
#chambre-noire .cn-qtext{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,4vw,3rem);line-height:1.05;letter-spacing:-.03em;margin:1rem 0 1.4rem}
#chambre-noire .cn-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}
#chambre-noire .cn-scale button{border:1px solid var(--line,rgba(246,224,177,.18));background:rgba(255,255,255,.06);color:var(--text,#f4ebdc);border-radius:16px;padding:.85rem .4rem;cursor:pointer;font:inherit;text-align:center;line-height:1.15;min-height:64px;transition:.18s}
#chambre-noire .cn-scale button:hover{border-color:var(--gold,#d7aa55);background:rgba(215,170,85,.12);transform:translateY(-2px)}
#chambre-noire .cn-scale button small{display:block;font-size:.65rem;color:var(--muted,#bda994);margin-top:.2rem}
#chambre-noire .cn-choices{display:grid;gap:.55rem}
#chambre-noire .cn-choice{border:1px solid var(--line,rgba(246,224,177,.18));background:rgba(255,255,255,.06);color:var(--text,#f4ebdc);border-radius:16px;padding:.95rem 1rem;cursor:pointer;font:inherit;text-align:left;transition:.18s}
#chambre-noire .cn-choice:hover{border-color:var(--gold,#d7aa55);background:rgba(215,170,85,.12);transform:translateY(-2px)}
#chambre-noire .cn-confess{width:100%;min-height:160px;border-radius:16px;border:1px solid var(--line,rgba(246,224,177,.18));background:rgba(0,0,0,.18);color:var(--text,#f4ebdc);padding:.85rem;resize:vertical;font:inherit}
#chambre-noire .cn-timer{display:flex;gap:.6rem;align-items:center;margin:.4rem 0 .9rem}
#chambre-noire .cn-ring{width:50px;height:50px;border-radius:50%;border:2px solid var(--line,rgba(246,224,177,.18));display:grid;place-items:center;color:var(--gold,#d7aa55);font-weight:900;font-size:.95rem}
#chambre-noire .cn-bar{flex:1;height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
#chambre-noire .cn-bar span{height:100%;display:block;width:100%;background:linear-gradient(90deg,#74d99f,var(--gold,#d7aa55),#ff5573)}
#chambre-noire .cn-flash{border-left:3px solid var(--gold,#d7aa55);padding:.85rem 1rem;background:rgba(215,170,85,.08);border-radius:14px;color:var(--muted,#bda994);margin-top:.7rem;font-size:.92rem}
#chambre-noire .cn-meter{display:grid;grid-template-columns:130px 1fr 44px;gap:.65rem;align-items:center;margin:.45rem 0}
#chambre-noire .cn-track{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
#chambre-noire .cn-fill{height:100%;width:0;background:linear-gradient(90deg,var(--rose,#b84975),var(--gold,#d7aa55));transition:1s}
#chambre-noire .hidden{display:none!important}
#chambre-noire .chambre-screen[hidden]{display:none!important}
@media(max-width:820px){#chambre-noire .cn-scale{grid-template-columns:1fr}}



/* === Constellation parallèle (CSS exact de librearbitre) === */
@import url('../fonts/fonts.css');

  .ftc-section { padding: 5rem 1.5rem 4rem; background: radial-gradient(ellipse at 20% 0%, rgba(212,165,116,0.05) 0%, transparent 55%), radial-gradient(ellipse at 80% 100%, rgba(0,217,255,0.05) 0%, transparent 55%), linear-gradient(180deg, #060810 0%, #050810 100%); border-top: 1px solid rgba(255,255,255,0.06); color: #f8fafc; font-family: 'Space Grotesk', 'Inter', system-ui, -apple-system, sans-serif; }
  .ftc-wrap { max-width: 1200px; margin: 0 auto; }
  .ftc-eyebrow { font-family: 'Fira Code', ui-monospace, monospace; font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: #d4a574; text-align: center; margin-bottom: 0.7rem; }
  .ftc-title { font-family: 'Cinzel', serif; font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 600; line-height: 1.25; text-align: center; margin: 0 0 1rem; background: linear-gradient(90deg, #d4a574, #f3e1c7, #00d9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
  .ftc-intro { max-width: 640px; margin: 0 auto 3rem; text-align: center; color: #8892a0; font-size: 0.95rem; line-height: 1.75; font-style: italic; }
  .ftc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; }
  .ftc-card { display: flex; flex-direction: column; padding: 0; background: linear-gradient(160deg, rgba(20,24,36,0.7), rgba(12,15,22,0.7)); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; text-decoration: none; color: inherit; position: relative; overflow: hidden; transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .35s ease, box-shadow .35s ease; }
  .ftc-card:hover { transform: translateY(-4px); border-color: rgba(212,165,116,0.4); box-shadow: 0 0 0 1px rgba(212,165,116,0.15), 0 18px 40px rgba(0,0,0,0.5), 0 0 30px rgba(212,165,116,0.08); }
  .ftc-thumb { position: relative; width: 100%; aspect-ratio: 16/10; overflow: hidden; background: rgba(0,0,0,0.3); border-bottom: 1px solid rgba(255,255,255,0.05); }
  .ftc-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; transition: transform .6s ease, filter .4s ease; filter: saturate(.9) brightness(.92); }
  .ftc-card:hover .ftc-thumb img { transform: scale(1.05); filter: saturate(1) brightness(1); }
  .ftc-thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(12,15,22,0.85) 100%); pointer-events: none; }
  .ftc-icon { font-size: 2rem; line-height: 1; margin: 1rem 1.5rem 0.6rem; color: #d4a574; opacity: 0.85; }
  .ftc-name { font-family: 'Cinzel', serif; font-size: 1.25rem; font-weight: 600; margin: 0 1.5rem 0.7rem; color: #f8fafc; line-height: 1.3; }
  .ftc-desc { color: #8892a0; font-size: 0.86rem; line-height: 1.65; margin: 0 1.5rem 1.2rem; flex-grow: 1; }
  .ftc-url { font-family: 'Fira Code', ui-monospace, monospace; font-size: 0.74rem; letter-spacing: 0.04em; color: #00d9ff; margin: 0 1.5rem 1.2rem; padding-top: 0.8rem; border-top: 1px dashed rgba(255,255,255,0.08); transition: color .25s ease; }
  .ftc-card:hover .ftc-url { color: #d4a574; }
  .ftc-url span { display: inline-block; transition: transform .25s ease; margin-left: 0.2rem; }
  .ftc-card:hover .ftc-url span { transform: translateX(3px); }
  .ftc-footnote { margin: 3.5rem auto 0; max-width: 540px; text-align: center; font-family: 'Cinzel', serif; font-size: 0.95rem; line-height: 1.7; color: #8892a0; font-style: italic; padding-top: 2rem; border-top: 1px dashed rgba(255,255,255,0.08); }
  .ftc-footnote em { color: #f8fafc; }
  .ftc-share-invite { max-width: 880px; margin: 4rem auto 0; padding: 3rem 2rem; text-align: center; border-radius: 14px; background: radial-gradient(ellipse at top, rgba(0,217,255,0.08) 0%, transparent 60%), linear-gradient(160deg, rgba(15,20,40,0.7), rgba(8,15,30,0.7)); border: 1px solid rgba(0,217,255,0.25); box-shadow: 0 0 30px rgba(0,217,255,0.06); }
  .ftc-share-eyebrow { font-family: 'Fira Code', ui-monospace, monospace; font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: #00d9ff; margin-bottom: 0.8rem; }
  .ftc-share-title { font-family: 'Cinzel', serif; font-size: clamp(1.3rem, 2.6vw, 1.9rem); font-weight: 500; line-height: 1.4; color: #f8fafc; margin: 0 0 1.2rem; }
  .ftc-share-title em { color: #00d9ff; font-style: italic; }
  .ftc-share-body { color: #8892a0; font-size: 0.92rem; line-height: 1.7; max-width: 600px; margin: 0 auto 2rem; }
  .ftc-share-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; align-items: center; margin-bottom: 1rem; }
  .ftc-btn { padding: 0.7rem 1.4rem; border-radius: 6px; font-family: 'Fira Code', ui-monospace, monospace; font-size: 0.78rem; letter-spacing: 0.04em; text-decoration: none; cursor: pointer; transition: all .25s ease; border: 1px solid; background: transparent; }
  .ftc-btn-primary { background: rgba(0,217,255,0.16); border-color: #00d9ff; color: #e6f4ff; }
  .ftc-btn-primary:hover { background: rgba(0,217,255,0.28); box-shadow: 0 0 16px rgba(0,217,255,0.3); }
  .ftc-btn-secondary { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.18); color: #e6f4ff; }
  .ftc-btn-secondary:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.35); }
  .ftc-share-feedback { min-height: 1.4rem; font-family: 'Fira Code', ui-monospace, monospace; font-size: 0.82rem; color: #00ff88; opacity: 0; transition: opacity .3s ease; margin-top: 0.8rem; }
  .ftc-share-feedback.is-visible { opacity: 1; }
  @media (max-width: 600px) { .ftc-section { padding: 3.5rem 1rem 2.5rem; } .ftc-grid { gap: 0.9rem; } .ftc-share-invite { padding: 2rem 1.2rem; } .ftc-icon, .ftc-name, .ftc-desc, .ftc-url { margin-left: 1.1rem; margin-right: 1.1rem; } }

/* Override section{min-height:100vh} hérité du style global */
section.ftc-section { min-height: 0 !important; display: block !important; padding: 5rem 1.5rem 4rem; }
