/* histoire.css — habillage des histoires des Passerelles : sobre, sombre, cinéma de papier. */
:root { --hi-bg:#14161f; --hi-panel:#1d2030; --hi-ink:#eceaf2; --hi-ink-2:#b9b8c8; --hi-ink-3:#8a8aa0; --hi-line:rgba(255,255,255,.1);
        --hi-accent:#e0b35a; --hi-ok:#5fd39a; --hi-ko:#f0714c; --fd:"Source Serif 4",Georgia,serif; --fb:"Source Sans 3","Segoe UI",system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--hi-bg); color:var(--hi-ink); font:400 17px/1.6 var(--fd); }
.hi-wrap { width:min(820px, 100% - 28px); margin:0 auto; padding:18px 0 100px; }
nav.hi-nav { display:flex; gap:14px; flex-wrap:wrap; font:600 13px var(--fb); margin-bottom:22px; }
nav.hi-nav a { color:var(--hi-ink-2); text-decoration:none; } nav.hi-nav a:hover { color:var(--hi-ink); }
#hi-tete { margin-bottom:22px; }
.hi-book-hero {
  position:relative; overflow:hidden; padding:clamp(24px, 5vw, 46px);
  border:1px solid rgba(224,179,90,.28); border-radius:22px;
  background:
    radial-gradient(circle at 88% 18%, rgba(224,179,90,.18), transparent 20%),
    radial-gradient(circle at 78% 92%, rgba(92,126,171,.16), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 48%), var(--hi-panel);
  box-shadow:0 20px 55px rgba(0,0,0,.22);
  background-image:linear-gradient(90deg, rgba(18,21,31,.94) 0%, rgba(18,21,31,.84) 38%, rgba(18,21,31,.30) 62%, rgba(18,21,31,.06) 100%), url('../images/aventures-planche.png');
  background-repeat:no-repeat; background-size:cover, cover; background-position:center, center; min-height:300px; padding-right:min(48%, 470px);
}
.hi-book-hero::before { content:'✦  ✧  ✦'; position:absolute; right:clamp(18px,4vw,42px); top:22px; color:rgba(224,179,90,.55); letter-spacing:.45em; font-size:18px; }
.hi-book-hero::after { content:''; position:absolute; width:210px; height:210px; right:-82px; bottom:-105px; border:1px solid rgba(224,179,90,.22); border-radius:50%; box-shadow:0 0 0 28px rgba(224,179,90,.035), 0 0 0 56px rgba(224,179,90,.02); pointer-events:none; }
.hi-book-hero .hi-accroche { max-width:65ch; margin-bottom:0; }
.hi-sur { margin:0 0 6px; font:700 11.5px var(--fb); letter-spacing:.12em; text-transform:uppercase; color:var(--hi-accent); }
#hi-tete h1 { margin:0 0 8px; font:600 clamp(28px, 5vw, 40px)/1.12 var(--fd); letter-spacing:-.01em; }
.hi-accroche { margin:0 0 14px; font:italic 400 18px/1.5 var(--fd); color:var(--hi-ink-2); }
.hi-progbar { height:4px; border-radius:3px; background:var(--hi-line); overflow:hidden; } .hi-progbar i { display:block; height:100%; width:0; background:var(--hi-accent); transition:width .4s; }
.hi-hint { font:400 12.5px var(--fb); color:var(--hi-ink-3); margin:6px 0 0; }

/* Le catalogue est la table des matières d'un livre d'enquêtes. */
.hi-grille { gap:16px !important; }
a.hi-card { box-shadow:0 8px 22px rgba(0,0,0,.14); }
a.hi-card::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; border-radius:16px 0 0 16px; background:linear-gradient(var(--hi-accent), transparent 78%); opacity:.8; }
a.hi-card:hover { box-shadow:0 15px 30px rgba(0,0,0,.24); }
a.hi-card h2 { letter-spacing:-.015em; }

