| |
| |
| |
| |
| |
|
|
| @media print { |
| |
| |
| |
|
|
| @page { |
| size: A4; |
| margin-top: 20mm; |
| margin-bottom: 25mm; |
| margin-left: 25mm; |
| margin-right: 20mm; |
|
|
| |
| @bottom-center { |
| content: counter(page); |
| font-size: 10pt; |
| font-family: "Source Sans Pro", sans-serif; |
| color: #666; |
| } |
| } |
|
|
| |
| @page :left { |
| margin-left: 20mm; |
| margin-right: 25mm; |
| background: linear-gradient(to bottom, rgba(0, 0, 0, 0.01) 0%, transparent 15mm); |
|
|
| @top-left { |
| content: "· " string(chapter-title) " ·"; |
| font-size: 8.5pt; |
| font-style: italic; |
| color: #888; |
| text-transform: uppercase; |
| letter-spacing: 0.8pt; |
| font-weight: 400; |
| font-family: "Source Sans Pro", sans-serif; |
| } |
|
|
| @bottom-left { |
| content: "〈 " counter(page) " 〉"; |
| font-size: 10pt; |
| font-family: "Source Sans Pro", sans-serif; |
| color: #555; |
| letter-spacing: 1pt; |
| font-weight: 300; |
| } |
|
|
| @bottom-center { |
| content: none; |
| } |
| } |
|
|
| |
| @page :right { |
| margin-left: 25mm; |
| margin-right: 20mm; |
| background: linear-gradient(to bottom, rgba(0, 0, 0, 0.01) 0%, transparent 15mm); |
|
|
| @top-right { |
| content: "· " string(section-title) " ·"; |
| font-size: 8.5pt; |
| font-style: italic; |
| color: #888; |
| letter-spacing: 0.8pt; |
| font-weight: 400; |
| font-family: "Source Sans Pro", sans-serif; |
| } |
|
|
| @bottom-right { |
| content: "〈 " counter(page) " 〉"; |
| font-size: 10pt; |
| font-family: "Source Sans Pro", sans-serif; |
| color: #555; |
| letter-spacing: 1pt; |
| font-weight: 300; |
| } |
|
|
| @bottom-center { |
| content: none; |
| } |
| } |
|
|
| |
| @page :first { |
| margin-top: 40mm; |
| margin-bottom: 40mm; |
| background: |
| |
| linear-gradient(135deg, transparent 48%, rgba(0, 0, 0, 0.008) 48%, rgba(0, 0, 0, 0.008) 52%, transparent 52%), |
| linear-gradient(45deg, transparent 48%, rgba(0, 0, 0, 0.008) 48%, rgba(0, 0, 0, 0.008) 52%, transparent 52%), |
| |
| radial-gradient(circle at 20% 20%, rgba(0, 0, 0, 0.035) 0%, transparent 45%), |
| radial-gradient(circle at 80% 80%, rgba(0, 0, 0, 0.035) 0%, transparent 45%), |
| |
| linear-gradient(to bottom, rgba(0, 0, 0, 0.012) 0%, rgba(0, 0, 0, 0.002) 100%); |
| background-size: 40mm 40mm, 40mm 40mm, 100% 100%, 100% 100%, 100% 100%; |
| background-position: 0 0, 20mm 20mm, center, center, center; |
|
|
| @top-left { |
| content: none; |
| } |
|
|
| @top-right { |
| content: none; |
| } |
|
|
| @bottom-left { |
| content: none; |
| } |
|
|
| @bottom-right { |
| content: none; |
| } |
|
|
| @bottom-center { |
| content: none; |
| } |
| } |
|
|
| |
| @page blank { |
| background: white; |
|
|
| @top-left { |
| content: none; |
| } |
|
|
| @top-right { |
| content: none; |
| } |
|
|
| @bottom-left { |
| content: none; |
| } |
|
|
| @bottom-right { |
| content: none; |
| } |
|
|
| @bottom-center { |
| content: none; |
| } |
| } |
|
|
| |
| @page chapter { |
| background: |
| |
| linear-gradient(to right, rgba(0, 0, 0, 0.08) 0mm, rgba(0, 0, 0, 0.05) 15mm, transparent 40mm), |
| |
| linear-gradient(135deg, transparent 48%, rgba(0, 0, 0, 0.006) 48%, rgba(0, 0, 0, 0.006) 52%, transparent 52%), |
| linear-gradient(45deg, transparent 48%, rgba(0, 0, 0, 0.006) 48%, rgba(0, 0, 0, 0.006) 52%, transparent 52%), |
| |
| linear-gradient(to bottom, rgba(0, 0, 0, 0.025) 0%, transparent 35mm), |
| |
| radial-gradient(ellipse at 0% 25%, rgba(0, 0, 0, 0.02) 0%, transparent 60%); |
| background-size: 100% 3pt, 30mm 30mm, 30mm 30mm, 100% 100%, 100% 100%; |
| background-position: 0 0, 0 0, 15mm 15mm, center, left center; |
| background-repeat: no-repeat, repeat, repeat, no-repeat, no-repeat; |
|
|
| @top-left { |
| content: none; |
| } |
|
|
| @top-right { |
| content: none; |
| } |
| } |
|
|
| |
| |
| |
|
|
| html { |
| font-size: 11pt; |
| line-height: 1.6; |
| } |
|
|
| body { |
| font-family: "Georgia", "Palatino", "Times New Roman", serif; |
| color: #1a1a1a; |
| background: white; |
| margin: 0; |
| hyphens: auto; |
| -webkit-hyphens: auto; |
| } |
|
|
| |
| p, |
| li { |
| orphans: 3; |
| widows: 3; |
| } |
|
|
| |
| |
| |
|
|
| |
| |
| |
|
|
| .hero { |
| text-align: center; |
| margin-bottom: 0; |
| break-after: page; |
| position: relative; |
| display: flex; |
| flex-direction: column; |
| justify-content: space-between; |
| min-height: 220mm; |
| padding-top: 30mm; |
| } |
|
|
| |
| .hero::before { |
| content: ""; |
| display: block; |
| width: 60mm; |
| height: 1pt; |
| background: linear-gradient(to right, transparent, #333 30%, #333 70%, transparent); |
| margin: 0 auto 15mm; |
| } |
|
|
| |
| .hero-title { |
| font-family: "Source Sans Pro", sans-serif; |
| font-size: 42pt; |
| font-weight: 300; |
| line-height: 1.1; |
| margin-bottom: 8mm; |
| color: #1a1a1a; |
| string-set: document-title content(); |
| letter-spacing: 1pt; |
| text-transform: uppercase; |
| max-width: 140mm; |
| margin-left: auto; |
| margin-right: auto; |
| } |
|
|
| .hero-subtitle { |
| font-size: 14pt; |
| color: #555; |
| font-style: italic; |
| margin-bottom: 20mm; |
| font-weight: 300; |
| line-height: 1.5; |
| max-width: 120mm; |
| margin-left: auto; |
| margin-right: auto; |
| } |
|
|
| |
| .hero::after { |
| content: "✦"; |
| display: block; |
| font-size: 16pt; |
| color: #999; |
| margin: 0 auto; |
| } |
|
|
| |
| .hero-authors, |
| .hero-meta { |
| margin-top: auto; |
| } |
|
|
| .hero-authors { |
| font-size: 12pt; |
| margin-bottom: 8mm; |
| color: #333; |
| font-weight: 400; |
| letter-spacing: 0.5pt; |
| } |
|
|
| .hero-authors .author { |
| display: block; |
| margin-bottom: 2mm; |
| } |
|
|
| .hero-authors .author-name { |
| font-weight: 500; |
| text-transform: uppercase; |
| letter-spacing: 1pt; |
| font-size: 11pt; |
| } |
|
|
| .hero-authors sup { |
| font-size: 8pt; |
| margin-left: 1mm; |
| } |
|
|
| |
| .hero-affiliations { |
| font-size: 10pt; |
| color: #666; |
| margin-bottom: 10mm; |
| font-style: italic; |
| } |
|
|
| .hero-affiliations .affiliation { |
| display: block; |
| margin-bottom: 2mm; |
| } |
|
|
| |
| .hero-meta { |
| font-size: 9pt; |
| color: #888; |
| font-style: normal; |
| padding-top: 8mm; |
| border-top: 0.5pt solid #ddd; |
| max-width: 120mm; |
| margin-left: auto; |
| margin-right: auto; |
| } |
|
|
| .hero-meta p { |
| margin: 2mm 0; |
| text-indent: 0 !important; |
| } |
|
|
| |
| .hero-banner { |
| display: none !important; |
| } |
|
|
| |
| |
| |
|
|
| |
| .hero+section, |
| .hero+div, |
| .abstract, |
| main>section:first-of-type, |
| main>div:first-of-type { |
| padding: 8mm 12mm; |
| background: |
| |
| linear-gradient(135deg, transparent 48%, rgba(0, 0, 0, 0.004) 48%, rgba(0, 0, 0, 0.004) 52%, transparent 52%), |
| linear-gradient(45deg, transparent 48%, rgba(0, 0, 0, 0.004) 48%, rgba(0, 0, 0, 0.004) 52%, transparent 52%), |
| |
| linear-gradient(to bottom, #fafafa, #fcfcfc 30%, white); |
| background-size: 20mm 20mm, 20mm 20mm, 100% 100%; |
| background-position: 0 0, 10mm 10mm, center; |
| border-left: 3pt solid #ddd; |
| margin-bottom: 15mm; |
| break-inside: avoid; |
| position: relative; |
| } |
|
|
| |
| .hero+section::before, |
| .hero+div::before, |
| .abstract::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: 0; |
| right: 0; |
| height: 2pt; |
| background: linear-gradient(to right, #ccc 0%, rgba(0, 0, 0, 0.1) 50%, transparent 100%); |
| } |
|
|
| .hero+section p:first-of-type::first-line, |
| .hero+div p:first-of-type::first-line, |
| .abstract p:first-of-type::first-line { |
| font-variant: small-caps; |
| letter-spacing: 0.5pt; |
| font-weight: 500; |
| } |
|
|
| |
| .hero+section h2:first-child, |
| .hero+div h2:first-child, |
| .abstract h2 { |
| font-size: 14pt; |
| text-align: center; |
| text-transform: uppercase; |
| letter-spacing: 2pt; |
| font-weight: 300; |
| color: #666; |
| margin-bottom: 8mm; |
| padding-bottom: 4mm; |
| border-bottom: 0.5pt solid #ddd; |
| } |
|
|
| .hero+section h2:first-child::before, |
| .hero+div h2:first-child::before, |
| .abstract h2::before { |
| content: none !important; |
| } |
|
|
| .hero+section h2:first-child::after, |
| .hero+div h2:first-child::after, |
| .abstract h2::after { |
| content: none !important; |
| } |
|
|
| |
| h2 { |
| font-family: "Source Sans Pro", sans-serif; |
| font-size: 28pt; |
| font-weight: 600; |
| margin-top: 20mm; |
| margin-bottom: 12mm; |
| line-height: 1.2; |
| page-break-after: avoid; |
| break-after: avoid-page; |
| string-set: chapter-title content(); |
| counter-increment: chapter; |
| page: chapter; |
| color: #1a1a1a; |
| letter-spacing: -0.5pt; |
| position: relative; |
| padding-top: 8mm; |
| } |
|
|
| h2::before { |
| content: counter(chapter); |
| display: block; |
| font-size: 48pt; |
| font-weight: 200; |
| color: #ddd; |
| position: absolute; |
| top: -5mm; |
| left: 0; |
| line-height: 1; |
| } |
|
|
| h2::after { |
| content: ""; |
| display: block; |
| width: 30mm; |
| height: 1pt; |
| background: linear-gradient(to right, #666, transparent); |
| margin-top: 4mm; |
| } |
|
|
| |
| h3 { |
| font-family: "Source Sans Pro", sans-serif; |
| font-size: 18pt; |
| font-weight: 700; |
| margin-top: 12mm; |
| margin-bottom: 6mm; |
| page-break-after: avoid; |
| break-after: avoid-page; |
| string-set: section-title content(); |
| counter-increment: section; |
| color: #333; |
| letter-spacing: -0.2pt; |
| } |
|
|
| h3::before { |
| content: counter(chapter) "." counter(section); |
| display: inline-block; |
| margin-right: 1.5mm; |
| color: #999; |
| font-size: 12pt; |
| font-weight: 300; |
| } |
|
|
| |
| h4 { |
| font-family: "Source Sans Pro", sans-serif; |
| font-size: 14pt; |
| font-weight: 600; |
| margin-top: 8mm; |
| margin-bottom: 4mm; |
| page-break-after: avoid; |
| break-after: avoid-page; |
| color: #444; |
| text-transform: uppercase; |
| letter-spacing: 0.5pt; |
| } |
|
|
| |
| |
| |
|
|
| p { |
| text-align: justify; |
| margin-bottom: 4mm; |
| text-indent: 0; |
| line-height: 1.65; |
| } |
|
|
| |
| h2+p, |
| h3+p, |
| h4+p { |
| text-indent: 0; |
| } |
|
|
| |
| h2+p::first-letter { |
| float: left; |
| font-size: 48pt; |
| line-height: 0.85; |
| margin: 0 4mm -2mm 0; |
| font-weight: 400; |
| color: #333; |
| } |
|
|
| |
| p+p { |
| text-indent: 5mm; |
| margin-top: 0; |
| } |
|
|
| |
| a { |
| color: #000; |
| text-decoration: none; |
| border-bottom: 0.5pt solid #999; |
| } |
|
|
| a[href]::after { |
| content: ""; |
| } |
|
|
| |
| .hero a { |
| border: none; |
| font-weight: inherit; |
| } |
|
|
| |
| |
| |
|
|
| ul, |
| ol { |
| margin-left: 8mm; |
| margin-bottom: 5mm; |
| } |
|
|
| li { |
| margin-bottom: 2mm; |
| } |
|
|
| |
| |
| |
|
|
| |
| main>section:first-of-type ul:first-of-type, |
| main>div:first-of-type ul:first-of-type, |
| .features-list { |
| columns: 2; |
| column-gap: 8mm; |
| column-rule: 0.5pt solid #ddd; |
| margin-left: 0; |
| list-style: none; |
| break-inside: auto; |
| margin-bottom: 12mm; |
| padding: 8mm; |
| background: |
| |
| radial-gradient(circle at center, rgba(0, 0, 0, 0.03) 1pt, transparent 1pt), |
| |
| linear-gradient(135deg, transparent 48%, rgba(0, 0, 0, 0.005) 48%, rgba(0, 0, 0, 0.005) 52%, transparent 52%), |
| linear-gradient(45deg, transparent 48%, rgba(0, 0, 0, 0.005) 48%, rgba(0, 0, 0, 0.005) 52%, transparent 52%), |
| |
| linear-gradient(135deg, #fafafa 0%, #f5f5f5 50%, #fafafa 100%); |
| background-size: 8mm 8mm, 15mm 15mm, 15mm 15mm, 100% 100%; |
| background-position: 0 0, 0 0, 7.5mm 7.5mm, center; |
| border: 0.5pt solid #e0e0e0; |
| border-radius: 2pt; |
| position: relative; |
| } |
|
|
| |
| main>section:first-of-type ul:first-of-type::before, |
| main>div:first-of-type ul:first-of-type::before, |
| .features-list::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 4mm; |
| height: 100%; |
| background: linear-gradient(to bottom, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.02)); |
| border-radius: 2pt 0 0 2pt; |
| } |
|
|
| main>section:first-of-type ul:first-of-type li, |
| main>div:first-of-type ul:first-of-type li, |
| .features-list li { |
| break-inside: avoid; |
| page-break-inside: avoid; |
| margin-bottom: 3mm; |
| padding-left: 9mm; |
| |
| position: relative; |
| font-size: 10pt; |
| line-height: 1.4; |
| } |
|
|
| |
| main>section:first-of-type ul:first-of-type li::before, |
| main>div:first-of-type ul:first-of-type li::before, |
| .features-list li::before { |
| content: "▸"; |
| position: absolute; |
| left: 5mm; |
| |
| color: #999; |
| font-size: 10pt; |
| } |
|
|
| |
| li code, |
| .tag, |
| .badge { |
| background: white; |
| border: 0.5pt solid #ddd; |
| padding: 0.5mm 2mm; |
| border-radius: 2pt; |
| font-size: 8.5pt; |
| font-weight: 500; |
| color: #555; |
| white-space: nowrap; |
| } |
|
|
| |
| |
| |
|
|
| pre, |
| code { |
| font-family: "Monaco", "Courier New", monospace; |
| font-size: 9pt; |
| } |
|
|
| pre { |
| background: linear-gradient(to right, #f8f8f8, #fafafa); |
| padding: 5mm; |
| border: 0.5pt solid #e0e0e0; |
| border-left: 3pt solid #bbb; |
| overflow-x: auto; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| margin: 6mm 0; |
| border-radius: 1pt; |
| box-shadow: 0 1pt 2pt rgba(0, 0, 0, 0.05); |
| } |
|
|
| code { |
| background: #f0f0f0; |
| padding: 1pt 2pt; |
| border-radius: 2pt; |
| } |
|
|
| |
| |
| |
|
|
| figure { |
| margin: 8mm 0; |
| text-align: center; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| } |
|
|
| figure img { |
| max-width: 100%; |
| height: auto; |
| } |
|
|
| figcaption { |
| font-size: 9pt; |
| color: #666; |
| font-style: italic; |
| margin-top: 3mm; |
| text-align: left; |
| padding-left: 5mm; |
| border-left: 2pt solid #e0e0e0; |
| } |
|
|
| |
| |
| |
|
|
| table { |
| width: 100%; |
| border-collapse: collapse; |
| margin: 8mm 0; |
| font-size: 10pt; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| } |
|
|
| thead { |
| display: table-header-group; |
| } |
|
|
| tfoot { |
| display: table-footer-group; |
| } |
|
|
| th { |
| background: linear-gradient(to bottom, #fafafa, #f0f0f0); |
| font-weight: 500; |
| text-align: left; |
| padding: 3mm; |
| border-bottom: 1.5pt solid #555; |
| border-top: 1.5pt solid #555; |
| font-size: 10pt; |
| letter-spacing: 0.5pt; |
| text-transform: uppercase; |
| color: #333; |
| } |
|
|
| td { |
| padding: 3mm; |
| border-bottom: 0.5pt solid #e0e0e0; |
| } |
|
|
| tr:last-child td { |
| border-bottom: 1.5pt solid #555; |
| } |
|
|
| |
| |
| |
|
|
| blockquote { |
| margin: 10mm 12mm; |
| padding: 6mm 8mm; |
| border-left: none; |
| font-style: italic; |
| color: #444; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| position: relative; |
| background: linear-gradient(to right, #f8f8f8, transparent 40mm); |
| } |
|
|
| blockquote::before { |
| content: "" "; |
| position: absolute; |
| left: -3mm; |
| top: 0; |
| font-size: 48pt; |
| color: #ddd; |
| font-family: Georgia, serif; |
| line-height: 0.7; |
| } |
| |
| blockquote p { |
| text-indent: 0 !important; |
| } |
| |
| /* ========================================================================== */ |
| /* Notes de bas de page (Paged.js) */ |
| /* ========================================================================== */ |
| |
| .footnote { |
| float: footnote; |
| footnote-display: block; |
| font-size: 8pt; |
| line-height: 1.4; |
| } |
| |
| ::footnote-call { |
| content: "[" counter(footnote) "]"; |
| font-size: 0.8em; |
| vertical-align: super; |
| line-height: 0; |
| } |
| |
| ::footnote-marker { |
| content: counter(footnote) ". "; |
| font-weight: bold; |
| } |
| |
| /* ========================================================================== */ |
| /* ACCORDIONS - Ouverts et stylisés pour le livre */ |
| /* ========================================================================== */ |
| |
| .accordion, |
| details.accordion { |
| margin: 8mm 0; |
| border: 1pt solid #ddd !important; |
| border-radius: 2pt; |
| background: rgba(0, 0, 0, 0.015) !important; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| } |
| |
| .accordion__summary, |
| details.accordion>summary { |
| font-family: "Source Sans Pro", sans-serif; |
| font-size: 11pt; |
| font-weight: 600; |
| padding: 4mm !important; |
| background: linear-gradient(to right, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01)) !important; |
| border-bottom: 0.5pt solid #ddd !important; |
| color: #333 !important; |
| } |
| |
| /* Masquer le chevron en print */ |
| .accordion__chevron { |
| display: none !important; |
| } |
| |
| /* Forcer l'affichage du contenu */ |
| .accordion__content-wrapper { |
| height: auto !important; |
| overflow: visible !important; |
| } |
| |
| .accordion__content { |
| padding: 5mm !important; |
| } |
| |
| /* Titre de l'accordéon */ |
| .accordion__title { |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.5pt; |
| font-size: 10pt; |
| } |
| |
| /* Code dans les accordéons */ |
| .accordion pre { |
| margin: 3mm 0 !important; |
| } |
| |
| /* ========================================================================== */ |
| /* Éléments à masquer en mode livre */ |
| /* ========================================================================== */ |
| |
| #theme-toggle, |
| .table-of-contents, |
| .table-of-contents-mobile, |
| .right-aside, |
| nav, |
| .code-lang-chip, |
| .meta-container-cell--pdf, |
| button, |
| .interactive-only { |
| display: none !important; |
| } |
| |
| /* ========================================================================== */ |
| /* Table des matières */ |
| /* ========================================================================== */ |
| |
| .toc { |
| page: toc; |
| break-after: page; |
| } |
| |
| .toc h2 { |
| font-size: 20pt; |
| margin-bottom: 10mm; |
| text-align: center; |
| } |
| |
| .toc ul { |
| list-style: none; |
| margin: 0; |
| padding: 0; |
| } |
| |
| .toc li { |
| margin-bottom: 3mm; |
| } |
| |
| .toc a { |
| text-decoration: none; |
| border: none; |
| } |
| |
| .toc a::after { |
| content: leader('.') target-counter(attr(href), page); |
| font-style: italic; |
| } |
| |
| /* ========================================================================== */ |
| /* Compteurs */ |
| /* ========================================================================== */ |
| |
| body { |
| counter-reset: chapter section figure table; |
| } |
| |
| h2 { |
| counter-reset: section; |
| } |
| |
| figure { |
| counter-increment: figure; |
| } |
| |
| figure figcaption::before { |
| content: "Figure " counter(chapter) "." counter(figure) " · "; |
| font-weight: 500; |
| font-style: normal; |
| color: #888; |
| font-variant: small-caps; |
| letter-spacing: 0.5pt; |
| } |
| |
| table { |
| counter-increment: table; |
| } |
| |
| /* ========================================================================== */ |
| /* HTML EMBEDS - Gestion AAA pour le print */ |
| /* ========================================================================== */ |
| |
| .html-embed { |
| break-inside: avoid; |
| page-break-inside: avoid; |
| margin: 10mm 0; |
| width: 100%; |
| } |
| |
| .html-embed__card { |
| width: 100% !important; |
| max-width: 100% !important; |
| overflow: visible !important; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| background: white !important; |
| padding: 6mm !important; |
| border: 1pt solid #ddd !important; |
| box-shadow: 0 1pt 3pt rgba(0, 0, 0, 0.08) !important; |
| border-radius: 2pt; |
| } |
| |
| /* Frameless embeds */ |
| .html-embed__card.is-frameless { |
| padding: 2mm !important; |
| background: transparent !important; |
| border: none !important; |
| box-shadow: none !important; |
| } |
| |
| /* Container des fragments HTML */ |
| .html-embed__card>div[id^="frag-"] { |
| width: 100% !important; |
| max-width: 100% !important; |
| overflow: visible !important; |
| display: flex !important; |
| flex-direction: column !important; |
| align-items: center !important; |
| justify-content: center !important; |
| } |
| |
| /* Containers D3 - respecter leur structure */ |
| .html-embed__card [class^="d3-"], |
| .html-embed__card [class*=" d3-"] { |
| width: 100% !important; |
| max-width: 100% !important; |
| box-sizing: border-box !important; |
| } |
| |
| /* SVG dans les embeds - contraindre sans forcer 100% width */ |
| .html-embed__card svg { |
| max-width: 100% !important; |
| max-height: 130mm !important; |
| width: auto !important; |
| height: auto !important; |
| display: block !important; |
| margin-left: auto !important; |
| margin-right: auto !important; |
| } |
| |
| /* SVG avec viewBox - les laisser responsive */ |
| .html-embed__card svg[viewBox] { |
| width: 100% !important; |
| height: auto !important; |
| } |
| |
| /* Canvas dans les embeds */ |
| .html-embed__card canvas { |
| max-width: 100% !important; |
| max-height: 130mm !important; |
| width: auto !important; |
| height: auto !important; |
| display: block !important; |
| margin-left: auto !important; |
| margin-right: auto !important; |
| object-fit: contain !important; |
| } |
| |
| /* Charts qui utilisent chart-card */ |
| .html-embed__card .chart-card { |
| width: 100% !important; |
| max-width: 100% !important; |
| background: transparent !important; |
| border: none !important; |
| padding: 0 !important; |
| } |
| |
| /* Titre des embeds */ |
| .html-embed__title { |
| font-family: "Source Sans Pro", sans-serif; |
| font-size: 11pt; |
| font-weight: 600; |
| color: #555; |
| margin-bottom: 4mm; |
| text-transform: uppercase; |
| letter-spacing: 0.5pt; |
| } |
| |
| /* Description/caption des embeds */ |
| .html-embed__desc { |
| font-size: 9pt; |
| color: #666; |
| font-style: italic; |
| margin-top: 4mm; |
| padding-left: 5mm; |
| border-left: 2pt solid #e0e0e0; |
| } |
| |
| /* Embeds wide */ |
| .html-embed--wide .html-embed__card { |
| max-width: none !important; |
| } |
| |
| /* Légendes */ |
| .html-embed__card .legend { |
| font-size: 8pt !important; |
| width: 100% !important; |
| } |
| |
| /* Masquer tooltips en print */ |
| .html-embed__card .tooltip, |
| .html-embed__card .d3-tooltip, |
| .html-embed__card [class*="tooltip"] { |
| display: none !important; |
| } |
| |
| /* ========================================================================== */ |
| /* Visualisations D3/Plotly - adaptation pour print */ |
| /* ========================================================================== */ |
| |
| svg, |
| canvas { |
| max-width: 100%; |
| height: auto; |
| break-inside: avoid; |
| page-break-inside: avoid; |
| } |
| |
| .js-plotly-plot, |
| .d3-line, |
| .d3-bar { |
| break-inside: avoid; |
| page-break-inside: avoid; |
| margin: 8mm 0; |
| background: white !important; |
| padding: 4mm; |
| border: 0.5pt solid #e0e0e0; |
| } |
| |
| /* Conteneurs D3 spécifiques */ |
| .d3-line svg, |
| .d3-bar svg, |
| .d3-scatter svg { |
| max-width: 100% !important; |
| width: 100% !important; |
| height: auto !important; |
| } |
| |
| /* ========================================================================== */ |
| /* Layout simple colonne */ |
| /* ========================================================================== */ |
| |
| .content-grid { |
| grid-template-columns: 1fr !important; |
| max-width: none !important; |
| } |
| |
| main { |
| max-width: none !important; |
| padding: 0 !important; |
| } |
| |
| /* ========================================================================== */ |
| /* Citations académiques */ |
| /* ========================================================================== */ |
| |
| .citation { |
| font-size: 0.9em; |
| color: #666; |
| } |
| |
| .references { |
| break-before: page; |
| page-break-before: always; |
| } |
| |
| .references h2 { |
| text-align: center; |
| } |
| |
| .reference-item { |
| margin-bottom: 4mm; |
| text-indent: -5mm; |
| margin-left: 5mm; |
| } |
| } |