/* Liseuse Erostrate : la colonne de lecture du site, sans menu ; papier crème par défaut, deux autres fonds au choix du lecteur. */
:root{
  --paper:#F7F3EC; --card:#FBF9F5; --ink:#1C1A17; --ink2:#5E574E; --ink3:#6F685E; --line:#E2DACD; --line2:#CFC5B5;
  --accent:#C2411C; --accent-dk:#9E3214;
  --serif:"Newsreader", "Iowan Old Style", Georgia, serif;
  --sans:"Jost", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --lecture:var(--serif); --fs:20px;
  color-scheme:light;
}
:root[data-theme=blanc]{--paper:#FFFFFF; --card:#F6F6F4; --line:#E6E3DE; --line2:#D2CEC7}
:root[data-theme=nuit]{--paper:#17161A; --card:#222126; --ink:#E6E1D8; --ink2:#B4ADA2; --ink3:#9C958A; --line:#2E2C31; --line2:#45424A; --accent:#E2714F; --accent-dk:#F08C6C; color-scheme:dark}
:root[data-police=sans]{--lecture:var(--sans)}
:root[data-taille="-2"]{--fs:16px} :root[data-taille="-1"]{--fs:18px} :root[data-taille="1"]{--fs:22px} :root[data-taille="2"]{--fs:24px} :root[data-taille="3"]{--fs:27px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.55;
  padding-inline:max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px))}
a{color:inherit} a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fl::after{content:"→"} .fl.rev::after{content:"←"} [dir=rtl] .fl::after{content:"←"} [dir=rtl] .fl.rev::after{content:"→"}
.pt{display:inline-block;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--ink2)} .pt.plein{background:var(--accent);border-color:var(--accent)}

/* barre du haut */
.lb{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;max-width:1180px;margin:0 auto;padding:12px 0;
  background:var(--paper);border-bottom:1px solid var(--line);font-family:var(--sans);font-size:.85rem}
.lb-marque{display:flex} .mark{width:18px;height:22px;fill:var(--ink)}
.lb-retour{text-decoration:none;color:var(--ink2);white-space:nowrap} .lb-retour:hover{color:var(--accent)}
.lb-titre{flex:1;min-width:0;text-align:center;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic;font-family:var(--serif);font-size:.95rem}
.lb-aa{font:inherit;font-family:var(--serif);font-size:1.05rem;border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:999px;padding:4px 14px;cursor:pointer}
.lb-aa[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:#FFF}
.prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:6;pointer-events:none} .prog i{display:block;height:100%;width:0;background:var(--accent)}
.reglages{position:sticky;top:49px;z-index:5;max-width:420px;margin:0 0 0 auto;background:var(--card);border:1px solid var(--line2);border-radius:10px;
  padding:14px 16px;display:grid;gap:10px;font-family:var(--sans);font-size:.85rem;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.reglages[hidden],.gl-bulle[hidden],.btn[hidden]{display:none}
.rg{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .rg span{width:84px;color:var(--ink2)}
.rg button{font:inherit;border:1px solid var(--line2);background:var(--paper);color:var(--ink);border-radius:6px;padding:6px 10px;cursor:pointer}
.rg button.on{border-color:var(--accent);color:var(--accent)}

/* colonne de lecture */
.ls{max-width:34em;margin:0 auto;padding:48px 0 64px}
.ls article{font-family:var(--lecture);font-size:var(--fs);line-height:1.65;hyphens:auto;-webkit-hyphens:auto}
.ls-eti{font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;text-align:center}
.ls-min{color:var(--ink3);letter-spacing:.08em}
.ls h1{font-weight:400;font-size:clamp(2rem,6vw,2.8rem);line-height:1.1;letter-spacing:-.01em;text-align:center;margin:0 0 44px;text-wrap:balance}
.ls article p{margin:0;text-indent:1.4em}
.ls article h1+p,.ls article h3+p,.ls article hr+p,.ls article blockquote+p,.ls article .ls-eti+h1+p{text-indent:0}
.ls-sec{margin-top:5.5em;scroll-margin-top:72px} .ls h2.ls-h{font-weight:400;font-size:clamp(1.6rem,4.6vw,2.2rem);line-height:1.15;text-align:center;margin:0 0 36px;text-wrap:balance} .ls h2.ls-h.maj{font-size:clamp(1.3rem,3.6vw,1.7rem)} .ls article h2.ls-h+p{text-indent:0}
.ls article p.lettrine::first-letter{font-size:3.1em;float:left;line-height:.85;padding:.08em .08em 0 0;color:var(--accent)}
.ls article h3{font-weight:400;font-style:italic;text-align:center;font-size:1.05em;margin:1.8em 0 .9em}
.ls article h3.num{font-style:normal;letter-spacing:.2em;font-size:.95em}
.ls article h1+h3{margin-top:0}
.rupture{border:0;height:auto;margin:1.4em 0;text-align:center;color:var(--ink3)} .rupture::after{content:"⁂"}
.ls .vers,.ls .epigraphe{margin:1.1em 1.6em;font-style:italic} .ls .vers p,.ls .epigraphe p{text-indent:0!important;margin:0 0 .9em}
.ls blockquote.cite{margin:1em 1.6em;font-size:.95em} .ls blockquote p{text-indent:0!important}
.ls .maj{font-size:.78em;letter-spacing:.06em} .ls h1.maj{font-size:clamp(1.5rem,4.4vw,2.1rem)} .t.maj{font-size:.86em;letter-spacing:.04em}
.notes{margin-top:2.4em;padding-top:1em;border-top:1px solid var(--line);font-size:.85em;color:var(--ink2)} .notes h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin:0 0 .6em}
.notes p{text-indent:0!important;margin:0 0 .5em}
.biblio .t small{display:block;font-family:var(--sans);font-size:.78rem;color:var(--ink3);margin-top:2px} .biblio a{grid-template-columns:0 1fr auto}
.epigraphe{font-size:.92em;color:var(--ink2)}
.fin{text-align:center;margin-top:2em!important;font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);text-indent:0!important}
.glossaire{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;margin:1.2em 0} .glossaire dt{font-style:italic} .glossaire dd{margin:0}
.gl{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:help;text-decoration:underline dotted var(--accent);text-underline-offset:.2em}
.gl-bulle{position:absolute;z-index:7;max-width:260px;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.85rem;line-height:1.4;padding:8px 12px;border-radius:8px}
:root[data-theme=nuit] .gl-bulle{background:var(--card);color:var(--ink);border:1px solid var(--line2)}