.hi-scene { background:var(--hi-panel); border:1px solid var(--hi-line); border-radius:18px; padding:26px 28px 24px; animation:hi-in .45s ease-out; }
@keyframes hi-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .hi-scene { animation:none; } }
.hi-meta { margin:0 0 6px; font:600 12.5px var(--fb); letter-spacing:.06em; text-transform:uppercase; color:var(--hi-accent); }
.hi-scene h2 { margin:0 0 14px; font:600 26px/1.2 var(--fd); }
.hi-scene h3 { margin:22px 0 8px; font:700 12.5px var(--fb); letter-spacing:.09em; text-transform:uppercase; color:var(--hi-ink-3); }
.hi-texte p { margin:0 0 12px; } .hi-texte p:last-child { margin-bottom:0; }
.hi-texte em { color:var(--hi-accent); font-style:italic; }
.hi-texte q, .hi-texte blockquote { font-style:italic; color:var(--hi-ink-2); }
.hi-texte blockquote { margin:10px 0; padding:10px 16px; border-left:3px solid var(--hi-accent); }
.hi-fig { margin:0 0 16px; display:none; }
.hi-fig.ok { display:block; }
.hi-fig img { width:100%; max-height:420px; object-fit:cover; border-radius:12px; filter:saturate(.85) contrast(1.05); }
.hi-fig.portrait img { max-height:560px; object-fit:contain; background:#0e0f15; }
.hi-fig figcaption { font:400 12.5px var(--fb); color:var(--hi-ink-3); margin-top:6px; } .hi-credit { opacity:.7; }
.hi-choix { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.hi-btn { padding:11px 18px; border-radius:999px; border:1px solid var(--hi-accent); background:var(--hi-accent); color:#1a1408; font:700 14.5px var(--fb); cursor:pointer; text-decoration:none; }
.hi-btn:hover { filter:brightness(1.08); }
.hi-btn.ghost { background:transparent; color:var(--hi-ink); border-color:var(--hi-line); } .hi-btn.ghost:hover { border-color:var(--hi-ink-2); }
.hi-btn.on { background:#3a3450; border-color:#3a3450; color:#fff; } .hi-btn.ok { border-color:var(--hi-ok); color:var(--hi-ok); } .hi-btn.ko { border-color:var(--hi-ko); color:var(--hi-ko); }
.hi-btn:disabled { opacity:.6; cursor:default; }
.hi-apres { margin-top:16px; padding-top:14px; border-top:1px dashed var(--hi-line); }
.hi-consigne { font:600 13px var(--fb); color:var(--hi-ink-2); margin:10px 0 0; }
.hi-retour { margin-top:12px; padding:12px 16px; border-radius:12px; background:rgba(224,179,90,.1); border:1px solid rgba(224,179,90,.3); font:400 15px/1.5 var(--fb); }
.hi-retour h4 { margin:0 0 6px; font:700 12px var(--fb); letter-spacing:.08em; text-transform:uppercase; color:var(--hi-accent); }

/* document à gratter */
.hi-gratte { position:relative; margin-top:16px; border-radius:12px; overflow:hidden; }
.hi-gratte canvas { position:absolute; inset:0; width:100%; cursor:crosshair; touch-action:none; }
.hi-doc { padding:22px 24px; background:#f4efe3; color:#2a2418; font:400 15.5px/1.5 var(--fd); min-height:220px; }
.hi-doc.journal { background:#efe8d6; box-shadow:inset 0 0 60px rgba(60,40,10,.15); }
.hi-doc.journal h4 { margin:0 0 4px; font:900 26px/1 "Source Serif 4",Georgia,serif; letter-spacing:-.01em; text-transform:uppercase; border-bottom:2px solid #2a2418; padding-bottom:6px; }
.hi-doc.journal .date { font:600 11px var(--fb); letter-spacing:.08em; text-transform:uppercase; color:#6b5e3f; margin:0 0 10px; }
.hi-doc.journal p { margin:0 0 8px; column-count:2; column-gap:18px; font-size:14px; }
.hi-doc.telex { background:#e9e6dc; font:500 14px/1.6 ui-monospace, Consolas, monospace; white-space:pre-wrap; }
.hi-doc.lettre { background:#fbf6ea; font:italic 400 16px/1.6 var(--fd); }
.hi-doc.loi { background:#f7f3ea; } .hi-doc.loi h4 { margin:0 0 6px; font:700 13px var(--fb); letter-spacing:.08em; text-transform:uppercase; color:#5a4b22; }
.hi-doc .reconstitution { display:block; margin-top:10px; font:600 10.5px var(--fb); letter-spacing:.06em; text-transform:uppercase; color:#8a7a52; }
.hi-gratte .hi-consigne { position:absolute; left:0; right:0; bottom:8px; text-align:center; color:#fff; text-shadow:0 1px 4px #000; pointer-events:none; }

/* ── indices ────────────────────────────────────────────────────────────────
   Deux faces dans la même cellule de grille. Trois règles tiennent la mise
   en page :
   1. « overflow:hidden » sur la carte : sous perspective, une face tournée
      déborde de sa boîte de mise en page et se peignait par-dessus la carte
      voisine. Le débordement est maintenant découpé au bord de la carte.
   2. « align-items:start » sur la grille : chaque carte prend sa propre
      hauteur au lieu d'être étirée à la hauteur de la plus longue de sa
      rangée — c'est ce qui produisait des rectangles vides de 700 px.
   3. Fermée, la carte ne fait que la hauteur de son titre : le verso est
      replié (max-height:0) et ne compte plus dans le calcul. Elle s'ouvre
      à la hauteur du texte quand on la retourne.
   ------------------------------------------------------------------------ */
.hi-cartes { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:14px; margin-top:16px; align-items:start; }
.hi-carte { position:relative; display:grid; min-width:0; min-height:132px; border:0; background:none; padding:0; cursor:pointer;
  perspective:1100px; text-align:left; font:inherit; color:inherit; border-radius:14px; overflow:hidden; isolation:isolate; }
/* le verso reste un bloc : en flex, chaque <b> et chaque <i> deviendrait un
   item et passerait à la ligne tout seul. Seul le recto est centré en flex. */
.hi-carte > span { grid-area:1 / 1; display:block; min-width:0; padding:20px 22px; border-radius:14px;
  backface-visibility:hidden; -webkit-backface-visibility:hidden; transition:transform .5s; overflow-wrap:anywhere; }
.hi-carte-recto { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#3a3450,#262238);
  border:1px solid var(--hi-line); font:700 17px/1.35 var(--fd); text-align:center; text-wrap:balance; min-height:132px; }
.hi-carte-verso { background:#f4efe3; color:#2a2418; font:400 14.5px/1.62 var(--fb); transform:rotateY(180deg); padding:20px 22px 22px; }
.hi-carte-verso p { margin:0 0 9px; } .hi-carte-verso p:last-child { margin-bottom:0; }
.hi-carte-verso b { color:#5a4b22; }
.hi-carte-verso i, .hi-carte-verso em { color:#4a3d14; }
/* fermée : le verso est replié et ne dicte plus la hauteur de la carte.
   Le repli est retardé d'une demi-seconde à la fermeture, le temps que le
   retournement s'achève — sinon la carte s'écrase avant d'avoir tourné. */
.hi-carte:not(.on) .hi-carte-verso { max-height:0; overflow:hidden; padding-top:0; padding-bottom:0;
  transition:transform .5s, max-height 0s .5s, padding 0s .5s; }
.hi-carte.on .hi-carte-recto { transform:rotateY(180deg); }
.hi-carte.on .hi-carte-verso { transform:rotateY(0); transition:transform .5s; }
.hi-carte:hover .hi-carte-recto { border-color:var(--hi-accent); }
.hi-carte:focus-visible { outline:2px solid var(--hi-accent); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .hi-carte > span { transition:none; } }
@media (max-width:520px) { .hi-cartes { grid-template-columns:1fr; } .hi-carte { min-height:0; } .hi-carte-recto { min-height:96px; } }
.hi-question { margin-top:18px; padding-top:14px; border-top:1px dashed var(--hi-line); }

/* ordre */
.hi-ordre-src { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.hi-chip { padding:8px 13px; border-radius:10px; border:1px solid var(--hi-line); background:#262238; color:var(--hi-ink); font:600 14px var(--fb); cursor:pointer; }
.hi-chip:hover { border-color:var(--hi-accent); }
.hi-ordre-dst { margin:0; padding-left:26px; font:600 15px var(--fb); } .hi-ordre-dst li { margin:5px 0; padding:6px 10px; border-radius:8px; background:rgba(255,255,255,.04); } .hi-ordre-dst li.ko { color:var(--hi-ko); }

/* rôles */
/* rôles : mêmes règles que les cartes — colonnes larges, pas d'étirement,
   pas de débordement possible d'un texte long. */
.hi-roles { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap:14px; margin-top:16px; align-items:start; }
.hi-role { min-width:0; padding:18px 20px 20px; border-radius:14px; background:#262238; border:1px solid var(--hi-line); font:400 14.5px/1.6 var(--fb); overflow-wrap:anywhere; }
.hi-role h4 { margin:0 0 3px; font:600 19px/1.25 var(--fd); color:var(--hi-accent); text-wrap:balance; }
.hi-role-qui { margin:0 0 10px; font-size:13px; line-height:1.45; color:var(--hi-ink-3); }
.hi-role ul { margin:11px 0 0; padding-left:19px; } .hi-role li { margin:5px 0; }
@media (max-width:520px) { .hi-roles { grid-template-columns:1fr; } }
.hi-vote { margin-top:16px; padding:14px 16px; border-radius:12px; border:1px solid var(--hi-line); font-family:var(--fb); }

/* dossier */
.hi-vf { list-style:none; margin:0; padding:0; display:grid; gap:8px; font:400 14.5px/1.45 var(--fb); }
.hi-vf li { padding:10px 14px; border-radius:10px; background:#262238; border-left:4px solid var(--hi-ink-3); } .hi-vf li b { display:inline-block; min-width:70px; font:700 11px var(--fb); letter-spacing:.06em; text-transform:uppercase; }
.hi-vf li.vrai { border-left-color:var(--hi-ok); } .hi-vf li.vrai b { color:var(--hi-ok); } .hi-vf li.legende { border-left-color:var(--hi-ko); } .hi-vf li.legende b { color:var(--hi-ko); }
.hi-q { font:italic 500 22px/1.35 var(--fd); color:var(--hi-accent); margin:0; }
.hi-atelier textarea { width:100%; margin-top:8px; padding:12px 14px; border-radius:12px; border:1px solid var(--hi-line); background:#14161f; color:var(--hi-ink); font:400 16px/1.5 var(--fd); resize:vertical; }
.hi-atelier .hi-retour p { margin:0 0 8px; } .hi-atelier .hi-retour h5 { margin:10px 0 4px; font:700 12px var(--fb); letter-spacing:.06em; text-transform:uppercase; color:var(--hi-accent); }
@media (max-width:600px) { .hi-scene { padding:18px 16px; } .hi-doc.journal p { column-count:1; } }
@media print { body { background:#fff; color:#111; } .hi-scene { border:1px solid #ccc; } .hi-btn, nav.hi-nav { display:none; } }

/* vidéo de contexte (iframe chargée au clic, après test d'existence) */
.hi-video { margin:14px 0 4px; }
.hi-video-cadre { position:relative; aspect-ratio:16 / 9; border-radius:12px; overflow:hidden; background:#0b0c12; border:1px solid var(--hi-line); }
.hi-video-cadre iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.hi-video-play { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; background:#0b0c12; cursor:pointer; }
.hi-video-play img { width:100%; height:100%; object-fit:cover; opacity:.8; filter:saturate(.8); transition:opacity .2s; }
.hi-video-play:hover img { opacity:1; }
.hi-video-play span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:var(--hi-accent); color:#1a1408; font:700 24px/64px var(--fb); text-align:center; padding-left:4px; box-shadow:0 6px 24px rgba(0,0,0,.5); }
.hi-video-leg { margin:6px 0 0; font:400 12.5px var(--fb); color:var(--hi-ink-3); }

/* film d'introduction */
.hi-film { margin:14px 0 16px; }
.hi-film video { width:100%; border-radius:14px; background:#000; border:1px solid var(--hi-line); aspect-ratio:16 / 9; }
.hi-film .hi-hint { margin-top:6px; }

/* bouton ambiance (jamais automatique) */
.hi-amb { position:fixed; right:16px; bottom:16px; z-index:20; padding:9px 14px; border-radius:999px; border:1px solid var(--hi-line); background:rgba(20,22,31,.85); color:var(--hi-ink-2); font:600 12.5px var(--fb); cursor:pointer; backdrop-filter:blur(6px); }
.hi-amb span { display:inline-block; margin-right:4px; transition:transform .3s; }
.hi-amb[aria-pressed="true"] { border-color:var(--hi-accent); color:var(--hi-accent); }
.hi-amb[aria-pressed="true"] span { animation:hi-note 1.4s ease-in-out infinite; }
@keyframes hi-note { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@media (prefers-reduced-motion:reduce) { .hi-amb[aria-pressed="true"] span { animation:none; } }
@media print { .hi-amb, .hi-video, .hi-film { display:none; } }

/* ── thèmes par histoire ── */
body.hi-theme-scopes { --hi-bg:#1a1610; --hi-panel:#241e15; --hi-accent:#d9a441; --hi-line:rgba(255,235,200,.12); --fd:"Playfair Display","Source Serif 4",Georgia,serif; }
body.hi-theme-scopes #hi-tete h1, body.hi-theme-scopes .hi-scene h2 { letter-spacing:.005em; }
body.hi-theme-scopes .hi-doc.journal { background:#e9dfc6; }
body.hi-theme-scopes::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.35; background:radial-gradient(ellipse at 50% 0%, rgba(217,164,65,.14), transparent 60%); }

body.hi-theme-bletchley { --hi-bg:#0f1517; --hi-panel:#172023; --hi-accent:#8fd3c7; --hi-line:rgba(180,230,220,.12); --hi-ink-2:#b7c6c3; --hi-ink-3:#7f9490; }
body.hi-theme-bletchley .hi-meta, body.hi-theme-bletchley .hi-sur { font-family:"Special Elite","Courier New",ui-monospace,monospace; letter-spacing:.06em; text-transform:none; }
body.hi-theme-bletchley .hi-doc.telex { background:#e3e6dc; font-family:"Special Elite","Courier New",ui-monospace,monospace; }
body.hi-theme-bletchley .hi-btn:not(.ghost) { color:#08221c; }
body.hi-theme-bletchley .hi-carte-recto { background:linear-gradient(135deg,#243a3a,#16262a); }
body.hi-theme-bletchley::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.5; background:repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px); }

body.hi-theme-quarante-jours { --hi-bg:#171420; --hi-panel:#211c2b; --hi-accent:#ef7a4a; --hi-line:rgba(255,220,200,.12); }
body.hi-theme-quarante-jours .hi-btn:not(.ghost) { color:#2a1208; }
body.hi-theme-quarante-jours .hi-doc.journal { background:#f1ebdf; }
body.hi-theme-quarante-jours .hi-carte-recto { background:linear-gradient(135deg,#4a2f3a,#2a2033); }
body.hi-theme-quarante-jours::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.3; background:radial-gradient(ellipse at 80% 100%, rgba(239,122,74,.16), transparent 55%); }

body.hi-theme-contrat-social { --hi-bg:#15131c; --hi-panel:#1f1b28; --hi-accent:#c9a15c; --hi-line:rgba(230,215,180,.12); --fd:"Cormorant Garamond","Source Serif 4",Georgia,serif; }
body.hi-theme-contrat-social { font-size:18px; }
body.hi-theme-contrat-social #hi-tete h1 { font-weight:600; letter-spacing:0; }
body.hi-theme-contrat-social .hi-scene h2 { font-size:29px; }
body.hi-theme-contrat-social .hi-doc.loi { background:#f3ead7; box-shadow:inset 0 0 80px rgba(120,90,30,.18); }
body.hi-theme-contrat-social .hi-carte-recto { background:linear-gradient(135deg,#3d3352,#262038); }
body.hi-theme-contrat-social::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.35; background:radial-gradient(ellipse at 50% 0%, rgba(201,161,92,.14), transparent 60%); }

/* thèmes — deuxième vague (une teinte et une matière par histoire, même grammaire) */
body.hi-theme-parti { --hi-bg:#171a14; --hi-panel:#20241b; --hi-accent:#c8b46a; --hi-line:rgba(230,225,190,.12); }
body.hi-theme-parti .hi-btn:not(.ghost) { color:#1d1a08; }
body.hi-theme-parti .hi-doc.lettre { background:#f6f0dc; }
body.hi-theme-demon { --hi-bg:#0e1220; --hi-panel:#161b2e; --hi-accent:#9fb4ff; --hi-line:rgba(190,200,255,.12); --hi-ink-2:#bcc3dc; }
body.hi-theme-demon .hi-btn:not(.ghost) { color:#0b1030; }
body.hi-theme-demon::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.5; background:radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.35) 50%, transparent 51%), radial-gradient(1px 1px at 70% 60%, rgba(255,255,255,.3) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 40% 80%, rgba(255,255,255,.25) 50%, transparent 51%), radial-gradient(1px 1px at 85% 15%, rgba(255,255,255,.3) 50%, transparent 51%); }
body.hi-theme-forge { --hi-bg:#1b1410; --hi-panel:#261b15; --hi-accent:#f0a05a; --hi-line:rgba(255,200,160,.12); }
body.hi-theme-forge .hi-btn:not(.ghost) { color:#2a1408; }
body.hi-theme-forge::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.4; background:radial-gradient(ellipse at 50% 110%, rgba(240,160,90,.22), transparent 55%); }
body.hi-theme-berne { --hi-bg:#111a1c; --hi-panel:#18242a; --hi-accent:#b9d3e8; --hi-line:rgba(200,225,240,.12); }
body.hi-theme-berne .hi-btn:not(.ghost) { color:#0d1a22; }
body.hi-theme-berne .hi-meta { font-family:ui-monospace,"Courier New",monospace; letter-spacing:.08em; }
body.hi-theme-imitation { --hi-bg:#0f1414; --hi-panel:#161e1e; --hi-accent:#6fe0b0; --hi-line:rgba(150,230,200,.12); --hi-ink-2:#b5c8c2; }
body.hi-theme-imitation .hi-btn:not(.ghost) { color:#062318; }
body.hi-theme-imitation .hi-meta, body.hi-theme-imitation .hi-sur { font-family:ui-monospace,"Courier New",monospace; letter-spacing:.06em; }
body.hi-theme-imitation .hi-doc.lettre { font-family:ui-monospace,"Courier New",monospace; font-style:normal; font-size:14px; }
body.hi-theme-imitation::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.5; background:repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px); }
body.hi-theme-tacoma { --hi-bg:#121619; --hi-panel:#1a2126; --hi-accent:#8fc1e3; --hi-line:rgba(180,210,235,.12); }
body.hi-theme-tacoma .hi-btn:not(.ghost) { color:#0a1a26; }
body.hi-theme-tacoma .hi-doc.telex { background:#e6e9e4; }
body.hi-theme-ems { --hi-bg:#17140f; --hi-panel:#211d16; --hi-accent:#d9b26a; --hi-line:rgba(240,220,180,.12); }
body.hi-theme-ems .hi-btn:not(.ghost) { color:#1f1606; }
body.hi-theme-ems .hi-doc.telex { background:#ece6d3; font-family:"Special Elite","Courier New",ui-monospace,monospace; }
body.hi-theme-aveyron { --hi-bg:#121712; --hi-panel:#1a231b; --hi-accent:#a7d08c; --hi-line:rgba(190,230,170,.12); --hi-ink-2:#bccbb7; }
body.hi-theme-aveyron .hi-btn:not(.ghost) { color:#0f2008; }
body.hi-theme-aveyron .hi-doc.lettre { background:#f7f3e4; }
body.hi-theme-refuses { --hi-bg:#1a1416; --hi-panel:#251c1f; --hi-accent:#e8a3a3; --hi-line:rgba(240,200,200,.12); }
body.hi-theme-refuses .hi-btn:not(.ghost) { color:#2a0d10; }
body.hi-theme-refuses .hi-fig img { filter:none; }
body.hi-theme-refuses::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.35; background:radial-gradient(ellipse at 50% 0%, rgba(232,163,163,.16), transparent 60%); }
body.hi-theme-rosette { --hi-bg:#171511; --hi-panel:#221e17; --hi-accent:#d8c08a; --hi-line:rgba(235,220,180,.12); --fd:"Cormorant Garamond","Source Serif 4",Georgia,serif; }
body.hi-theme-rosette { font-size:18px; }
body.hi-theme-rosette .hi-btn:not(.ghost) { color:#211a08; }
body.hi-theme-rosette .hi-doc.lettre { background:#f4ecd6; }
body.hi-theme-berlin { --hi-bg:#141416; --hi-panel:#1d1d21; --hi-accent:#e2e2e2; --hi-line:rgba(255,255,255,.12); --hi-ink-2:#c2c2c8; }
body.hi-theme-berlin .hi-btn:not(.ghost) { color:#111; }
body.hi-theme-berlin .hi-meta { color:#e2e2e2; }
body.hi-theme-berlin .hi-doc.journal { background:#e9e6df; }
body.hi-theme-berlin .hi-fig img { filter:grayscale(.3) contrast(1.08); }
body.hi-theme-cigue { --hi-bg:#15130f; --hi-panel:#201c15; --hi-accent:#d4a24c; --hi-line:rgba(230,210,170,.12); --fd:"Cormorant Garamond","Source Serif 4",Georgia,serif; }
body.hi-theme-cigue { font-size:18px; }
body.hi-theme-cigue .hi-btn:not(.ghost) { color:#211508; }
body.hi-theme-cigue .hi-doc.loi { background:#f1e8d2; }
body.hi-theme-cigue::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.35; background:radial-gradient(ellipse at 50% 100%, rgba(212,162,76,.16), transparent 55%); }

/* renvoi d'écoute Frémeaux — repère de classe, pas un lecteur */
.hi-ecoute { margin:18px 0 4px; padding:16px 18px 14px; border-radius:14px; border:1px solid var(--hi-line); border-left:3px solid var(--hi-accent); background:rgba(255,255,255,.035); font-family:var(--fb); }
.hi-ecoute-k { margin:0 0 6px; font:700 11.5px var(--fb); letter-spacing:.1em; text-transform:uppercase; color:var(--hi-accent); }
.hi-ecoute-k span { font-size:14px; }
.hi-ecoute h4 { margin:0 0 4px; font:600 18px/1.25 var(--fd); color:var(--hi-ink); }
.hi-ecoute p { margin:0 0 7px; font:400 14px/1.5 var(--fb); color:var(--hi-ink-2); }
.hi-ecoute-ref { color:var(--hi-ink) !important; font-size:13.5px !important; }
.hi-ecoute-ref i { color:var(--hi-ink-3); font-style:italic; }
.hi-ecoute-cof { margin:-2px 0 8px !important; font-size:12.5px !important; color:var(--hi-ink-3) !important; }
.hi-ecoute-pourquoi { border-top:1px dashed var(--hi-line); padding-top:8px; }
.hi-ecoute-pourquoi b { color:var(--hi-accent); }
.hi-ecoute .hi-hint { margin:6px 0 0; font-size:11.5px; }
@media print { .hi-ecoute { border-left-color:#999; } }

/* thème « la nuit du ressac » — nuit polaire, feu, sel */
body.hi-theme-bolungarvik { --hi-bg:#0d1417; --hi-panel:#141d21; --hi-accent:#7fb6bd; --hi-line:rgba(180,220,225,.11); --hi-ink-2:#b4c4c6; --hi-ink-3:#7d9092; }
body.hi-theme-bolungarvik { font-size:17.5px; }
body.hi-theme-bolungarvik .hi-btn:not(.ghost) { color:#06181c; }
body.hi-theme-bolungarvik .hi-scene h2 { font-weight:600; }
body.hi-theme-bolungarvik .hi-texte p { margin-bottom:15px; }
body.hi-theme-bolungarvik .hi-doc.lettre { background:#efeade; color:#2b2a22; }
body.hi-theme-bolungarvik .hi-carte-recto { background:linear-gradient(135deg,#1e3238,#142125); }
body.hi-theme-bolungarvik .hi-fig img { filter:saturate(.7) contrast(1.06) brightness(.92); }
body.hi-theme-bolungarvik::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.45;
  background:radial-gradient(ellipse at 50% 115%, rgba(230,150,70,.16), transparent 52%), radial-gradient(ellipse at 50% -10%, rgba(127,182,189,.12), transparent 55%); }

/* thème « les décrets du matin » — granit, tourbe, embrun de l'Atlantique nord */
body.hi-theme-saint-kilda { --hi-bg:#101312; --hi-panel:#181d1c; --hi-accent:#9db98f; --hi-line:rgba(200,220,205,.11); --hi-ink-2:#bcc5bd; --hi-ink-3:#87938a; }
body.hi-theme-saint-kilda { font-size:17.5px; }
body.hi-theme-saint-kilda .hi-btn:not(.ghost) { color:#0c1410; }
body.hi-theme-saint-kilda .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-saint-kilda .hi-texte p { margin-bottom:15px; }
body.hi-theme-saint-kilda .hi-doc.lettre { background:#e9e4d6; color:#2a2820; }
body.hi-theme-saint-kilda .hi-carte-recto { background:linear-gradient(135deg,#26302a,#161d1a); }
body.hi-theme-saint-kilda .hi-fig img { filter:saturate(.62) contrast(1.08) brightness(.94); }
body.hi-theme-saint-kilda blockquote { border-left-color:#9db98f; }
body.hi-theme-saint-kilda::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.4;
  background:radial-gradient(ellipse at 50% -12%, rgba(190,210,225,.13), transparent 55%), radial-gradient(ellipse at 50% 118%, rgba(90,110,80,.16), transparent 50%); }

/* thème « ceux qu'on a dits sans amour » — latérite, herbe sèche, lumière dure */
body.hi-theme-ik { --hi-bg:#15100c; --hi-panel:#1e1712; --hi-accent:#d8a24e; --hi-line:rgba(230,200,160,.12); --hi-ink-2:#cbbca8; --hi-ink-3:#9a8974; }
body.hi-theme-ik { font-size:17.5px; }
body.hi-theme-ik .hi-btn:not(.ghost) { color:#1a1206; }
body.hi-theme-ik .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-ik .hi-texte p { margin-bottom:15px; }
body.hi-theme-ik .hi-doc.lettre { background:#efe7d5; color:#2c2618; }
body.hi-theme-ik .hi-carte-recto { background:linear-gradient(135deg,#3a2a18,#1f170f); }
body.hi-theme-ik .hi-fig img { filter:saturate(.8) contrast(1.05) brightness(.93); }
body.hi-theme-ik blockquote { border-left-color:#d8a24e; }
body.hi-theme-ik::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(226,170,80,.17), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(120,70,35,.18), transparent 52%); }

/* ── atterrissage « bac » du dossier : le sujet et le texte que l'histoire arme ── */
.hi-bac { margin:22px 0 4px; padding:18px 20px 16px; border-radius:14px;
  background:linear-gradient(180deg, rgba(224,179,90,.10), transparent 70%);
  border:1px solid var(--hi-line); border-left:4px solid var(--hi-accent); }
.hi-bac-k { margin:0 0 12px; font:700 11px var(--fb); letter-spacing:.12em; text-transform:uppercase; color:var(--hi-accent); }
.hi-bac-bloc { padding:13px 15px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid var(--hi-line); }
.hi-bac-bloc + .hi-bac-bloc { margin-top:10px; }
.hi-bac-bloc h4 { margin:0 0 6px; font:700 10.5px var(--fb); letter-spacing:.1em; text-transform:uppercase; color:var(--hi-ink-3); }
.hi-bac-sujet { margin:0 0 7px; font:600 18px/1.35 var(--fd); color:var(--hi-ink); }
.hi-bac-c { margin:0; font:400 14.5px/1.6 var(--fb); color:var(--hi-ink-2); }
.hi-bac-go { margin:11px 0 0; }
@media print { .hi-bac { background:none; } .hi-bac-go { display:none; } }

/* thème « cinq semaines » — Vienne 1880 : acajou, lampe à pétrole, papier jauni */
body.hi-theme-anna-o { --hi-bg:#14100e; --hi-panel:#1d1815; --hi-accent:#c9a86a; --hi-line:rgba(225,205,175,.11); --hi-ink-2:#c6bbab; --hi-ink-3:#918476; }
body.hi-theme-anna-o { font-size:17.5px; }
body.hi-theme-anna-o .hi-btn:not(.ghost) { color:#1a1209; }
body.hi-theme-anna-o .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-anna-o .hi-texte p { margin-bottom:15px; }
body.hi-theme-anna-o .hi-doc.lettre { background:#efe7d3; color:#2c2718; }
body.hi-theme-anna-o .hi-doc.loi { background:#e6e6df; color:#25272a; }
body.hi-theme-anna-o .hi-carte-recto { background:linear-gradient(135deg,#33261a,#1e1712); }
body.hi-theme-anna-o .hi-fig img { filter:sepia(.16) saturate(.78) contrast(1.05) brightness(.95); }
body.hi-theme-anna-o blockquote { border-left-color:#c9a86a; }
body.hi-theme-anna-o::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(230,190,120,.14), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(60,40,25,.30), transparent 50%); }

/* thème « la guêpe » — Méditerranée : sable chaud, mer sombre, lumière de quatre heures */
body.hi-theme-guepe { --hi-bg:#0e1418; --hi-panel:#162024; --hi-accent:#e0b45c; --hi-line:rgba(220,215,190,.12); --hi-ink-2:#c3c8c4; --hi-ink-3:#8b9491; }
body.hi-theme-guepe { font-size:17.5px; }
body.hi-theme-guepe .hi-btn:not(.ghost) { color:#1a1305; }
body.hi-theme-guepe .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-guepe .hi-texte p { margin-bottom:15px; }
body.hi-theme-guepe .hi-doc.lettre { background:#f2ead6; color:#2c2718; }
body.hi-theme-guepe .hi-carte-recto { background:linear-gradient(135deg,#1e3038,#152026); }
body.hi-theme-guepe .hi-fig img { filter:saturate(.92) contrast(1.04) brightness(.96); }
body.hi-theme-guepe blockquote { border-left-color:#e0b45c; }
body.hi-theme-guepe::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.4;
  background:radial-gradient(ellipse at 50% -12%, rgba(245,205,130,.16), transparent 55%), radial-gradient(ellipse at 50% 118%, rgba(20,60,80,.28), transparent 50%); }
.hi-ecoute-lien { margin: 10px 0 4px; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.hi-ecoute-plage { font-style: italic; opacity: .85; font-size: 14px; }

.hi-book-hero p { max-width:52ch; }

@media (max-width:700px) {
  .hi-book-hero { padding:206px 20px 22px; background-image:none; }
  .hi-book-hero::before { content:''; position:absolute; left:0; right:0; top:0; height:190px; z-index:0; color:transparent; letter-spacing:0;
    background-image:linear-gradient(180deg, rgba(18,21,31,0) 50%, var(--hi-panel, #14161f) 100%), url('../images/aventures-planche.png'); background-size:cover,cover; background-position:center,center; background-repeat:no-repeat;
    background-repeat:no-repeat; background-size:100% 100%, auto 300%; background-position:center, 100% 100%; }
  .hi-book-hero > * { position:relative; z-index:1; }
}

/* ══ La gravure de la passerelle en tête de chaque carte : même thématique, même image ══ */
a.hi-card { padding-top:0 !important; overflow:hidden; }
a.hi-card::before { content:''; position:static; display:block; inset:auto; width:auto; height:96px; margin:0 -20px 10px; opacity:1; border-radius:0;
  background-color:rgba(255,255,255,.04); background-image:linear-gradient(180deg, rgba(18,21,31,.05), rgba(18,21,31,.55)), var(--art, none);
  background-size:cover, cover; background-position:center, 74% 42%; border-bottom:2px solid var(--hi-accent, #e0b35a); }
a.hi-card:not([style*='--art']):not([data-id]) { padding-top:20px !important; }
a.hi-card[data-id="anna-o"] { --art:url('../images/passerelles/hggsp-v1.png'); --hi-accent:#2f4a86; }
a.hi-card[data-id="aveyron"] { --art:url('../images/passerelles/education-v1.png'); --hi-accent:#6a4a9c; }
a.hi-card[data-id="berlin"] { --art:url('../images/passerelles/eps-v1.png'); --hi-accent:#c2410c; }
a.hi-card[data-id="berne"] { --art:url('../images/passerelles/temps-v1.png'); --hi-accent:#7a5230; }
a.hi-card[data-id="bletchley"] { --art:url('../images/passerelles/ses-v1.png'); --hi-accent:#1f6f6b; }
a.hi-card[data-id="bolungarvik"] { --art:url('../images/passerelles/anthropologie-v1.png'); --hi-accent:#8a5a24; }
a.hi-card[data-id="cigue"] { --art:url('../images/passerelles/lca-v1.png'); --hi-accent:#6b7233; }
a.hi-card[data-id="contrat-social"] { --art:url('../images/passerelles/droit-v1.png'); --hi-accent:#2f4a86; }
a.hi-card[data-id="demon"] { --art:url('../images/passerelles/physique-v1.png'); --hi-accent:#455a64; }
a.hi-card[data-id="ems"] { --art:url('../images/passerelles/hggsp-v1.png'); --hi-accent:#b4531a; }
a.hi-card[data-id="forge"] { --art:url('../images/passerelles/acoustique-v1.png'); --hi-accent:#0e7490; }
a.hi-card[data-id="ik"] { --art:url('../images/passerelles/anthropologie-v1.png'); --hi-accent:#8a5a24; }
a.hi-card[data-id="imitation"] { --art:url('../images/passerelles/nsi-v1.png'); --hi-accent:#3949ab; }
a.hi-card[data-id="parti"] { --art:url('../images/passerelles/maths-v1.png'); --hi-accent:#37474f; }
a.hi-card[data-id="quarante-jours"] { --art:url('../images/passerelles/droit-v1.png'); --hi-accent:#2f4a86; }
a.hi-card[data-id="refuses"] { --art:url('../images/passerelles/esthetique-v1.png'); --hi-accent:#a8324a; }
a.hi-card[data-id="rosette"] { --art:url('../images/passerelles/langues-v1.png'); --hi-accent:#a33b73; }
a.hi-card[data-id="saint-kilda"] { --art:url('../images/passerelles/anthropologie-v1.png'); --hi-accent:#8a5a24; }
a.hi-card[data-id="scopes"] { --art:url('../images/passerelles/svt-v1.png'); --hi-accent:#2f7d32; }
a.hi-card[data-id="tacoma"] { --art:url('../images/passerelles/ingenieur-v1.png'); --hi-accent:#8d6e2f; }
a.hi-card[data-id="guepe"]::before { background-image:linear-gradient(180deg, rgba(18,21,31,.05), rgba(18,21,31,.55)), repeating-linear-gradient(58deg, rgba(224,179,90,.18) 0 2px, transparent 2px 10px); }
@media (max-width:640px) { a.hi-card::before { height:84px; } }

/* ══ récits de septembre 2026 : la chaîne, Lisbonne, Keller, Picquart, Semmelweis, Valladolid, Walden, l’an II ══ */
/* thème « la chaîne — acier, huile, ampoules nues » */
body.hi-theme-chaine { --hi-bg:#0f1214; --hi-panel:#171c20; --hi-accent:#e3a23c; --hi-line:rgba(230,200,150,.12); --hi-ink-2:#c2c4c0; --hi-ink-3:#8b8f8c; }
body.hi-theme-chaine { font-size:17.5px; }
body.hi-theme-chaine .hi-btn:not(.ghost) { color:#1c1204; }
body.hi-theme-chaine .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-chaine .hi-texte p { margin-bottom:15px; }
body.hi-theme-chaine .hi-doc.lettre, body.hi-theme-chaine .hi-doc.journal, body.hi-theme-chaine .hi-doc.loi { background:#eae5d8; color:#2a2a26; }
body.hi-theme-chaine .hi-carte-recto { background:linear-gradient(135deg,#2b3238,#151a1e); }
body.hi-theme-chaine .hi-fig img { filter:saturate(.35) contrast(1.08) brightness(.95); }
body.hi-theme-chaine blockquote { border-left-color:#e3a23c; }
body.hi-theme-chaine::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(227,162,60,.13), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(60,80,95,.18), transparent 52%); }
/* thème « le matin de la Toussaint — azulejo, cendre, lueur d’incendie » */
body.hi-theme-lisbonne { --hi-bg:#10131a; --hi-panel:#181d27; --hi-accent:#e08a4a; --hi-line:rgba(200,215,240,.12); --hi-ink-2:#c3c8d4; --hi-ink-3:#8b92a3; }
body.hi-theme-lisbonne { font-size:17.5px; }
body.hi-theme-lisbonne .hi-btn:not(.ghost) { color:#1f0f04; }
body.hi-theme-lisbonne .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-lisbonne .hi-texte p { margin-bottom:15px; }
body.hi-theme-lisbonne .hi-doc.lettre, body.hi-theme-lisbonne .hi-doc.journal, body.hi-theme-lisbonne .hi-doc.loi { background:#efe8d8; color:#2a2620; }
body.hi-theme-lisbonne .hi-carte-recto { background:linear-gradient(135deg,#22344f,#131b2a); }
body.hi-theme-lisbonne .hi-fig img { filter:saturate(.8) contrast(1.05) brightness(.94); }
body.hi-theme-lisbonne blockquote { border-left-color:#e08a4a; }
body.hi-theme-lisbonne::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(224,138,74,.16), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(50,90,150,.16), transparent 52%); }
/* thème « tout a un nom — jardin du Sud, eau claire, chèvrefeuille » */
body.hi-theme-keller { --hi-bg:#0f1513; --hi-panel:#17201d; --hi-accent:#8fd0c0; --hi-line:rgba(190,230,220,.12); --hi-ink-2:#bfcdc8; --hi-ink-3:#869792; }
body.hi-theme-keller { font-size:17.5px; }
body.hi-theme-keller .hi-btn:not(.ghost) { color:#062019; }
body.hi-theme-keller .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-keller .hi-texte p { margin-bottom:15px; }
body.hi-theme-keller .hi-doc.lettre, body.hi-theme-keller .hi-doc.journal, body.hi-theme-keller .hi-doc.loi { background:#f1ecdd; color:#28261e; }
body.hi-theme-keller .hi-carte-recto { background:linear-gradient(135deg,#1f3a36,#13221f); }
body.hi-theme-keller .hi-fig img { filter:saturate(.7) contrast(1.04) brightness(.95) sepia(.12); }
body.hi-theme-keller blockquote { border-left-color:#8fd0c0; }
body.hi-theme-keller::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(143,208,192,.13), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(80,120,70,.15), transparent 52%); }
/* thème « si vous ne dites rien — drap d’uniforme, papier pelure, gaz » */
body.hi-theme-picquart { --hi-bg:#101218; --hi-panel:#181b24; --hi-accent:#c9a55c; --hi-line:rgba(215,205,180,.12); --hi-ink-2:#c4c3c9; --hi-ink-3:#8d8c96; }
body.hi-theme-picquart { font-size:17.5px; }
body.hi-theme-picquart .hi-btn:not(.ghost) { color:#1a1304; }
body.hi-theme-picquart .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-picquart .hi-texte p { margin-bottom:15px; }
body.hi-theme-picquart .hi-doc.lettre, body.hi-theme-picquart .hi-doc.journal, body.hi-theme-picquart .hi-doc.loi { background:#eee6d2; color:#2b261a; }
body.hi-theme-picquart .hi-carte-recto { background:linear-gradient(135deg,#2b2f45,#161826); }
body.hi-theme-picquart .hi-fig img { filter:saturate(.45) contrast(1.06) brightness(.94) sepia(.15); }
body.hi-theme-picquart blockquote { border-left-color:#c9a55c; }
body.hi-theme-picquart::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(201,165,92,.13), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(120,40,40,.14), transparent 52%); }
/* thème « ce que portaient les mains — émail, chlore, salle blanche la nuit » */
body.hi-theme-semmelweis { --hi-bg:#0f1416; --hi-panel:#171f22; --hi-accent:#9ecfd6; --hi-line:rgba(190,225,230,.12); --hi-ink-2:#c0cbcd; --hi-ink-3:#879598; }
body.hi-theme-semmelweis { font-size:17.5px; }
body.hi-theme-semmelweis .hi-btn:not(.ghost) { color:#06191d; }
body.hi-theme-semmelweis .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-semmelweis .hi-texte p { margin-bottom:15px; }
body.hi-theme-semmelweis .hi-doc.lettre, body.hi-theme-semmelweis .hi-doc.journal, body.hi-theme-semmelweis .hi-doc.loi { background:#ecebe2; color:#252823; }
body.hi-theme-semmelweis .hi-carte-recto { background:linear-gradient(135deg,#23393d,#141f22); }
body.hi-theme-semmelweis .hi-fig img { filter:saturate(.4) contrast(1.05) brightness(.95); }
body.hi-theme-semmelweis blockquote { border-left-color:#9ecfd6; }
body.hi-theme-semmelweis::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(158,207,214,.13), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(70,100,110,.16), transparent 52%); }
/* thème « la conquête suspendue — pierre dorée, vélin, encre brune » */
body.hi-theme-valladolid { --hi-bg:#15110d; --hi-panel:#1f1913; --hi-accent:#d2a35a; --hi-line:rgba(235,210,170,.12); --hi-ink-2:#cdc0ad; --hi-ink-3:#9a8c78; }
body.hi-theme-valladolid { font-size:17.5px; }
body.hi-theme-valladolid .hi-btn:not(.ghost) { color:#1a1206; }
body.hi-theme-valladolid .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-valladolid .hi-texte p { margin-bottom:15px; }
body.hi-theme-valladolid .hi-doc.lettre, body.hi-theme-valladolid .hi-doc.journal, body.hi-theme-valladolid .hi-doc.loi { background:#f0e6cf; color:#2e2617; }
body.hi-theme-valladolid .hi-carte-recto { background:linear-gradient(135deg,#3d2c1a,#21180f); }
body.hi-theme-valladolid .hi-fig img { filter:saturate(.85) contrast(1.04) brightness(.93); }
body.hi-theme-valladolid blockquote { border-left-color:#d2a35a; }
body.hi-theme-valladolid::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(210,163,90,.16), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(110,50,35,.17), transparent 52%); }
/* thème « walden — pin, étang, feuilles d’octobre » */
body.hi-theme-walden { --hi-bg:#10140f; --hi-panel:#181e16; --hi-accent:#d9a35a; --hi-line:rgba(215,225,195,.12); --hi-ink-2:#c3cabb; --hi-ink-3:#8a9383; }
body.hi-theme-walden { font-size:17.5px; }
body.hi-theme-walden .hi-btn:not(.ghost) { color:#1a1305; }
body.hi-theme-walden .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-walden .hi-texte p { margin-bottom:15px; }
body.hi-theme-walden .hi-doc.lettre, body.hi-theme-walden .hi-doc.journal, body.hi-theme-walden .hi-doc.loi { background:#f0ead8; color:#2a281c; }
body.hi-theme-walden .hi-carte-recto { background:linear-gradient(135deg,#2c3a26,#171f14); }
body.hi-theme-walden .hi-fig img { filter:saturate(.85) contrast(1.04) brightness(.95); }
body.hi-theme-walden blockquote { border-left-color:#d9a35a; }
body.hi-theme-walden::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(217,163,90,.14), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(70,110,70,.17), transparent 52%); }
/* thème « midi à cinq heures — bleu de Convention, laiton, papier d’affiche » */
body.hi-theme-an-deux { --hi-bg:#0f1220; --hi-panel:#171b2d; --hi-accent:#e2b457; --hi-line:rgba(200,210,245,.12); --hi-ink-2:#c2c6d8; --hi-ink-3:#8a8fa6; }
body.hi-theme-an-deux { font-size:17.5px; }
body.hi-theme-an-deux .hi-btn:not(.ghost) { color:#1a1304; }
body.hi-theme-an-deux .hi-scene h2 { font-weight:600; letter-spacing:-.01em; }
body.hi-theme-an-deux .hi-texte p { margin-bottom:15px; }
body.hi-theme-an-deux .hi-doc.lettre, body.hi-theme-an-deux .hi-doc.journal, body.hi-theme-an-deux .hi-doc.loi { background:#efe8d6; color:#28261d; }
body.hi-theme-an-deux .hi-carte-recto { background:linear-gradient(135deg,#2a315a,#161a30); }
body.hi-theme-an-deux .hi-fig img { filter:saturate(.75) contrast(1.05) brightness(.94); }
body.hi-theme-an-deux blockquote { border-left-color:#e2b457; }
body.hi-theme-an-deux::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.42;
  background:radial-gradient(ellipse at 50% -10%, rgba(226,180,87,.13), transparent 55%), radial-gradient(ellipse at 50% 116%, rgba(170,50,50,.12), transparent 52%); }
a.hi-card[data-id="chaine"] { --art:url('../images/passerelles/chaine-v1.png'); --hi-accent:#1f6f6b; }
a.hi-card[data-id="lisbonne"] { --art:url('../images/passerelles/lisbonne-v1.png'); --hi-accent:#9c3f2e; }
a.hi-card[data-id="keller"] { --art:url('../images/passerelles/keller-v1.png'); --hi-accent:#6a4a9c; }
a.hi-card[data-id="picquart"] { --art:url('../images/passerelles/picquart-v1.png'); --hi-accent:#2f4a86; }
a.hi-card[data-id="semmelweis"] { --art:url('../images/passerelles/semmelweis-v1.png'); --hi-accent:#2f7d32; }
a.hi-card[data-id="valladolid"] { --art:url('../images/passerelles/valladolid-v1.png'); --hi-accent:#8a5a24; }
a.hi-card[data-id="walden"] { --art:url('../images/passerelles/walden-v1.png'); --hi-accent:#9c3f2e; }
a.hi-card[data-id="an-deux"] { --art:url('../images/passerelles/an-deux-v1.png'); --hi-accent:#7a5230; }
