main > section > header, main > aside > header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2); margin-top: 0; } main > section > header > h2, main > aside > header > h2 { text-transform: uppercase; letter-spacing: 0.06em; font-size: clamp(1.08rem, 1.8vw, 1.45rem); } main > section > header > h2 > a, main > aside > header > h2 > a { color: inherit; text-decoration: none; } main > section > header > h2 > a:is(:hover, :focus-visible), main > aside > header > h2 > a:is(:hover, :focus-visible) { color: var(--color-link-hover); } main > section > header > p, main > aside > header > p { width: 100%; margin-top: 0; color: var(--color-text-muted); font-size: 1rem; } main nav.articles-list { margin-top: var(--space-3); } main nav.articles-list > ol { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: var(--space-5) var(--space-4); } main nav.articles-list > ol > li, main nav.articles-list > ol > li > article { min-width: 0; } main nav.articles-list > ol > li > article :is(h2, h3, p, a, time, span, strong) { overflow-wrap: anywhere; } main nav.articles-list article { border-top: 1px solid var(--color-border); padding-top: var(--space-3); background: transparent; } main nav.articles-list article > a { text-decoration: none; color: inherit; } main nav.articles-list figure { margin: 0; min-height: 11rem; background: linear-gradient(150deg, rgba(118, 167, 215, 0.12) 0%, rgba(93, 134, 173, 0.09) 50%, rgba(195, 208, 223, 0.08) 100%); border: 1px solid var(--color-border); } main nav.articles-list figure img { width: 100%; height: 100%; object-fit: cover; } main nav.articles-list h3 { margin-top: var(--space-3); font-size: clamp(1.22rem, 2.1vw, 1.65rem); } main nav.articles-list h3 > a { color: inherit; text-decoration: none; } main nav.articles-list article > a:is(:hover, :focus-visible) > h3, main nav.articles-list article > header > h3 > a:is(:hover, :focus-visible), main nav.articles-list article:has(> header > a:is(:hover, :focus-visible)) > header > h3 > a { color: var(--color-link-hover); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; } main nav.articles-list article > p:last-child { display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: 0.9rem; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.04em; } body > main:has(> article:first-child):has(> aside) { grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.95fr); align-items: start; column-gap: var(--space-6); } body:has(> header.article-header) > main:has(> article:first-child):has(> aside.article-toc) { grid-template-columns: minmax(0, 1fr); } body:has(> header.article-header) > main:has(> article:first-child):has(> aside.article-toc) > article:first-child { width: min(100%, var(--max-width-reading)); max-width: var(--max-width-reading); margin-inline: auto; } body > main:has(> article:first-child):has(> aside) > article:first-child { max-width: none; width: 100%; font-size: var(--font-size-reading); line-height: 1.85; } body > main:has(> article:first-child):has(> aside) > article:first-child > :not(figure):not(table):not(pre):not(.highlight):not(section.article-books):not(section.article-related) { max-width: 74ch; } body > main:has(> article:first-child):has(> aside) > article:first-child > figure.figure-media { max-width: none; width: 100%; margin-inline: auto; } body > main:has(> article:first-child):has(> aside) > article:first-child > :is(h3, h4, h5, h6) { max-width: 34ch; } body > main:has(> article:first-child):has(> aside) > aside { margin-top: 0; border-top: 0; padding-top: 0; display: grid; gap: var(--space-4); align-content: start; } body > main:has(> article:first-child):has(> aside) > aside > section, body > main:has(> article:first-child):has(> aside) > aside > nav { margin-top: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-3); } body > main:has(> article:first-child):has(> aside) > aside > section > h2, body > main:has(> article:first-child):has(> aside) > aside > nav h2, body > main:has(> article:first-child):has(> aside) > aside > section > article > h2 { margin-top: 0; font-size: 1.02rem; text-transform: uppercase; letter-spacing: 0.08em; } body > main:has(> article:first-child):has(> aside) > aside > section > article > p, body > main:has(> article:first-child):has(> aside) > aside > section > p, body > main:has(> article:first-child):has(> aside) > aside > nav > p { font-size: 1rem; line-height: 1.65; } body > main:has(> article:first-child):has(> aside) > aside > section figure { margin-top: 0; } body > main.taxonomy-page { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: var(--space-4); align-items: start; } body > main.taxonomy-page > article { grid-column: 1 / -1; margin-inline: auto; } body > main.taxonomy-page > section { margin-top: 0; border-top-color: var(--color-accent-2); padding: var(--space-3); background: linear-gradient(180deg, rgba(93, 134, 173, 0.18) 0%, rgba(17, 27, 42, 0.56) 100%); } body > main.taxonomy-page > section > header { margin-top: 0; } body > main.taxonomy-page > section > header > h2 { margin-top: 0; } main > article { --article-feature-block-margin: calc(var(--space-5) * 2); border-top-width: var(--border-width-regular); } body:has(> header.article-header) > main > article { border-top: 0; padding-top: 0; margin-inline: auto; } /* Titres de sections dans le corps d'article : alignés avec la sobriété des en-têtes de blocs de l'accueil. */ main > article :is(h2, h3, h4, h5, h6) { --article-heading-rule-width: clamp(13rem, 42vw, 18rem); --article-heading-rule-color: var(--color-accent-1-border-soft); --article-heading-text-color: var(--color-heading); margin-top: var(--space-6); margin-bottom: 0; padding-top: calc(var(--space-3) + 0.15rem); position: relative; line-height: 1.2; text-wrap: balance; font-family: var(--font-heading); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--article-heading-text-color); } main > article img { background-color: #ffffff; } main > article :is(h2, h3, h4, h5, h6)::before { content: ""; position: absolute; inset-block-start: 0; inset-inline-start: 0; width: min(100%, var(--article-heading-rule-width)); border-top: var(--border-width-regular) solid var(--article-heading-rule-color); } main > article h2 { --article-heading-rule-width: 100%; --article-heading-rule-color: #5a7fa4; --article-heading-text-color: #e0ecf8; margin-top: calc(var(--article-feature-block-margin) * 2); font-size: clamp(1.55rem, 2.55vw, 2.15rem); } body:has(> header.article-header) > main > article > h2:first-child { margin-top: 0; } main > article h3 { --article-heading-rule-color: #a48a41; --article-heading-text-color: #f2e4be; font-size: clamp(1.36rem, 2.08vw, 1.8rem); } main > article h4 { --article-heading-rule-color: #6b57a5; --article-heading-text-color: #e0dbf6; font-size: clamp(1.2rem, 1.82vw, 1.5rem); } main > article h5 { --article-heading-rule-color: var(--color-border-strong); font-size: clamp(1.08rem, 1.5vw, 1.28rem); } main > article h6 { --article-heading-rule-color: var(--color-border-strong); font-size: clamp(1rem, 1.3vw, 1.16rem); } main > article h2 + :is(h3, h4, h5, h6), main > article h3 + :is(h4, h5, h6), main > article h4 + :is(h5, h6), main > article h5 + h6 { margin-top: var(--space-5); } main > article details:is(.spoiler, .update) { margin-top: var(--space-4); padding: var(--space-3); border-top: var(--border-width-regular) solid #d88d2f; background: linear-gradient(180deg, rgba(137, 72, 18, 0.88) 0%, rgba(45, 24, 8, 0.96) 100%); color: #fff2dc; } main > article details.update { border-top-color: #3f8e54; background: linear-gradient(180deg, rgba(26, 81, 44, 0.9) 0%, rgba(9, 30, 16, 0.97) 100%); color: #e9f7ed; } main > article details:is(.spoiler, .update) > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin: calc(var(--space-3) * -1); padding: var(--space-3); color: inherit; font-family: var(--font-heading); font-size: 0.88rem; letter-spacing: 0.08em; line-height: 1.25; text-transform: uppercase; } main > article details:is(.spoiler, .update) > summary::after { content: "+"; flex: none; font-size: 1rem; line-height: 1; } main > article details:is(.spoiler, .update)[open] > summary { margin-bottom: var(--space-3); } main > article details:is(.spoiler, .update)[open] > summary::after { content: "-"; } main > article details:is(.spoiler, .update) > :not(summary) { color: inherit; } main > article details:is(.spoiler, .update) > summary + * { margin-top: 0; } main > article > p { text-align: justify; } main > article ul, main > article ol { padding-left: 1.3rem; } main > article li + li { margin-top: 0.35rem; } main > article > section.article-asides > section.article-page-links > nav.articles-list { --articles-related-flow-gap: 0.78rem; margin-top: var(--space-2); } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol { padding-left: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li, main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li + li { margin-top: 0; } main > article > section.article-asides > section.article-page-links > nav.articles-list article { border-top: 0; padding-top: 0; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header { margin-top: 0; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > a { display: block; color: inherit; text-decoration: none; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > a > figure { margin: 0; min-height: 0; aspect-ratio: 340 / 191; overflow: hidden; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > a > figure img { width: 100%; height: 100%; object-fit: cover; display: block; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > p { margin-top: var(--articles-related-flow-gap); font-size: 0.84rem; line-height: 1.15; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-text-muted); } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > p > a { color: inherit; text-decoration: none; font-family: var(--font-heading); } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > p > a:is(:hover, :focus-visible) { color: var(--color-link-hover); } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > h3 { margin-top: var(--articles-related-flow-gap); margin-bottom: 0; padding-top: 0; position: static; font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.15; text-transform: none; letter-spacing: 0.01em; color: var(--color-heading); font-weight: 400; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > h3::before { display: none; } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header:has(> p) > h3 { margin-top: calc(var(--articles-related-flow-gap) * 0.4); } main > article > section.article-asides > section.article-page-links > nav.articles-list article > p:nth-of-type(1) { display: none; } main > article > section.article-asides > section.article-page-links > nav.articles-list article > p:last-child { margin-top: var(--articles-related-flow-gap); display: flex; flex-wrap: wrap; gap: var(--space-1); font-size: 0.86rem; line-height: 1.15; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.04em; font-family: var(--font-heading); } main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > a:is(:hover, :focus-visible) > h3, main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article > header > h3 > a:is(:hover, :focus-visible), main > article > section.article-asides > section.article-page-links > nav.articles-list > ol > li article:has(> header > a:is(:hover, :focus-visible)) > header > h3 > a { color: var(--color-link-hover); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; } main > article > section.article-asides > section.article-page-links > nav.articles-list article > p:last-child > a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; } main > article > section.article-asides > section.article-page-links > nav.articles-list article > p:last-child > a:is(:hover, :focus-visible) { color: inherit; filter: brightness(1.2); } main > article blockquote { border-left: var(--border-width-regular) solid var(--color-accent-2); padding-left: var(--space-3); color: var(--color-text-muted); } main > article pre { background: rgba(0, 0, 0, 0.35); border: 1px solid var(--color-border); } main > article code:not(pre code) { color: var(--color-text-muted); background: rgba(0, 0, 0, 0.35); border: 1px solid var(--color-border); padding: 0.05rem 0.3rem; } main > article pre { padding: var(--space-3); max-height: 90vh; overflow: auto; font-size: 0.92rem; line-height: 1.5; } main > article > :is(pre, .highlight) { margin-block: var(--article-feature-block-margin); } main > article > .highlight { width: max-content; min-width: 100%; max-width: 100%; } main > article > .highlight > pre { margin-block: 0; } main > article pre > code { color: inherit; background: transparent; border: 0; padding: 0; font-size: inherit; line-height: inherit; } main > article > table { margin-block: var(--article-feature-block-margin); width: max-content; min-width: 100%; max-width: 100%; border-collapse: collapse; border-spacing: 0; border: 1px solid #9e772b; border-radius: 0; background: linear-gradient(180deg, rgba(37, 23, 10, 0.82) 0%, rgba(15, 10, 6, 0.9) 100%); color: var(--color-text); } main > article > table :is(th, td) { border: 1px solid #804c26; padding: 0.55rem 0.72rem; vertical-align: top; } main > article > table thead th { background: linear-gradient(180deg, rgba(148, 96, 25, 0.52) 0%, rgba(83, 52, 14, 0.74) 100%); color: #fff3d8; font-family: var(--font-heading); font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; } main > article > table tbody tr:nth-child(odd) td { background: rgba(24, 14, 7, 0.62); } main > article > table tbody tr:nth-child(even) td { background: rgba(255, 186, 85, 0.06); } main > article > section.article-asides { margin-top: var(--article-feature-block-margin); margin-bottom: var(--article-feature-block-margin); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--article-feature-block-margin); } main > article > section.article-books + section.article-asides { margin-top: var(--space-3); } main > article > section.article-asides > div.article-asides-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(21rem, 100%), 1fr)); gap: var(--space-4); } main > article > section.article-asides section.article-aside-block { margin-top: 0; border-top: var(--border-width-regular) solid var(--color-border-strong); padding: var(--space-3); background: var(--color-surface-soft); } main > article > section.article-asides section.article-comments-callout { border-top-color: var(--color-section-divider-1); background: linear-gradient(180deg, rgba(217, 122, 63, 0.18) 0%, rgba(17, 27, 42, 0.56) 100%); } main > article > section.article-asides section.article-taxonomies { border-top-color: var(--color-accent-2); background: linear-gradient(180deg, rgba(93, 134, 173, 0.18) 0%, rgba(17, 27, 42, 0.56) 100%); } main > article > section.article-asides section.article-dossier-summary { border-top-color: #8fb2d3; background: linear-gradient(180deg, rgba(55, 86, 118, 0.28) 0%, rgba(17, 27, 42, 0.56) 100%); } main > article > section.article-asides section.article-complementary-files { border-top-color: #c29a56; background: linear-gradient(180deg, rgba(136, 112, 63, 0.18) 0%, rgba(17, 27, 42, 0.56) 100%); } main > article > section.article-asides section.article-change-history { border-top-color: var(--color-section-divider-2); background: linear-gradient(180deg, rgba(143, 106, 216, 0.2) 0%, rgba(17, 27, 42, 0.56) 100%); } main > article > section.article-asides section.article-aside-block > h2 { margin-top: 0; margin-bottom: 0; padding-top: 0; position: static; line-height: 1.15; font-size: clamp(1.08rem, 1.8vw, 1.45rem); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-heading); } main > article > section.article-asides section.article-aside-block > h2::before { content: none; } main > article > section.article-asides section.article-aside-block > p { margin-top: var(--space-2); font-size: 1rem; line-height: 1.6; text-align: left; } main > article > section.article-asides section.article-comments-callout > p:last-child { margin-top: var(--space-3); } main > article > section.article-asides section.article-comments-callout > p:last-child > a.ui-button { width: 100%; min-height: 2.7rem; border-color: #a69250; background: linear-gradient(180deg, rgba(217, 122, 63, 0.38) 0%, rgba(17, 27, 42, 0.94) 100%); } main > article > section.article-asides section.article-comments-callout > p:last-child > a.ui-button:is(:hover, :focus-visible) { border-color: #c1a249; background: linear-gradient(180deg, rgba(217, 122, 63, 0.54) 0%, rgba(17, 27, 42, 0.98) 100%); } main > article > section.article-asides section.article-taxonomies > div.article-taxonomies-groups { margin-top: var(--space-2); display: grid; gap: var(--space-2); } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group { margin-top: 0; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > summary.ui-button { width: 100%; justify-content: space-between; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > summary.ui-button::after { content: "+"; font-size: 1rem; line-height: 1; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group[open] > summary.ui-button::after { content: "-"; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group[open] > summary.ui-button { margin-bottom: var(--space-2); } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > ul, body > main.taxonomy-page > section > ul { list-style: none; margin-top: 0; padding-left: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); } body > main.taxonomy-page > section > ul { margin-top: var(--space-2); } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > ul > li, body > main.taxonomy-page > section > ul > li { margin-top: 0; display: inline-flex; align-items: baseline; min-width: 0; max-width: 100%; gap: 0.3rem; padding: 0.2rem 0.55rem; border: 1px solid var(--color-border); background: rgba(255, 255, 255, 0.04); font-size: 0.88rem; line-height: 1.3; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > ul > li > a, body > main.taxonomy-page > section > ul > li > a { color: var(--color-heading); text-decoration: none; overflow-wrap: anywhere; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > ul > li > a:is(:hover, :focus-visible), body > main.taxonomy-page > section > ul > li > a:is(:hover, :focus-visible) { color: var(--color-link-hover); text-decoration: underline; } main > article > section.article-asides section.article-taxonomies details.article-taxonomy-group > ul > li > sub, body > main.taxonomy-page > section > ul > li > sub { font-size: 0.66rem; color: var(--color-text-muted); } main > article > section.article-asides section.article-complementary-files > ul { list-style: none; margin-top: var(--space-3); padding-left: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: var(--space-3); } main > article > section.article-asides section.article-complementary-files > ul > li { margin-top: 0; } main > article > section.article-asides section.article-complementary-files > ul > li > a { display: block; border: 1px solid var(--color-border); background: rgba(255, 255, 255, 0.03); } main > article > section.article-asides section.article-complementary-files > ul > li > a:is(:hover, :focus-visible) { border-color: var(--color-accent-3); } main > article > section.article-asides section.article-complementary-files > ul > li > a > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] { margin-top: 0; } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > p { margin-top: 0; } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > p > strong { font-family: var(--font-heading); font-size: 0.88rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-heading); } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > ol { list-style: none; margin-top: var(--space-2); padding-left: 0; } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > ol > li { margin-top: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-2); } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > ol > li + li { margin-top: var(--space-2); } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > ol :is(a, strong) { display: block; font-family: var(--font-heading); font-size: clamp(1rem, 1.5vw, 1.12rem); font-weight: 400; letter-spacing: 0.01em; text-transform: none; color: var(--color-heading); text-decoration: none; line-height: 1.15; } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > ol > li > a:is(:hover, :focus-visible) { color: var(--color-link-hover); text-decoration: underline; } main > article > section.article-asides section.article-dossier-summary nav[aria-label="Sommaire du dossier"] > ol > li > strong { color: var(--color-accent-1); font-weight: 400; } main > article > section.article-asides section.article-change-history > ol { --article-change-history-marker-size: 1rem; --article-change-history-marker-offset: 0.25rem; --article-change-history-marker-top: 0.25rem; --article-change-history-marker-center: calc( var(--article-change-history-marker-offset) + (var(--article-change-history-marker-size) / 2) ); list-style: none; margin-top: var(--space-3); padding-left: 0; } main > article > section.article-asides section.article-change-history > ol > li { margin-top: 0; position: relative; padding-left: calc(var(--space-6) + 0.2rem); } main > article > section.article-asides section.article-change-history > ol > li + li { margin-top: var(--space-4); } main > article > section.article-asides section.article-change-history > ol > li::before { content: ""; position: absolute; z-index: 1; inset-block-start: var(--article-change-history-marker-top); inset-inline-start: var(--article-change-history-marker-offset); width: var(--article-change-history-marker-size); height: var(--article-change-history-marker-size); border: 2px solid #d3b9ff; border-radius: 50%; background: #121b2c; box-shadow: 0 0 0 0.2rem rgba(143, 106, 216, 0.18); } main > article > section.article-asides section.article-change-history > ol > li::after { content: ""; position: absolute; inset-block-start: calc( var(--article-change-history-marker-top) + (var(--article-change-history-marker-size) / 2) ); inset-inline-start: calc( var(--article-change-history-marker-center) - (var(--border-width-regular) / 2) ); z-index: 0; width: var(--border-width-regular); height: calc(100% + var(--space-4)); border-radius: 999px; background: linear-gradient(180deg, rgba(211, 185, 255, 0.7) 0%, rgba(143, 106, 216, 0.36) 100%); } main > article > section.article-asides section.article-change-history > ol > li:last-child::after { content: none; } main > article > section.article-asides section.article-change-history > ol > li > :is(a, div) { display: flex; flex-direction: column; gap: 0.25rem; position: relative; z-index: 1; color: inherit; text-decoration: none; } main > article > section.article-asides section.article-change-history > ol > li > :is(a, div) > span.article-change-history-subject { font-family: var(--font-heading); font-size: 1.08rem; line-height: 1.2; color: var(--color-heading); } main > article > section.article-asides section.article-change-history > ol > li > a:is(:hover, :focus-visible) > span.article-change-history-subject { color: #f3ddff; text-decoration: underline; } main > article > section.article-asides section.article-change-history > ol > li > :is(a, div) > time { font-size: 0.86rem; line-height: 1.4; color: #d8c8f3; letter-spacing: 0.05em; text-transform: uppercase; font-family: var(--font-heading); } main > article > section.article-books { margin-block: var(--article-feature-block-margin); border-top: var(--border-width-regular) solid var(--color-accent-3); padding: var(--space-3); background: linear-gradient(180deg, rgba(136, 112, 63, 0.18) 0%, rgba(17, 27, 42, 0.56) 100%); } main > article > section.article-books > header { margin-top: 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2); } main > article > section.article-books > header > h2 { margin-top: 0; margin-bottom: 0; padding-top: 0; line-height: 1.15; position: static; font-size: clamp(1.08rem, 1.8vw, 1.45rem); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-heading); } main > article > section.article-books > header > h2::before { content: none; } main > article > section.article-books > header > p { width: 100%; margin-top: var(--space-2); font-size: 1rem; line-height: 1.6; text-align: left; } main > article > section.article-books > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); margin-top: var(--space-3); } main > article > section.article-books > div > section { margin-top: 0; width: 100%; max-width: none; } main > article > section.article-books > div > section > article { display: grid; grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr); column-gap: var(--space-4); row-gap: var(--space-2); align-items: start; margin-top: 0; border-top: 1px solid var(--color-border-strong-alpha-62); padding-top: var(--space-3); padding-bottom: 0; background: transparent; padding-inline: 0; } main > article > section.article-books > div > section:first-child > article { border-top: 0; padding-top: 0; } main > article > section.article-books > div > section figure { margin-top: 0; grid-column: 1; grid-row: 1 / span 3; width: 100%; align-self: start; aspect-ratio: 2 / 3; border: 1px solid var(--color-border); background: rgba(255, 255, 255, 0.02); min-height: 0; overflow: hidden; } main > article > section.article-books > div > section figure img { width: 100%; height: 100%; object-fit: cover; } main > article > section.article-books > div > section h2 { grid-column: 2; margin-top: 0; margin-bottom: 0; padding-top: 0; position: static; line-height: 1.2; font-size: clamp(1.12rem, 1.8vw, 1.38rem); text-transform: none; letter-spacing: 0.01em; color: var(--color-heading); text-align: left; } main > article > section.article-books > div > section h2::before { content: none; } main > article > section.article-books > div > section p { margin-top: 0; grid-column: 2; font-size: 1rem; text-align: left; } main > article > section.article-books > div > section p:last-child { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: var(--space-2); margin-top: var(--space-1); } main > article > section.article-books > div > section p:last-child > a.ui-button { min-height: 2.35rem; border-color: var(--color-link-external-button-border); background: linear-gradient( 180deg, var(--color-link-external-button-background-top) 0%, var(--color-link-external-button-background-bottom) 100% ); } main > article > section.article-books > div > section p:last-child > a.ui-button:is(:hover, :focus-visible) { border-color: var(--color-link-external-button-border-hover); background: linear-gradient( 180deg, var(--color-link-external-button-background-top-hover) 0%, var(--color-link-external-button-background-bottom-hover) 100% ); } main > article > dl { margin-block: var(--article-feature-block-margin); padding-block: var(--space-3) var(--space-2); border-top: var(--border-width-regular) solid #e2a03f; border-bottom: 1px solid var(--color-border-strong-alpha-72); display: grid; grid-template-columns: minmax(13rem, 0.9fr) minmax(0, 2.1fr); column-gap: var(--space-4); row-gap: var(--space-2); background: linear-gradient(90deg, rgba(217, 122, 63, 0.08) 0%, rgba(217, 122, 63, 0) 42%); } main > article > dl > dt { margin: 0; grid-column: 1; align-self: stretch; display: flex; align-items: center; padding-left: var(--space-2); font-family: var(--font-heading); font-size: 0.84rem; text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.35; color: #eed695; } main > article > dl > dd { margin: 0; grid-column: 2; padding-left: var(--space-3); border-left: var(--border-width-regular) solid #9b6241; font-size: 1.03rem; line-height: 1.6; color: var(--color-text); } main > article > dl > dd + dt, main > article > dl > dd + dt + dd { margin-top: var(--space-1); padding-top: var(--space-2); border-top: 1px solid var(--color-border-strong-alpha-55); } body:has(> header.article-header) > main > article > pre { max-width: none; width: min(calc(100vw - (2 * var(--space-2))), var(--max-width)); margin-inline: 0; margin-left: 50%; transform: translateX(-50%); } body:has(> header.article-header) > main > article > .highlight { max-width: min(calc(100vw - (2 * var(--space-2))), var(--max-width)); margin-inline: 0; margin-left: 50%; transform: translateX(-50%); } body:has(> header.article-header) > main > article > table { max-width: min(calc(100vw - (2 * var(--space-2))), var(--max-width)); margin-inline: 0; margin-left: 50%; transform: translateX(-50%); } body:has(> header.article-header) > main > article > section.article-books { width: min(100%, 74ch); max-width: 74ch; margin-inline: auto; margin-left: auto; transform: none; } main > article figure { margin-block: var(--article-feature-block-margin); padding-top: 0; } main > article figure.figure-media { --figure-media-column: 1; --figure-meta-column: 2; --figure-media-justify: end; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: var(--space-3) var(--space-6); align-items: stretch; } main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) { --figure-media-column: 2; --figure-meta-column: 1; --figure-media-justify: start; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); } main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta { text-align: right; border-left: 0; border-right: 1px solid var(--color-border-strong); } main > article figure.figure-media > :is(video, img, a) { grid-column: var(--figure-media-column); grid-row: 1; justify-self: var(--figure-media-justify); margin: 0; max-width: 100%; } main > article figure.figure-media > a, main > article figure.figure-media > img, main > article figure.figure-media > video { display: block; width: fit-content; max-width: 100%; } main > article figure.figure-media > a > img, main > article figure.figure-media > img, main > article figure.figure-media > video { display: block; width: auto; max-width: 100%; max-height: 90vh; height: auto; object-fit: contain; } main > article figure > a { display: block; } main > article figure.figure-media.figure-media-without-meta { grid-template-columns: minmax(0, 1fr); --figure-media-justify: center; } main > article figure.figure-media.figure-media-without-meta > :is(video, img, a) { grid-column: 1; } main > article figure.figure-media.figure-media-centered { --figure-media-column: 1; --figure-meta-column: 1; --figure-media-justify: center; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } main > article figure.figure-media.figure-media-centered > :is(video, img, a) { grid-column: 1; grid-row: 1; } main > article figure.figure-media > figcaption.figure-media-meta { grid-column: var(--figure-meta-column); grid-row: 1; margin-top: 0; box-sizing: border-box; min-width: 0; width: 100%; border-top: 1px solid var(--color-border-strong); border-left: 1px solid var(--color-border-strong); padding-left: var(--space-6); padding-right: var(--space-6); padding-top: var(--space-2); padding-bottom: var(--space-2); display: flex; flex-direction: column; min-height: 100%; gap: var(--space-2); background: var(--color-content-soft-background); } main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-main { margin-top: 0; display: flex; flex-direction: column; gap: var(--space-2); } main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra { margin-top: auto; display: flex; flex-direction: column; gap: var(--space-2); } main > article figure.figure-media > figcaption.figure-media-meta p { margin-top: 0; } main > article figure.figure-media > figcaption.figure-media-meta .cover-title { font-size: clamp(0.98rem, 1.15vw, 1.06rem); letter-spacing: 0.03em; text-transform: uppercase; } main > article figure.figure-media > figcaption.figure-media-meta .cover-description { font-size: 0.95rem; color: var(--color-text-muted); } main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution { border-top: 1px solid var(--color-border); padding-top: var(--space-2); } main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution { justify-content: flex-end; } main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta { grid-column: 1; grid-row: 2; width: min(100%, 72ch); margin-inline: auto; min-height: 0; text-align: center; border-left: 0; border-right: 0; padding-left: var(--space-2); padding-right: var(--space-2); } main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-main, main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra { align-items: center; } main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-main > :is(.cover-title, .cover-description), main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra > :is(.cover-attribution, details) { width: min(100%, 68ch); } main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution { width: min(100%, 68ch); justify-content: center; } main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra > details { text-align: left; } main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra > details { margin-top: 0; } main > article figure:not(.figure-media) figcaption p { margin-top: 0; color: var(--color-text-muted); font-size: 1.02rem; } main > article > figure.chat-message { --chat-bubble-max-width: min(100%, 74ch); margin-top: var(--space-1); margin-bottom: var(--space-1); display: flex; width: 100%; max-width: 100%; padding-top: 0; } main > article > figure.chat-message + figure.chat-message { margin-top: var(--space-3); } main > article > :is(h2, h3, h4, h5, h6, p, ul, ol, details, table, dl, pre, blockquote) + figure.chat-message { margin-top: var(--space-4); } main > article > figure.chat-message + :is(h2, h3, h4, h5, h6, p, ul, ol, details, table, dl, pre, blockquote) { margin-top: var(--space-4); } main > article > figure.chat-message.me { justify-content: flex-end; margin-left: auto; margin-right: 0; color: var(--color-chat-me-text); } main > article > figure.chat-message.other { justify-content: flex-start; margin-left: 0; margin-right: auto; color: var(--color-chat-other-text); } main > article > figure.chat-message > blockquote { margin: 0; border: 0; padding: var(--space-3) var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); width: fit-content; max-width: var(--chat-bubble-max-width); color: inherit; line-height: inherit; overflow-wrap: anywhere; } main > article > figure.chat-message.me > blockquote { background: var(--color-chat-me-background); border: 1px solid var(--color-chat-me-border); border-radius: 1.45rem 1.45rem 0.45rem 1.45rem; } main > article > figure.chat-message.other > blockquote { background: var(--color-chat-other-background); border: 1px solid var(--color-chat-other-border); border-radius: 1.45rem 1.45rem 1.45rem 0.45rem; } main > article > figure.chat-message > blockquote > :is(p, ul, ol, figure, pre, details, table, footer) { margin-top: 0; } main > article > figure.chat-message > blockquote > footer { display: flex; align-items: baseline; font-size: 0.98rem; } main > article > figure.chat-message.me > blockquote > footer { justify-content: flex-end; } main > article > figure.chat-message.other > blockquote > footer { justify-content: flex-start; } main > article > figure.chat-message > blockquote > footer cite { font-style: normal; font-weight: 600; letter-spacing: 0.02em; } main > article > figure.chat-message.me > blockquote > footer cite { color: var(--color-chat-author-me); } main > article > figure.chat-message.other > blockquote > footer cite { color: var(--color-chat-author-other); } main > article > figure.chat-message.me a { color: inherit; } main > article > figure.chat-message.me a:is(:hover, :focus-visible) { color: #ffffff; } body:has(> header.article-header) > main > article > figure.chat-message :is(strong, b) { font-weight: 700; color: inherit; text-shadow: none; background-image: none; padding: 0; } main > article > figure.chat-message + figure.figure-media, main > article > figure.figure-media:has(+ figure.chat-message) { --figure-media-column: 1; --figure-meta-column: 1; --figure-media-justify: center; width: min(calc(100vw - (2 * var(--page-gutter))), 48rem); max-width: min(calc(100vw - (2 * var(--page-gutter))), 48rem); margin-top: var(--space-2); margin-bottom: var(--space-2); margin-inline: auto; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } main > article > figure.chat-message + figure.figure-media > :is(video, img, a), main > article > figure.figure-media:has(+ figure.chat-message) > :is(video, img, a), main > article > figure.chat-message + figure.figure-media > figcaption.figure-media-meta, main > article > figure.figure-media:has(+ figure.chat-message) > figcaption.figure-media-meta { grid-column: 1; grid-row: auto; } main > article > figure.chat-message + figure.figure-media > :is(video, img, a), main > article > figure.figure-media:has(+ figure.chat-message) > :is(video, img, a) { justify-self: center; } main > article > figure.chat-message + figure.figure-media > figcaption.figure-media-meta, main > article > figure.figure-media:has(+ figure.chat-message) > figcaption.figure-media-meta { min-height: 0; text-align: left; border-left: 0; border-right: 0; padding-left: 0; padding-right: 0; } body:has(> header.article-header) > main > article > figure.chat-message, body:has(> header.article-header) > main > article > figure.chat-message + figure.figure-media, body:has(> header.article-header) > main > article > figure.figure-media:has(+ figure.chat-message) { margin-inline: 0; margin-left: 50%; transform: translateX(-50%); } body:has(> header.article-header) > main > article > figure.chat-message { width: min(calc(100vw - (2 * var(--page-gutter))), var(--max-width)); max-width: min(calc(100vw - (2 * var(--page-gutter))), var(--max-width)); } aside section > p:first-of-type { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); } aside section > p:first-of-type img { width: 3rem; height: 3rem; } aside section dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: var(--space-2); } aside section dl > div { border-top: 1px solid var(--color-border); padding-top: var(--space-2); } body:has(> header.article-header) > main > aside.article-complementary-images { width: min(100%, var(--max-width-reading)); margin-inline: auto; margin-top: var(--space-6); } body:has(> header.article-header) > main > aside.article-complementary-images > section { margin-top: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-3); } body:has(> header.article-header) > main > aside.article-complementary-images > section > h2 { margin-top: 0; font-size: 1.02rem; text-transform: uppercase; letter-spacing: 0.08em; } body:has(> header.article-header) > main > aside.article-complementary-images > section > ul { list-style: none; margin-top: var(--space-3); padding-left: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--space-3); } body:has(> header.article-header) > main > aside.article-complementary-images > section > ul > li { margin-top: 0; } body:has(> header.article-header) > main > aside.article-complementary-images > section > ul > li > a { display: block; border: 1px solid var(--color-border); } body:has(> header.article-header) > main > aside.article-complementary-images > section > ul > li > a > img { width: 100%; height: auto; display: block; } body:has(> header.article-header) > main > aside.article-toc { position: fixed; inset-inline-end: var(--space-2); inset-block-start: 50%; transform: translateY(-50%); z-index: 30; margin-top: 0; border-top: 0; padding-top: 0; display: flex; flex-direction: column; gap: var(--space-4); align-items: flex-end; } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer { position: relative; } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer > summary, body:has(> header.article-header) > main > aside.article-toc > a.article-toc-link { list-style: none; width: 2.25rem; min-height: 7.2rem; } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer > summary > span, body:has(> header.article-header) > main > aside.article-toc > a.article-toc-link > span { color: var(--color-heading); } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer > .article-toc-drawer-panel { position: absolute; inset-inline-end: calc(100% + var(--space-2)); inset-block-start: 50%; transform: translateY(-50%); width: min(22rem, 76vw); max-height: min(72vh, 44rem); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; border: 1px solid var(--color-border-strong); background: rgba(6, 12, 20, 0.96); padding: var(--space-3); } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer:not([open]) > .article-toc-drawer-panel { display: none; } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer-dossier > .article-toc-drawer-panel { width: min(19rem, 70vw); padding-top: var(--space-1); } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer > .article-toc-drawer-panel > h2, body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > p > strong { margin-top: 0; font-family: var(--font-heading); font-size: 0.86rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--color-heading); } body:has(> header.article-header) > main > aside.article-toc .article-toc-list { margin-top: var(--space-2); } body:has(> header.article-header) > main > aside.article-toc .article-toc-list ol, body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol { list-style: none; margin: 0; padding-left: 0; } body:has(> header.article-header) > main > aside.article-toc .article-toc-list > ol > li + li, body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol > li + li { margin-top: var(--space-1); } body:has(> header.article-header) > main > aside.article-toc .article-toc-list li > ol { margin-top: var(--space-1); margin-left: var(--space-2); padding-left: var(--space-2); border-left: 1px solid var(--color-border-strong); } body:has(> header.article-header) > main > aside.article-toc .article-toc-list a, body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol :is(a, strong) { display: block; color: var(--color-text-muted); text-decoration: none; font-size: 0.8rem; line-height: 1.35; letter-spacing: 0.01em; } body:has(> header.article-header) > main > aside.article-toc .article-toc-list li > ol a { font-size: 0.76rem; } body:has(> header.article-header) > main > aside.article-toc .article-toc-list a:is(:hover, :focus-visible), body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] a:is(:hover, :focus-visible) { color: var(--color-link-hover); text-decoration: underline; } body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol > li > a { color: #d9e3ef; text-decoration: underline; text-decoration-color: rgba(217, 227, 239, 0.38); text-underline-offset: 0.14em; } body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol > li > a:is(:hover, :focus-visible) { color: var(--color-link-hover); text-decoration-color: currentColor; } body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol > li.is-current { border-left: var(--border-width-regular) solid var(--color-accent-1); padding: var(--space-1) var(--space-2); background: rgba(118, 167, 215, 0.14); } body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > ol > li > strong { color: #ffffff; text-decoration: none; font-weight: 800; } body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] > p { margin-top: 0; } body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Sommaire du dossier"] { margin-top: 0; } @media (min-width: 1101px) { body > main:has(> article:first-child):has(> aside) > article:first-child > figure.figure-media { width: min(calc(100vw - (2 * var(--space-2))), var(--max-width)); margin-inline: 0; margin-left: 50%; transform: translateX(-50%); } } @media (max-width: 1100px) { main > article > section.article-asides > section.article-page-links > nav.articles-list > ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } body:has(> header.article-header) > main > article > table { width: 100%; max-width: 100%; margin-inline: 0; margin-left: 0; transform: none; table-layout: fixed; } body:has(> header.article-header) > main > article > table :is(th, td) { overflow-wrap: anywhere; } main > article > dl { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-1); background: linear-gradient(180deg, rgba(217, 122, 63, 0.08) 0%, rgba(217, 122, 63, 0) 40%); } main > article > dl > :is(dt, dd) { grid-column: 1; } main > article > dl > dd { padding-left: var(--space-2); } main > article > section.article-books > div > section > article { grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr); } main > article figure.figure-media { --figure-media-justify: start; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) { --figure-media-column: 1; --figure-meta-column: 1; --figure-media-justify: start; grid-template-columns: minmax(0, 1fr); } main > article figure.figure-media.figure-media-centered { --figure-media-justify: center; } main > article figure.figure-media > :is(video, img, a), main > article figure.figure-media > figcaption.figure-media-meta { grid-column: 1; grid-row: auto; } main > article figure.figure-media > figcaption.figure-media-meta { min-height: 0; border-left: 0; border-right: 0; padding-left: 0; padding-right: 0; } main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra { margin-top: 0; } main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta { text-align: left; } main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution { justify-content: flex-start; } body:has(> header.article-header) > main > aside.article-toc { inset-inline-end: var(--space-1); gap: var(--space-3); } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer > summary.ui-button--vertical, body:has(> header.article-header) > main > aside.article-toc > a.article-toc-link.ui-button--vertical { width: 2rem; min-height: 6.1rem; } body:has(> header.article-header) > main > aside.article-toc > details.article-toc-drawer > .article-toc-drawer-panel { width: min(20rem, calc(100vw - 4.2rem)); max-height: min(70vh, 34rem); } } @media (max-width: 800px) { main > article > section.article-asides > section.article-page-links > nav.articles-list > ol { grid-template-columns: minmax(0, 1fr); } main > article > figure.chat-message { --chat-bubble-max-width: calc(100% - 1.4rem); } main > article > figure.chat-message > blockquote { padding: var(--space-3); } main > article > figure.chat-message + figure.figure-media, main > article > figure.figure-media:has(+ figure.chat-message) { width: min(100%, calc(100% - 1rem)); } main > article > section.article-books > div > section > article { grid-template-columns: minmax(0, 1fr); } main > article > section.article-books > div > section figure { grid-row: auto; width: min(11rem, 100%); justify-self: center; } main > article > section.article-books > div > section :is(h2, p) { grid-column: 1; } } main section > ul, main section > ol { padding-left: 1.25rem; } main section > ul li, main section > ol li { margin-top: 0.25rem; }