/* Lecture progressive : contenu utile dès le premier écran. */
.reader-intro { max-width: 800px; margin: 28px 0 32px; }
.reader-intro h1 { font-family: Georgia, serif; font-size: clamp(2.15rem,5vw,3.65rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; margin: 10px 0 16px; }
.reader-intro p { max-width: 68ch; color: var(--muted); line-height: 1.65; }
.essential-reading, .learning-article { max-width: 76ch; margin: 28px auto; padding: clamp(22px,4vw,48px); background: var(--panel); border: 1px solid var(--line); border-radius: 18px; }
.essential-reading h2, .learning-article h1 { font-family: Georgia,serif; font-size: clamp(1.8rem,3.7vw,2.7rem); line-height: 1.14; font-weight: 500; letter-spacing: -.025em; }
.essential-reading p, .learning-article p, .exercise-steps { font-size: 1.04rem; line-height: 1.8; }
.learning-article h2 { margin-top: 2rem; font-size: 1.5rem; font-family: Georgia,serif; font-weight: 500; }
.learning-article h1 { margin: 14px 0 22px; }
.learning-lede { color: var(--muted); }
.takeaway, .reflection, .learning-limit, .learning-callout { border-left: 4px solid var(--viridian); padding: 18px 24px; background: #edf2f6; margin-block: 26px; border-radius: 0 12px 12px 0; }
.reflection { background: #faf0d8; border-color: #b78121; }
.takeaway h2, .reflection h2, .learning-limit h2, .learning-callout h2 { margin-top: 0; }
.takeaway p:last-child, .reflection p:last-child, .learning-limit p:last-child { margin-bottom: 0; }
.reading-finish { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 30px; }
.reading-links { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; padding: 20px; }
.reading-links a, .reading-next a, .reading-finish a, .learning-card a { text-underline-offset: .2em; }
.quiet-day { max-width: 76ch; margin: 0 auto; padding: 16px 20px; background: #e9eef3; border-radius: 10px; color: var(--ink); line-height: 1.65; }
.essential-news { max-width: 76ch; margin-inline: auto; }
.essential-news article { padding-block: 16px; border-bottom: 1px solid var(--line); }
.learning-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-block: 28px; }
.learning-card, .search-card { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.learning-card h2, .search-card h2 { font-size: 1.35rem; line-height: 1.35; margin-block: 14px; }
.learning-card p, .search-card p { line-height: 1.65; color: var(--muted); }
.learning-card small { display: block; margin-top: 18px; }
.search-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.learning-page .toolbar { flex-wrap: wrap; }
.learning-page .search-box { flex: 1 1 100%; display: grid; gap: 10px; }
.learning-page input[type="search"] { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 8px; padding: 12px; font: inherit; background: var(--panel); color: var(--ink); }
.article-contents { display: flex; flex-direction: column; gap: 10px; padding-block: 16px; border-bottom: 1px solid var(--line); }
.article-contents a { padding-block: 5px; }
.learning-sources, .coverage-detail, .exercise-answer { padding: 20px; margin-block: 24px; border: 1px solid var(--line); border-radius: 12px; line-height: 1.65; }
.learning-sources summary, .coverage-detail summary, .exercise-answer summary { cursor: pointer; font-weight: 700; padding-block: 6px; }
.exercise-steps li { padding: 10px 0 10px 8px; }
.glossary { margin-block: 42px; max-width: 85ch; }
.glossary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 32px; }
.glossary dt { font-weight: 750; padding-top: 14px; border-top: 1px solid var(--line); }
.glossary dd { margin: 8px 0 0; line-height: 1.65; }
.learning-page a:focus-visible, .learning-page summary:focus-visible, .learning-page input:focus-visible, .learning-page button:focus-visible { outline: 3px solid #946500; outline-offset: 4px; }
.source-role { display: inline-block; background: #e9eef3; padding: 5px 9px; border-radius: 6px; font-weight: 650; }
.source-policy { display: block; margin-block: 10px; line-height: 1.6; }
.source-card details { margin-top: 10px; }
.source-card { grid-template-columns: 1fr; }
.operations-history { margin-block: 28px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; }
.operations-history summary { cursor: pointer; font-weight: 700; }
.source-card .source-score { color: var(--muted); font-size: .85rem; }
.tool-proof-date { display:block; margin-block:12px; line-height:1.5; }
.technical-summary, .source-method, .active-tools-intro { margin-block: 24px; padding: 24px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.technical-summary summary { font-weight:700; cursor:pointer; padding:8px 0; }
.technical-summary .announcement-grid { margin-top:24px; }
.announcement-reader-summary { line-height:1.7; }
.announcement-card .proof-label { font-size:.84rem; color:var(--muted-on-dark); margin-bottom:14px; }
.tec-header .run-chip { display:none; }
.primary-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
.observatory-utilities { width:min(1180px,calc(100% - 40px)); margin:.45rem auto; }
.observatory-utilities summary { cursor:pointer; min-height:44px; padding-block:10px; }
.observatory-utilities .section-shortcuts { width:100%; }
.section-shortcuts { width:min(1180px,calc(100% - 40px)); margin-inline:auto; display:flex; flex-wrap:wrap; gap:8px 18px; padding:12px 0; font-size:.9rem; }
.news-filter select, #announcement-period { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--muted); border-radius:8px; background:var(--panel); color:var(--ink); font:inherit; }
@media(max-width:600px) {
 .news-filter { display:grid; grid-template-columns:1fr; gap:12px; align-items:stretch; }
 .news-filter label, .news-filter input, .news-filter select { width:100%; min-width:0; }
 .news-filter p { margin:0; }
}
@media(max-width:760px) {
 .learning-grid,.search-results,.glossary dl { grid-template-columns:1fr; }
 .reader-intro { margin:18px 0 22px; }
 .essential-reading,.learning-article { padding:22px 18px; margin-block:20px; }
 .essential-reading p,.learning-article p,.exercise-steps { font-size:1rem; }
 .learning-card,.search-card { padding:20px; }
 .primary-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:8px 0; }
 .primary-nav a { min-height:44px; padding:12px 4px; font-size:.82rem; }
 .tec-shell { min-height:66px; }
 .tec-brand-copy small { display:none; }
 .observatory-breadcrumb { font-size:.8rem; margin-block:8px; }
 .observatory-breadcrumb li:first-child { display:none; }
 .section-shortcuts { width:calc(100% - 24px); gap:8px 14px; }
 [data-page="home"] .reader-intro { margin-block:14px 18px; }
 [data-page="home"] .essential-reading h2 { font-size:1.6rem; }
 .essential-reading > .eyebrow { font-size:.8rem; letter-spacing:.08em; line-height:1.5; }
 .reading-links { justify-content:flex-start; padding-inline:0; }
 .learning-page .filters { display:flex; flex-wrap:wrap; }
 .learning-page .filter-button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .learning-page * { scroll-behavior:auto; } }

/* Panorama rapide, puis lecture et références à la demande. */
.reader-brief { margin-block:24px; }
.brief-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.brief-heading h2 { margin:0; font:500 clamp(1.55rem,2.8vw,2rem)/1.2 Georgia,serif; }
.brief-heading a,.brief-proof { font-size:.88rem; text-underline-offset:.18em; }
.brief-context { color:var(--muted); margin:12px 0 20px; line-height:1.6; }
.brief-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:18px; }
.brief-card { padding:22px; background:var(--panel); border:1px solid var(--line); border-top:3px solid var(--viridian); border-radius:14px; }
.brief-card .eyebrow { font-size:.8rem; letter-spacing:.06em; line-height:1.5; margin:0 0 14px; }
.brief-card h3 { font-size:1.16rem; line-height:1.4; margin:0 0 16px; }
.brief-card h3 a { text-decoration:none; }
.brief-card h3 a:hover { text-decoration:underline; }
.brief-limit { font-size:.91rem; line-height:1.65; color:var(--muted); }
.reader-brief .quiet-day { max-width:none; margin-top:18px; padding:12px 16px; font-size:.88rem; background:transparent; border-left:2px solid var(--line); border-radius:0; }
.overview-access { padding:22px 24px; border:1px solid var(--line); border-radius:14px; background:#edf2f6; margin-block:24px; }
.overview-access p { margin:8px 0 12px; line-height:1.6; }
.overview-access a { font-weight:700; }
.edition-reading { border:1px solid var(--line); border-radius:14px; padding:20px 24px; margin-block:24px; }
.edition-reading > summary { font-weight:700; cursor:pointer; padding:8px 0; }
.edition-reading .essential-reading { border:0; margin-block:12px; }
.overview-jumps { display:flex; flex-wrap:wrap; gap:10px; margin-block:24px; }
.overview-jumps a { padding:10px 14px; border:1px solid var(--line); border-radius:8px; background:var(--panel); text-decoration:none; font-size:.9rem; }
.overview-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.overview-group { border:1px solid var(--line); border-radius:16px; background:var(--panel); padding:26px; scroll-margin-top:20px; }
.overview-group h2 { margin:0 0 12px; font:500 1.7rem/1.25 Georgia,serif; }
.overview-purpose { color:var(--muted); line-height:1.65; padding-bottom:18px; border-bottom:1px solid var(--line); }
.overview-group > ul { list-style:none; padding:0; margin-bottom:0; }
.overview-group li { margin-top:20px; }
.overview-group h3 { font-size:1.05rem; margin:0 0 6px; line-height:1.45; }
.overview-group li p { color:var(--muted); font-size:.94rem; line-height:1.6; margin:0; }
.overview-details { margin-block:36px; }
.overview-details > p { max-width:80ch; line-height:1.7; }
.overview-details details { border:1px solid var(--line); border-radius:10px; background:var(--panel); margin-block:12px; padding:16px 20px; }
.overview-details summary { cursor:pointer; padding:8px 0; font-weight:700; }
.overview-index { columns:2; column-gap:32px; padding-left:20px; }
.overview-index li { padding-block:7px; line-height:1.55; break-inside:avoid; overflow-wrap:anywhere; }
@media(max-width:760px) {
 .brief-grid,.overview-groups { grid-template-columns:1fr; }
 .brief-card,.overview-group { padding:20px; }
 .brief-card h3 { font-size:1.08rem; }
 .brief-heading { gap:8px; }
 .brief-context { font-size:.9rem; margin-bottom:16px; }
 .overview-index { columns:1; }
 .overview-jumps { gap:8px; }
 .overview-jumps a { padding:10px 12px; }
 .edition-reading { padding:16px; }
 .section-shortcuts { gap:8px 12px; font-size:.82rem; }
}

/* Les repères réutilisent la lecture existante ; le contenu précède les détails. */
.brief-summary, .brief-action { line-height:1.65; }
.reader-guides { margin-block:32px; }
.reader-guides > p { max-width:76ch; line-height:1.65; color:var(--muted); }
.guide-list { padding:0; list-style:none; }
.guide-list li { padding:18px 0; border-bottom:1px solid var(--line); }
.guide-list h3 { margin:0 0 8px; font-size:1.15rem; line-height:1.4; }
.guide-list p { margin:0 0 8px; max-width:85ch; line-height:1.65; }
.guide-list small, .guide-references, .guide-proof { color:var(--muted); }
.guide-references { font-size:.9rem; }
.reader-guides a:focus-visible { outline:3px solid #946500; outline-offset:4px; }

.brief-card h3 a, .guide-list h3 a { display:block; }

/* Read-only surfaces: short entry page and the complete searchable corpus. */
.reader-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.reader-path-grid article { padding:22px; border:1px solid var(--line); background:var(--panel); border-radius:14px; }
.reader-path-grid h3 { margin-top:0; }
.reader-path-grid p,.reader-method,.edition-link { line-height:1.65; }
.reader-path-grid a,.reader-method a { text-underline-offset:.2em; }
.reader-trust { margin:16px 0; padding:12px 0; border-block:1px solid var(--line); font-size:.9rem; line-height:1.6; }
.reader-trust div { display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:12px; padding-block:4px; }
.reader-trust dt { font-weight:750; }
.reader-trust dd { margin:0; overflow-wrap:anywhere; }
.library-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:end; }
.library-controls .search-box { grid-column:1/-1; }
.library-controls label { display:grid; gap:8px; min-width:0; }
.library-controls select { width:100%; min-width:0; min-height:48px; font:inherit; background:var(--panel); color:var(--ink); border:1px solid var(--muted); border-radius:8px; padding:10px; }
.library-controls button { justify-self:start; min-height:48px; }
.search-card,.reader-path-grid article { min-width:0; overflow-wrap:anywhere; }
.search-card .reader-trust { font-size:.9rem; }
.search-limit { border-left:3px solid var(--viridian); padding-left:12px; }
.search-card a { display:block; padding-block:6px; }
.search-card:focus-visible { outline:3px solid #946500; outline-offset:4px; }
[id^="formation-"],[id^="cas-"],[id^="outil-"] { scroll-margin-top:20px; }
.library-controls button:disabled { opacity:1; color:var(--muted); cursor:default; }
.simple-page footer { flex-wrap:wrap; }
.simple-page footer > * { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.source-provenance { flex:1 1 22rem; overflow-wrap:anywhere; }
@media(max-width:600px) {
 .reader-path-grid,.library-controls { grid-template-columns:1fr; }
 .library-controls .search-box { grid-column:auto; }
 .section-nav.primary-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .section-nav.primary-nav a { padding:12px 8px; font-size:.95rem; overflow-wrap:anywhere; }
 .reader-trust div { grid-template-columns:1fr; gap:0; }
}