/* navigation entre chapitres */
.ls-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--sans)}
.ls-nav a{text-decoration:none;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}
.ls-nav a:hover{border-color:var(--accent)} .ls-nav small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.ls-nav a span:last-child{font-family:var(--serif);font-size:1.02rem}
.ls-nav .suiv{text-align:end}

/* sommaire */
.ls-index{max-width:44em}
.eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.ls-index h1{text-align:start;font-size:clamp(2.6rem,8vw,4.4rem);margin:0 0 18px}
.ls-aut{font-size:1.3rem;margin:0} .ls-aut span{color:var(--ink2);font-size:1rem}
.ls-trad{font-family:var(--sans);font-size:.9rem;color:var(--ink2);margin:6px 0 22px}
.ls-ctx{font-size:1.1rem;margin:0 0 10px;max-width:36em}
.ls-info{font-family:var(--sans);font-size:.85rem;color:var(--ink3);margin:0 0 26px}
.ls-act{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:56px}
.btn{font-family:var(--sans);font-size:.9rem;text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:10px 18px;background:var(--card)}
.btn.plein{background:var(--accent);border-color:var(--accent);color:#FFF} .btn:hover{border-color:var(--accent)}
.h-sec{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding-bottom:12px;border-bottom:1px solid var(--line);margin:48px 0 18px}
.toc-p{font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:26px 0 6px}
.toc{list-style:none;margin:0;padding:0} .toc-l{margin:0}
.toc a,.toc-l a{display:grid;grid-template-columns:2.4em 1fr auto;gap:12px;align-items:baseline;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line)}
.toc a:hover .t,.toc-l a:hover .t{color:var(--accent)}
.toc .n{font-family:var(--sans);font-size:.8rem;color:var(--ink3)} .toc .d,.toc-l .d{font-family:var(--sans);font-size:.78rem;color:var(--ink3)}
.toc a.lu .n::before{content:"●";color:var(--accent);margin-inline-end:4px;font-size:.6rem;vertical-align:.15em}
.toc a.ici .t{color:var(--accent)}
.ls-note{font-size:.98rem;color:var(--ink2)} .ls-note a{color:var(--ink);text-decoration-color:var(--accent)}
@media (max-width:560px){
  .lb-titre{display:none} .lb{justify-content:space-between} .ls{padding-top:32px}
  .ls blockquote{margin-inline:.6em} .ls-nav{grid-template-columns:1fr} .ls-nav .suiv{text-align:start}
  .reglages{max-width:none}
}
@media print{.lb,.reglages,.prog,.ls-nav{display:none} body{background:#FFF}}

.perso{font-variant:small-caps;letter-spacing:.04em;font-size:.95em}
.ls article.theatre p{text-indent:0;margin:0 0 .45em}
:root[data-espace=aere] .ls article{line-height:2;word-spacing:.2em;hyphens:none;-webkit-hyphens:none;text-align:start}
:root[data-espace=aere] .ls article:not([dir=rtl]){letter-spacing:.1em}
:root[data-espace=aere] .ls article p{text-indent:0;margin-bottom:1em}
:root[data-espace=aere] .ls article p.lettrine::first-letter{font-size:inherit;float:none;padding:0;color:inherit}
.citer{position:absolute;z-index:8;font-family:var(--sans);font-size:.85rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--ink);color:var(--paper);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.citer-ok{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9;font-family:var(--sans);font-size:.85rem;padding:10px 16px;border-radius:8px;background:var(--ink);color:var(--paper)}
:root[data-theme=nuit] .citer,:root[data-theme=nuit] .citer-ok{background:var(--card);color:var(--ink)}
.outils-sel{position:absolute;z-index:8;display:flex;align-items:center;gap:6px;font-family:var(--sans);font-size:.85rem;padding:6px 8px;border-radius:999px;background:var(--ink);color:var(--paper);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.outils-sel[hidden],.an-fen[hidden]{display:none}
.outils-sel button{font:inherit;color:inherit;background:none;border:0;padding:4px 8px;cursor:pointer;border-radius:999px}
.outils-sel .sep,.an-fen .sep{width:1px;height:18px;background:currentColor;opacity:.3}
.pastille{display:inline-block;width:20px;height:20px;padding:0!important;border-radius:50%!important;border:1px solid rgba(0,0,0,.25)!important;vertical-align:middle;flex:none}
.pastille.on{outline:2px solid var(--accent);outline-offset:2px}
.pastille.an-jaune{background:#FBE38A} .pastille.an-vert{background:#BFE6B5} .pastille.an-rose{background:#F6C3D3} .outils-sel .pastille{border-color:rgba(255,255,255,.5)!important}
mark.an{color:inherit;border-radius:2px;cursor:pointer;padding:0 .05em}
mark.an.an-jaune{background:rgba(250,214,90,.55)} mark.an.an-vert{background:rgba(140,205,125,.5)} mark.an.an-rose{background:rgba(240,150,180,.45)}
mark.an.an-note{border-bottom:2px dotted var(--accent)}
:root[data-theme=nuit] mark.an.an-jaune{background:rgba(250,214,90,.3)} :root[data-theme=nuit] mark.an.an-vert{background:rgba(140,205,125,.3)} :root[data-theme=nuit] mark.an.an-rose{background:rgba(240,150,180,.3)}
:root[data-theme=nuit] .outils-sel{background:var(--card);color:var(--ink)}
.an-fen{position:absolute;z-index:9;width:min(320px,calc(100vw - 16px));background:var(--paper);color:var(--ink);border:1px solid var(--line2);border-radius:10px;padding:10px;box-shadow:0 6px 20px rgba(0,0,0,.18);font-family:var(--sans);font-size:.9rem}
.an-fen textarea{width:100%;box-sizing:border-box;font:inherit;border:1px solid var(--line2);border-radius:6px;padding:8px;background:var(--card);color:var(--ink);resize:vertical}
.an-l{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.an-l button:not(.pastille){font:inherit;border:1px solid var(--line2);background:var(--paper);color:var(--ink);border-radius:6px;padding:5px 10px;cursor:pointer}
.rg-an{display:inline-block;margin-top:10px;font-family:var(--sans);font-size:.9rem;color:var(--accent)}
.an-liste{list-style:none;padding:0;margin:0 0 1.5em} .an-liste li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.an-liste .pastille{margin-top:4px;width:12px;height:12px} .an-liste a{color:var(--ink);text-decoration:none} .an-liste a:hover{text-decoration:underline}
.an-liste small{display:block;font-family:var(--sans);font-size:.78rem;color:var(--ink3);margin-top:4px} .an-liste p{margin:6px 0 0;font-family:var(--sans);font-size:.9rem;color:var(--ink2);white-space:pre-wrap}
.ls-index h2 small{font-family:var(--sans);font-size:.8rem;color:var(--ink3);font-weight:400}

.ls article[lang=ar]{font-family:'Amiri',var(--lecture);font-size:calc(var(--fs) * 1.15);line-height:1.9} .ls article[lang=ar] *{font-style:normal}

@media (max-width:600px){.ls article[lang=ar] .hem:not(.h2){display:block;margin-top:.45em}.ls article[lang=ar] .hsep{display:none}.ls article[lang=ar] .hem.h2{padding-inline-start:2.5em}}
