@charset "utf-8";

.section-link, .reader-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

.site-button, .arcb .btns a, .arc-reading .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 16px; border: 1px solid var(--bleu); border-radius: 4px; color: var(--bleu); background: transparent; font: 0.85rem / 1.4 "IBM Plex Mono", monospace; text-decoration: none; }

.site-button.primary, .arcb .btns a.pdf, .arc-reading .btn:not(.ghost) { background: var(--bleu); color: var(--paper); }

.site-button:hover, .arcb .btns a:hover, .arc-reading .btn:hover { border-color: var(--or); text-decoration: none; }

.arcb { --bg: var(--paper); --fg: var(--ink); --ac: var(--bleu); --bd: var(--rule); font-family: inherit; }

.arcb .card { border-radius: 0px; }

.arcb .card h3 { font-family: "Libre Caslon Display", serif; font-size: 1.5rem; }

.arcb .num { color: var(--or); font-family: "IBM Plex Mono", monospace; }

.volume-preview .meta { margin-top: auto; }

.volume-preview.arcb { padding-inline: 0px; }

.volume-preview .card { min-width: 0px; }

.library-heading { margin-bottom: 0px; padding-bottom: 0px; }

.library-heading + .corpus-block { padding-top: 0px; }

.library-articles { padding-top: 24px; }

.library-articles .pub-grid { margin-top: 24px; }

.reader-shell { padding-block: clamp(32px, 5vw, 64px); }

.reader-title, .arc-reading h1 { font-family: "Libre Caslon Display", serif; font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; overflow-wrap: anywhere; }

.reader-prose { max-width: 76ch; margin-inline: auto; overflow-wrap: anywhere; }

.reader-prose > * + * { margin-top: 1.1em; }

.reader-prose h2 { font-family: "Libre Caslon Display", serif; font-size: 1.8rem; font-weight: 400; }

.reader-prose .reader-abstract { padding-block: 32px; }

.reader-prose .reader-abstract p + p { margin-top: 1em; }

.reader-meta { border-top: 1px solid var(--rule); padding-top: 20px; color: rgb(90, 96, 104); font-size: 0.9rem; }

.reader-meta dd { overflow-wrap: anywhere; margin-bottom: 12px; }

.reader-meta dt { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; }

.reader-breadcrumb { font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; margin-bottom: 24px; }

.arc-reading { --accent: var(--bleu); --fg: var(--ink); --bg: var(--paper); --muted: #5a6068; --code: var(--paper2); padding-block: clamp(32px, 5vw, 64px); overflow-wrap: anywhere; }

.arc-reading > main, .arc-reading > header, .arc-reading > nav, .arc-reading > footer { max-width: 76ch; margin-inline: auto; }

.arc-reading > main.grid { max-width: none; display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }

.arc-reading h1 { margin: 0.3em 0px 0.6em; }

.arc-reading h2 { font-family: "Libre Caslon Display", serif; font-size: 1.8rem; font-weight: 400; line-height: 1.25; margin: 1.5em 0px 0.6em; }

.arc-reading h3 { font-size: 1.15rem; margin: 1.4em 0px 0.5em; }

.arc-reading h4 { margin: 1.2em 0px 0.5em; }

.arc-reading p + p { margin-top: 1em; }

.arc-reading section { padding: 0px; }

.arc-reading ul, .arc-reading ol { padding-left: 1.5em; margin-block: 1em; }

.arc-reading li + li { margin-top: 0.4em; }

.arc-reading .volnum { color: var(--or); font-family: "IBM Plex Mono", monospace; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.12em; }

.arc-reading .subtitle { color: var(--muted); margin-bottom: 20px; }

.arc-reading blockquote { margin: 1.4em 0px; padding: 0.3em 0px 0.3em 1.1em; border-left: 3px solid var(--or); }

.arc-reading table { border-collapse: collapse; display: block; overflow-x: auto; max-width: 100%; margin: 1.2em 0px; font-size: 0.9rem; }

.arc-reading th, .arc-reading td { border-bottom: 1px solid var(--rule); padding: 0.5em 0.7em; text-align: left; vertical-align: top; }

.arc-reading pre, .arc-reading code { font-family: "IBM Plex Mono", monospace; font-size: 0.85em; background: var(--code); }

.arc-reading pre { max-width: 100%; padding: 16px; overflow-x: auto; margin-block: 1.2em; white-space: pre; }

.arc-reading code { padding: 0.1em 0.25em; }

.arc-reading pre code { padding: 0px; }

.arc-reading hr { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--rule); margin: 2em 0px; }

.arc-reading .crumbs { font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; margin-bottom: 28px; }

.arc-reading .chapnav { display: flex; flex-wrap: wrap; gap: 16px; border-top: 1px solid var(--rule); margin-top: 40px; padding-top: 20px; font-size: 0.9rem; }

.arc-reading .chapnav .prev, .arc-reading .chapnav .next { flex: 1 1 180px; }

.arc-reading .chapnav .next { text-align: right; }

.arc-reading .btn { margin: 6px 8px 6px 0px; }

.arc-reading .abstract { margin-top: 24px; }

.arc-reading summary { cursor: pointer; color: var(--bleu); }

.arc-reading .kw, .arc-reading .meta { color: var(--muted); font-size: 0.9rem; margin-top: 20px; }

.arc-reading .card { min-width: 0px; border: 1px solid var(--rule); padding: 24px; display: flex; flex-direction: column; }

.arc-reading .card h2 { margin-top: 0px; }

.arc-reading .card .actions { margin-top: auto; padding-top: 20px; }

.arc-reading header.home { margin-bottom: 32px; }

.arc-reading .colophon { border-top: 1px solid var(--rule); padding-top: 20px; margin-top: 40px; font-size: 0.85rem; color: var(--muted); }

.arc-reading img, .arc-reading svg { max-width: 100%; height: auto; }

@media (max-width: 700px) {
  .top { position: relative; }
}

@media print {
  .top, .site-footer, .screen-reader-text, .reader-actions, .arc-reading .chapnav, .arc-reading .crumbs, .arc-reading .btn { display: none; }
}
/* Ouverture par la figure fondamentale (27 octobre 2026) */
.ouverture { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; padding: 8px 0 24px; }
.ouverture .fig svg { width: 100%; max-width: 520px; height: auto; display: block; margin: 0 auto; }
.ouverture p { color: rgb(44, 51, 60); font-size: 1.04rem; }
.ouverture p + p { margin-top: 1em; }
@media (max-width: 820px) { .ouverture { grid-template-columns: 1fr; gap: 20px; } }
.arcb .ici { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--paper); background: var(--bleu); padding: .15rem .55rem; margin-left: .5rem; vertical-align: middle; }
