:root {
  color-scheme: light;
  --navy-950: #101d33;
  --navy-900: #172640;
  --navy-800: #203653;
  --blue-700: #245c9d;
  --blue-100: #eaf3ff;
  --orange-500: #f5a124;
  --orange-600: #dc8613;
  --orange-100: #fff3dc;
  --green-700: #13745b;
  --green-100: #e5f7f0;
  --red-700: #a33a34;
  --red-100: #fff0ee;
  --ink: #1d2939;
  --muted: #5d6978;
  --line: #d8e0e8;
  --paper: #ffffff;
  --surface: #f5f7fa;
  --radius-sm: 0.6rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --shadow: 0 18px 50px rgba(16, 29, 51, 0.1);
  --content: 72rem;
  --reading: 48rem;
}

/* Première physique-chimie : images et couleurs */
[data-physics-optics-principal-rays], [data-physics-optics-conjugation], [data-physics-optics-image-verdict], [data-physics-optics-focus-bench], [data-physics-color-additive-mixer], [data-physics-color-subtractive-filters], [data-physics-color-object-illumination], [data-physics-color-trichromacy] {
  border-color: #477d90;
  background: linear-gradient(145deg, #fbfdff, #edf5f7);
  box-shadow: inset .35rem 0 #d56e42;
}
.optics-ray-board, .optics-focus-board, .color-mixer-board, .color-filter-board, .trichromacy-board {
  overflow: hidden;
  border: 1px solid #a9c9d5;
  border-radius: 1rem;
  background: #f7fbfc;
}
.optics-ray-board svg, .optics-focus-board svg, .color-mixer-board svg, .color-filter-board svg, .trichromacy-board svg {
  display: block;
  width: 100%;
  height: auto;
}
.optics-ray-board text, .optics-focus-board text, .color-filter-board text, .trichromacy-board text {
  fill: #28485b;
  font-size: 18px;
  font-weight: 800;
}
.optics-axis { stroke: #678397; stroke-width: 4; }
.optics-lens { fill: rgb(109 198 222 / .2); stroke: #247e9c; stroke-width: 7; }
.optics-focus { fill: #d56e42; }
.optics-ray { fill: none; stroke: #d56e42; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.optics-ray--center { stroke: #2b899c; }
.optics-ray--focus { stroke: #7d65a8; }
.optics-extension { fill: none; stroke: #a36082; stroke-width: 4; stroke-dasharray: 11 8; }
.optics-object, .optics-image { fill: none; stroke: #1f4054; stroke-width: 9; stroke-linecap: round; }
.optics-image { stroke: #b65432; }
.optics-image--virtual { stroke-dasharray: 12 8; }
.optics-screen { fill: #f5e0ba; stroke: #765b43; stroke-width: 3; }
.optics-mask { fill: #263846; opacity: .9; }
.optics-dim-label { fill: #a24e32 !important; }
.optics-blur { fill: rgb(213 110 66 / .35); stroke: #d56e42; stroke-width: 3; }
.optics-ruler { stroke: #397588; stroke-width: 4; stroke-dasharray: 8 7; }
.optics-ruler-label { fill: #397588 !important; }
.color-mixer-dark { fill: #111b29; }
.color-additive-circles { isolation: isolate; }
.color-additive-circles circle { mix-blend-mode: screen; }
.color-source-labels text { fill: #f3f7fb; font-size: 19px; font-weight: 850; }
.color-output-label { fill: #fff; font-size: 34px; font-weight: 950; text-transform: uppercase; paint-order: stroke; stroke: #182331; stroke-width: 5px; }
.color-beam { fill: none; stroke-width: 62; stroke-linecap: round; }
.color-beam--incident { stroke-width: 18; }
.color-beam--red { stroke: #ef4f55; }
.color-beam--green { stroke: #45bd68; }
.color-beam--blue { stroke: #4a71df; }
.color-filter { stroke: rgb(35 49 60 / .42); stroke-width: 4; opacity: .78; }
.color-filter-output { fill: #203948 !important; font-size: 28px !important; text-transform: uppercase; }
.cone-axis { stroke: #667f90; stroke-width: 4; }
.cone-curve { fill: none; stroke-width: 8; stroke-linecap: round; opacity: .68; }
.cone-curve--s { stroke: #3b62c9; }
.cone-curve--m { stroke: #2e9d68; }
.cone-curve--l { stroke: #d0534b; }
.trichromacy-board--s .cone-curve:not(.cone-curve--s), .trichromacy-board--m .cone-curve:not(.cone-curve--m), .trichromacy-board--l .cone-curve:not(.cone-curve--l) { opacity: .12; }
.trichromacy-board--s .cone-curve--s, .trichromacy-board--m .cone-curve--m, .trichromacy-board--l .cone-curve--l { stroke-width: 13; opacity: 1; }
.trichromacy-board--meta .cone-curve { opacity: .18; }
.metamer-spectrum { fill: none; stroke-width: 5; stroke-linejoin: round; }
.metamer-spectrum--one { stroke: #8f5cb3; }
.metamer-spectrum--two { stroke: #de8b2c; stroke-dasharray: 10 8; }

@media (max-width: 760px) {
  [data-physics-optics-principal-rays] .segmented-control, [data-physics-optics-conjugation] .segmented-control, [data-physics-optics-image-verdict] .segmented-control, [data-physics-optics-focus-bench] .segmented-control, [data-physics-color-additive-mixer] .segmented-control, [data-physics-color-subtractive-filters] .segmented-control, [data-physics-color-object-illumination] .segmented-control, [data-physics-color-trichromacy] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .optics-ray-board text, .optics-focus-board text, .color-filter-board text, .trichromacy-board text { font-size: 22px; }
  .trichromacy-board text { font-size: 16px; }
  .color-output-label { font-size: 38px; }
}

/* Première physique-chimie : modèles ondulatoire et particulaire de la lumière */
[data-physics-light-model-router], [data-physics-light-spectrum-map], [data-physics-light-wave-conversion], [data-physics-light-photon-energy], [data-physics-light-energy-levels], [data-physics-light-absorption-gate], [data-physics-light-emission-lines], [data-physics-light-spectrum-audit] {
  border-color: #4c6686;
  background: linear-gradient(145deg, #fbfdff, #eef1f8);
  box-shadow: inset .35rem 0 #d68b35;
}
.light-spectrum-board, .light-level-board, .light-spectrum-audit-board {
  overflow: hidden;
  border: 1px solid #a9bdd2;
  border-radius: 1rem;
  background: #f8fbff;
}
.light-spectrum-board svg, .light-level-board svg, .light-spectrum-audit-board svg {
  display: block;
  width: 100%;
  height: auto;
}
.light-spectrum-board text, .light-level-board text, .light-spectrum-audit-board text {
  fill: #263f5a;
  font-size: 17px;
  font-weight: 800;
}
.light-axis-title { font-size: 18px !important; }
.light-axis-arrow { stroke: #4d6783; stroke-width: 4; }
.light-spectrum-band { fill: #d8e1ec; stroke: #fff; stroke-width: 3; opacity: .45; }
.light-spectrum-band--gamma { fill: #7157a5; }
.light-spectrum-band--x { fill: #5b70b2; }
.light-spectrum-band--uv { fill: #667fd2; }
.light-spectrum-band--ir { fill: #dd765b; }
.light-spectrum-band--micro { fill: #dc9d50; }
.light-spectrum-band--radio { fill: #77a6a0; }
.light-spectrum-band.is-focus { opacity: 1; filter: drop-shadow(0 4px 5px rgb(30 49 72 / .2)); }
.light-spectrum-label { fill: #fff !important; font-size: 14px !important; paint-order: stroke; stroke: rgb(26 42 61 / .42); stroke-width: 3px; }
.light-spectrum-scale line { stroke: #6d8198; stroke-width: 3; }
.light-spectrum-note { fill: #6c7786 !important; font-size: 14px !important; }
.light-energy-axis, .light-plot-axis { stroke: #5f7289; stroke-width: 4; }
.light-level { stroke: #405d7d; stroke-width: 6; stroke-linecap: round; }
.light-level-arrow { stroke: #d36c3e; stroke-width: 7; }
.light-level-arrow--down { stroke: #347f8e; }
.light-level-delta { fill: #a94f2d !important; font-size: 21px !important; }
.light-entity-label { fill: #687789 !important; font-size: 15px !important; }
.light-spectrum-trace { fill: none; stroke: #315f84; stroke-width: 5; stroke-linejoin: round; }
.light-reference-lines line { stroke: #d36c3e; stroke-width: 2; stroke-dasharray: 8 6; opacity: .7; }
.light-match { fill: none; stroke: #208260; stroke-width: 6; }
.light-calibration-tag { fill: #a94f2d !important; font-size: 15px !important; }
.light-unresolved { fill: none; stroke: #8455a2; stroke-width: 5; stroke-dasharray: 10 7; }

@media (max-width: 760px) {
  [data-physics-light-model-router] .segmented-control, [data-physics-light-spectrum-map] .segmented-control, [data-physics-light-wave-conversion] .segmented-control, [data-physics-light-photon-energy] .segmented-control, [data-physics-light-energy-levels] .segmented-control, [data-physics-light-absorption-gate] .segmented-control, [data-physics-light-emission-lines] .segmented-control, [data-physics-light-spectrum-audit] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .light-spectrum-board text, .light-level-board text, .light-spectrum-audit-board text { font-size: 20px; }
  .light-spectrum-label { font-size: 16px !important; }
  .light-spectrum-note, .light-entity-label, .light-calibration-tag { font-size: 18px !important; }
}

/* Première SVT : divisions cellulaires des eucaryotes */
[data-biology-cell-count-contract], [data-biology-cell-cycle-ledger], [data-biology-chromosome-condensation], [data-biology-mitosis-tracker], [data-biology-microscope-phase-audit], [data-biology-karyotype-ploidy], [data-biology-meiosis-tracker], [data-biology-division-comparator] {
  border-color: #53775f;
  background: linear-gradient(145deg, #fbfdf9, #edf4ec);
  box-shadow: inset .35rem 0 #c76a45;
}
.cell-division-board {
  overflow: hidden;
  border: 1px solid #a9c5b1;
  border-radius: 1rem;
  background: #f8fcf7;
}
.cell-division-board svg { display: block; width: 100%; height: auto; }
.cell-division-board text { fill: #294b3d; font-size: 17px; font-weight: 850; }
.cell-chromatid, .cell-mini-chromosome, .cell-karyo, .cell-meiosis-X { fill: none; stroke: #4d6e96; stroke-width: 13; stroke-linecap: round; }
.cell-chromatid--warm { stroke: #b8664a; }
.cell-centromere { fill: #df9c45; stroke: #775326; stroke-width: 3; }
.cell-count-rule, .cell-karyo-base { stroke: #8ba596; stroke-width: 3; }
.cell-cycle-arrow, .cell-meiosis-arrow { stroke: #708c7b; stroke-width: 4; }
.cell-cycle-stage rect { fill: #edf4ec; stroke: #93ad9a; stroke-width: 3; }
.cell-cycle-stage.is-active rect { fill: #f6dfbd; stroke: #c76a45; stroke-width: 6; }
.cell-cycle-stage path { fill: none; stroke: #50735e; stroke-width: 5; stroke-linecap: round; }
.cell-cycle-stage circle { fill: #dfe9ef; stroke: #50735e; stroke-width: 4; }
.cell-cycle-caption, .cell-visual-label, .cell-meiosis-label { fill: #657b6e !important; font-size: 15px !important; }
.cell-outline, .cell-meiosis-cell { fill: #f1f7ef; stroke: #6d927a; stroke-width: 5; }
.cell-nucleus { fill: #dfe9ef; stroke: #5c7894; stroke-width: 4; }
.cell-pole { fill: #d79540; }
.cell-equator { stroke: #d79540; stroke-width: 4; stroke-dasharray: 10 8; }
.cell-spindle line { stroke: #9aaa79; stroke-width: 3; }
.cell-cleavage { fill: none; stroke: #c76a45; stroke-width: 5; stroke-dasharray: 8 7; }
.cell-micro-sample circle:first-child { fill: #edf4e8; stroke: #91ab94; stroke-width: 3; }
.cell-micro-sample.is-focus circle:first-child { fill: #f7dfba; stroke: #c76342; stroke-width: 7; }
.cell-micro-nucleus { fill: #8495b6 !important; stroke: #4c5f81 !important; }
.cell-micro-DNA, .cell-micro-unknown { fill: none; stroke: #654d78; stroke-width: 7; stroke-linecap: round; }
.cell-micro-unknown { stroke-dasharray: 8 7; }
.cell-karyo-count { fill: #9c4c32 !important; font-size: 23px !important; }
.cell-meiosis-cell.is-focus { fill: #f6dfbd; stroke: #c76a45; stroke-width: 8; }
.cell-no-replication { fill: none; stroke: #b83e3e; stroke-width: 9; stroke-linecap: round; }
.cell-no-replication-label { fill: #a03939 !important; font-size: 18px !important; }

@media (max-width: 760px) {
  [data-biology-cell-count-contract] .segmented-control, [data-biology-cell-cycle-ledger] .segmented-control, [data-biology-chromosome-condensation] .segmented-control, [data-biology-mitosis-tracker] .segmented-control, [data-biology-microscope-phase-audit] .segmented-control, [data-biology-karyotype-ploidy] .segmented-control, [data-biology-meiosis-tracker] .segmented-control, [data-biology-division-comparator] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cell-division-board text { font-size: 20px; }
  .cell-cycle-caption, .cell-visual-label, .cell-meiosis-label { font-size: 19px !important; }
}

/* Première SVT : réplication de l’ADN */
[data-biology-dna-chromatid-scale], [data-biology-dna-replication-model-router], [data-biology-dna-complementarity-builder], [data-biology-dna-replication-eye], [data-biology-dna-s-phase-ledger], [data-biology-dna-meselson-stahl], [data-biology-dna-replication-rate], [data-biology-dna-pcr-counter] {
  border-color: #536f78;
  background: linear-gradient(145deg, #fbfdfb, #edf3f0);
  box-shadow: inset .35rem 0 #bd6744;
}
.dna-model-strand { fill: none; stroke-width: 8; stroke-linecap: round; }
.dna-parent-key { stroke: #496e9d; stroke-width: 7; }
.dna-new-key { stroke: #c56d45; stroke-width: 7; }
.dna-parent-label, .dna-new-label { font-size: 15px !important; }
.dna-test-label { fill: #687b70 !important; font-size: 15px !important; }
.dna-base-pair circle { fill: #e3eef4; stroke: #4e718e; stroke-width: 4; }
.dna-base-pair line { stroke: #8ba59a; stroke-width: 4; stroke-dasharray: 7 6; }
.dna-base-pair.is-error circle { fill: #f8d9cc; stroke: #b84c3f; }
.dna-base-pair.is-error line { stroke: #b84c3f; stroke-width: 7; }
.dna-orientation { fill: #9d5138 !important; }
.dna-parent-line { stroke: #496e9d; stroke-width: 6; }
.dna-eye { fill: none; stroke: #c56d45; stroke-width: 6; }
.dna-new-strand { stroke: #5c9779; stroke-width: 5; stroke-dasharray: 10 7; }
.dna-fork-label { fill: #9d5138 !important; font-size: 14px !important; }
.dna-scale-bar { stroke: #344f5a; stroke-width: 6; }
.dna-scale-label { fill: #677a71 !important; font-size: 14px !important; }
.dna-density-tube { stroke: #536f78; stroke-width: 5; }
.dna-density-band { fill: #8a5a9d; }
.dna-density-band--light { fill: #d48a45; }
.dna-density-band--hybrid { fill: #6b7fb0; }
.dna-density-band--heavy { fill: #435d7e; }
.dna-density-guide { stroke: #8ca195; stroke-width: 3; stroke-dasharray: 6 5; }
.dna-pcr-formula { fill: #9d5138 !important; font-size: 23px !important; }
.dna-pcr-copies path { fill: none; stroke: #4e718e; stroke-width: 4; stroke-linecap: round; }
.dna-pcr-ellipsis { fill: #4c6e5b !important; font-size: 17px !important; }

@media (max-width: 760px) {
  [data-biology-dna-chromatid-scale] .segmented-control, [data-biology-dna-replication-model-router] .segmented-control, [data-biology-dna-complementarity-builder] .segmented-control, [data-biology-dna-replication-eye] .segmented-control, [data-biology-dna-s-phase-ledger] .segmented-control, [data-biology-dna-meselson-stahl] .segmented-control, [data-biology-dna-replication-rate] .segmented-control, [data-biology-dna-pcr-counter] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dna-parent-label, .dna-new-label, .dna-test-label, .dna-fork-label, .dna-scale-label { font-size: 18px !important; }
}

/* Première SVT : mutations de l’ADN et variabilité génétique */
[data-biology-mutation-status-gate], [data-biology-mutation-sequence-comparator], [data-biology-mutation-origin-router], [data-biology-mutation-repair-filter], [data-biology-mutation-uv-protocol], [data-biology-mutation-lineage-router], [data-biology-mutation-allele-ledger], [data-biology-mutation-trio-audit] {
  border-color: #5b746f;
  background: linear-gradient(145deg, #fcfdf9, #edf3ee);
  box-shadow: inset .35rem 0 #c16143;
}
.mutation-row-label, .mutation-chart-label { fill: #315b50 !important; font-size: 15px !important; }
.mutation-base rect { fill: #e5eee8; stroke: #66847a; stroke-width: 3; }
.mutation-base text { fill: #28483f !important; font-size: 22px !important; }
.mutation-base.is-change rect { fill: #f7d8c7; stroke: #b84d38; stroke-width: 5; }
.mutation-base.is-change line { stroke: #b84d38; stroke-width: 4; stroke-dasharray: 6 5; }
.mutation-sequence-note { fill: #647871 !important; font-size: 14px !important; }
.mutation-filter-arrow, .mutation-filter-branch, .mutation-line, .mutation-trio-arrow { fill: none; stroke: #758d83; stroke-width: 5; }
.mutation-filter-node rect { fill: #edf4ef; stroke: #789188; stroke-width: 4; }
.mutation-filter-node--safe rect { fill: #e1f1e5; stroke: #58906b; }
.mutation-filter-node.is-focus rect, .mutation-filter-node--safe.is-focus rect { fill: #f8ddba; stroke: #c16143; stroke-width: 7; }
.mutation-clone-mini circle { fill: #c16143; stroke: #803c2d; stroke-width: 2; }
.mutation-clone-mini text { fill: #8b4534 !important; font-size: 14px !important; }
.mutation-chart-axis { stroke: #526d66; stroke-width: 4; }
.mutation-dose rect { fill: #9cb4a8; stroke: #5e7d70; stroke-width: 3; }
.mutation-dose circle { fill: #cf6841; stroke: #8a3c2c; stroke-width: 2; }
.mutation-dose.is-focus rect { fill: #f0c37e; stroke: #b95739; stroke-width: 7; }
.mutation-mutant-count { fill: #9c4833 !important; font-size: 14px !important; }
.mutation-cell { fill: #e6eee9; stroke: #648176; stroke-width: 4; }
.mutation-cell--changed { fill: #f3cfae; stroke: #b95739; }
.mutation-cell--germline, .mutation-gamete { fill: #dce8f1; stroke: #58758b; stroke-width: 4; }
.mutation-gamete--changed, .mutation-cell--offspring { fill: #ecd5bc; stroke: #b95739; stroke-width: 5; }
.mutation-lineage-group { opacity: .46; }
.mutation-lineage-group.is-focus { opacity: 1; }
.mutation-cell--offspring.is-focus { stroke-width: 9; }
.mutation-trio-card rect, .mutation-trio-verdict rect { fill: #edf4ef; stroke: #789188; stroke-width: 4; }
.mutation-trio-card.is-focus rect, .mutation-trio-verdict.is-focus rect { fill: #f8ddba; stroke: #c16143; stroke-width: 7; }
.mutation-candidate { fill: #a84432 !important; font-weight: 950; }

@media (max-width: 760px) {
  [data-biology-mutation-status-gate] .segmented-control, [data-biology-mutation-sequence-comparator] .segmented-control, [data-biology-mutation-origin-router] .segmented-control, [data-biology-mutation-repair-filter] .segmented-control, [data-biology-mutation-uv-protocol] .segmented-control, [data-biology-mutation-lineage-router] .segmented-control, [data-biology-mutation-allele-ledger] .segmented-control, [data-biology-mutation-trio-audit] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mutation-row-label, .mutation-chart-label, .mutation-sequence-note, .mutation-mutant-count, .mutation-clone-mini text { font-size: 18px !important; }
}

/* Première SVT : l’histoire humaine lue dans son génome */
[data-biology-ancestry-evidence-contract], [data-biology-ancestry-sequence-distance], [data-biology-ancestry-tree-audit], [data-biology-ancestry-generation-counter], [data-biology-ancestry-ancient-dna-audit], [data-biology-ancestry-introgression-router], [data-biology-ancestry-adaptive-introgression], [data-biology-ancestry-allele-timeline] {
  border-color: #5b6e7e;
  background: linear-gradient(145deg, #fbfcfb, #edf1ee);
  box-shadow: inset .35rem 0 #bd6645;
}
.ancestry-row-label, .ancestry-chart-label { fill: #31566a !important; font-size: 15px !important; }
.ancestry-base rect { fill: #e7eee9; stroke: #71877e; stroke-width: 3; }
.ancestry-base text { fill: #2d4c43 !important; font-size: 18px !important; }
.ancestry-base.is-difference rect { fill: #f5d7c3; stroke: #b8563d; stroke-width: 5; }
.ancestry-base.is-unknown rect { fill: #e8e4ef; stroke: #79678d; stroke-dasharray: 6 4; }
.ancestry-visual-note, .ancestry-small { fill: #64756e !important; font-size: 14px !important; }
.ancestry-matrix rect { fill: #edf3ef; stroke: #71877e; stroke-width: 4; }
.ancestry-matrix.is-focus rect { fill: #f7dfbe; stroke: #bd6645; stroke-width: 7; }
.ancestry-tree path { fill: none; stroke: #607b71; stroke-width: 6; }
.ancestry-tree circle { fill: #e4edf2; stroke: #536f81; stroke-width: 4; }
.ancestry-tree.is-focus path { stroke: #bd6645; }
.ancestry-gene-flow { fill: none; stroke: #9c4e87; stroke-width: 7; stroke-dasharray: 10 7; }
.ancestry-flow-label { fill: #873d73 !important; font-size: 14px !important; }
.ancestry-audit-frame { fill: none; stroke: #bd6645; stroke-width: 6; stroke-dasharray: 12 8; }
.ancient-dna-step rect { fill: #edf3ef; stroke: #71877e; stroke-width: 4; }
.ancient-dna-step.is-focus rect { fill: #f7dfbe; stroke: #bd6645; stroke-width: 7; }
.ancient-dna-arrow { stroke: #71877e; stroke-width: 5; }
.ancient-fragments, .ancient-coverage { fill: none; stroke: #536f81; stroke-width: 7; stroke-linecap: round; }
.ancient-contaminant { fill: #a47cad; stroke: #654c70; stroke-width: 3; }
.ancestry-population { fill: #e7eee9; stroke: #668078; stroke-width: 5; }
.ancestry-population--archaic { fill: #eadfd3; stroke: #9a6249; }
.ancestry-population--present { fill: #e1edf3; stroke: #4f7286; }
.ancestry-split-line { fill: none; stroke: #748b82; stroke-width: 5; }
.ancestry-route { opacity: .58; }
.ancestry-route.is-focus { opacity: 1; }
.ancestry-route.is-focus .ancestry-population { stroke-width: 9; }
.ancestry-introgression { stroke: #bd6645; stroke-width: 7; stroke-dasharray: 10 7; }
.ancestry-introgression--two { stroke: #8669a0; }
.ancestry-segment { fill: #bd6645; }
.ancestry-segment--two { fill: #8669a0; }
.ancestry-chart-axis { stroke: #536f68; stroke-width: 4; }
.ancestry-frequency-line { fill: none; stroke: #52768b; stroke-width: 7; }
.ancestry-frequency-point circle { fill: #9bb5aa; stroke: #55766a; stroke-width: 4; }
.ancestry-frequency-point.is-focus circle { fill: #f2c783; stroke: #b8563d; stroke-width: 7; }
.ancestry-convergence { fill: #9b4a34 !important; font-size: 17px !important; }

@media (max-width: 760px) {
  [data-biology-ancestry-evidence-contract] .segmented-control, [data-biology-ancestry-sequence-distance] .segmented-control, [data-biology-ancestry-tree-audit] .segmented-control, [data-biology-ancestry-generation-counter] .segmented-control, [data-biology-ancestry-ancient-dna-audit] .segmented-control, [data-biology-ancestry-introgression-router] .segmented-control, [data-biology-ancestry-adaptive-introgression] .segmented-control, [data-biology-ancestry-allele-timeline] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ancestry-row-label, .ancestry-chart-label, .ancestry-visual-note, .ancestry-small, .ancestry-flow-label { font-size: 18px !important; }
}

/* Première SVT : expression du patrimoine génétique */
[data-biology-expression-information-code], [data-biology-expression-transcription-strand], [data-biology-expression-rna-maturation], [data-biology-expression-compartment-route], [data-biology-expression-codon-decoder], [data-biology-expression-frame-audit], [data-biology-expression-profile-matrix], [data-biology-expression-phenotype-scales] {
  border-color: #4e6d70;
  background: linear-gradient(145deg, #fbfcf8, #e8efeb);
  box-shadow: inset .35rem 0 #c66742;
}
.expression-formula-label, .expression-row-title, .expression-compartment-label, .expression-direction, .expression-matrix-head, .expression-matrix-label { fill: #315d5b !important; font-weight: 900; }
.expression-small, .expression-visual-note { fill: #647873 !important; font-size: 14px !important; }
.expression-alphabet-card rect { fill: #e9f0ec; stroke: #6e8880; stroke-width: 4; }
.expression-alphabet-card.is-focus rect { fill: #f7dfb9; stroke: #bb5d3e; stroke-width: 7; }
.expression-letter-row circle { fill: #426f72; stroke: #294f52; stroke-width: 2; }
.expression-letter-row text { fill: #fff !important; font-weight: 950; }
.expression-amino-cloud circle { fill: #8aa7a0; stroke: #58766f; stroke-width: 2; }
.expression-result-number { fill: #a74c35 !important; font-size: 22px !important; font-weight: 950; }
.expression-strand-row { opacity: .64; }
.expression-strand-row.is-focus { opacity: 1; }
.expression-base rect { fill: #e8efeb; stroke: #6c857e; stroke-width: 3; }
.expression-base.rna rect { fill: #dcebf0; stroke: #4e7282; }
.expression-strand-row.is-focus .expression-base rect { fill: #f7dfb9; stroke: #bb5d3e; stroke-width: 5; }
.expression-audit-frame { fill: none; stroke: #bb5d3e; stroke-width: 6; stroke-dasharray: 12 8; }
.expression-rna-block rect { stroke-width: 4; }
.expression-rna-block.is-exon rect { fill: #dcebe5; stroke: #52776c; }
.expression-rna-block.is-intron rect { fill: #e9e2ed; stroke: #80698b; stroke-dasharray: 7 5; }
.expression-rna-block.is-proof rect { stroke: #bb5d3e; stroke-width: 7; }
.expression-maturation-arrow, .expression-route-arrow { fill: none; stroke: #657f78; stroke-width: 6; }
.expression-cell { fill: #eef4ef; stroke: #658078; stroke-width: 5; }
.expression-nucleus { fill: #e1e9f0; stroke: #4f7281; stroke-width: 5; }
.expression-nuclear-envelope { stroke: #4f7281; stroke-width: 7; }
.expression-pore { fill: #f2c478; stroke: #ad563a; stroke-width: 4; }
.expression-route-stage rect { fill: #f8fbf8; stroke: #718a82; stroke-width: 4; }
.expression-route-stage.is-focus rect { fill: #f7dfb9; stroke: #bb5d3e; stroke-width: 7; }
.expression-codon-axis { stroke: #58756e; stroke-width: 5; }
.expression-codon-card rect { fill: #e8f0eb; stroke: #6d877f; stroke-width: 4; }
.expression-codon-card circle { fill: #dbe9ef; stroke: #4f7281; stroke-width: 4; }
.expression-codon-card line { stroke: #718981; stroke-width: 4; }
.expression-codon-card.is-focus rect, .expression-codon-card.is-focus circle { fill: #f7dfb9; stroke: #bb5d3e; stroke-width: 7; }
.expression-codon-card.is-stop circle { fill: #eee3e2; stroke: #a35b50; }
.expression-amino-label { font-size: 15px !important; }
.expression-heat-cell rect { stroke: #6c857d; stroke-width: 3; }
.expression-heat-cell.level-0 rect { fill: #edf2ef; }
.expression-heat-cell.level-2 rect { fill: #b8d0c6; }
.expression-heat-cell.level-3 rect { fill: #f2bd73; stroke: #ad563a; stroke-width: 5; }
.expression-heat-cell.is-audit rect { stroke-dasharray: 9 5; stroke-width: 7; }

@media (max-width: 760px) {
  [data-biology-expression-information-code] .segmented-control, [data-biology-expression-transcription-strand] .segmented-control, [data-biology-expression-rna-maturation] .segmented-control, [data-biology-expression-compartment-route] .segmented-control, [data-biology-expression-codon-decoder] .segmented-control, [data-biology-expression-frame-audit] .segmented-control, [data-biology-expression-profile-matrix] .segmented-control, [data-biology-expression-phenotype-scales] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .expression-small, .expression-visual-note { font-size: 18px !important; }
}

/* Première SVT : enzymes et propriétés catalytiques */
[data-biology-enzyme-catalyst-ledger], [data-biology-enzyme-specificity-matrix], [data-biology-enzyme-active-site-model], [data-biology-enzyme-protocol-controls], [data-biology-enzyme-progress-curve], [data-biology-enzyme-substrate-series], [data-biology-enzyme-concentration-series], [data-biology-enzyme-cell-profile] {
  border-color: #546d63;
  background: linear-gradient(145deg, #fbfcf7, #e8efe9);
  box-shadow: inset .35rem 0 #c2603f;
}
.enzyme-axis { stroke: #536f68; stroke-width: 4; }
.enzyme-axis-label, .enzyme-matrix-head, .enzyme-matrix-label { fill: #315d56 !important; font-weight: 900; }
.enzyme-small, .enzyme-visual-note { fill: #637770 !important; font-size: 14px !important; }
.enzyme-progress { fill: none; stroke-width: 7; }
.enzyme-progress--active { stroke: #b85b3d; }
.enzyme-progress--control { stroke: #739087; stroke-dasharray: 11 7; }
.enzyme-progress.is-focus { stroke-width: 11; }
.enzyme-curve-label { fill: #315d56 !important; font-size: 15px !important; }
.enzyme-cycle circle { fill: #f5ddb7; stroke: #b85b3d; stroke-width: 6; }
.enzyme-endpoint { stroke: #8a6a98; stroke-width: 5; stroke-dasharray: 10 6; }
.enzyme-warning { fill: #f2be70; stroke: #aa4d37; stroke-width: 4; }
.enzyme-matrix-cell rect { fill: #edf2ee; stroke: #71887f; stroke-width: 3; }
.enzyme-matrix-cell.is-positive rect { fill: #c5d9cf; stroke: #55776a; stroke-width: 5; }
.enzyme-matrix-cell.is-focus rect { fill: #f4d9ac; stroke: #b85b3d; stroke-width: 7; }
.enzyme-audit-frame { fill: none; stroke: #b85b3d; stroke-width: 6; stroke-dasharray: 12 8; }
.enzyme-protein { fill: #dce9e2; stroke: #58786d; stroke-width: 6; }
.enzyme-protein.is-focus { fill: #c4d9ce; stroke-width: 9; }
.enzyme-pocket { fill: #f8faf7; stroke: #496b61; stroke-width: 4; }
.enzyme-ligand circle { fill: #8ca7b4; stroke: #4d7180; stroke-width: 3; }
.enzyme-ligand line { stroke: #4d7180; stroke-width: 5; }
.enzyme-ligand.is-focus circle { fill: #f1c174; stroke: #b85b3d; stroke-width: 6; }
.enzyme-residue circle { fill: #c8b3d1; stroke: #755f81; stroke-width: 3; }
.enzyme-residue.is-focus circle { fill: #f1c174; stroke: #b85b3d; stroke-width: 6; }
.enzyme-residue text { fill: #5d4d68 !important; font-size: 13px !important; }
.enzyme-fit-arrow { fill: none; stroke: #b85b3d; stroke-width: 6; stroke-dasharray: 10 7; }
.enzyme-tube>path:first-child { fill: #f8faf7; stroke: #668078; stroke-width: 5; }
.enzyme-tube .enzyme-liquid { fill: #c9ddd3; stroke: none; }
.enzyme-tube.is-focus>path:first-child { stroke: #b85b3d; stroke-width: 8; }
.enzyme-tube.is-focus .enzyme-liquid { fill: #f1c477; }
.enzyme-progress--data { stroke: #52788a; }
.enzyme-data-point { fill: #52788a; }
.enzyme-tangent { stroke: #b85b3d; stroke-width: 5; stroke-dasharray: 10 6; }
.enzyme-tangent.is-focus { stroke-width: 8; }
.enzyme-tangent-point { fill: #f1c174; stroke: #b85b3d; stroke-width: 4; }
.enzyme-calculation { fill: #9f4933 !important; font-size: 17px !important; font-weight: 950; }
.enzyme-substrate-curve { fill: none; stroke: #52788a; stroke-width: 7; }
.enzyme-series-point circle { fill: #a8beb4; stroke: #5b796e; stroke-width: 4; }
.enzyme-series-point.is-focus circle { fill: #f1c174; stroke: #b85b3d; stroke-width: 7; }
.enzyme-slope-line line { stroke: #7a938a; stroke-width: 5; }
.enzyme-slope-line.is-focus line { stroke: #b85b3d; stroke-width: 9; }
.enzyme-slope-line text { fill: #315d56 !important; font-size: 14px !important; }
.enzyme-profile-card rect { fill: #edf2ee; stroke: #71887f; stroke-width: 4; }
.enzyme-profile-card.is-strong rect { fill: #c5d9cf; stroke: #55776a; stroke-width: 6; }
.enzyme-profile-card.is-synthesis rect { stroke: #b85b3d; }
.enzyme-profile-value { fill: #9f4933 !important; font-size: 19px !important; font-weight: 950; }

@media (max-width: 760px) {
  [data-biology-enzyme-catalyst-ledger] .segmented-control, [data-biology-enzyme-specificity-matrix] .segmented-control, [data-biology-enzyme-active-site-model] .segmented-control, [data-biology-enzyme-protocol-controls] .segmented-control, [data-biology-enzyme-progress-curve] .segmented-control, [data-biology-enzyme-substrate-series] .segmented-control, [data-biology-enzyme-concentration-series] .segmented-control, [data-biology-enzyme-cell-profile] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .enzyme-small, .enzyme-visual-note, .enzyme-curve-label, .enzyme-residue text, .enzyme-slope-line text { font-size: 18px !important; }
}

/* Première SVT : contrastes entre continents et océans */
[data-geology-contrast-hypsometry], [data-geology-contrast-relief-profile], [data-geology-contrast-sampling], [data-geology-contrast-rock-observer], [data-geology-contrast-texture], [data-geology-contrast-density-lab], [data-geology-contrast-geological-map], [data-geology-contrast-evidence-synthesis] {
  border-color: #526d68;
  background: linear-gradient(145deg, #fbfcf7, #e7efea);
  box-shadow: inset .35rem 0 #bd6040;
}
.geology-board { background: linear-gradient(150deg, #173f43, #214f50); }
.geology-board svg text { fill: #173e40; font-weight: 850; }
.geology-small, .geology-visual-note { fill: #607873 !important; font-size: 14px !important; font-weight: 750 !important; }
.geology-warning-label { fill: #9f4933 !important; font-size: 16px !important; font-weight: 950 !important; }
.geology-axis { stroke: #526f68; stroke-width: 4; }
.geology-sea-level { stroke: #5e8391; stroke-width: 5; stroke-dasharray: 10 7; }
.geology-audit-frame { fill: none; stroke: #b8583a; stroke-width: 6; stroke-dasharray: 12 8; }
.geology-focus-line { fill: none; stroke: #b8583a; stroke-width: 7; stroke-dasharray: 10 6; }
.geology-focus-ring { fill: rgba(239,190,111,.35); stroke: #b8583a; stroke-width: 7; }
.geology-ocean-field { fill: #d9eaf0; stroke: #557888; stroke-width: 4; }
.geology-continent-shape { fill: #c7d9c7; stroke: #557269; stroke-width: 5; }
.geology-grid-line { stroke: rgba(69,105,103,.32); stroke-width: 2; }
.geology-hypsometry-bar { fill: #85a8a0; stroke: #52766d; stroke-width: 2; }
.geology-hypsometry-bar.is-mode { fill: #efbe70; stroke: #b8583a; stroke-width: 5; }
.geology-bracket { fill: none; stroke: #756588; stroke-width: 5; }
.geology-air { fill: #edf4ef; stroke: #648079; stroke-width: 4; }
.geology-water { fill: #cfe3ea; }
.geology-profile { fill: #b9c9a9; stroke: #526e64; stroke-width: 6; }
.geology-strata { stroke: #526e64; stroke-width: 4; }
.geology-strata--one { fill: #d3ddbd; }
.geology-strata--two { fill: #c7b996; }
.geology-strata--three { fill: #9ca99d; }
.geology-sample-source circle { fill: #eef4ef; stroke: #6c867d; stroke-width: 5; }
.geology-sample-source path { fill: none; stroke: #5d746d; stroke-width: 5; }
.geology-sample-source.is-focus circle { fill: #f4d9aa; stroke: #b8583a; stroke-width: 8; }
.geology-sample-source.is-focus path { stroke: #b8583a; stroke-width: 8; }
.geology-rock-sample { fill: #d8d8d0; stroke: #536e67; stroke-width: 7; }
.geology-rock-sample--basalt { fill: #6d7776; }
.geology-rock-sample--gabbro { fill: #929d91; }
.geology-rock-sample--audit { fill: #bcc8bf; }
.geology-mineral { stroke-width: 3; }
.geology-mineral--quartz { fill: #e9edf0; stroke: #8b9ca5; }
.geology-mineral--feldspar { fill: #e9bcad; stroke: #a5665a; }
.geology-mineral--mica { fill: #746878; stroke: #4f4654; }
.geology-mineral--plagioclase { fill: #d8ddd4; stroke: #78877f; }
.geology-mineral--pyroxene { fill: #536b5d; stroke: #344c40; }
.geology-phenocryst { fill: #e3d7bd; stroke: #b8583a; stroke-width: 6; }
.geology-rock-legend path { stroke: #8ea69e; stroke-width: 4; }
.geology-rock-legend text, [data-geology-contrast-hypsometry] .geology-small, [data-geology-contrast-sampling] .geology-visual-note, [data-geology-contrast-texture] .geology-small, [data-geology-contrast-geological-map] .geology-small { fill: #d9e8e2 !important; }
.geology-cooling-path { fill: #d8e2d6; stroke: #698078; stroke-width: 5; }
.geology-cooling-path--fast { fill: #aebfba; }
.geology-cooling-path.is-focus { fill: #f0d7a8; stroke: #b8583a; stroke-width: 8; }
.geology-crystal-large { fill: #e8e4d9; stroke: #677c76; stroke-width: 4; }
.geology-microlite { stroke: #edf2ee; stroke-width: 5; stroke-linecap: round; }
.geology-balance rect:first-child { fill: #d5e0d9; stroke: #5d786f; stroke-width: 5; }
.geology-balance rect:nth-child(2) { fill: #243f3e; }
.geology-balance text { fill: #f7faf7 !important; }
.geology-balance.is-focus rect:first-child, .geology-cylinder.is-focus>path { stroke: #b8583a; stroke-width: 8; }
.geology-sample { fill: #8a958d; stroke: #4f625c; stroke-width: 5; }
.geology-cylinder>path { fill: #edf4ef; stroke: #5b776f; stroke-width: 6; }
.geology-cylinder>text { fill: #d9e8e2 !important; }
.geology-liquid { fill: #b9dce7; }
.geology-level { stroke-width: 5; }
.geology-level--initial { stroke: #756588; stroke-dasharray: 8 6; }
.geology-level--final { stroke: #b8583a; }
.geology-equation-card text { fill: #9f4933 !important; font-size: 21px !important; font-weight: 950 !important; }
.geology-france { stroke: #586f69; stroke-width: 4; }
.geology-france--base { fill: #d6dfcf; }
.geology-france--sediment { fill: #e8d6a9; }
.geology-france--granite { fill: #d3aaa9; }
.geology-france--mountain { fill: #9eaa91; }
.geology-france--volcanic { fill: #7b6d78; }
.geology-map-legend rect { fill: #f7faf6; stroke: #637b74; stroke-width: 4; }
.geology-map-legend text { font-size: 16px !important; }
.geology-map-legend .is-sediment { fill: #e8d6a9; }
.geology-map-legend .is-granite { fill: #d3aaa9; }
.geology-map-legend .is-mountain { fill: #9eaa91; }
.geology-map-legend .is-volcanic { fill: #7b6d78; }
.geology-scale-bar { stroke: #2f5551; stroke-width: 8; }
.geology-depth-cut { fill: #a8b39f; stroke: #5c756d; stroke-width: 5; }
.geology-evidence-card rect { fill: #eef4ef; stroke: #6a837b; stroke-width: 5; }
.geology-evidence-card circle { fill: #89a59b; stroke: #56756a; stroke-width: 4; }
.geology-evidence-card.is-focus rect { fill: #f3d9ab; stroke: #b8583a; stroke-width: 8; }
.geology-evidence-card.is-focus circle { fill: #eebd70; stroke: #b8583a; stroke-width: 6; }
.geology-evidence-arrow { fill: none; stroke: #e7bd6d; stroke-width: 7; }
.geology-convergence-line { fill: none; stroke: #728b82; stroke-width: 6; }

@media (max-width: 760px) {
  [data-geology-contrast-hypsometry] .segmented-control, [data-geology-contrast-relief-profile] .segmented-control, [data-geology-contrast-sampling] .segmented-control, [data-geology-contrast-rock-observer] .segmented-control, [data-geology-contrast-texture] .segmented-control, [data-geology-contrast-density-lab] .segmented-control, [data-geology-contrast-geological-map] .segmented-control, [data-geology-contrast-evidence-synthesis] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .geology-small, .geology-visual-note, .geology-warning-label { font-size: 18px !important; }
  .geology-map-legend text { font-size: 26px !important; }
  .geology-equation-card text { font-size: 25px !important; }
}

/* Première SVT : sismologie, thermique et structure interne */
[data-geology-seismic-seismogram], [data-geology-seismic-locator], [data-geology-seismic-refraction], [data-geology-seismic-shadow-zone], [data-geology-seismic-prem-profile], [data-geology-seismic-mechanical-shells], [data-geology-seismic-geotherm], [data-geology-seismic-tomography] {
  border-color: #4c6873;
  background: linear-gradient(145deg, #fbfcf8, #e6edef);
  box-shadow: inset .35rem 0 #bd5b3d;
}
.seismic-axis { stroke: #9eb7b1; stroke-width: 4; }
.seismic-note { fill: #d9e9e4 !important; font-size: 15px !important; font-weight: 800 !important; }
.seismic-warning { fill: #efbd70 !important; font-size: 16px !important; font-weight: 950 !important; }
.seismic-trace { fill: none; stroke: #d8e8e2; stroke-width: 4; }
.seismic-pick line { stroke: #7d9a91; stroke-width: 3; stroke-dasharray: 8 6; }
.seismic-pick text { fill: #c9ddd6 !important; }
.seismic-pick.is-focus line { stroke: #efbd70; stroke-width: 7; }
.seismic-pick.is-focus text { fill: #efbd70 !important; font-size: 19px !important; }
.seismic-map { fill: #d6e1d2; stroke: #738a80; stroke-width: 5; }
.seismic-station path { fill: #f0bc6d; stroke: #a74d35; stroke-width: 4; }
.seismic-station text { fill: #dbe9e4 !important; }
.seismic-distance-ring { fill: none; stroke: #5e8290; stroke-width: 5; stroke-dasharray: 10 7; }
.seismic-epicenter { fill: #efbd70; stroke: #ad5036; stroke-width: 4; }
.seismic-epicenter-cross { stroke: #983f2d; stroke-width: 5; }
.seismic-residual-card rect, .tomography-reference rect { fill: #f6faf7; stroke: #b75a3d; stroke-width: 5; }
.seismic-medium { stroke: #708981; stroke-width: 4; }
.seismic-medium--one { fill: #dce7df; }
.seismic-medium--two { fill: #bdd1d1; }
.seismic-interface { stroke: #536f68; stroke-width: 7; }
.seismic-normal { stroke: #7d6990; stroke-width: 4; stroke-dasharray: 9 6; }
.seismic-ray { fill: none; stroke: #d8e8e2; stroke-width: 7; }
.seismic-ray--reflected { stroke: #87a69c; }
.seismic-ray--refracted { stroke: #6f90a0; }
.seismic-ray.is-focus, .seismic-ray--reflected.is-focus, .seismic-ray--refracted.is-focus { stroke: #b8583a; stroke-width: 11; }
.seismic-curved-ray { fill: none; stroke: #efbd70; stroke-width: 8; }
.seismic-earth { fill: #d8e3d8; stroke: #789087; stroke-width: 5; }
.seismic-mantle { fill: #c5b68f; stroke: #836f52; stroke-width: 4; }
.seismic-outer-core { fill: #e6a85e; stroke: #a65d37; stroke-width: 5; }
.seismic-inner-core { fill: #f3d79c; stroke: #a65d37; stroke-width: 4; }
.seismic-source { fill: #b74e35; stroke: #f3c675; stroke-width: 4; }
.seismic-shadow-zone { fill: rgba(92,116,137,.58); stroke: #658493; stroke-width: 4; }
.seismic-shadow-zone--p { fill: rgba(123,102,143,.53); stroke: #806b91; }
.seismic-s-ray, .seismic-p-ray { fill: none; stroke: #dbe9e4; stroke-width: 6; }
.seismic-p-ray { stroke: #efbd70; }
.seismic-p-ray.is-focus { stroke: #b8583a; stroke-width: 9; }
.seismic-earth-label { fill: #84432f !important; font-size: 13px !important; }
.prem-p, .prem-s, .prem-density { fill: none; stroke-width: 7; }
.prem-p { stroke: #df7550; }
.prem-s { stroke: #75a1b3; }
.prem-density { stroke: #d4ba70; }
.prem-boundary line { stroke: #729087; stroke-width: 3; stroke-dasharray: 8 6; }
.prem-boundary text { fill: #d6e7e0 !important; font-size: 13px !important; }
.prem-boundary.is-focus line { stroke: #efbd70; stroke-width: 8; }
.prem-boundary.is-focus text { fill: #efbd70 !important; font-size: 17px !important; }
.prem-label { font-size: 18px !important; font-weight: 950 !important; }
.prem-label--p { fill: #df7550 !important; }
.prem-label--s { fill: #75a1b3 !important; }
.prem-label--density { fill: #d4ba70 !important; }
.mechanical-crust { fill: #d9ccb0; stroke: #776a55; stroke-width: 4; }
.mechanical-lithosphere { fill: #aab8a7; stroke: #65776c; stroke-width: 4; }
.mechanical-asthenosphere { fill: #7e9d96; stroke: #546f68; stroke-width: 4; }
.mechanical-slab { fill: #b8c5be; stroke: #536e66; stroke-width: 6; }
.mechanical-focus { fill: none; stroke: #b8583a; stroke-width: 8; }
.mechanical-frame { fill: none; stroke: #efbd70; stroke-width: 7; stroke-dasharray: 10 7; }
.mechanical-quake { fill: #efbd70; stroke: #a74d35; stroke-width: 4; }
.mechanical-label { fill: #183f3f !important; font-size: 16px !important; }
.geotherm-real { fill: none; stroke: #efbd70; stroke-width: 9; }
.geotherm-linear { fill: none; stroke: #7c918a; stroke-width: 5; stroke-dasharray: 10 7; }
.geotherm-linear.is-focus { stroke: #b8583a; stroke-width: 9; }
.geotherm-lithosphere { fill: rgba(214,226,218,.22); stroke: #7c958c; stroke-width: 3; }
.geotherm-measure, .geotherm-bracket { fill: none; stroke: #b8583a; stroke-width: 7; }
.geotherm-convection { fill: none; stroke: #7aa1ad; stroke-width: 8; }
.tomography-earth { fill: #d7e1d6; stroke: #738980; stroke-width: 6; }
.tomography-fast { fill: rgba(72,126,155,.72); stroke: #426f88; stroke-width: 5; }
.tomography-slow { fill: rgba(193,82,57,.68); stroke: #a94d35; stroke-width: 5; }
.tomography-fast.is-focus, .tomography-slow.is-focus { stroke: #efbd70; stroke-width: 10; }
.tomography-ray { fill: none; stroke: rgba(238,191,112,.66); stroke-width: 4; }

@media (max-width: 760px) {
  [data-geology-seismic-seismogram] .segmented-control, [data-geology-seismic-locator] .segmented-control, [data-geology-seismic-refraction] .segmented-control, [data-geology-seismic-shadow-zone] .segmented-control, [data-geology-seismic-prem-profile] .segmented-control, [data-geology-seismic-mechanical-shells] .segmented-control, [data-geology-seismic-geotherm] .segmented-control, [data-geology-seismic-tomography] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .seismic-note, .seismic-warning, .prem-boundary text, .mechanical-label { font-size: 20px !important; }
  .seismic-earth-label { font-size: 17px !important; }
}

/* Première SVT : caractérisation de la mobilité horizontale */
[data-geology-plate-boundaries], [data-geology-plate-position-vector], [data-geology-plate-relative-frame], [data-geology-plate-boundary-motion], [data-geology-plate-magnetic-stripes], [data-geology-plate-age-rate], [data-geology-plate-hotspot-track], [data-geology-plate-evidence-audit] {
  border-color: #526c72;
  background: linear-gradient(145deg, #fbfcf8, #e5eeed);
  box-shadow: inset .35rem 0 #bd5b3d;
}
.plate-map, .plate-frame { fill: #d8e3d7; stroke: #718980; stroke-width: 5; }
.plate-boundary-line { fill: none; stroke: #a95038; stroke-width: 8; stroke-dasharray: 12 7; }
.plate-quake { fill: #f0bd6e; stroke: #a74d35; stroke-width: 4; }
.plate-volcano { fill: #c66042; stroke: #7f3d30; stroke-width: 3; }
.plate-interior-zone { fill: rgba(151,181,168,.68); stroke: #57766d; stroke-width: 5; }
.plate-vector, .plate-relative-vector, .plate-hotspot-motion { fill: none; stroke: #e7be70; stroke-width: 9; stroke-linecap: round; marker-end: url(#plateArrow); }
.plate-vector--second { stroke: #7ea9b5; }
.plate-relative-vector { stroke: #d75f40; stroke-width: 11; }
.plate-note { fill: #dceae5 !important; font-size: 15px !important; font-weight: 850 !important; }
.plate-label { fill: #dceae5 !important; font-size: 16px !important; font-weight: 850 !important; }
.plate-warning { fill: #efbd70 !important; font-size: 17px !important; font-weight: 950 !important; }
.plate-grid { stroke: rgba(213,231,224,.18); stroke-width: 2; }
.plate-station { fill: #efbd70; stroke: #a64d35; stroke-width: 5; }
.plate-station--start { fill: #d9e6df; }
.plate-station--end { fill: #efbd70; }
.plate-component { fill: none; stroke: #8facaa; stroke-width: 5; stroke-dasharray: 10 7; }
.plate-time-series { fill: none; stroke: #d9e8e2; stroke-width: 6; }
.plate-trend { fill: none; stroke: #efbd70; stroke-width: 6; }
.plate-uncertainty { fill: none; stroke: #86a39a; stroke-width: 3; stroke-dasharray: 9 7; }
.plate-zero { fill: none; stroke: #efbd70; stroke-width: 7; }
.plate-domain { stroke: #667f76; stroke-width: 5; }
.plate-domain--left { fill: #c8d8cb; }
.plate-domain--right { fill: #9eb9b5; }
.plate-limit { stroke: #e0bb70; stroke-width: 7; stroke-dasharray: 10 7; }
.plate-ridge { fill: none; stroke: #c45b3d; stroke-width: 9; }
.plate-trench { fill: none; stroke: #4f7180; stroke-width: 9; }
.plate-fault-offset { fill: none; stroke: #b75a3d; stroke-width: 10; }
.plate-ocean { fill: #b9d2d6; stroke: #557987; stroke-width: 5; }
.plate-magnetic-stripe { stroke: rgba(35,67,68,.35); stroke-width: 2; }
.plate-magnetic-stripe--normal { fill: #567c89; }
.plate-magnetic-stripe--reverse { fill: #d9e3d8; }
.plate-magnetic-stripe.is-focus { stroke: #efbd70; stroke-width: 6; }
.plate-compass circle { fill: #f7faf7; stroke: #6b8179; stroke-width: 5; }
.plate-compass path { fill: #b8583a; stroke: #743c30; stroke-width: 3; }
.plate-chronology, .plate-distance { fill: none; stroke: #efbd70; stroke-width: 7; }
.plate-axis { stroke: #9eb7b1; stroke-width: 4; }
.plate-age-line { fill: none; stroke: #7ea7b3; stroke-width: 6; }
.plate-age-line.is-focus { stroke: #efbd70; stroke-width: 9; }
.plate-age-point { fill: #d8e5de; stroke: #507586; stroke-width: 4; }
.plate-age-point.is-focus { fill: #efbd70; stroke: #b8583a; stroke-width: 7; }
.plate-hotspot-track { fill: none; stroke: #78958c; stroke-width: 8; stroke-dasharray: 12 7; }
.plate-hotspot circle { fill: #91aaa1; stroke: #55756a; stroke-width: 5; }
.plate-hotspot text { fill: #173e40 !important; font-size: 15px !important; font-weight: 950 !important; }
.plate-hotspot.is-active circle { fill: #efbd70; stroke: #b8583a; stroke-width: 8; }
.plate-hotspot-motion { stroke: #d75f40; }
.plate-evidence-card rect { fill: #edf3ee; stroke: #708880; stroke-width: 5; }
.plate-evidence-card circle { fill: #88a69b; stroke: #55766b; stroke-width: 4; }
.plate-evidence-card text:first-of-type { fill: #173e40 !important; font-size: 18px !important; font-weight: 950 !important; }
.plate-evidence-card .plate-label { fill: #315b56 !important; font-size: 13px !important; }
.plate-evidence-card.is-focus rect { fill: #f2d9ad; stroke: #b8583a; stroke-width: 8; }
.plate-evidence-card.is-focus circle { fill: #efbd70; stroke: #b8583a; stroke-width: 6; }
.plate-convergence { fill: none; stroke: #e8bd6e; stroke-width: 7; }
#plateArrow path { fill: #e7be70; }

@media (max-width: 760px) {
  [data-geology-plate-boundaries] .segmented-control, [data-geology-plate-position-vector] .segmented-control, [data-geology-plate-relative-frame] .segmented-control, [data-geology-plate-boundary-motion] .segmented-control, [data-geology-plate-magnetic-stripes] .segmented-control, [data-geology-plate-age-rate] .segmented-control, [data-geology-plate-hotspot-track] .segmented-control, [data-geology-plate-evidence-audit] .segmented-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .plate-note, .plate-label, .plate-warning, .plate-evidence-card .plate-label, .plate-hotspot text { font-size: 20px !important; }
}

/* Première SVT : dynamique des zones de divergence */
[data-geology-ridge-bathymetry], [data-geology-ridge-decompression], [data-geology-ridge-rock-ledger], [data-geology-ridge-sampling], [data-geology-ridge-slow-accretion], [data-geology-ridge-hydrothermal], [data-geology-ridge-cooling-density], [data-geology-ridge-evidence-chain] { border-color:#506c70;background:linear-gradient(145deg,#fbfcf8,#e5efec);box-shadow:inset .35rem 0 #bd5b3d }
.ridge-note{fill:#dceae4!important;font-size:15px!important;font-weight:850!important}.ridge-label{fill:#dceae4!important;font-size:16px!important;font-weight:850!important}.ridge-warning{fill:#efbd70!important;font-size:17px!important;font-weight:950!important}.ridge-water{fill:#8db6c3;stroke:#527a86;stroke-width:5}.ridge-floor,.ridge-seafloor{fill:#879b8d;stroke:#536f65;stroke-width:7}.ridge-fault,.ridge-detachment{fill:none;stroke:#b8583a;stroke-width:7}.ridge-detachment.is-focus{stroke:#efbd70;stroke-width:11}.ridge-axis{stroke:#efbd70;stroke-width:5;stroke-dasharray:9 7}.ridge-arrow,.ridge-mantle-up{fill:none;stroke:#efbd70;stroke-width:8;marker-end:url(#plateArrow)}.ridge-chart-axis{stroke:#9eb7b1;stroke-width:4}.ridge-solidus{fill:none;stroke:#78958b;stroke-width:7}.ridge-solidus.is-focus{stroke:#efbd70;stroke-width:11}.ridge-pt-path{fill:none;stroke:#7ca8b4;stroke-width:7}.ridge-pt-path.is-focus{stroke:#d86342;stroke-width:10}.ridge-cross{fill:#efbd70;stroke:#b8583a;stroke-width:5}.ridge-melt{fill:#d86442;stroke:#8d432f;stroke-width:5}.ridge-residue{fill:#8da48e;stroke:#536e5a;stroke-width:5}.ridge-layer{stroke:#526e66;stroke-width:5}.ridge-layer.is-focus{stroke:#efbd70;stroke-width:10}.ridge-layer--basalt{fill:#697b79}.ridge-layer--dikes{fill:#94a9a3}.ridge-layer--dikes line{stroke:#526e66;stroke-width:5}.ridge-layer--gabbro{fill:#b6c1b5}.ridge-layer--mantle{fill:#82927c}.ridge-source circle{fill:#dce7df;stroke:#6c857b;stroke-width:5}.ridge-source path{stroke:#789188;stroke-width:6}.ridge-source.is-focus circle{fill:#f1d6a7;stroke:#b8583a;stroke-width:9}.ridge-source.is-focus path{stroke:#b8583a;stroke-width:9}.ridge-source text{fill:#173f3f!important;font-weight:900!important}.ridge-strata{fill:#91a28e;stroke:#5c7469;stroke-width:6}.ridge-slow-left,.ridge-slow-right{fill:#9caf9f;stroke:#587267;stroke-width:6}.ridge-magma{fill:#d25f40;stroke:#8e432f;stroke-width:5}.ridge-magma.is-focus{fill:#efbd70;stroke-width:9}.ridge-exhumed{fill:#c0b58e;stroke:#766b50;stroke-width:7}.ridge-cold,.ridge-hot{fill:none;stroke:#77a6b6;stroke-width:8;marker-end:url(#plateArrow)}.ridge-hot{stroke:#d86442}.ridge-cold.is-focus,.ridge-hot.is-focus{stroke:#efbd70;stroke-width:12}.ridge-heat{fill:#cf6243;stroke:#8b432f;stroke-width:5}.ridge-reaction{fill:rgba(239,189,112,.35);stroke:#efbd70;stroke-width:7}.ridge-particle{fill:#273e3f;stroke:#efbd70;stroke-width:2}.ridge-cooling-crust{fill:#8b9e91;stroke:#586f67;stroke-width:6}.ridge-cooling-base{fill:none;stroke:#70938a;stroke-width:8}.ridge-cooling-base.is-focus{stroke:#efbd70;stroke-width:12}.ridge-cooling-axis{fill:#cc6041;stroke:#8c432f;stroke-width:5}.ridge-focus{fill:none;stroke:#efbd70;stroke-width:7;stroke-dasharray:10 7}.ridge-equation{fill:#f7faf7;stroke:#b8583a;stroke-width:5}.ridge-equation+.ridge-warning{fill:#9d4833!important}.ridge-evidence rect{fill:#edf3ee;stroke:#708880;stroke-width:5}.ridge-evidence circle{fill:#87a69b;stroke:#55756b;stroke-width:4}.ridge-evidence text:first-of-type{fill:#173f3f!important;font-weight:950!important}.ridge-evidence.is-focus rect{fill:#f2d9ad;stroke:#b8583a;stroke-width:9}.ridge-evidence.is-focus circle{fill:#efbd70;stroke:#b8583a;stroke-width:6}.ridge-convergence{fill:none;stroke:#efbd70;stroke-width:7}
@media(max-width:760px){[data-geology-ridge-bathymetry] .segmented-control,[data-geology-ridge-decompression] .segmented-control,[data-geology-ridge-rock-ledger] .segmented-control,[data-geology-ridge-sampling] .segmented-control,[data-geology-ridge-slow-accretion] .segmented-control,[data-geology-ridge-hydrothermal] .segmented-control,[data-geology-ridge-cooling-density] .segmented-control,[data-geology-ridge-evidence-chain] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ridge-note,.ridge-label,.ridge-warning{font-size:20px!important}}

/* Première SVT : dynamique des zones de convergence */
[data-geology-subduction-geometry],[data-geology-subduction-earthquake-ledger],[data-geology-subduction-buoyancy],[data-geology-subduction-metamorphic-path],[data-geology-subduction-wet-solidus],[data-geology-subduction-magma-evolution],[data-geology-subduction-force-balance],[data-geology-subduction-evidence-risk]{border-color:#536a73;background:linear-gradient(145deg,#fbfcf8,#e7ecef);box-shadow:inset .35rem 0 #bd5b3d}.subduction-note{fill:#dce9e4!important;font-size:15px!important;font-weight:850!important}.subduction-label{fill:#dce9e4!important;font-size:15px!important;font-weight:850!important}.subduction-warning{fill:#efbd70!important;font-size:17px!important;font-weight:950!important}.subduction-upper{fill:#b7c7b6;stroke:#687c6d;stroke-width:5}.subduction-slab{fill:#78949b;stroke:#496e79;stroke-width:7}.subduction-trench{fill:none;stroke:#b8583a;stroke-width:8}.subduction-quake{fill:#efbd70;stroke:#a74d35;stroke-width:4}.subduction-tomo{fill:none;stroke:#efbd70;stroke-width:16;opacity:.75}.subduction-focus{fill:rgba(239,189,112,.25);stroke:#efbd70;stroke-width:7}.subduction-interface{fill:none;stroke:#735e84;stroke-width:6}.subduction-interface.is-focus{stroke:#efbd70;stroke-width:11}.subduction-fault{stroke:#b8583a;stroke-width:8}.subduction-cold{stroke:#75a5b4;stroke-width:12}.subduction-force{fill:none;stroke:#efbd70;stroke-width:8;marker-end:url(#plateArrow)}.subduction-force.is-pull{stroke:#d96242}.subduction-force.is-resist{stroke:#7ba3af}.subduction-chart-axis{stroke:#9eb7b1;stroke-width:4}.subduction-pt,.subduction-mantle-path{fill:none;stroke:#7ca7b3;stroke-width:7}.subduction-pt.is-focus{stroke:#efbd70;stroke-width:11}.subduction-facies circle{fill:#91aaa0;stroke:#58766c;stroke-width:4}.subduction-facies text{fill:#dce9e4!important;font-weight:850!important}.subduction-facies.is-focus circle{fill:#efbd70;stroke:#b8583a;stroke-width:7}.subduction-fluid{fill:#79b6ca;stroke:#dce9e4;stroke-width:2}.subduction-solidus{fill:none;stroke-width:7}.subduction-solidus.dry{stroke:#87988f}.subduction-solidus.wet{stroke:#72a6b5}.subduction-solidus.is-focus{stroke:#efbd70;stroke-width:11}.subduction-magma-source{fill:#cf6041;stroke:#8a422f;stroke-width:5}.subduction-magma-path{fill:none;stroke:#d96343;stroke-width:12}.subduction-reservoir{fill:#b8775d;stroke:#8b4835;stroke-width:6}.subduction-reservoir.is-focus{stroke:#efbd70;stroke-width:10}.subduction-crystal{fill:#f2d59f;stroke:#9a5a3f;stroke-width:3}.subduction-volcano{fill:#bd5a3d;stroke:#7f3d2f;stroke-width:6}.subduction-pluton{fill:#c7b397;stroke:#79694f;stroke-width:6}.subduction-globe{fill:#92aaa2;stroke:#59756c;stroke-width:7}.subduction-global-ridge{fill:none;stroke:#d45f40;stroke-width:10}.subduction-global-slab{fill:none;stroke:#587f8c;stroke-width:15}.subduction-mantle-flow{fill:none;stroke:#efbd70;stroke-width:9}.subduction-risk rect{fill:#edf3ee;stroke:#708880;stroke-width:5}.subduction-risk circle{fill:#86a69b;stroke:#55756a;stroke-width:4}.subduction-risk text:first-of-type{fill:#173f3f!important;font-weight:950!important}.subduction-risk .subduction-label{fill:#315b56!important}.subduction-risk.is-focus rect{fill:#f2d9ad;stroke:#b8583a;stroke-width:9}.subduction-risk.is-focus circle{fill:#efbd70;stroke:#b8583a;stroke-width:6}.subduction-risk-chain{fill:none;stroke:#efbd70;stroke-width:7}
@media(max-width:760px){[data-geology-subduction-geometry] .segmented-control,[data-geology-subduction-earthquake-ledger] .segmented-control,[data-geology-subduction-buoyancy] .segmented-control,[data-geology-subduction-metamorphic-path] .segmented-control,[data-geology-subduction-wet-solidus] .segmented-control,[data-geology-subduction-magma-evolution] .segmented-control,[data-geology-subduction-force-balance] .segmented-control,[data-geology-subduction-evidence-risk] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.subduction-note,.subduction-label,.subduction-warning,.subduction-facies text{font-size:20px!important}}

.subduction-cross { fill:#efbd70; stroke:#b8583a; stroke-width:5; }

/* Première SVT : collision continentale */
[data-geology-collision-suture],[data-geology-collision-structures],[data-geology-collision-shortening],[data-geology-collision-thickening],[data-geology-collision-seismic-profile],[data-geology-collision-isostasy],[data-geology-collision-exhumation],[data-geology-collision-mass-balance]{border-color:#665f70;background:linear-gradient(145deg,#fbfcf8,#ece9ee);box-shadow:inset .35rem 0 #b8563e}
.collision-note{fill:#e6ebe7!important;font-size:15px!important;font-weight:850!important}.collision-label{fill:#315b56!important;font-size:15px!important;font-weight:850!important}.collision-warning{fill:#efbd70!important;font-size:17px!important;font-weight:950!important}.collision-value{fill:#e6ebe7!important;font-size:19px!important;font-weight:950!important}.collision-equation{fill:#efbd70!important;font-size:24px!important;font-weight:950!important}.collision-continent{fill:#b4c3b2;stroke:#667b6c;stroke-width:6}.collision-ocean{fill:#6e9baa;stroke:#4e7480;stroke-width:6}.collision-slab{fill:none;stroke:#6f98a4;stroke-width:18}.collision-motion{fill:none;stroke:#efbd70;stroke-width:8}.collision-suture{fill:#796e7e;stroke:#554b5b;stroke-width:7}.collision-ophiolite{fill:#95ae89;stroke:#e4d2a2;stroke-width:4}.collision-audit{fill:none;stroke:#efbd70;stroke-width:6;stroke-dasharray:10 7}.collision-layer{fill:none;stroke-width:15}.collision-layer.layer-0{stroke:#d2b47f}.collision-layer.layer-1{stroke:#9bb39e}.collision-layer.layer-2{stroke:#779bab}.collision-block{fill:#9daf9f;stroke:#63786a;stroke-width:6}.collision-block.is-upper{fill:#b9b08f}.collision-fault,.collision-thrust{fill:none;stroke:#b8563e;stroke-width:9}.collision-nappe{fill:#cab684;stroke:#8c734d;stroke-width:7}.collision-ruler,.collision-tick{stroke:#93aaa3;stroke-width:4}.collision-measure{stroke:#efbd70;stroke-width:15}.collision-measure.is-final{stroke:#d56545}.collision-brace{fill:none;stroke:#e6ebe7;stroke-width:5}.collision-fraction text{fill:#efbd70!important;font-size:25px!important;font-weight:950!important}.collision-fraction line{stroke:#efbd70;stroke-width:4}.collision-crust{fill:#a8b9a7;stroke:#657a6b;stroke-width:7}.collision-stack{fill:none;stroke:#d2b47f;stroke-width:10}.collision-export{fill:none;stroke:#d56545;stroke-width:8}.collision-wave{fill:none;stroke:#efbd70;stroke-width:5;stroke-dasharray:9 6}.collision-source{fill:#d56545;stroke:#efbd70;stroke-width:4}.collision-sensor{fill:#d9e4de;stroke:#658078;stroke-width:4}.collision-trace{fill:none;stroke:#799daa;stroke-width:3}.collision-reflector{fill:none;stroke:#efbd70;stroke-width:7}.collision-depth{stroke:#dce9e4;stroke-width:5}.collision-moho{fill:none;stroke:#d56545;stroke-width:10}.collision-mantle{fill:#788e83;stroke:#516b62;stroke-width:6}.collision-isostatic-crust{fill:#b9b99c;stroke:#706f58;stroke-width:7}.collision-sea{stroke:#75a8b6;stroke-width:5}.collision-focus{fill:none;stroke:#efbd70;stroke-width:11}.collision-flow{fill:none;stroke:#d56545;stroke-width:9}.collision-chart-axis{stroke:#9db4ad;stroke-width:5}.collision-pt-loop{fill:none;stroke:#7da7b2;stroke-width:8}.collision-stage{fill:#8ca99d;stroke:#58786d;stroke-width:5}.collision-stage.is-focus{fill:#efbd70;stroke:#b8563e;stroke-width:9}.collision-balance rect{fill:#edf3ee;stroke:#708880;stroke-width:5}.collision-balance circle{fill:#86a69b;stroke:#55756a;stroke-width:4}.collision-balance text:first-of-type{fill:#173f3f!important;font-weight:950!important}.collision-balance.is-focus rect{fill:#f2d9ad;stroke:#b8563e;stroke-width:9}.collision-balance.is-focus circle{fill:#efbd70;stroke:#b8563e;stroke-width:6}.collision-balance-chain{fill:none;stroke:#efbd70;stroke-width:7}
@media(max-width:760px){[data-geology-collision-suture] .segmented-control,[data-geology-collision-structures] .segmented-control,[data-geology-collision-shortening] .segmented-control,[data-geology-collision-thickening] .segmented-control,[data-geology-collision-seismic-profile] .segmented-control,[data-geology-collision-isostasy] .segmented-control,[data-geology-collision-exhumation] .segmented-control,[data-geology-collision-mass-balance] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.collision-note,.collision-label,.collision-warning{font-size:20px!important}.collision-value{font-size:22px!important}}

/* Première SVT : écosystèmes et interactions dynamiques */
[data-ecology-ecosystem-boundary],[data-ecology-sampling-transect],[data-ecology-interaction-signs],[data-ecology-mycorrhiza-exchange],[data-ecology-interaction-network],[data-ecology-biomass-production],[data-ecology-carbon-budget],[data-ecology-resilience-timeseries],[data-ecology-human-node],[data-ecology-service-chain],[data-ecology-service-portfolio],[data-ecology-pressure-impact],[data-ecology-pollination-evidence],[data-ecology-management-ladder],[data-ecology-restoration-monitoring],[data-ecology-decision-tradeoffs]{border-color:#426d5d;background:linear-gradient(145deg,#fbfcf7,#e7f0e8);box-shadow:inset .35rem 0 #a45b39}.ecology-board{background:#173f40}.eco-note{fill:#e4eee7!important;font-size:15px!important;font-weight:850!important}.eco-label{fill:#e4eee7!important;font-size:16px!important;font-weight:850!important}.eco-warning{fill:#efbd70!important;font-size:18px!important;font-weight:950!important}.eco-equation{fill:#efbd70!important;font-size:25px!important;font-weight:950!important}.eco-landscape{fill:#77976e;stroke:#4f735c;stroke-width:6}.eco-stream{fill:none;stroke:#79b5c2;stroke-width:18}.eco-boundary{fill:rgba(238,189,112,.08);stroke:#dfeae3;stroke-width:5;stroke-dasharray:10 7}.eco-boundary.is-focus{stroke:#efbd70;stroke-width:9}.eco-watershed{fill:none;stroke:#78998b;stroke-width:6}.eco-watershed.is-focus{stroke:#efbd70;stroke-width:10}.eco-flux{fill:none;stroke:#efbd70;stroke-width:8}.eco-gradient{stroke:#dfeae3;stroke-width:4}.eco-quadrat rect{fill:#dce9df;stroke:#638373;stroke-width:4}.eco-quadrat path{fill:none;stroke:#427758;stroke-width:6}.eco-quadrat.is-focus rect{fill:#f3d9a8;stroke:#b55a39;stroke-width:8}.eco-quadrat text{fill:#e4eee7!important;font-weight:850!important}.eco-measure-line{stroke:#efbd70;stroke-width:5}.eco-fraction text{fill:#efbd70!important;font-size:24px!important;font-weight:950!important}.eco-fraction line{stroke:#efbd70;stroke-width:4}.eco-audit{fill:none;stroke:#efbd70;stroke-width:6;stroke-dasharray:10 7}.eco-partner circle{fill:#e4eee7;stroke:#6c8a7d;stroke-width:7}.eco-partner text:first-of-type{fill:#173f40!important;font-weight:950!important}.eco-sign{font-size:54px!important;font-weight:950!important}.eco-sign.is-positive{fill:#39775a!important}.eco-sign.is-negative{fill:#b2543a!important}.eco-relation{fill:none;stroke:#efbd70;stroke-width:8}.eco-relation.is-durable{stroke-dasharray:12 6}.eco-trunk{fill:#806247;stroke:#5d4938;stroke-width:6}.eco-crown{fill:#6f9567;stroke:#4f7355;stroke-width:7}.eco-roots{fill:none;stroke:#9c7c5b;stroke-width:11}.eco-hyphae{fill:none;stroke:#9cbba6;stroke-width:5;stroke-dasharray:6 5}.eco-hyphae.is-focus{stroke:#efbd70;stroke-width:9}.eco-carbon-flow,.eco-nutrient-flow{fill:none;stroke-width:9}.eco-carbon-flow{stroke:#d46a48}.eco-nutrient-flow{stroke:#79b6c5}.eco-control{fill:#e5eee7;stroke:#789284;stroke-width:6}.eco-control.is-test{fill:#f2d8a7;stroke:#b45a39}.eco-network-link{stroke:#81a99a;stroke-width:7}.eco-network-link.is-nontrophic{stroke:#efbd70;stroke-dasharray:10 6}.eco-network-node circle{fill:#dce9df;stroke:#68887a;stroke-width:6}.eco-network-node text{fill:#173f40!important;font-size:14px!important;font-weight:950!important}.eco-network-node.is-removed circle{fill:#725d68;stroke:#d76446;stroke-width:9;stroke-dasharray:8 5}.eco-network-node.is-removed text{text-decoration:line-through}.eco-cascade{fill:none;stroke:#d76446;stroke-width:9}.eco-trophic{stroke:#536e62;stroke-width:6}.eco-trophic.producer{fill:#79a06e}.eco-trophic.consumer{fill:#c3ad75}.eco-trophic.predator{fill:#b86a4c}.eco-trophic-text{fill:#f4f8f4!important;font-size:19px!important;font-weight:950!important}.eco-carbon-box rect{fill:#e3ede5;stroke:#6e8b7e;stroke-width:6}.eco-carbon-box text{fill:#173f40!important;font-size:15px!important;font-weight:950!important}.eco-carbon-link{fill:none;stroke:#8aac9e;stroke-width:7}.eco-carbon-external{fill:none;stroke:#efbd70;stroke-width:9}.eco-focus-flow{fill:none;stroke:#efbd70;stroke-width:11}.eco-chart-axis{stroke:#9db5ab;stroke-width:5}.eco-reference,.eco-new-state{fill:none;stroke:#8fa89d;stroke-width:5;stroke-dasharray:9 7}.eco-disturbance{fill:rgba(213,100,70,.35);stroke:#d56446;stroke-width:3}.eco-resilience-curve{fill:none;stroke:#efbd70;stroke-width:10}.eco-service-card rect,.eco-chain-step rect,.eco-ladder-step rect{fill:#e4eee7;stroke:#769387;stroke-width:6}.eco-service-card text,.eco-chain-step text,.eco-ladder-step text,.eco-causal-step text,.eco-service-bar text,.eco-fruit-count text,.eco-decision-axis text{fill:#e4eee7!important;font-size:15px!important;font-weight:900!important}.eco-service-card.is-focus rect,.eco-chain-step.is-focus rect,.eco-ladder-step.is-focus rect{fill:#efbd70;stroke:#b35b3e;stroke-width:9}.eco-service-card.is-focus text,.eco-chain-step.is-focus text,.eco-ladder-step.is-focus text{fill:#173f40!important}.eco-service-arrow,.eco-causal-arrow{fill:none;stroke:#efbd70;stroke-width:7}.eco-human-node{fill:#a85b43;stroke:#efbd70;stroke-width:7}.eco-service-bar rect{fill:#74998b}.eco-service-bar.is-focus rect{fill:#efbd70;stroke:#b35b3e;stroke-width:7}.eco-tradeoff{fill:none;stroke:#d66547;stroke-width:9}.eco-causal-step circle{fill:#dce9df;stroke:#6e8e81;stroke-width:6}.eco-causal-step text{fill:#173f40!important}.eco-causal-step.is-focus circle{fill:#efbd70;stroke:#b35b3e;stroke-width:9}.eco-flower path{fill:none;stroke:#84a781;stroke-width:10}.eco-flower circle{fill:#d9a45b;stroke:#f1cf83;stroke-width:5}.eco-flower.is-focus circle{fill:#efbd70;stroke:#d66547;stroke-width:8}.eco-net{fill:rgba(117,158,148,.14);stroke:#91b7ae;stroke-width:7;stroke-dasharray:9 6}.eco-brush{fill:none;stroke:#efbd70;stroke-width:13}.eco-priority{stroke:#efbd70;stroke-width:9}.eco-baci-impact,.eco-baci-control{fill:none;stroke-width:8}.eco-baci-impact{stroke:#efbd70}.eco-baci-control{stroke:#87a99c;stroke-dasharray:10 6}.eco-baci-impact.is-focus,.eco-baci-control.is-focus{stroke:#d66547;stroke-width:12}.eco-intervention{stroke:#d66547;stroke-width:5;stroke-dasharray:8 6}.eco-decision-axis line{stroke:#86a99b;stroke-width:9}.eco-decision-axis circle{fill:#e4eee7;stroke:#64877a;stroke-width:5}.eco-decision-axis.is-focus line{stroke:#efbd70}.eco-decision-axis.is-focus circle{fill:#d66547;stroke:#efbd70;stroke-width:8}.eco-decision-envelope{fill:none;stroke:#e4eee7;stroke-width:5;stroke-dasharray:8 5}
@media(max-width:760px){[data-ecology-ecosystem-boundary] .segmented-control,[data-ecology-sampling-transect] .segmented-control,[data-ecology-interaction-signs] .segmented-control,[data-ecology-mycorrhiza-exchange] .segmented-control,[data-ecology-interaction-network] .segmented-control,[data-ecology-biomass-production] .segmented-control,[data-ecology-carbon-budget] .segmented-control,[data-ecology-resilience-timeseries] .segmented-control,[data-ecology-human-node] .segmented-control,[data-ecology-service-chain] .segmented-control,[data-ecology-service-portfolio] .segmented-control,[data-ecology-pressure-impact] .segmented-control,[data-ecology-pollination-evidence] .segmented-control,[data-ecology-management-ladder] .segmented-control,[data-ecology-restoration-monitoring] .segmented-control,[data-ecology-decision-tradeoffs] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.eco-note,.eco-label,.eco-warning{font-size:20px!important}.eco-network-node text,.eco-carbon-box text,.eco-service-card text,.eco-chain-step text,.eco-ladder-step text,.eco-causal-step text,.eco-service-bar text,.eco-fruit-count text,.eco-decision-axis text{font-size:19px!important}}

/* Enchaînement des phrases : atelier éditorial sur deux rails. */
[data-text-flow-cohesion-board],[data-text-flow-reference-chain],[data-text-flow-theme-progress],[data-text-flow-chronology-track],[data-text-flow-logic-router],[data-text-flow-parataxis-switch],[data-text-flow-paragraph-workbench],[data-text-flow-passport]{border-color:#31584f;background:linear-gradient(145deg,#fbfcf7,#e8eee6);box-shadow:inset .38rem 0 #b85f3d}
.text-flow-board,.text-flow-chain,.text-flow-progress,.text-flow-time,.text-flow-logic,.text-flow-switch,.text-flow-workbench,.text-flow-passport{display:grid;gap:.7rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#183d38;background:#183d38}.text-flow-board>*,.text-flow-chain>*,.text-flow-progress>*,.text-flow-time>*,.text-flow-logic>*,.text-flow-switch>*,.text-flow-workbench>*,.text-flow-passport>*{min-width:0;overflow-wrap:anywhere}.text-flow-board article,.text-flow-chain div,.text-flow-chain article,.text-flow-progress article,.text-flow-time span,.text-flow-logic>b,.text-flow-logic article,.text-flow-switch article,.text-flow-workbench ol,.text-flow-passport article{padding:.78rem;border:.1rem solid #95b6a6;border-radius:.72rem;background:#fbfcf7}.text-flow-board strong,.text-flow-chain p,.text-flow-progress strong,.text-flow-time strong,.text-flow-logic strong,.text-flow-switch strong,.text-flow-workbench strong,.text-flow-passport strong{grid-column:1/-1;margin:0;padding:.72rem;border-radius:.58rem;color:#183d38;background:#e8b963;text-align:center;font-size:.8rem;font-weight:950;letter-spacing:.035em}.text-flow-board>i,.text-flow-progress>i,.text-flow-logic>i,.text-flow-switch>i{color:#e8b963;font-style:normal;font-weight:950;text-align:center}.text-flow-board{grid-template-columns:1fr auto 1fr auto 1fr}.text-flow-board article{display:grid;grid-template-columns:auto 1fr;gap:.35rem}.text-flow-board article b{grid-row:1/3;align-self:center;color:#a54d31}.text-flow-board article span{display:block;padding:.24rem .42rem;border-radius:.35rem;font-size:.76rem}.text-flow-board .flow-old{background:#d8e8df}.text-flow-board .flow-new{background:#f3dcc0}.text-flow-board strong{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.text-flow-chain{grid-template-columns:1.25fr .75fr}.text-flow-chain div{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.text-flow-chain div b{color:#a54d31}.text-flow-chain article{display:grid;gap:.28rem}.text-flow-chain article em{font-style:normal}.text-flow-chain article small{color:#a54d31;font-weight:950}.text-flow-progress{grid-template-columns:1fr auto 1fr auto 1fr}.text-flow-progress article{display:grid;gap:.3rem;text-align:center}.text-flow-progress article b{color:#a54d31;font-size:.78rem}.text-flow-progress article span{font-size:.8rem}.text-flow-time{grid-template-columns:repeat(3,minmax(0,1fr))}.text-flow-time span{text-align:center;font-weight:950}.text-flow-time small{display:block;margin-top:.35rem;font-weight:650}.text-flow-logic{grid-template-columns:auto auto repeat(4,minmax(0,1fr))}.text-flow-logic>b{color:#a54d31;text-align:center}.text-flow-logic article{text-align:center;font-size:.75rem;font-weight:950}.text-flow-logic small{display:block;margin-top:.3rem;font-weight:650}.text-flow-switch{grid-template-columns:1fr auto 1fr}.text-flow-switch article{display:grid;gap:.45rem;text-align:center}.text-flow-switch article b{color:#a54d31}.text-flow-switch article em{color:#a54d31;font-style:normal;font-weight:950}.text-flow-workbench ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;list-style-position:inside}.text-flow-workbench li{padding:.55rem;border-radius:.45rem;background:#e4eee8;font-size:.74rem;font-weight:900}.text-flow-passport{grid-template-columns:repeat(4,minmax(0,1fr))}.text-flow-passport article{text-align:center;font-size:.7rem;font-weight:950}
@media(max-width:720px){
  .text-flow-board,.text-flow-chain,.text-flow-progress,.text-flow-time,.text-flow-logic,.text-flow-switch,.text-flow-workbench,.text-flow-passport{grid-template-columns:1fr;overflow:visible}
  .text-flow-board strong{grid-template-columns:1fr}
  .text-flow-board>i,.text-flow-progress>i,.text-flow-logic>i,.text-flow-switch>i{transform:rotate(90deg)}
  .text-flow-workbench ol{grid-template-columns:1fr}
  .text-flow-board strong,.text-flow-chain p,.text-flow-progress strong,.text-flow-time strong,.text-flow-logic strong,.text-flow-switch strong,.text-flow-workbench strong,.text-flow-passport strong{grid-column:auto}
  [data-text-flow-cohesion-board] .segmented-control,[data-text-flow-reference-chain] .segmented-control,[data-text-flow-theme-progress] .segmented-control,[data-text-flow-chronology-track] .segmented-control,[data-text-flow-logic-router] .segmented-control,[data-text-flow-parataxis-switch] .segmented-control,[data-text-flow-paragraph-workbench] .segmented-control,[data-text-flow-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Console phonique : rendre visibles des motifs d’abord entendus. */
[data-sound-reading-unit-console],[data-sound-reading-alliteration-track],[data-sound-reading-assonance-filter],[data-sound-reading-density-map],[data-sound-reading-articulation-board],[data-sound-reading-layer-mixer],[data-sound-reading-diction-switch],[data-sound-reading-passport]{border-color:#315b65;background:linear-gradient(145deg,#f8fcfb,#e3ecec);box-shadow:inset .38rem 0 #ce643d}
.sound-reading-units,.sound-reading-track,.sound-reading-filter,.sound-reading-density,.sound-reading-articulation,.sound-reading-layers,.sound-reading-diction,.sound-reading-passport{display:grid;gap:.68rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#173d46;background:#173d46}.sound-reading-units>*,.sound-reading-track>*,.sound-reading-filter>*,.sound-reading-density>*,.sound-reading-articulation>*,.sound-reading-layers>*,.sound-reading-diction>*,.sound-reading-passport>*{min-width:0;overflow-wrap:anywhere}.sound-reading-units article,.sound-reading-track span,.sound-reading-filter span,.sound-reading-density article,.sound-reading-articulation article,.sound-reading-layers article,.sound-reading-diction article,.sound-reading-passport article{padding:.78rem;border:.1rem solid #94b7bc;border-radius:.7rem;background:#f8fcfb;text-align:center}.sound-reading-units strong,.sound-reading-track strong,.sound-reading-filter strong,.sound-reading-density strong,.sound-reading-articulation strong,.sound-reading-layers strong,.sound-reading-diction strong,.sound-reading-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#173d46;background:#efc16b;text-align:center;font-size:.8rem}.sound-reading-units{grid-template-columns:1fr auto 1fr auto 1fr}.sound-reading-units>i,.sound-reading-filter>i,.sound-reading-diction>i{color:#efc16b;font-style:normal;font-weight:950;text-align:center}.sound-reading-units b,.sound-reading-units span,.sound-reading-density b,.sound-reading-density span,.sound-reading-density small,.sound-reading-articulation b,.sound-reading-articulation span,.sound-reading-layers small,.sound-reading-diction b,.sound-reading-diction span{display:block}.sound-reading-units b,.sound-reading-articulation b,.sound-reading-diction b{color:#a44a30}.sound-reading-track{grid-template-columns:repeat(4,minmax(0,1fr))}.sound-reading-track span b,.sound-reading-filter span b{color:#b64b2d;font-size:1.15rem}.sound-reading-track>i{padding:.65rem;border-radius:50%;color:#173d46;background:#efc16b;font-style:normal;font-weight:950;text-align:center}.sound-reading-filter{grid-template-columns:repeat(6,minmax(0,1fr))}.sound-reading-density{grid-template-columns:1fr 1fr}.sound-reading-density .sound-dots{margin-top:.45rem;color:#b64b2d;letter-spacing:.2em}.sound-reading-density small{margin-top:.35rem}.sound-reading-articulation,.sound-reading-layers{grid-template-columns:repeat(4,minmax(0,1fr))}.sound-reading-articulation article{min-height:7rem}.sound-reading-articulation span,.sound-reading-layers small{margin-top:.35rem}.sound-reading-layers article{font-weight:950}.sound-reading-diction{grid-template-columns:1fr auto 1fr}.sound-reading-diction span{margin-top:.35rem}.sound-reading-passport{grid-template-columns:repeat(5,minmax(0,1fr))}.sound-reading-passport article{font-size:.7rem;font-weight:950}
@media(max-width:720px){
  .sound-reading-units,.sound-reading-track,.sound-reading-filter,.sound-reading-density,.sound-reading-articulation,.sound-reading-layers,.sound-reading-diction,.sound-reading-passport{grid-template-columns:1fr;overflow:visible}
  .sound-reading-units>i,.sound-reading-filter>i,.sound-reading-diction>i{transform:rotate(90deg)}
  .sound-reading-units strong,.sound-reading-track strong,.sound-reading-filter strong,.sound-reading-density strong,.sound-reading-articulation strong,.sound-reading-layers strong,.sound-reading-diction strong,.sound-reading-passport strong{grid-column:auto}
  .sound-reading-articulation article{min-height:auto}
  [data-sound-reading-unit-console] .segmented-control,[data-sound-reading-alliteration-track] .segmented-control,[data-sound-reading-assonance-filter] .segmented-control,[data-sound-reading-density-map] .segmented-control,[data-sound-reading-articulation-board] .segmented-control,[data-sound-reading-layer-mixer] .segmented-control,[data-sound-reading-diction-switch] .segmented-control,[data-sound-reading-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Table de montage des figures syntaxiques. */
[data-syntax-figure-transformation-bench],[data-syntax-figure-symmetry-cross],[data-syntax-figure-anaphora-column],[data-syntax-figure-series-ladder],[data-syntax-figure-link-switch],[data-syntax-figure-ellipsis-rebuilder],[data-syntax-figure-break-diagnostic],[data-syntax-figure-passport]{border-color:#31566a;background:linear-gradient(145deg,#f8fbff,#e6ece7);box-shadow:inset .38rem 0 #c35c3b}
.syntax-figure-bench,.syntax-figure-cross,.syntax-figure-anaphora,.syntax-figure-ladder,.syntax-figure-links,.syntax-figure-ellipsis,.syntax-figure-break,.syntax-figure-passport{display:grid;gap:.68rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#203947;background:#203946}.syntax-figure-bench>*,.syntax-figure-cross>*,.syntax-figure-anaphora>*,.syntax-figure-ladder>*,.syntax-figure-links>*,.syntax-figure-ellipsis>*,.syntax-figure-break>*,.syntax-figure-passport>*{min-width:0;overflow-wrap:anywhere}.syntax-figure-bench span,.syntax-figure-bench article,.syntax-figure-cross article,.syntax-figure-anaphora span,.syntax-figure-ladder span,.syntax-figure-ladder article,.syntax-figure-links article,.syntax-figure-ellipsis article,.syntax-figure-break span,.syntax-figure-break article,.syntax-figure-passport article{padding:.78rem;border:.1rem solid #9eb6c2;border-radius:.7rem;background:#f8fbff;text-align:center}.syntax-figure-bench strong,.syntax-figure-cross strong,.syntax-figure-anaphora strong,.syntax-figure-ladder strong,.syntax-figure-links strong,.syntax-figure-ellipsis strong,.syntax-figure-break strong,.syntax-figure-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#203946;background:#efc269;text-align:center;font-size:.8rem}.syntax-figure-bench{grid-template-columns:1fr auto 1.5fr auto 1fr}.syntax-figure-bench>i,.syntax-figure-ladder>i,.syntax-figure-ellipsis>i,.syntax-figure-break>i{color:#efc269;font-style:normal;font-weight:950;text-align:center}.syntax-figure-bench small,.syntax-figure-cross b,.syntax-figure-cross span,.syntax-figure-links b,.syntax-figure-links span,.syntax-figure-links small,.syntax-figure-break small{display:block}.syntax-figure-cross{grid-template-columns:1fr 1fr}.syntax-figure-cross article{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.syntax-figure-cross b{grid-column:1/-1;color:#a0492f}.syntax-figure-anaphora{grid-template-columns:repeat(3,minmax(0,1fr))}.syntax-figure-anaphora span{font-family:Georgia,serif}.syntax-figure-anaphora b{color:#a0492f}.syntax-figure-ladder{grid-template-columns:repeat(9,minmax(0,1fr));align-items:end}.syntax-figure-ladder span{font-size:1.2rem;font-weight:950}.syntax-figure-ladder span:nth-child(1){min-height:5rem}.syntax-figure-ladder span:nth-child(2){min-height:7rem}.syntax-figure-ladder span:nth-child(3){min-height:9rem}.syntax-figure-ladder small{font-size:.7rem}.syntax-figure-ladder article{font-size:.7rem;font-weight:950}.syntax-figure-links{grid-template-columns:repeat(3,minmax(0,1fr))}.syntax-figure-links b{color:#a0492f;font-size:1.35rem}.syntax-figure-links span,.syntax-figure-links small{margin-top:.3rem}.syntax-figure-ellipsis{grid-template-columns:1fr auto 1fr}.syntax-figure-ellipsis b{color:#a0492f}.syntax-figure-break{grid-template-columns:repeat(5,minmax(0,1fr))}.syntax-figure-break article{font-size:.75rem;font-weight:950}.syntax-figure-break article:nth-of-type(1){grid-column:1/2}.syntax-figure-passport{grid-template-columns:repeat(5,minmax(0,1fr))}.syntax-figure-passport article{font-size:.7rem;font-weight:950}
@media(max-width:720px){
  .syntax-figure-bench,.syntax-figure-cross,.syntax-figure-anaphora,.syntax-figure-ladder,.syntax-figure-links,.syntax-figure-ellipsis,.syntax-figure-break,.syntax-figure-passport,.syntax-figure-cross article{grid-template-columns:1fr;overflow:visible}
  .syntax-figure-bench>i,.syntax-figure-ladder>i,.syntax-figure-ellipsis>i,.syntax-figure-break>i{transform:rotate(90deg)}
  .syntax-figure-bench strong,.syntax-figure-cross strong,.syntax-figure-cross b,.syntax-figure-anaphora strong,.syntax-figure-ladder strong,.syntax-figure-links strong,.syntax-figure-ellipsis strong,.syntax-figure-break strong,.syntax-figure-passport strong,.syntax-figure-break article:nth-of-type(1){grid-column:auto}
  .syntax-figure-ladder span:nth-child(1),.syntax-figure-ladder span:nth-child(2),.syntax-figure-ladder span:nth-child(3){min-height:auto}
  [data-syntax-figure-transformation-bench] .segmented-control,[data-syntax-figure-symmetry-cross] .segmented-control,[data-syntax-figure-anaphora-column] .segmented-control,[data-syntax-figure-series-ladder] .segmented-control,[data-syntax-figure-link-switch] .segmented-control,[data-syntax-figure-ellipsis-rebuilder] .segmented-control,[data-syntax-figure-break-diagnostic] .segmented-control,[data-syntax-figure-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Atelier d’optique rhétorique : voir le mécanisme avant l’étiquette. */
[data-figure-reading-operation-bench],[data-figure-reading-analogy-mapper],[data-figure-reading-animation-scale],[data-figure-reading-substitution-router],[data-figure-reading-opposition-prism],[data-figure-reading-intensity-console],[data-figure-reading-implication-lab],[data-figure-reading-passport]{border-color:#644b3f;background:linear-gradient(145deg,#fffaf2,#eee4dc);box-shadow:inset .38rem 0 #3d766e}
.figure-reading-chain,.figure-reading-analogy,.figure-reading-animation,.figure-reading-substitution,.figure-reading-opposition,.figure-reading-intensity,.figure-reading-implication,.figure-reading-passport{display:grid;gap:.68rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#3b302b;background:#3a332f}.figure-reading-chain>*,.figure-reading-analogy>*,.figure-reading-animation>*,.figure-reading-substitution>*,.figure-reading-opposition>*,.figure-reading-intensity>*,.figure-reading-implication>*,.figure-reading-passport>*{min-width:0;overflow-wrap:anywhere}.figure-reading-chain span,.figure-reading-analogy article,.figure-reading-animation span,.figure-reading-substitution>b,.figure-reading-substitution article,.figure-reading-opposition article,.figure-reading-intensity article,.figure-reading-implication span,.figure-reading-passport article{padding:.78rem;border:.1rem solid #bca89a;border-radius:.7rem;background:#fffaf2;text-align:center}.figure-reading-analogy strong,.figure-reading-animation strong,.figure-reading-substitution strong,.figure-reading-opposition strong,.figure-reading-intensity strong,.figure-reading-implication strong,.figure-reading-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#3b302b;background:#efbf68;text-align:center;font-size:.8rem}.figure-reading-chain{grid-template-columns:repeat(11,minmax(0,1fr))}.figure-reading-chain span{font-size:.68rem;font-weight:950}.figure-reading-chain i,.figure-reading-analogy>i,.figure-reading-animation>i,.figure-reading-substitution>i,.figure-reading-implication>i{color:#efbf68;font-style:normal;font-weight:950;text-align:center}.figure-reading-analogy{grid-template-columns:1fr auto 1fr}.figure-reading-analogy article b,.figure-reading-analogy article span,.figure-reading-animation span small,.figure-reading-substitution small,.figure-reading-opposition small,.figure-reading-intensity b,.figure-reading-intensity span,.figure-reading-intensity small,.figure-reading-implication small{display:block}.figure-reading-analogy article b,.figure-reading-intensity b{color:#a04b31}.figure-reading-animation{grid-template-columns:repeat(5,minmax(0,1fr))}.figure-reading-animation span{font-weight:950}.figure-reading-animation small{margin-top:.3rem;font-weight:600}.figure-reading-substitution{grid-template-columns:auto auto repeat(3,minmax(0,1fr))}.figure-reading-substitution>b{color:#a04b31}.figure-reading-substitution article,.figure-reading-opposition article{font-size:.78rem;font-weight:950}.figure-reading-substitution small,.figure-reading-opposition small{margin-top:.3rem;font-weight:600}.figure-reading-opposition{grid-template-columns:repeat(4,minmax(0,1fr))}.figure-reading-intensity{grid-template-columns:repeat(3,minmax(0,1fr))}.figure-reading-intensity small{margin-top:.3rem;font-weight:600}.figure-reading-implication{grid-template-columns:1fr auto 1fr}.figure-reading-implication span{font-weight:950}.figure-reading-implication small{margin-top:.35rem;font-weight:600}.figure-reading-passport{grid-template-columns:repeat(5,minmax(0,1fr))}.figure-reading-passport article{font-size:.7rem;font-weight:950}
@media(max-width:720px){
  .figure-reading-chain,.figure-reading-analogy,.figure-reading-animation,.figure-reading-substitution,.figure-reading-opposition,.figure-reading-intensity,.figure-reading-implication,.figure-reading-passport{grid-template-columns:1fr;overflow:visible}
  .figure-reading-chain i,.figure-reading-analogy>i,.figure-reading-animation>i,.figure-reading-substitution>i,.figure-reading-implication>i{transform:rotate(90deg)}
  .figure-reading-analogy strong,.figure-reading-animation strong,.figure-reading-substitution strong,.figure-reading-opposition strong,.figure-reading-intensity strong,.figure-reading-implication strong,.figure-reading-passport strong{grid-column:auto}
  [data-figure-reading-operation-bench] .segmented-control,[data-figure-reading-analogy-mapper] .segmented-control,[data-figure-reading-animation-scale] .segmented-control,[data-figure-reading-substitution-router] .segmented-control,[data-figure-reading-opposition-prism] .segmented-control,[data-figure-reading-intensity-console] .segmented-control,[data-figure-reading-implication-lab] .segmented-control,[data-figure-reading-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Cabinet d’analyse lexicale : cartes, réseaux et chaîne de preuve. */
[data-lexical-reading-inventory],[data-lexical-reading-layer-switch],[data-lexical-reading-sense-constellation],[data-lexical-reading-value-comparator],[data-lexical-reading-relation-map],[data-lexical-reading-distribution-map],[data-lexical-reading-effect-chain],[data-lexical-reading-passport]{border-color:#4e466b;background:linear-gradient(145deg,#fffbf4,#e9e5f0);box-shadow:inset .38rem 0 #bf5b3d}
.lexical-reading-inventory,.lexical-reading-layers,.lexical-reading-senses,.lexical-reading-values,.lexical-reading-relations,.lexical-reading-distribution,.lexical-reading-effect,.lexical-reading-passport{display:grid;gap:.68rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#352d47;background:#342d44}.lexical-reading-inventory>*,.lexical-reading-layers>*,.lexical-reading-senses>*,.lexical-reading-values>*,.lexical-reading-relations>*,.lexical-reading-distribution>*,.lexical-reading-effect>*,.lexical-reading-passport>*{min-width:0;overflow-wrap:anywhere}.lexical-reading-inventory article,.lexical-reading-layers article,.lexical-reading-senses article,.lexical-reading-values article,.lexical-reading-values>p,.lexical-reading-relations article,.lexical-reading-distribution span,.lexical-reading-effect span,.lexical-reading-passport article{padding:.78rem;border:.1rem solid #b7a9c5;border-radius:.7rem;background:#fffbf4;text-align:center}.lexical-reading-inventory strong,.lexical-reading-layers strong,.lexical-reading-senses strong,.lexical-reading-values strong,.lexical-reading-relations strong,.lexical-reading-distribution strong,.lexical-reading-effect strong,.lexical-reading-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#352d47;background:#efc36c;text-align:center;font-size:.8rem}.lexical-reading-inventory{grid-template-columns:repeat(3,minmax(0,1fr))}.lexical-reading-inventory header{grid-column:1/-1;color:#fff;text-align:center;font-weight:950}.lexical-reading-inventory article b,.lexical-reading-inventory article span,.lexical-reading-layers b,.lexical-reading-layers span,.lexical-reading-layers small,.lexical-reading-senses small,.lexical-reading-values small,.lexical-reading-relations small{display:block}.lexical-reading-inventory article b,.lexical-reading-layers b{color:#a34a31}.lexical-reading-layers,.lexical-reading-relations{grid-template-columns:repeat(3,minmax(0,1fr))}.lexical-reading-layers article{min-height:8.5rem}.lexical-reading-layers span{margin-top:.35rem;font-size:.78rem}.lexical-reading-layers small{margin-top:.65rem;color:#675b73}.lexical-reading-senses{grid-template-columns:auto auto repeat(4,minmax(0,1fr))}.lexical-reading-senses>b{display:grid;place-content:center;min-height:6rem;padding:.7rem;border-radius:50%;color:#352d47;background:#efc36c}.lexical-reading-senses>i,.lexical-reading-distribution>i,.lexical-reading-effect>i{color:#efc36c;font-style:normal;font-weight:950;text-align:center}.lexical-reading-senses article{font-size:.78rem;font-weight:950}.lexical-reading-senses small{margin-top:.3rem;font-weight:600}.lexical-reading-values{grid-template-columns:repeat(4,minmax(0,1fr))}.lexical-reading-values>p{grid-column:1/-1;margin:0;font-family:Georgia,serif}.lexical-reading-values>p b{color:#a34a31}.lexical-reading-values article{font-weight:950}.lexical-reading-values small{margin-top:.3rem;font-weight:600}.lexical-reading-relations article{font-weight:950}.lexical-reading-relations article i{color:#a34a31;font-style:normal;font-size:1.35rem}.lexical-reading-distribution{grid-template-columns:repeat(7,minmax(0,1fr))}.lexical-reading-distribution span{font-size:.72rem;font-weight:950}.lexical-reading-distribution span b{display:block;margin-top:.35rem;color:#a34a31}.lexical-reading-effect{grid-template-columns:repeat(11,minmax(0,1fr))}.lexical-reading-effect span{font-size:.68rem;font-weight:950}.lexical-reading-passport{grid-template-columns:repeat(5,minmax(0,1fr))}.lexical-reading-passport article{font-size:.7rem;font-weight:950}
@media(max-width:720px){
  .lexical-reading-inventory,.lexical-reading-layers,.lexical-reading-senses,.lexical-reading-values,.lexical-reading-relations,.lexical-reading-distribution,.lexical-reading-effect,.lexical-reading-passport{grid-template-columns:1fr;overflow:visible}
  .lexical-reading-inventory header,.lexical-reading-inventory strong,.lexical-reading-layers strong,.lexical-reading-senses strong,.lexical-reading-values>p,.lexical-reading-values strong,.lexical-reading-relations strong,.lexical-reading-distribution strong,.lexical-reading-effect strong,.lexical-reading-passport strong{grid-column:auto}
  .lexical-reading-senses>i,.lexical-reading-distribution>i,.lexical-reading-effect>i{transform:rotate(90deg)}
  .lexical-reading-layers article{min-height:auto}
  [data-lexical-reading-inventory] .segmented-control,[data-lexical-reading-layer-switch] .segmented-control,[data-lexical-reading-sense-constellation] .segmented-control,[data-lexical-reading-value-comparator] .segmented-control,[data-lexical-reading-relation-map] .segmented-control,[data-lexical-reading-distribution-map] .segmented-control,[data-lexical-reading-effect-chain] .segmented-control,[data-lexical-reading-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tableau de bord des épreuves anticipées de français */
[data-bac-overview-double-contract],[data-bac-overview-written-routes],[data-bac-overview-choice-gate],[data-bac-overview-oral-score],[data-bac-overview-training-dashboard],[data-bac-overview-document-stack],[data-bac-overview-method-router]{border-color:#274f61;background:linear-gradient(145deg,#fffdf5,#e3eef0);box-shadow:inset .38rem 0 #d86a3b}
.bac-overview-twin,.bac-overview-routes,.bac-overview-gate,.bac-overview-score,.bac-overview-dashboard,.bac-overview-stack,.bac-overview-router{display:grid;gap:.65rem;align-items:stretch;min-width:0;padding:1rem;border-radius:1rem;color:#173847;background:#173847}
.bac-overview-twin>* ,.bac-overview-routes>* ,.bac-overview-gate>* ,.bac-overview-score>* ,.bac-overview-dashboard>* ,.bac-overview-stack>* ,.bac-overview-router>*{min-width:0;overflow-wrap:anywhere}
.bac-overview-twin{grid-template-columns:1fr auto 1fr;align-items:center}.bac-overview-twin article{display:grid;gap:.45rem;min-height:10rem;padding:1rem;border:.12rem solid #9dc1c9;border-radius:.8rem;background:#fffdf5;text-align:center}.bac-overview-twin article b{font-size:2.4rem;color:#c65232}.bac-overview-twin article small,.bac-overview-twin article span,.bac-overview-twin article em{display:block}.bac-overview-twin>i{color:#ffd18c;font-size:2rem;font-style:normal;font-weight:950}
.bac-overview-routes{grid-template-columns:1fr 1fr}.bac-overview-routes>strong{grid-column:1/-1;padding:.7rem;color:#fff;text-align:center;letter-spacing:.08em}.bac-overview-routes article{display:grid;grid-template-columns:1fr auto 1fr;gap:.45rem;align-items:center;padding:1rem;border-radius:.8rem;background:#fffdf5;text-align:center}.bac-overview-routes article small{grid-column:1/-1;color:#9a3e28;font-weight:900}.bac-overview-routes article b{padding:.65rem;border:.1rem solid #9dc1c9;border-radius:.6rem}.bac-overview-routes article i{color:#c65232;font-style:normal;font-weight:950}
.bac-overview-gate,.bac-overview-dashboard{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center}.bac-overview-gate span,.bac-overview-dashboard span{padding:.8rem .35rem;border-radius:.7rem;background:#fffdf5;text-align:center;font-weight:900}.bac-overview-gate span small{display:block;margin-top:.3rem;font-weight:600}.bac-overview-gate i,.bac-overview-dashboard i{color:#ffd18c;font-style:normal;font-weight:950;text-align:center}.bac-overview-gate strong,.bac-overview-dashboard strong{grid-column:1/-1;padding:.7rem;border-radius:.6rem;color:#173847;background:#ffd18c;text-align:center}
.bac-overview-score{grid-template-columns:repeat(4,minmax(0,1fr))}.bac-overview-score article{display:grid;place-content:center;min-height:8rem;border-radius:.8rem;background:#fffdf5;text-align:center}.bac-overview-score article b{font-size:2.3rem;color:#c65232}.bac-overview-score article span{font-size:.8rem;font-weight:900}.bac-overview-score strong{grid-column:1/-1;padding:.7rem;color:#fff;text-align:center}
.bac-overview-stack{grid-template-columns:repeat(4,minmax(0,1fr))}.bac-overview-stack article{position:relative;display:grid;align-content:center;min-height:8rem;padding:.8rem;border:.12rem solid #9dc1c9;border-radius:.8rem;background:#fffdf5;text-align:center}.bac-overview-stack article b{position:absolute;top:.45rem;left:.55rem;color:#c65232;font-size:1.35rem}.bac-overview-stack article span{font-size:.82rem;font-weight:900}.bac-overview-stack strong{grid-column:1/-1;padding:.7rem;color:#173847;background:#ffd18c;text-align:center}
.bac-overview-router{grid-template-columns:repeat(2,minmax(0,1fr))}.bac-overview-router>strong,.bac-overview-router>em{grid-column:1/-1;padding:.75rem;text-align:center}.bac-overview-router>strong{color:#fff}.bac-overview-router>em{color:#173847;background:#ffd18c;font-style:normal;font-weight:950}.bac-overview-router article{padding:.85rem;border-radius:.75rem;background:#fffdf5;text-align:center}.bac-overview-router article b,.bac-overview-router article span{display:block}.bac-overview-router article b{color:#9a3e28}.bac-overview-router article span{margin-top:.35rem;font-size:.88rem}
@media(max-width:720px){.bac-overview-twin,.bac-overview-routes,.bac-overview-gate,.bac-overview-score,.bac-overview-dashboard,.bac-overview-stack,.bac-overview-router{grid-template-columns:1fr;overflow:visible}.bac-overview-twin>i,.bac-overview-gate>i,.bac-overview-dashboard>i{transform:rotate(90deg);text-align:center}.bac-overview-routes>strong,.bac-overview-routes article small,.bac-overview-gate strong,.bac-overview-score strong,.bac-overview-dashboard strong,.bac-overview-stack strong,.bac-overview-router>strong,.bac-overview-router>em{grid-column:auto}.bac-overview-routes article{grid-template-columns:1fr}.bac-overview-twin article,.bac-overview-score article,.bac-overview-stack article{min-height:auto}[data-bac-overview-double-contract] .segmented-control,[data-bac-overview-written-routes] .segmented-control,[data-bac-overview-choice-gate] .segmented-control,[data-bac-overview-oral-score] .segmented-control,[data-bac-overview-training-dashboard] .segmented-control,[data-bac-overview-document-stack] .segmented-control,[data-bac-overview-method-router] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Studio d’organisation des révisions */
[data-revision-studio-diagnostic],[data-revision-studio-streams],[data-revision-studio-week],[data-revision-studio-error-log],[data-revision-studio-simulation-ladder],[data-revision-studio-final-month],[data-revision-studio-preflight]{border-color:#4b5266;background:linear-gradient(145deg,#fffdf7,#eee8dc);box-shadow:inset .38rem 0 #3e7b72}
.revision-studio-diagnostic,.revision-studio-streams,.revision-studio-week,.revision-studio-log,.revision-studio-ladder,.revision-studio-month,.revision-studio-preflight{display:grid;gap:.6rem;align-items:stretch;min-width:0;padding:1rem;border-radius:1rem;color:#243a42;background:#25343d}
.revision-studio-diagnostic>*,.revision-studio-streams>*,.revision-studio-week>*,.revision-studio-log>*,.revision-studio-ladder>*,.revision-studio-month>*,.revision-studio-preflight>*{min-width:0;overflow-wrap:anywhere}
.revision-studio-diagnostic{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}.revision-studio-diagnostic article,.revision-studio-streams article,.revision-studio-log article,.revision-studio-month article{padding:.8rem;border-radius:.7rem;background:#fffdf7;text-align:center}.revision-studio-diagnostic article b,.revision-studio-diagnostic article span,.revision-studio-log article small,.revision-studio-log article b,.revision-studio-month article b,.revision-studio-month article span{display:block}.revision-studio-diagnostic article span,.revision-studio-month article span{margin-top:.3rem;font-size:.85rem}.revision-studio-diagnostic>i{color:#f4c66b;font-style:normal;font-weight:950;text-align:center}.revision-studio-diagnostic>strong,.revision-studio-streams>strong,.revision-studio-week>strong,.revision-studio-log>strong,.revision-studio-ladder>strong,.revision-studio-month>strong,.revision-studio-preflight>strong{grid-column:1/-1;padding:.68rem;border-radius:.55rem;color:#24343b;background:#f4c66b;text-align:center}
.revision-studio-streams{grid-template-columns:repeat(4,minmax(0,1fr))}.revision-studio-streams article{display:grid;place-content:center;min-height:7.5rem;border:.12rem solid #8bb7ae}.revision-studio-streams article:nth-child(2),.revision-studio-streams article:nth-child(4){transform:translateY(.5rem)}
.revision-studio-week{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center}.revision-studio-week span{padding:.75rem .35rem;border-radius:.7rem;background:#fffdf7;text-align:center;font-weight:900}.revision-studio-week span small{display:block;margin-top:.25rem;color:#377167}.revision-studio-week i{color:#f4c66b;font-style:normal;font-weight:950;text-align:center}
.revision-studio-log{grid-template-columns:repeat(4,minmax(0,1fr))}.revision-studio-log article{border-top:.32rem solid #4e897f}.revision-studio-log article small{color:#377167;font-weight:900}.revision-studio-log article b{margin-top:.35rem}
.revision-studio-ladder{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;padding-top:2.2rem}.revision-studio-ladder span{display:grid;place-content:center;padding:.55rem;border-radius:.65rem .65rem 0 0;color:#fff;background:#4e897f;text-align:center;font-size:1.5rem;font-weight:950}.revision-studio-ladder span small{font-size:.72rem}.revision-studio-ladder span:nth-child(1){min-height:5rem}.revision-studio-ladder span:nth-child(2){min-height:7rem}.revision-studio-ladder span:nth-child(3){min-height:9rem}.revision-studio-ladder span:nth-child(4){min-height:11rem;background:#b85a39}
.revision-studio-month{grid-template-columns:repeat(4,minmax(0,1fr))}.revision-studio-month article b{color:#a3482e;font-size:1.25rem}
.revision-studio-preflight{grid-template-columns:repeat(4,minmax(0,1fr))}.revision-studio-preflight span{padding:.7rem;border:.1rem solid #8bb7ae;border-radius:.65rem;color:#fff;text-align:center;font-size:.8rem;font-weight:900}.revision-studio-preflight span::before{content:"✓";display:block;color:#f4c66b;font-size:1.2rem}
@media(max-width:720px){.revision-studio-diagnostic,.revision-studio-streams,.revision-studio-week,.revision-studio-log,.revision-studio-ladder,.revision-studio-month,.revision-studio-preflight{grid-template-columns:1fr;overflow:visible}.revision-studio-diagnostic>i,.revision-studio-week>i{transform:rotate(90deg)}.revision-studio-diagnostic>strong,.revision-studio-streams>strong,.revision-studio-week>strong,.revision-studio-log>strong,.revision-studio-ladder>strong,.revision-studio-month>strong,.revision-studio-preflight>strong{grid-column:auto}.revision-studio-streams article:nth-child(2),.revision-studio-streams article:nth-child(4){transform:none}.revision-studio-streams article,.revision-studio-ladder span,.revision-studio-ladder span:nth-child(1),.revision-studio-ladder span:nth-child(2),.revision-studio-ladder span:nth-child(3),.revision-studio-ladder span:nth-child(4){min-height:auto;border-radius:.7rem}[data-revision-studio-diagnostic] .segmented-control,[data-revision-studio-streams] .segmented-control,[data-revision-studio-week] .segmented-control,[data-revision-studio-error-log] .segmented-control,[data-revision-studio-simulation-ladder] .segmented-control,[data-revision-studio-final-month] .segmented-control,[data-revision-studio-preflight] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Laboratoire de classification littéraire */
[data-text-taxonomy-three-axes],[data-text-taxonomy-operation-mixer],[data-text-taxonomy-description-lens],[data-text-taxonomy-genre-contract],[data-text-taxonomy-truth-contract],[data-text-taxonomy-argument-voices],[data-text-taxonomy-register-engine],[data-text-taxonomy-passport]{border-color:#553f69;background:linear-gradient(145deg,#fffaf4,#eee5f4);box-shadow:inset .38rem 0 #c15d45}
.taxonomy-cube,.taxonomy-mixer,.taxonomy-lens,.taxonomy-contract,.taxonomy-truth,.taxonomy-voices,.taxonomy-engine,.taxonomy-passport{display:grid;gap:.6rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#392d44;background:#352945}.taxonomy-cube>*,.taxonomy-mixer>*,.taxonomy-lens>*,.taxonomy-contract>*,.taxonomy-truth>*,.taxonomy-voices>*,.taxonomy-engine>*,.taxonomy-passport>*{min-width:0;overflow-wrap:anywhere}.taxonomy-cube{grid-template-columns:repeat(3,minmax(0,1fr))}.taxonomy-cube span,.taxonomy-mixer span,.taxonomy-lens span,.taxonomy-truth span,.taxonomy-engine span{padding:.8rem;border-radius:.7rem;background:#fffaf4;text-align:center;font-weight:900}.taxonomy-cube small{display:block;margin-top:.3rem;font-weight:600}.taxonomy-cube strong,.taxonomy-mixer strong,.taxonomy-lens strong,.taxonomy-contract strong,.taxonomy-truth strong,.taxonomy-voices strong,.taxonomy-engine strong,.taxonomy-passport strong{grid-column:1/-1;padding:.7rem;color:#392d44;background:#f2c36f;text-align:center}.taxonomy-mixer{grid-template-columns:repeat(5,minmax(0,1fr))}.taxonomy-lens,.taxonomy-engine{grid-template-columns:repeat(7,minmax(0,1fr))}.taxonomy-lens i,.taxonomy-engine i{color:#f2c36f;font-style:normal;font-weight:950;text-align:center}.taxonomy-contract{grid-template-columns:repeat(3,minmax(0,1fr))}.taxonomy-contract article,.taxonomy-passport article{padding:.8rem;border:.1rem solid #bfa7c8;border-radius:.7rem;color:#fff;text-align:center;font-weight:900}.taxonomy-truth{grid-template-columns:repeat(5,minmax(0,1fr))}.taxonomy-voices{grid-template-columns:1fr auto 1fr}.taxonomy-voices article{padding:1rem;border-radius:.75rem;background:#fffaf4;text-align:center}.taxonomy-voices article b,.taxonomy-voices article span{display:block}.taxonomy-voices i{color:#f2c36f;font-style:normal;font-weight:950}.taxonomy-passport{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:720px){.taxonomy-cube,.taxonomy-mixer,.taxonomy-lens,.taxonomy-contract,.taxonomy-truth,.taxonomy-voices,.taxonomy-engine,.taxonomy-passport{grid-template-columns:1fr;overflow:visible}.taxonomy-lens i,.taxonomy-engine i,.taxonomy-voices i{transform:rotate(90deg)}.taxonomy-cube strong,.taxonomy-mixer strong,.taxonomy-lens strong,.taxonomy-contract strong,.taxonomy-truth strong,.taxonomy-voices strong,.taxonomy-engine strong,.taxonomy-passport strong{grid-column:auto}[data-text-taxonomy-three-axes] .segmented-control,[data-text-taxonomy-operation-mixer] .segmented-control,[data-text-taxonomy-description-lens] .segmented-control,[data-text-taxonomy-genre-contract] .segmented-control,[data-text-taxonomy-truth-contract] .segmented-control,[data-text-taxonomy-argument-voices] .segmented-control,[data-text-taxonomy-register-engine] .segmented-control,[data-text-taxonomy-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Scène d’énonciation et circulation des voix */
[data-enunciation-stage-map],[data-enunciation-anchor-switch],[data-enunciation-reference-router],[data-enunciation-voice-stack],[data-enunciation-modality-console],[data-enunciation-reported-speech-prism],[data-enunciation-double-audience],[data-enunciation-passport]{border-color:#285c62;background:linear-gradient(145deg,#fffaf0,#dceeed);box-shadow:inset .38rem 0 #df7a3b}
.enunciation-stage,.enunciation-switch,.enunciation-router,.enunciation-stack,.enunciation-console,.enunciation-prism,.enunciation-theatre,.enunciation-passport{display:grid;gap:.62rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#173e43;background:#153f45}.enunciation-stage>*,.enunciation-switch>*,.enunciation-router>*,.enunciation-stack>*,.enunciation-console>*,.enunciation-prism>*,.enunciation-theatre>*,.enunciation-passport>*{min-width:0;overflow-wrap:anywhere}.enunciation-stage article,.enunciation-switch article,.enunciation-router article,.enunciation-stack article,.enunciation-console article,.enunciation-prism article,.enunciation-theatre article,.enunciation-theatre div,.enunciation-passport article{padding:.78rem;border:.1rem solid #8fc3bd;border-radius:.7rem;background:#fffaf0;text-align:center}.enunciation-stage strong,.enunciation-switch strong,.enunciation-router strong,.enunciation-stack strong,.enunciation-console strong,.enunciation-prism strong,.enunciation-theatre strong,.enunciation-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#173e43;background:#f4c66f;text-align:center}.enunciation-stage{grid-template-columns:repeat(5,minmax(0,1fr))}.enunciation-stage>i{display:none}.enunciation-stage article b,.enunciation-stage article span,.enunciation-switch article b,.enunciation-switch article span,.enunciation-switch article em,.enunciation-stack article small,.enunciation-console article b,.enunciation-console article span,.enunciation-prism article b,.enunciation-prism article span,.enunciation-theatre b,.enunciation-theatre span{display:block}.enunciation-stage article span,.enunciation-switch article span,.enunciation-console article span,.enunciation-prism article span,.enunciation-theatre span{margin-top:.25rem;font-size:.84rem}.enunciation-switch{grid-template-columns:1fr 1fr}.enunciation-switch>p{grid-column:1/-1;margin:0;padding:.8rem;color:#fff;text-align:center;font-size:1.15rem;font-weight:950;letter-spacing:.04em}.enunciation-switch article em{margin-top:.45rem;color:#9c482c;font-size:.78rem;font-style:normal}.enunciation-router{grid-template-columns:auto auto repeat(4,minmax(0,1fr))}.enunciation-router>span{padding:.7rem;border-radius:.6rem;color:#173e43;background:#f4c66f;font-weight:950}.enunciation-router>i,.enunciation-prism>i,.enunciation-theatre>i{color:#f4c66f;font-style:normal;font-weight:950;text-align:center}.enunciation-stack{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.enunciation-stack article:nth-child(1){transform:translateY(1.2rem)}.enunciation-stack article:nth-child(2){transform:translateY(.8rem)}.enunciation-stack article:nth-child(3){transform:translateY(.4rem)}.enunciation-console{grid-template-columns:repeat(4,minmax(0,1fr))}.enunciation-console article b{color:#a64b2b}.enunciation-prism{grid-template-columns:1fr auto 1fr auto 1fr}.enunciation-theatre{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto}.enunciation-theatre div{grid-column:1/-1;color:#fff;background:#285f65}.enunciation-theatre article:nth-of-type(3){grid-column:2}.enunciation-passport{grid-template-columns:repeat(4,minmax(0,1fr))}.enunciation-passport article{font-size:.78rem;font-weight:950}
@media(max-width:720px){.enunciation-stage,.enunciation-switch,.enunciation-router,.enunciation-stack,.enunciation-console,.enunciation-prism,.enunciation-theatre,.enunciation-passport{grid-template-columns:1fr;overflow:visible}.enunciation-stage strong,.enunciation-switch>p,.enunciation-switch strong,.enunciation-router strong,.enunciation-stack strong,.enunciation-console strong,.enunciation-prism strong,.enunciation-theatre strong,.enunciation-passport strong,.enunciation-theatre div,.enunciation-theatre article:nth-of-type(3){grid-column:auto}.enunciation-router>i,.enunciation-prism>i,.enunciation-theatre>i{transform:rotate(90deg)}.enunciation-stack article:nth-child(1),.enunciation-stack article:nth-child(2),.enunciation-stack article:nth-child(3){transform:none}[data-enunciation-stage-map] .segmented-control,[data-enunciation-anchor-switch] .segmented-control,[data-enunciation-reference-router] .segmented-control,[data-enunciation-voice-stack] .segmented-control,[data-enunciation-modality-console] .segmented-control,[data-enunciation-reported-speech-prism] .segmented-control,[data-enunciation-double-audience] .segmented-control,[data-enunciation-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Banc de tests des classes et fonctions grammaticales */
[data-grammar-two-map],[data-grammar-class-lab],[data-grammar-group-nesting],[data-grammar-subject-switchboard],[data-grammar-verb-complement-bench],[data-grammar-circumstantial-gate],[data-grammar-noun-expansion-orbit],[data-grammar-analysis-passport]{border-color:#345477;background:linear-gradient(145deg,#f7fbff,#e3ebd8);box-shadow:inset .38rem 0 #d98537}
.grammar-two-map,.grammar-class-lab,.grammar-nesting,.grammar-switchboard,.grammar-bench,.grammar-gate,.grammar-orbit,.grammar-passport{display:grid;gap:.62rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#1c3850;background:#17364e}.grammar-two-map>*,.grammar-class-lab>*,.grammar-nesting>*,.grammar-switchboard>*,.grammar-bench>*,.grammar-gate>*,.grammar-orbit>*,.grammar-passport>*{min-width:0;overflow-wrap:anywhere}.grammar-two-map article,.grammar-class-lab span,.grammar-nesting article>div,.grammar-switchboard article,.grammar-bench article,.grammar-gate span,.grammar-orbit div,.grammar-orbit article,.grammar-passport article{padding:.78rem;border:.1rem solid #9fb9c8;border-radius:.7rem;background:#f8fbf4;text-align:center}.grammar-two-map strong,.grammar-class-lab strong,.grammar-nesting strong,.grammar-switchboard strong,.grammar-bench strong,.grammar-gate strong,.grammar-orbit strong,.grammar-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#17364e;background:#efc66f;text-align:center}.grammar-two-map{grid-template-columns:1fr auto 1fr}.grammar-two-map>i,.grammar-class-lab>i,.grammar-gate>i{color:#efc66f;font-style:normal;font-weight:950;text-align:center}.grammar-two-map article small,.grammar-two-map article b,.grammar-two-map article span,.grammar-two-map article em,.grammar-switchboard article b,.grammar-switchboard article span,.grammar-bench article b,.grammar-bench article span,.grammar-bench article em,.grammar-orbit b,.grammar-orbit span{display:block}.grammar-two-map article b{color:#a85425;font-size:1.45rem}.grammar-two-map article em,.grammar-bench article em{margin-top:.35rem;color:#316268;font-size:.8rem;font-style:normal}.grammar-class-lab,.grammar-gate{grid-template-columns:repeat(7,minmax(0,1fr))}.grammar-class-lab span,.grammar-gate span{font-weight:900}.grammar-class-lab small,.grammar-gate small{display:block;margin-top:.25rem;font-weight:600}.grammar-nesting article{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.8rem;border:.14rem solid #efc66f;border-radius:.8rem}.grammar-nesting article>b{grid-column:1/-1;color:#fff;text-align:center}.grammar-nesting article div b,.grammar-nesting article div span{display:block}.grammar-nesting article div span{margin-top:.3rem;font-size:.83rem}.grammar-switchboard{grid-template-columns:repeat(4,minmax(0,1fr))}.grammar-switchboard article{min-height:7.2rem}.grammar-switchboard article b{color:#a85425}.grammar-switchboard article span{margin-top:.35rem;font-size:.83rem}.grammar-bench{grid-template-columns:repeat(3,minmax(0,1fr))}.grammar-bench article b{color:#a85425}.grammar-bench article span,.grammar-bench article em{margin-top:.35rem}.grammar-orbit{grid-template-columns:repeat(4,minmax(0,1fr));position:relative}.grammar-orbit>div{grid-column:1/-1;border-color:#efc66f}.grammar-orbit article{font-size:.82rem;font-weight:900}.grammar-orbit article small{display:block;margin-top:.25rem;font-weight:600}.grammar-passport{grid-template-columns:repeat(6,minmax(0,1fr))}.grammar-passport article{display:grid;place-content:center;min-height:6.8rem;color:#a85425;font-size:1.35rem;font-weight:950}.grammar-passport article b{font-size:.72rem}
@media(max-width:720px){.grammar-two-map,.grammar-class-lab,.grammar-nesting,.grammar-switchboard,.grammar-bench,.grammar-gate,.grammar-orbit,.grammar-passport,.grammar-nesting article{grid-template-columns:1fr;overflow:visible}.grammar-two-map strong,.grammar-class-lab strong,.grammar-nesting strong,.grammar-switchboard strong,.grammar-bench strong,.grammar-gate strong,.grammar-orbit strong,.grammar-passport strong,.grammar-nesting article>b,.grammar-orbit>div{grid-column:auto}.grammar-two-map>i,.grammar-class-lab>i,.grammar-gate>i{transform:rotate(90deg)}.grammar-switchboard article,.grammar-passport article{min-height:auto}[data-grammar-two-map] .segmented-control,[data-grammar-class-lab] .segmented-control,[data-grammar-group-nesting] .segmented-control,[data-grammar-subject-switchboard] .segmented-control,[data-grammar-verb-complement-bench] .segmented-control,[data-grammar-circumstantial-gate] .segmented-control,[data-grammar-noun-expansion-orbit] .segmented-control,[data-grammar-analysis-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Atelier de montage des formes verbales */
[data-conjugation-form-blueprint],[data-conjugation-stem-ending-bench],[data-conjugation-simple-compound-pairing],[data-conjugation-indicative-family],[data-conjugation-subjunctive-register],[data-conjugation-mood-switch],[data-conjugation-nonfinite-workshop],[data-conjugation-form-passport]{border-color:#5b4e35;background:linear-gradient(145deg,#fff9ec,#e8eddc);box-shadow:inset .38rem 0 #c76438}
.conjugation-blueprint,.conjugation-bench,.conjugation-pairs,.conjugation-family,.conjugation-register,.conjugation-switch,.conjugation-nonfinite,.conjugation-passport{display:grid;gap:.62rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#3b3526;background:#35382d}.conjugation-blueprint>*,.conjugation-bench>*,.conjugation-pairs>*,.conjugation-family>*,.conjugation-register>*,.conjugation-switch>*,.conjugation-nonfinite>*,.conjugation-passport>*{min-width:0;overflow-wrap:anywhere}.conjugation-blueprint span,.conjugation-bench article,.conjugation-pairs article,.conjugation-family span,.conjugation-register article,.conjugation-switch article,.conjugation-nonfinite article,.conjugation-passport article{padding:.78rem;border:.1rem solid #b9b78d;border-radius:.7rem;background:#fff9ec;text-align:center}.conjugation-blueprint strong,.conjugation-bench strong,.conjugation-pairs strong,.conjugation-family strong,.conjugation-register strong,.conjugation-switch strong,.conjugation-nonfinite strong,.conjugation-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#37382d;background:#f0c76c;text-align:center}.conjugation-blueprint{grid-template-columns:repeat(5,minmax(0,1fr))}.conjugation-blueprint span{font-size:.8rem;font-weight:950}.conjugation-bench,.conjugation-register,.conjugation-switch{grid-template-columns:1fr 1fr}.conjugation-bench article small,.conjugation-bench article b,.conjugation-register article b,.conjugation-register article span,.conjugation-switch article b,.conjugation-switch article span,.conjugation-nonfinite article b,.conjugation-nonfinite article span{display:block}.conjugation-bench article small{color:#9b4728;font-weight:950}.conjugation-bench article b{margin-top:.35rem}.conjugation-pairs{grid-template-columns:repeat(4,minmax(0,1fr))}.conjugation-pairs article{min-height:8.5rem}.conjugation-pairs article b,.conjugation-pairs article i,.conjugation-pairs article span{display:block}.conjugation-pairs article i{color:#b4502c;font-style:normal;font-weight:950}.conjugation-family,.conjugation-passport{grid-template-columns:repeat(4,minmax(0,1fr))}.conjugation-family span{font-size:.78rem;font-weight:950}.conjugation-family span small{display:block;margin-top:.25rem;font-weight:600}.conjugation-register article b,.conjugation-switch article b,.conjugation-nonfinite article b{color:#9b4728}.conjugation-register article span,.conjugation-switch article span,.conjugation-nonfinite article span{margin-top:.4rem}.conjugation-nonfinite{grid-template-columns:repeat(4,minmax(0,1fr))}.conjugation-passport article{font-size:.76rem;font-weight:950}
@media(max-width:720px){.conjugation-blueprint,.conjugation-bench,.conjugation-pairs,.conjugation-family,.conjugation-register,.conjugation-switch,.conjugation-nonfinite,.conjugation-passport{grid-template-columns:1fr;overflow:visible}.conjugation-blueprint strong,.conjugation-bench strong,.conjugation-pairs strong,.conjugation-family strong,.conjugation-register strong,.conjugation-switch strong,.conjugation-nonfinite strong,.conjugation-passport strong{grid-column:auto}.conjugation-pairs article{min-height:auto}[data-conjugation-form-blueprint] .segmented-control,[data-conjugation-stem-ending-bench] .segmented-control,[data-conjugation-simple-compound-pairing] .segmented-control,[data-conjugation-indicative-family] .segmented-control,[data-conjugation-subjunctive-register] .segmented-control,[data-conjugation-mood-switch] .segmented-control,[data-conjugation-nonfinite-workshop] .segmented-control,[data-conjugation-form-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Table de montage des voix verbales */
[data-voice-role-board],[data-voice-active-transitivity-gate],[data-voice-passive-transformer],[data-voice-agent-visibility-console],[data-voice-pronominal-router],[data-voice-se-ambiguity-lab],[data-voice-perspective-mixer],[data-voice-analysis-passport]{border-color:#524267;background:linear-gradient(145deg,#fff9f2,#e8e3ef);box-shadow:inset .38rem 0 #c95e42}
.voice-role-board,.voice-gate,.voice-transformer,.voice-agent-console,.voice-router,.voice-ambiguity,.voice-mixer,.voice-passport{display:grid;gap:.62rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#392d45;background:#342943}.voice-role-board>*,.voice-gate>*,.voice-transformer>*,.voice-agent-console>*,.voice-router>*,.voice-ambiguity>*,.voice-mixer>*,.voice-passport>*{min-width:0;overflow-wrap:anywhere}.voice-role-board article,.voice-gate span,.voice-transformer span,.voice-agent-console article,.voice-router article,.voice-router>span,.voice-ambiguity article,.voice-mixer article,.voice-passport article{padding:.78rem;border:.1rem solid #b9a6c8;border-radius:.7rem;background:#fff9f2;text-align:center}.voice-role-board strong,.voice-gate strong,.voice-transformer strong,.voice-agent-console strong,.voice-router strong,.voice-ambiguity strong,.voice-mixer strong,.voice-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#392d45;background:#f1c46e;text-align:center}.voice-role-board,.voice-ambiguity{grid-template-columns:1fr 1fr}.voice-role-board article{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.4rem;align-items:center}.voice-role-board article b,.voice-role-board article em{grid-column:1/-1}.voice-role-board article em{color:#9d442e;font-size:.8rem;font-style:normal}.voice-gate{grid-template-columns:1fr auto 1fr auto 1fr}.voice-gate>i,.voice-transformer>i,.voice-router>i{color:#f1c46e;font-style:normal;font-weight:950;text-align:center}.voice-transformer{grid-template-columns:repeat(7,minmax(0,1fr))}.voice-transformer span{font-weight:950}.voice-transformer small{display:block;margin-top:.25rem;font-weight:600}.voice-agent-console{grid-template-columns:repeat(5,minmax(0,1fr))}.voice-router{grid-template-columns:auto auto repeat(4,minmax(0,1fr))}.voice-router article{font-size:.82rem;font-weight:900}.voice-router article small{display:block;margin-top:.25rem;font-weight:600}.voice-ambiguity>p{grid-column:1/-1;margin:0;padding:.75rem;color:#fff;text-align:center;font-weight:950}.voice-ambiguity article b,.voice-ambiguity article span,.voice-ambiguity article em,.voice-mixer article b,.voice-mixer article span{display:block}.voice-ambiguity article b,.voice-mixer article b{color:#9d442e}.voice-ambiguity article span,.voice-ambiguity article em,.voice-mixer article span{margin-top:.3rem}.voice-ambiguity article em{font-size:.8rem}.voice-mixer{grid-template-columns:repeat(4,minmax(0,1fr))}.voice-passport{grid-template-columns:repeat(4,minmax(0,1fr))}.voice-passport article{font-size:.78rem;font-weight:950}
@media(max-width:720px){.voice-role-board,.voice-gate,.voice-transformer,.voice-agent-console,.voice-router,.voice-ambiguity,.voice-mixer,.voice-passport,.voice-role-board article{grid-template-columns:1fr;overflow:visible}.voice-role-board strong,.voice-gate strong,.voice-transformer strong,.voice-agent-console strong,.voice-router strong,.voice-ambiguity strong,.voice-mixer strong,.voice-passport strong,.voice-role-board article b,.voice-role-board article em,.voice-ambiguity>p{grid-column:auto}.voice-gate>i,.voice-transformer>i,.voice-router>i{transform:rotate(90deg)}[data-voice-role-board] .segmented-control,[data-voice-active-transitivity-gate] .segmented-control,[data-voice-passive-transformer] .segmented-control,[data-voice-agent-visibility-console] .segmented-control,[data-voice-pronominal-router] .segmented-control,[data-voice-se-ambiguity-lab] .segmented-control,[data-voice-perspective-mixer] .segmented-control,[data-voice-analysis-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Console des types, formes et actes de phrase */
[data-sentence-four-layer-console],[data-sentence-declarative-truth-gate],[data-sentence-interrogation-nesting],[data-sentence-injunction-router],[data-sentence-exclamation-combiner],[data-sentence-form-matrix],[data-sentence-modality-spectrum],[data-sentence-analysis-passport]{border-color:#315069;background:linear-gradient(145deg,#f9fbff,#e5ecec);box-shadow:inset .38rem 0 #d86938}
.sentence-layers,.sentence-truth,.sentence-nesting,.sentence-router,.sentence-exclamation,.sentence-matrix,.sentence-spectrum,.sentence-passport{display:grid;gap:.62rem;align-items:center;min-width:0;padding:1rem;border-radius:1rem;color:#203b4d;background:#203b4d}.sentence-layers>*,.sentence-truth>*,.sentence-nesting>*,.sentence-router>*,.sentence-exclamation>*,.sentence-matrix>*,.sentence-spectrum>*,.sentence-passport>*{min-width:0;overflow-wrap:anywhere}.sentence-layers article,.sentence-truth span,.sentence-nesting article,.sentence-nesting article div,.sentence-router article,.sentence-exclamation span,.sentence-matrix article,.sentence-spectrum span,.sentence-passport article{padding:.78rem;border:.1rem solid #9cb7c5;border-radius:.7rem;background:#f9fbff;text-align:center}.sentence-layers strong,.sentence-truth strong,.sentence-nesting strong,.sentence-router strong,.sentence-exclamation strong,.sentence-matrix strong,.sentence-spectrum strong,.sentence-passport strong{grid-column:1/-1;padding:.7rem;border-radius:.55rem;color:#203b4d;background:#f1c46c;text-align:center}.sentence-layers{grid-template-columns:repeat(4,minmax(0,1fr))}.sentence-layers article b,.sentence-layers article span{display:block}.sentence-layers article b{color:#a54a29}.sentence-layers article span{margin-top:.3rem;font-size:.76rem}.sentence-truth,.sentence-spectrum{grid-template-columns:repeat(5,minmax(0,1fr))}.sentence-truth>i,.sentence-spectrum>i{color:#f1c46c;font-style:normal;font-weight:950;text-align:center}.sentence-nesting article{padding:1rem}.sentence-nesting article>b,.sentence-nesting article>span,.sentence-nesting article div b,.sentence-nesting article div span{display:block}.sentence-nesting article div{margin-top:.7rem;color:#fff;background:#315f73}.sentence-router,.sentence-matrix{grid-template-columns:repeat(5,minmax(0,1fr))}.sentence-router article{font-size:.8rem;font-weight:950}.sentence-router small{display:block;margin-top:.25rem;font-weight:600}.sentence-exclamation{grid-template-columns:repeat(3,minmax(0,1fr))}.sentence-exclamation span{font-weight:950}.sentence-exclamation small{display:block;margin-top:.25rem;font-weight:600}.sentence-matrix article{font-size:.76rem;font-weight:950}.sentence-matrix article b{display:block;color:#a54a29;font-size:1.4rem}.sentence-spectrum span{font-size:.8rem;font-weight:950}.sentence-passport{grid-template-columns:repeat(4,minmax(0,1fr))}.sentence-passport article{font-size:.76rem;font-weight:950}
@media(max-width:720px){.sentence-layers,.sentence-truth,.sentence-nesting,.sentence-router,.sentence-exclamation,.sentence-matrix,.sentence-spectrum,.sentence-passport{grid-template-columns:1fr;overflow:visible}.sentence-layers strong,.sentence-truth strong,.sentence-nesting strong,.sentence-router strong,.sentence-exclamation strong,.sentence-matrix strong,.sentence-spectrum strong,.sentence-passport strong{grid-column:auto}.sentence-truth>i,.sentence-spectrum>i{transform:rotate(90deg)}[data-sentence-four-layer-console] .segmented-control,[data-sentence-declarative-truth-gate] .segmented-control,[data-sentence-interrogation-nesting] .segmented-control,[data-sentence-injunction-router] .segmented-control,[data-sentence-exclamation-combiner] .segmented-control,[data-sentence-form-matrix] .segmented-control,[data-sentence-modality-spectrum] .segmented-control,[data-sentence-analysis-passport] .segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}

a { color: var(--blue-700); text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 0.14em; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--orange-500); outline-offset: 3px; }
[hidden] { display: none !important; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 20;
  transform: translateY(-180%);
  background: var(--paper);
  color: var(--navy-950);
  padding: 0.65rem 1rem;
  border-radius: var(--radius-sm);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  background: var(--navy-950);
  color: #fff;
}
.site-header__inner {
  width: min(calc(100% - 2rem), var(--content));
  min-height: 4.75rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.65rem;
  color: var(--orange-500);
  text-decoration: none;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.035em;
}
.brand img { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.brand > span > span { color: #fff; }
.header-nav { display: flex; align-items: center; justify-content: flex-end; gap: 0.35rem; }
.header-nav a { padding: 0.55rem 0.72rem; border-radius: 0.55rem; color: #fff; font-size: 0.9rem; font-weight: 650; text-decoration: none; }
.header-nav a:hover { background: rgba(255, 255, 255, 0.1); }
.header-nav .header-nav__subscribe { background: var(--orange-500); color: #2b1900; }
.header-nav .header-nav__login { border: 1px solid rgba(255, 255, 255, 0.5); }
.header-nav__user { padding: 0.25rem 0.45rem; color: #ffd58f; font-size: 0.82rem; font-weight: 750; }

.page-shell {
  width: min(calc(100% - 2rem), var(--content));
  margin: 0 auto;
}
.breadcrumbs {
  margin: 1.1rem 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 0.45rem; color: #98a2b3; }

.hero {
  overflow: hidden;
  position: relative;
  background: linear-gradient(140deg, var(--navy-950), #1b4770);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 5vw, 4rem);
  box-shadow: var(--shadow);
}
.hero::after {
  content: "";
  position: absolute;
  width: 24rem;
  height: 24rem;
  right: -10rem;
  bottom: -14rem;
  border: 4rem solid rgba(245, 161, 36, 0.12);
  border-radius: 50%;
}
.eyebrow { margin: 0 0 0.75rem; color: #ffd58f; font-weight: 750; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.78rem; }
.hero h1 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 6vw, 4.15rem); line-height: 1.04; letter-spacing: -0.045em; }
.hero__answer { max-width: 48rem; margin: 1.5rem 0 0; color: #e7edf6; font-size: clamp(1.05rem, 2.2vw, 1.25rem); }
.meta-row { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 1.5rem; }
.pill { display: inline-flex; align-items: center; min-height: 2rem; padding: 0.3rem 0.72rem; border: 1px solid rgba(255,255,255,0.24); border-radius: 999px; color: #eff4fa; font-size: 0.82rem; }
.pill--warning { color: #402800; border-color: #ffd58f; background: #ffd58f; font-weight: 700; }
.hero--learning-path {
  padding: clamp(1.5rem, 4vw, 3.25rem);
  background:
    radial-gradient(circle at 89% 12%, rgb(255 255 255 / 0.12), transparent 22rem),
    linear-gradient(128deg, var(--subject-start), var(--subject-deep) 58%, var(--subject-end));
}
.hero--learning-path::after { right: -12rem; bottom: -16rem; width: 29rem; height: 29rem; border-color: rgb(255 255 255 / 0.08); }
.hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); }
.hero--learning-path h1 { max-width: 20ch; font-size: clamp(2rem, 4.7vw, 3.65rem); }
.hero--learning-path .hero__answer { max-width: 50rem; margin-top: 1rem; }
.learning-method { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin: 1.35rem 0 0; padding: 0; list-style: none; color: #fff; font-size: 0.82rem; font-weight: 800; }
.learning-method li { display: flex; align-items: center; gap: 0.45rem; }
.learning-method li:not(:last-child)::after { color: #fff; content: "→"; opacity: 0.72; }
.hero-proofs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; max-width: 43rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.hero-proofs li { display: grid; gap: 0.05rem; padding: 0.65rem 0.7rem; border: 1px solid rgba(255,255,255,0.15); border-radius: 0.75rem; background: rgba(255,255,255,0.06); }
.hero-proofs strong { color: #fff; font-size: 1.05rem; line-height: 1.2; }
.hero-proofs span { color: #d9e4ef; font-size: 0.7rem; line-height: 1.3; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.25rem; }
.hero-actions .button { gap: 0.4rem; min-height: 2.7rem; padding-inline: 1.1rem; }
.hero--learning-path .hero-actions .button { border-color: #fff; background: #fff; color: var(--subject-deep); }
.hero-actions .hero-actions__secondary { border: 1px solid rgba(255,255,255,0.34); background: rgba(255,255,255,0.08); color: #fff; }
.hero--learning-path .pill--warning { margin-top: 1rem; }

.trust-note {
  margin: 1rem 0 0;
  padding: 1rem 1.1rem;
  background: var(--orange-100);
  border: 1px solid #efcf91;
  border-radius: var(--radius-md);
  color: #62440f;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 17rem;
  gap: 2rem;
  align-items: start;
  margin: 2rem 0 4rem;
}
.content-grid--toc-collapsed { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.lesson { min-width: 0; }
.toc {
  position: sticky;
  top: 1rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1.1rem;
}
.toc strong { color: var(--navy-900); }
.toc ol { margin: 0.75rem 0 0; padding-left: 1.2rem; }
.toc li + li { margin-top: 0.45rem; }
.toc--enhanced { display: flex; max-height: calc(100vh - 2rem); overflow: hidden; flex-direction: column; padding: 0; border: 0; background: #fff; box-shadow: 0 16px 40px rgba(12, 31, 56, 0.12); }
.toc__header { padding: 1.2rem; background: linear-gradient(145deg, var(--subject-start), var(--subject-deep)); color: #fff; }
.toc__header strong { display: block; margin-top: 0.2rem; color: #fff; font-size: 1.2rem; }
.toc__eyebrow { color: #f7bd5d; font-size: 0.69rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.toc__completion { margin: 0.65rem 0 0; color: #dbe6f1; font-size: 0.72rem; font-weight: 700; }
.toc__progress { height: 0.3rem; margin-top: 0.9rem; overflow: hidden; border-radius: 1rem; background: rgba(255, 255, 255, 0.16); }
.toc__progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--subject-end); transition: width 180ms ease; }
.toc__toggle { display: flex; width: fit-content; min-height: 2.1rem; margin-top: 0.65rem; padding: 0.35rem 0.5rem; align-items: center; justify-content: space-between; gap: 0.4rem; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 0.55rem; background: rgba(255, 255, 255, 0.08); color: #fff; font: inherit; font-size: 0.72rem; font-weight: 750; cursor: pointer; }
.toc__toggle svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; transition: transform 0.18s ease; }
.toc__toggle:hover, .toc__toggle:focus-visible { border-color: rgb(255 255 255 / 0.58); background: rgb(255 255 255 / 0.16); }
.toc--enhanced.is-collapsed .toc__content { display: block; max-height: none; padding: 0.75rem; overflow: visible; }
.content-grid--toc-collapsed .toc--enhanced { position: static; order: -1; max-height: none; }
.toc--enhanced.is-collapsed .toc__header { display: flex; min-height: 3.25rem; padding: 0.55rem 0.75rem; align-items: center; gap: 0.75rem; border-radius: var(--radius-md) var(--radius-md) 0 0; }
.toc--enhanced.is-collapsed .toc__header strong { margin: 0; font-size: 1rem; }
.toc--enhanced.is-collapsed .toc__eyebrow, .toc--enhanced.is-collapsed .toc__progress { display: none; }
.toc--enhanced.is-collapsed .toc__completion { margin: 0 0 0 auto; }
.toc--enhanced.is-collapsed .toc__toggle { width: auto; min-height: 2.1rem; margin: 0 0 0 auto; justify-content: space-between; padding: 0.35rem 0.5rem; font-size: 0.72rem; }
.toc--enhanced.is-collapsed .toc__toggle svg { transform: rotate(180deg); }
.toc--enhanced.is-collapsed .toc__current { display: none; }
.toc--enhanced.is-collapsed ol { grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.3rem; }
.toc--enhanced.is-collapsed a { grid-template-columns: 1.55rem minmax(0, 1fr); padding: 0.45rem; }
.toc--enhanced.is-collapsed a > span { min-height: 1.4rem; }
.toc--enhanced.is-collapsed a > em { font-size: 0.72rem; }
.toc__content { min-height: 0; padding: 1rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.toc__current { display: grid; gap: 0.15rem; margin: 0 0 0.75rem; padding: 0.8rem; border-radius: 0.7rem; background: var(--blue-100); }
.toc__current span { color: var(--muted); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.toc__current strong { font-size: 0.83rem; line-height: 1.35; }
.toc--enhanced ol { display: grid; gap: 0.2rem; margin: 0; padding: 0; list-style: none; }
.toc--enhanced li + li { margin-top: 0; }
.toc--enhanced a { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: 0.55rem; align-items: start; padding: 0.58rem 0.5rem; border-radius: 0.65rem; color: #38516d; text-decoration: none; transition: background 140ms ease, color 140ms ease; }
.toc--enhanced a > span { display: grid; place-items: center; min-height: 1.55rem; border: 1px solid #cfdae6; border-radius: 0.45rem; color: #6c7f94; font-size: 0.64rem; font-weight: 850; }
.toc--enhanced a > em { padding-top: 0.12rem; font-size: 0.76rem; font-style: normal; font-weight: 720; line-height: 1.35; }
.toc--enhanced a:hover { background: #f1f6fb; color: var(--navy-900); }
.toc--enhanced a.is-active { background: var(--subject-soft); color: var(--subject-deep); }
.toc--enhanced a.is-active > span { border-color: var(--subject-deep); background: var(--subject-deep); color: #fff; }
.toc__number, .toc__check { font: inherit; }
.toc__check { display: none; }
.toc--enhanced a.is-complete > span { border-color: #2b8a6d; background: #2b8a6d; color: #fff; }
.toc--enhanced a.is-complete .toc__number { display: none; }
.toc--enhanced a.is-complete .toc__check { display: block; }
.toc--enhanced a.is-active.is-complete > span { border-color: var(--subject-deep); background: var(--subject-deep); color: #fff; }
.toc--simple { overflow: hidden; padding: 0; background: #fff; box-shadow: 0 12px 32px rgba(12, 31, 56, 0.09); }
.toc--simple .toc__header { padding: 1rem 1.1rem; }
.toc--simple ol { display: grid; gap: 0.15rem; margin: 0; padding: 0; list-style: none; }
.toc--simple li + li { margin-top: 0; }
.toc--simple a { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: 0.55rem; align-items: start; padding: 0.52rem 0.45rem; border-radius: 0.6rem; color: #38516d; text-decoration: none; }
.toc--simple a:hover { background: #f1f6fb; color: var(--navy-900); }
.toc--simple .toc__number { display: grid; min-height: 1.45rem; place-items: center; border: 1px solid #cfdae6; border-radius: 0.4rem; color: #6c7f94; font-size: 0.62rem; font-weight: 850; }
.toc--simple em { padding-top: 0.08rem; font-size: 0.76rem; font-style: normal; font-weight: 720; line-height: 1.35; }

.section-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(1.25rem, 4vw, 2.5rem);
  box-shadow: 0 7px 24px rgba(16, 29, 51, 0.045);
}
.section-card + .section-card { margin-top: 1.25rem; }
.section-card h2 { margin: 0 0 1rem; color: var(--navy-900); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.2; }
.section-card h3 { color: var(--navy-800); }
.section-card p { max-width: var(--reading); }
.section-card ul { padding-left: 1.25rem; }
.section-card li + li { margin-top: 0.45rem; }
.course-start {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.75fr);
  gap: 1.5rem;
  border-top: 0.35rem solid var(--subject-end);
}
.course-start > * { min-width: 0; }
.course-start__heading { grid-column: 1 / -1; }
.course-start__heading > .eyebrow { margin-bottom: 0.35rem; color: var(--subject-deep); }
.course-start__heading > h2 { margin-bottom: 0; }
.course-start > .course-visual { grid-column: 1 / -1; margin: 0; }
.course-start__objectives > .eyebrow { margin-bottom: 0.35rem; color: var(--subject-deep); }
.course-start__objectives > h2 { margin-bottom: 1rem; }
.course-start__objectives ul,
.course-start__prerequisites ul { display: grid; gap: 0.55rem; margin-bottom: 0; line-height: 1.55; }
.course-start__prerequisites { align-self: start; padding: 1rem 1.1rem; border-radius: var(--radius-md); background: var(--subject-soft); }
.course-start__prerequisites h3 { margin: 0 0 0.8rem; color: var(--subject-deep); font-size: 1rem; }
.course-start__after { grid-column: 1 / -1; display: grid; gap: 1rem; }
.course-start__after > .course-summary { margin-top: 0; }
.course-visual {
  position: relative;
  display: grid;
  gap: 0;
  max-width: 100%;
  margin: 1.3rem 0 1.65rem;
  overflow: hidden;
  border: 1px solid #c7d4df;
  border-radius: var(--radius-md);
  background: #f4ecdf;
  box-shadow: 0 16px 36px rgba(16, 29, 51, 0.12);
}
.course-visual__media { position: relative; overflow: hidden; background: #172c3f; }
.course-visual__zoom { position: relative; display: grid; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.course-visual__zoom img { display: block; width: 100%; height: auto; object-fit: cover; }
.course-visual__label {
  position: absolute;
  z-index: 1;
  top: 0.8rem;
  left: 0.8rem;
  padding: 0.38rem 0.62rem;
  border-radius: 999px;
  background: rgba(10, 29, 45, 0.88);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 860;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(5px);
}
.course-visual__zoom > span {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  padding: 0.42rem 0.66rem;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 999px;
  background: rgba(8, 23, 41, 0.84);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 820;
}
.course-visual__zoom:hover > span,
.course-visual__zoom:focus-visible > span { background: var(--orange-600); color: #221400; }
.course-visual__zoom:focus-visible { outline: 0.2rem solid var(--orange-500); outline-offset: -0.2rem; }
.course-visual__caption { display: grid; gap: 0.48rem; padding: 1rem 1.15rem 1.1rem; color: #42566a; line-height: 1.55; }
.course-visual__caption strong { color: var(--navy-900); font-size: 1rem; }
.course-visual__caption span { font-size: 0.92rem; }
.course-visual__caption small { padding-top: 0.55rem; border-top: 1px solid #d8cbb8; color: #667584; font-size: 0.74rem; line-height: 1.5; }
.overview-course-map { border-top: 0.35rem solid var(--subject-deep); }
.overview-course-map > .eyebrow { margin-bottom: 0.35rem; color: var(--subject-deep); }
.overview-course-map__lead { margin: -0.25rem 0 1.35rem; color: #4b6077; line-height: 1.65; }
.overview-course-map__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0.9rem; }
.overview-course-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  padding: 1.1rem;
  flex-direction: column;
  border: 1px solid #d6e0ea;
  border-radius: var(--radius-md);
  background: linear-gradient(155deg, #fff, var(--subject-soft));
  color: #273d56;
  text-decoration: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.overview-course-card:hover { border-color: var(--subject-end); box-shadow: 0 12px 28px rgb(12 31 56 / 0.11); transform: translateY(-2px); }
.overview-course-card:focus-visible { outline: 3px solid var(--subject-end); outline-offset: 3px; }
.overview-course-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 0.65rem; color: var(--subject-deep); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.overview-course-card__meta > span { flex: 0 0 auto; padding: 0.2rem 0.45rem; border-radius: 999px; background: #fff; color: #50647a; font-size: 0.68rem; letter-spacing: 0; text-transform: none; }
.overview-course-card h3 { margin: 0.8rem 0 0.55rem; color: var(--navy-900); font-size: 1.08rem; line-height: 1.3; }
.overview-course-card p { margin: 0; color: #40566d; font-size: 0.9rem; line-height: 1.55; }
.overview-course-card ul { display: grid; gap: 0.35rem; margin: 0.85rem 0 1rem; padding-left: 1.1rem; color: #52677d; font-size: 0.78rem; line-height: 1.45; }
.overview-course-card li + li { margin-top: 0; }
.overview-course-card > strong { display: flex; margin-top: auto; align-items: center; justify-content: space-between; gap: 0.7rem; color: var(--subject-deep); font-size: 0.82rem; line-height: 1.4; }
.lesson--guided-reading .section-card,
.lesson--mathematics .section-card {
  padding: clamp(1.4rem, 4vw, 2.65rem);
}
.lesson--guided-reading .section-card > h2,
.lesson--mathematics .section-card > h2 {
  max-width: 25ch;
  margin-bottom: 1.45rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #dbe4ed;
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  line-height: 1.16;
  text-wrap: balance;
}
.lesson-prose--guided,
.lesson-prose--mathematics {
  display: grid;
  gap: 1.15rem;
  max-width: 66ch;
}
.lesson-prose--guided > p,
.lesson-prose--mathematics > p {
  margin: 0;
  color: #25364a;
  font-size: 1.0625rem;
  line-height: 1.75;
}
.lesson-prose__cue {
  display: block;
  width: fit-content;
  margin-bottom: 0.38rem;
  color: #8a4f08;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  line-height: 1.35;
  text-transform: uppercase;
}
.lesson-prose--guided .math-expression,
.lesson-prose--mathematics .math-expression {
  margin-inline: 0.16em;
  padding: 0.06em 0.18em;
  border-radius: 0.28rem;
  background: #edf4fb;
  color: #173f67;
  font-size: 1.08em;
  vertical-align: baseline;
  white-space: nowrap;
}
.lesson--mathematics .math-expression {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  vertical-align: baseline;
}
.math-derivation {
  width: 100%;
  margin: -0.1rem 0 0.35rem;
  padding: 1.05rem 1.15rem 1.1rem;
  border: 1px solid #c8d8e8;
  border-left: 0.3rem solid #2d6faf;
  border-radius: 0.9rem;
  background: linear-gradient(145deg, #f8fbff, #eef5fc);
  break-inside: avoid;
}
.math-derivation figcaption { margin: 0; color: #173f67; }
.math-derivation figcaption span {
  display: block;
  margin-bottom: 0.18rem;
  color: #8a4f08;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.math-derivation figcaption strong { font-size: 1rem; line-height: 1.4; }
.math-derivation__scroll { max-width: 100%; overflow-x: auto; }
.math-derivation__steps {
  width: min(100%, 40rem);
  margin: 0.75rem auto 0;
  border-collapse: collapse;
}
.math-derivation__equation td { padding: 0.12rem 0.28rem; vertical-align: baseline; }
.math-derivation__left { width: 42%; text-align: right; }
.math-derivation__relation {
  width: 1.35rem;
  color: #55697f;
  font-family: "STIX Two Math", "Cambria Math", "Times New Roman", serif;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
}
.math-derivation__right { width: 58%; text-align: left; }
.lesson-prose--guided .math-derivation .math-expression,
.lesson-prose--mathematics .math-derivation .math-expression {
  margin: 0;
  padding: 0;
  background: transparent;
  color: #132f4c;
  font-size: 1.18rem;
  vertical-align: baseline;
}
.math-derivation__annotation td {
  padding: 0 0.4rem 0.42rem;
  color: #5a6e83;
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: center;
}
.math-derivation__conclusion {
  margin: 0.62rem 0 0;
  padding-top: 0.7rem;
  border-top: 1px solid #d4e1ed;
  color: #25364a;
  font-size: 0.96rem;
  line-height: 1.6;
}
.math-derivation__conclusion > strong { color: #1f5f43; }
.course-summary { margin-top: 1.25rem; padding: 0.9rem 1rem; border: 1px solid #cbd9e7; border-radius: var(--radius-sm); background: #f7fafc; }
.course-summary summary { color: var(--navy-900); font-weight: 800; cursor: pointer; }
.course-summary p { margin-bottom: 0; color: #42546a; }
.course-practice { margin-top: 1.35rem; border: 1px solid #ccd9e6; border-radius: var(--radius-md); background: #f8fafc; overflow: clip; }
.course-practice > summary { position: relative; display: grid; gap: 0.15rem; padding: 1rem 3.5rem 1rem 1.1rem; color: var(--navy-900); cursor: pointer; list-style: none; }
.course-practice > summary::-webkit-details-marker { display: none; }
.course-practice > summary::after { position: absolute; top: 50%; right: 1rem; display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #dce9f6; color: var(--blue-700); content: "+"; font-size: 1.25rem; font-weight: 800; transform: translateY(-50%); }
.course-practice[open] > summary::after { content: "−"; }
.course-practice > summary span { font-weight: 820; }
.course-practice > summary small { margin-left: 1.25rem; color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.course-practice[open] > summary { border-bottom: 1px solid #dbe4ed; background: #f1f6fa; }
.course-practice__content { padding: 0 1rem 1rem; }
.course-practice__content > :last-child { margin-bottom: 0; }

.course-documents { display: grid; gap: 1rem; margin: 1.55rem 0; }
.course-document { position: relative; margin: 0; overflow: hidden; border: 1px solid #c8d5e2; border-radius: var(--radius-md); background: #f6f1e8; box-shadow: 0 16px 34px rgba(16, 29, 51, 0.1); }
.course-document--portrait { display: grid; grid-template-columns: minmax(15rem, 0.8fr) minmax(17rem, 1fr); }
.course-document__visual { position: relative; display: grid; min-width: 0; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 32%, #3a5069, #14263b 72%); }
.course-document--wide .course-document__visual { aspect-ratio: auto; }
.course-document--portrait .course-document__visual { min-height: 0; }
.course-document__zoom { position: relative; display: grid; width: 100%; min-height: 100%; padding: 0; place-items: center; border: 0; background: transparent; color: #fff; cursor: zoom-in; font: inherit; }
.course-document__zoom img { display: block; width: 100%; height: auto; object-fit: contain; }
.course-document__zoom > span { position: absolute; right: 0.8rem; bottom: 0.8rem; padding: 0.4rem 0.62rem; border: 1px solid rgba(255, 255, 255, 0.32); border-radius: 999px; background: rgba(8, 23, 41, 0.82); color: #fff; font-size: 0.7rem; font-weight: 820; backdrop-filter: blur(5px); }
.course-document__zoom:hover > span, .course-document__zoom:focus-visible > span { background: var(--orange-600); color: #221400; }
.course-document__zoom:focus-visible { outline: 0.2rem solid var(--orange-500); outline-offset: -0.2rem; }
.course-document__label { position: absolute; z-index: 1; top: 0.8rem; left: 0.8rem; padding: 0.35rem 0.55rem; border-radius: 999px; background: rgba(8, 23, 41, 0.86); color: #fff; font-size: 0.67rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; backdrop-filter: blur(5px); }
.course-document figcaption { display: grid; align-content: center; gap: 0.85rem; padding: clamp(1rem, 3vw, 1.45rem); }
.course-document figcaption p { margin: 0; }
.course-document__prompt { display: grid; gap: 0.25rem; color: var(--navy-900); font-weight: 760; line-height: 1.48; }
.course-document__prompt span { color: #9a5800; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.course-document__answer { overflow: hidden; border: 1px solid #c9d7e4; border-radius: 0.75rem; background: rgba(255, 255, 255, 0.72); }
.course-document__answer summary { position: relative; padding: 0.78rem 2.7rem 0.78rem 0.9rem; color: #174f7e; cursor: pointer; list-style: none; font-size: 0.86rem; font-weight: 820; }
.course-document__answer summary::-webkit-details-marker { display: none; }
.course-document__answer summary::after { position: absolute; top: 50%; right: 0.85rem; display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; background: #dce9f6; content: "+"; font-size: 1rem; transform: translateY(-50%); }
.course-document__answer[open] summary { border-bottom: 1px solid #d7e1ea; background: #edf5fb; }
.course-document__answer[open] summary::after { content: "−"; }
.course-document__answer summary:focus-visible { outline: 0.18rem solid var(--orange-500); outline-offset: -0.18rem; }
.course-document__answer div { padding: 0.9rem; color: #354b60; font-size: 0.86rem; line-height: 1.65; }
.course-document__answer div strong { color: var(--navy-900); }
.course-document__caption { color: #384b60; font-size: 0.92rem; line-height: 1.62; }
.course-document__caption strong { color: var(--navy-900); }
.course-document__credit { padding-top: 0.75rem; border-top: 1px solid #d7ccba; color: #687483; font-size: 0.75rem; line-height: 1.55; }
.course-document__credit a { color: #315e8b; font-weight: 720; text-underline-offset: 0.16em; }

.hggsp-document-study { display: grid; margin-top: 1.45rem; }
.hggsp-document-study--text { background: linear-gradient(145deg, #fbf8f2, #f4ecdf); }
.hggsp-document-study__body { display: grid; align-content: start; gap: 0.85rem; padding: clamp(1rem, 3vw, 1.45rem); }
.hggsp-document-study__body > * { margin-top: 0; margin-bottom: 0; }
.hggsp-document-study__body h3 { margin: 0; font-size: 1.15rem; line-height: 1.35; }
.hggsp-document-study__eyebrow { color: #8a4e1b; font-size: 0.7rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.hggsp-document-study__passport { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; margin: 0; }
.hggsp-document-study__passport div { padding: 0.65rem; border: 1px solid #d8cbb9; border-radius: 0.65rem; background: rgba(255, 255, 255, 0.68); }
.hggsp-document-study__passport dt { color: #795229; font-size: 0.68rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.hggsp-document-study__passport dd { margin: 0.2rem 0 0; color: var(--navy-900); font-size: 0.82rem; font-weight: 720; }
.hggsp-document-study__evidence,
.hggsp-document-study__method { padding: 0.8rem 0.9rem; border-left: 0.24rem solid #b36a32; background: rgba(255, 255, 255, 0.62); }
.hggsp-document-study__evidence ul,
.hggsp-document-study__method ol { margin-bottom: 0; }
.hggsp-transfer,
.hggsp-method-lab { display: grid; gap: 0.75rem; margin-top: 1rem; padding: 1rem; border: 1px solid #c9d7e4; border-radius: var(--radius-md); background: #f6f9fc; }
.hggsp-transfer > *,
.hggsp-method-lab > * { margin-top: 0; margin-bottom: 0; }
.hggsp-transfer__prompt { color: var(--navy-900); font-weight: 760; }
.hggsp-bac-training__grid { display: grid; gap: 1rem; }
.hggsp-bac-training__grid article { padding: 1rem; border: 1px solid #d3dde7; border-radius: var(--radius-md); background: #f8fafc; }
.hggsp-bac-training__grid h3 { margin-top: 0; }
.hggsp-bac-training__models { display: grid; gap: 0.7rem; margin-top: 1rem; }

.course-image-viewer { width: min(96vw, 92rem); height: min(92dvh, 64rem); max-width: none; max-height: none; padding: 0; overflow: visible; border: 0; background: transparent; color: #fff; }
.course-image-viewer::backdrop { background: rgba(3, 12, 24, 0.86); backdrop-filter: blur(0.35rem); }
.course-image-viewer[open] { animation: course-image-viewer-in 220ms ease-out both; }
.course-image-viewer__stage { position: relative; display: grid; width: 100%; height: 100%; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 1rem; background: #081a2e; box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.42); }
.course-image-viewer__toolbar { display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.55rem 0.7rem; border-bottom: 1px solid rgba(255, 255, 255, 0.14); background: #10243a; }
.course-image-viewer__controls { display: flex; min-width: 0; align-items: center; gap: 0.42rem; }
.course-image-viewer__toolbar button { display: grid; min-width: 2.5rem; min-height: 2.5rem; padding: 0.4rem 0.65rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 0.65rem; background: #fff; color: #10243a; cursor: pointer; font: inherit; font-size: 0.82rem; font-weight: 800; }
.course-image-viewer__toolbar button:hover:not(:disabled) { border-color: var(--orange-500); background: var(--orange-500); color: #221400; }
.course-image-viewer__toolbar button:focus-visible { outline: 0.2rem solid var(--orange-500); outline-offset: 0.12rem; }
.course-image-viewer__toolbar button:disabled { cursor: default; opacity: 0.45; }
.course-image-viewer__zoom-status { min-width: 3.6rem; color: #eef5fb; font-size: 0.78rem; font-weight: 800; text-align: center; }
.course-image-viewer__media { position: relative; min-height: 0; padding: clamp(0.7rem, 2vw, 1.4rem); overflow: auto; overscroll-behavior: contain; scrollbar-color: #7991a7 #10243a; }
.course-image-viewer__canvas { display: flex; width: 100%; height: 100%; min-height: 100%; align-items: center; justify-content: center; }
.course-image-viewer__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.course-image-viewer[data-zoom-level="150"] .course-image-viewer__canvas { width: 150%; height: auto; }
.course-image-viewer[data-zoom-level="200"] .course-image-viewer__canvas { width: 200%; height: auto; }
.course-image-viewer[data-zoom-level="300"] .course-image-viewer__canvas { width: 300%; height: auto; }
.course-image-viewer:not([data-zoom-level="100"]) .course-image-viewer__canvas { min-height: 100%; }
.course-image-viewer:not([data-zoom-level="100"]) .course-image-viewer__media img { width: 100%; height: auto; max-width: none; max-height: none; }
.course-image-viewer__title { margin: 0; padding: 0.9rem clamp(3.8rem, 6vw, 5rem) 0.9rem 1.1rem; border-top: 1px solid rgba(255, 255, 255, 0.14); color: #eef5fb; font-size: clamp(0.82rem, 2vw, 0.98rem); line-height: 1.45; }
.course-image-viewer__toolbar .course-image-viewer__close { flex: 0 0 2.5rem; border-radius: 50%; font-size: 1.35rem; }
.course-image-viewer-open { overflow: hidden; }
@keyframes course-image-viewer-in { from { opacity: 0; transform: translateY(0.6rem) scale(0.985); } to { opacity: 1; transform: none; } }

@media (max-width: 520px) {
  .course-image-viewer { width: calc(100vw - 1rem); height: calc(100dvh - 1rem); }
  .course-image-viewer__stage { border-radius: 0.8rem; }
  .course-image-viewer__toolbar { padding: 0.45rem; }
  .course-image-viewer__controls { gap: 0.28rem; }
  .course-image-viewer__toolbar button { min-width: 2.25rem; min-height: 2.25rem; padding: 0.3rem 0.5rem; }
  .course-image-viewer__zoom-status { min-width: 3.1rem; font-size: 0.72rem; }
  .course-image-viewer__title { padding: 0.72rem 0.85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .course-image-viewer[open] { animation: none; }
}

.key-point, .worked-example, .mistake {
  margin-top: 1.25rem;
  padding: 1.1rem 1.2rem;
  border-radius: var(--radius-md);
}
.key-point { border-left: 0.35rem solid var(--blue-700); background: var(--blue-100); }
.learning-extension {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 1.25rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid #b9d3e8;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #f4f9fd, #eef5fb);
}
.learning-extension h3 { margin: 0.15rem 0 0.35rem; }
.learning-extension p { margin: 0; }
.learning-extension__eyebrow { color: var(--blue-700); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.learning-extension .button { flex: 0 0 auto; }
@media (max-width: 42rem) {
  .learning-extension { align-items: stretch; flex-direction: column; }
  .learning-extension .button { width: 100%; text-align: center; }
}
.math-expression { display: inline-block; margin-inline: 0.12em; vertical-align: -0.32em; font-family: "STIX Two Math", "Cambria Math", "Times New Roman", serif; font-size: 1.06em; }
.math-expression mfrac { padding-inline: 0.08em; }
.worked-example { background: #f8fafc; border: 1px solid var(--line); }
.worked-example h3 { margin-top: 0; }
.worked-example ol { padding-left: 1.4rem; }
.worked-example__result { font-weight: 750; color: var(--green-700); }
.worked-example--mathematics {
  max-width: 66ch;
  padding: 1.2rem 1.25rem 1.25rem;
  border-color: #c9d8e7;
  background: linear-gradient(145deg, #fbfdff, #f3f7fb);
}
.worked-example--mathematics h3 { margin-bottom: 0.9rem; color: #173f67; }
.worked-example--mathematics .worked-example__statement { margin-bottom: 1rem; color: #25364a; font-weight: 700; line-height: 1.65; }
.worked-example--mathematics .worked-example__steps {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  counter-reset: worked-step;
  list-style: none;
}
.worked-example--mathematics .worked-example__steps li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: baseline;
  margin: 0;
  color: #25364a;
  line-height: 1.58;
}
.worked-example--mathematics .worked-example__steps li::before {
  display: grid;
  width: 1.55rem;
  height: 1.55rem;
  place-items: center;
  counter-increment: worked-step;
  content: counter(worked-step);
  border: 1px solid #a9c2db;
  border-radius: 50%;
  background: #edf4fb;
  color: #173f67;
  font-size: 0.74rem;
  font-weight: 850;
}
.worked-example--mathematics .worked-example__result {
  margin-bottom: 0;
  padding-top: 0.85rem;
  border-top: 1px solid #d4e1ed;
  line-height: 1.6;
}
.worked-example--mathematics .worked-example__result strong { color: #1f5f43; }
.philosophy-references { margin-top: 1.5rem; }
.philosophy-references > h3 { margin: 0 0 0.8rem; font-size: 1rem; letter-spacing: 0.01em; }
.philosophy-references__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 0.9rem; }
.philosophy-reference { display: grid; gap: 0.75rem; margin: 0; padding: 1.15rem; border: 1px solid #c9d8e7; border-radius: var(--radius-md); background: linear-gradient(145deg, #fbfdff, #f2f7fb); }
.philosophy-reference blockquote { margin: 0; padding-left: 1rem; border-left: 0.3rem solid var(--blue-700); }
.philosophy-reference blockquote p { margin: 0; color: var(--navy-900); font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; line-height: 1.55; }
.philosophy-reference figcaption { display: grid; gap: 0.1rem; }
.philosophy-reference figcaption strong { color: var(--navy-900); }
.philosophy-reference figcaption cite { color: var(--muted); font-size: 0.82rem; font-style: normal; }
.philosophy-reference figcaption a { color: var(--blue-700); text-underline-offset: 0.18em; }
.philosophy-reference > p { margin: 0; color: #40546a; font-size: 0.9rem; line-height: 1.62; }
.philosophy-reference__bac { padding-top: 0.65rem; border-top: 1px solid #d7e2ec; }
.memory-aid { margin-top: 1.25rem; padding: 1.15rem; border: 1px solid #e4c784; border-radius: var(--radius-md); background: #fffaf0; }
.memory-aid header { display: grid; gap: 0.15rem; }
.memory-aid header > span { color: #8a5700; font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.memory-aid header h3 { margin: 0; }
.memory-aid header p { margin: 0.25rem 0 0; color: #596575; font-size: 0.92rem; }
.memory-aid dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 0.65rem; margin: 1rem 0 0; }
.memory-aid dl > div { padding: 0.8rem; border: 1px solid #ead9ac; border-radius: 0.75rem; background: rgba(255, 255, 255, 0.78); }
.memory-aid dt { color: var(--navy-900); font-weight: 850; }
.memory-aid dd { margin: 0.25rem 0 0; color: #4d5e70; font-size: 0.86rem; line-height: 1.5; }
.mistake { background: var(--red-100); border-left: 0.35rem solid var(--red-700); }
.mistake h3 { margin: 0 0 0.35rem; font-size: 1.05rem; }
.mistake p { margin: 0; }

.market-figure { margin: 1.4rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.market-figure svg { display: block; width: 100%; height: auto; max-height: 22rem; }
.market-figure figcaption { color: var(--muted); font-size: 0.88rem; margin-top: 0.6rem; }

/* Dispositifs propres aux marchés imparfaitement concurrentiels */
.concept-map, .economy-lab, .strategy-lab, .policy-challenge { margin: 1.5rem 0; border: 1px solid #cddbea; border-radius: 1.2rem; background: linear-gradient(145deg, #f7fbff, #edf4fb); box-shadow: 0 12px 30px rgba(25, 64, 102, 0.08); }
.concept-map { padding: 1.25rem; }
.concept-map figcaption { display: grid; gap: 0.15rem; margin-bottom: 1rem; color: var(--navy-900); }
.concept-map figcaption span { color: var(--muted); font-size: 0.88rem; }
.concept-map__track { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: stretch; gap: 0.6rem; }
.concept-map__track article { display: grid; align-content: center; min-height: 8.2rem; padding: 1rem; border: 1px solid #c7d8ea; border-radius: 0.9rem; background: #fff; text-align: center; }
.concept-map__track article:nth-of-type(2) { border-color: #e4bf76; background: #fffaf0; }
.concept-map__track article:nth-of-type(3) { color: #fff; border-color: #173a5f; background: #173a5f; }
.concept-map__track span { font-size: 0.74rem; font-weight: 750; text-transform: uppercase; letter-spacing: 0.05em; }
.concept-map__track strong { margin-top: 0.25rem; line-height: 1.25; }
.concept-map__track small { margin-top: 0.35rem; color: var(--muted); line-height: 1.35; }
.concept-map__track article:nth-of-type(3) small { color: #cbd8e7; }
.concept-map__arrow { align-self: center; color: var(--orange-600); font-size: 1.25rem; }
.concept-map__scale { display: flex; justify-content: space-between; margin: 0.8rem 0 0; color: var(--muted); font-size: 0.76rem; }

.economy-lab, .strategy-lab, .policy-challenge { overflow: hidden; padding: 1.3rem; }
.economy-lab__heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.economy-lab__heading h3, .strategy-lab h3, .policy-challenge h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.economy-lab__eyebrow { margin: 0 0 0.25rem !important; color: var(--blue-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.segmented-control { display: inline-flex; padding: 0.2rem; border: 1px solid #bcd0e5; border-radius: 0.75rem; background: #fff; }
.segmented-control button, .strategy-lab__choices button, .policy-challenge__answers button { min-height: 2.5rem; padding: 0.55rem 0.8rem; color: var(--navy-900); border: 0; border-radius: 0.58rem; background: transparent; cursor: pointer; font-weight: 750; }
.segmented-control button.is-active, .strategy-lab__choices button.is-active { color: #fff; background: var(--navy-900); }
.economy-lab__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-top: 1.2rem; }
.economy-lab__metrics div { display: grid; padding: 0.8rem; border-radius: 0.8rem; background: #fff; }
.economy-lab__metrics span { color: var(--muted); font-size: 0.75rem; }
.economy-lab__metrics strong { color: var(--navy-950); font-size: 1.4rem; }
.bar-comparison { display: grid; gap: 0.6rem; margin-top: 1rem; }
.bar-comparison div { display: grid; grid-template-columns: 4.5rem 1fr; align-items: center; gap: 0.7rem; color: var(--muted); font-size: 0.76rem; }
.bar-comparison i { display: block; width: var(--bar-size); height: 0.72rem; border-radius: 999px; background: linear-gradient(90deg, var(--orange-500), #f6c46f); transition: width 0.35s ease; }
.bar-comparison div:nth-child(2) i { background: linear-gradient(90deg, var(--blue-700), #68a7e8); }
.bar-comparison div:nth-child(3) i { background: linear-gradient(90deg, var(--green-700), #68bca2); }
.economy-lab__result, .strategy-lab__result, .policy-challenge__feedback { margin: 1rem 0 0 !important; padding: 0.9rem 1rem; border-radius: 0.8rem; background: #fff; color: var(--navy-800); }

.strategy-lab { background: linear-gradient(145deg, #fff9ed, #fff1d5); border-color: #e8c67e; }
.strategy-lab__intro > p:last-child { margin: 0.4rem 0 0; color: var(--muted); }
.strategy-lab__choices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin-top: 1rem; }
.strategy-lab__choices fieldset { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0.8rem; border: 1px solid #e4c98f; border-radius: 0.8rem; background: rgba(255,255,255,0.75); }
.strategy-lab__choices legend { padding: 0 0.3rem; color: var(--navy-900); font-weight: 850; }
.strategy-lab__choices button { flex: 1; border: 1px solid #d7c398; background: #fff; font-size: 0.8rem; }
.payoff-matrix { display: grid; gap: 0.35rem; margin-top: 1rem; }
.payoff-matrix > div { display: grid; grid-template-columns: 7rem repeat(2, 1fr); gap: 0.35rem; }
.payoff-matrix span, .payoff-matrix strong { display: grid; min-height: 3.2rem; place-items: center; padding: 0.55rem; border-radius: 0.65rem; background: rgba(255,255,255,0.72); text-align: center; font-size: 0.8rem; }
.payoff-matrix__head span { min-height: 2rem; color: var(--muted); background: transparent; font-weight: 750; }
.payoff-matrix span.is-active { color: #fff; background: var(--navy-900); box-shadow: 0 0 0 3px var(--orange-500); }

.policy-challenge { color: #fff; border-color: #173a5f; background: linear-gradient(135deg, #102a48, #1d5d78); }
.policy-challenge h3, .policy-challenge .economy-lab__eyebrow { color: #fff; }
.policy-challenge__heading > p:last-child { color: #dbe7f2; }
.policy-challenge__answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-top: 1rem; }
.policy-challenge__answers button { color: #fff; border: 1px solid rgba(255,255,255,0.35); background: rgba(255,255,255,0.08); }
.policy-challenge__answers button:hover, .policy-challenge__answers button.is-selected { color: var(--navy-950); background: #fff; }
.policy-challenge__answers button.is-correct { color: #fff; border-color: #67c2a5; background: #13745b; }
.policy-challenge__answers button.is-incorrect { color: #fff; border-color: #e39a93; background: #9b3732; }
.policy-challenge__feedback { color: var(--navy-900); }
.policy-challenge__next { width: auto; margin-top: 0.8rem; }

.externality-lab, .goods-lab, .lemons-lab { margin: 1.5rem 0; padding: 1.3rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; background: linear-gradient(145deg, #f6fbff, #ebf5f4); box-shadow: 0 12px 30px rgba(25, 64, 102, 0.08); }
.externality-lab h3, .goods-lab h3, .lemons-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.externality-lab > div:first-child > p:last-child, .goods-lab > div:first-child > p:last-child, .lemons-lab > div:first-child > p:last-child { margin: 0.4rem 0 0; color: var(--muted); }
.range-control { display: grid; gap: 0.55rem; margin-top: 1.1rem; padding: 0.9rem 1rem; border-radius: 0.85rem; background: #fff; color: var(--navy-900); font-weight: 700; }
.range-control strong { color: var(--blue-700); }
.range-control input { width: 100%; accent-color: var(--orange-500); cursor: pointer; }
.goods-lab { background: linear-gradient(145deg, #f9f7ff, #f1edff); border-color: #d8cfef; }
.goods-lab__answers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.55rem; margin-top: 1rem; }
.goods-lab__answers button { min-height: 3rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #cfc5e8; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.goods-lab__answers button.is-correct { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.goods-lab__answers button.is-incorrect { color: #fff; border-color: var(--red-700); background: var(--red-700); }
.goods-lab__feedback { margin: 0.8rem 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: #fff; }
.goods-lab > .button { width: auto; }
.lemons-lab { background: linear-gradient(145deg, #fff9ed, #fff1d6); border-color: #e9ca89; }
.seller-pool { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; margin-top: 1rem; }
.seller-pool article { display: grid; grid-template-columns: 2.1rem 1fr; align-items: center; padding: 0.85rem; border: 1px solid #d7c59d; border-radius: 0.8rem; background: rgba(255,255,255,0.8); transition: opacity 0.25s ease, filter 0.25s ease; }
.seller-pool article > span { grid-row: 1 / 3; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; color: #fff; border-radius: 50%; background: var(--green-700); font-weight: 900; }
.seller-pool small { color: var(--muted); }
.seller-pool article.has-left { opacity: 0.48; filter: grayscale(1); }
.seller-pool article.has-left > span { background: var(--red-700); }
.causal-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; margin: 1rem 0 0; padding: 0; list-style: none; counter-reset: chain; }
.causal-chain li { position: relative; display: grid; align-content: center; min-height: 4.8rem; padding: 0.65rem; border-radius: 0.75rem; background: #fff; color: var(--navy-900); text-align: center; font-size: 0.78rem; font-weight: 700; }
.causal-chain li:not(:last-child)::after { position: absolute; right: -1rem; top: 50%; color: var(--orange-600); content: "→"; transform: translateY(-50%); }
.intervention-map { margin: 1.5rem 0; padding: 1.2rem; border: 1px solid #c9d8e8; border-radius: 1.2rem; background: #f7fafc; }
.intervention-map figcaption { display: grid; margin-bottom: 0.9rem; color: var(--navy-900); }
.intervention-map figcaption span { color: var(--muted); font-size: 0.86rem; }
.intervention-map > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.65rem; }
.intervention-map article { display: grid; padding: 0.9rem; border-left: 0.3rem solid var(--blue-700); border-radius: 0.7rem; background: #fff; }
.intervention-map article > span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.intervention-map article > small { color: var(--muted); }

.finance-flow, .finance-lab, .finance-choice { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c7d8ea; border-radius: 1.2rem; background: linear-gradient(145deg, #f6fbff, #eaf2fb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.finance-flow figcaption { display: grid; color: var(--navy-900); }
.finance-flow figcaption span, .finance-flow > p { color: var(--muted); font-size: 0.86rem; }
.finance-flow > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 0.55rem; margin-top: 1rem; }
.finance-flow article { display: grid; min-height: 6rem; align-content: center; padding: 0.8rem; border-radius: 0.8rem; background: #fff; text-align: center; }
.finance-flow article span { color: var(--blue-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.finance-flow > div > span { color: var(--orange-600); font-size: 1.3rem; }
.finance-lab h3, .finance-choice h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.finance-lab--household { background: linear-gradient(145deg, #f4fbf8, #e6f4ee); border-color: #bddbcc; }
.finance-lab--state { background: linear-gradient(145deg, #fff9ed, #fff0d1); border-color: #e7c67e; }
.finance-choice { background: linear-gradient(145deg, #f9f7ff, #eee9fb); border-color: #d5caeb; }
.finance-choice > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.55rem; margin-top: 1rem; }
.finance-choice button { min-height: 3rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #cfc5e8; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.finance-choice button.is-good { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.finance-choice button.is-warning { color: #fff; border-color: var(--orange-600); background: var(--orange-600); }
.finance-choice > p:last-child { margin: 0.8rem 0 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: #fff; }

.money-challenge, .balance-lab, .lifecycle-lab, .rate-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.money-challenge { background: linear-gradient(145deg, #f4fbf8, #e5f4ee); border-color: #bcdccb; }
.money-challenge--forms { background: linear-gradient(145deg, #f8f6ff, #eeeafb); border-color: #d4caea; }
.money-challenge h3, .balance-lab h3, .lifecycle-lab h3, .rate-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.money-challenge__scenario { min-height: 4rem; margin: 1rem 0 0 !important; padding: 0.9rem 1rem; border-left: 0.3rem solid var(--orange-500); border-radius: 0.7rem; background: #fff; color: var(--navy-900); font-weight: 750; }
.money-challenge__answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-top: 0.8rem; }
.money-challenge__answers button { min-height: 3rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #bfd2df; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.money-challenge__answers button.is-correct { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.money-challenge__answers button.is-incorrect { color: #fff; border-color: var(--red-700); background: var(--red-700); }
.money-challenge__feedback { margin: 0.8rem 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: rgba(255,255,255,0.9); }
.money-challenge > .button { width: auto; }
.balance-lab { background: linear-gradient(145deg, #f5f9ff, #e5eef9); }
.balance-lab > div:first-child > p:last-child { margin: 0.4rem 0 0; color: var(--muted); }
.balance-pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin-top: 1rem; }
.balance-pair > article { overflow: hidden; border: 1px solid #c7d6e5; border-radius: 0.9rem; background: #fff; }
.balance-pair h4 { margin: 0; padding: 0.65rem 0.85rem; color: #fff; background: var(--navy-900); }
.mini-balance { display: grid; grid-template-columns: repeat(2, 1fr); }
.mini-balance > div { display: grid; gap: 0.25rem; padding: 0.85rem; }
.mini-balance > div + div { border-left: 1px solid var(--line); }
.mini-balance span { color: var(--muted); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.mini-balance strong { display: grid; color: var(--navy-900); font-size: 0.82rem; }
.mini-balance b { margin-top: 0.3rem; color: var(--blue-700); font-size: 1.08rem; }
.lifecycle-lab { background: linear-gradient(145deg, #fff9ed, #fff0d1); border-color: #e7c67e; }
.lifecycle-lab__controls { display: flex; margin-top: 1rem; }
.money-ledger { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.money-ledger li { display: grid; padding: 0.85rem; border-radius: 0.8rem; background: #fff; }
.money-ledger span { color: var(--muted); font-size: 0.72rem; }
.money-ledger strong { color: var(--navy-950); font-size: 1.2rem; }
.rate-lab { background: linear-gradient(145deg, #f8f6ff, #eeeafb); border-color: #d4caea; }
.transmission-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.transmission-chain li { position: relative; display: flex; gap: 0.55rem; align-items: flex-start; padding: 0.8rem; border-radius: 0.8rem; background: #fff; }
.transmission-chain li > span { display: grid; flex: 0 0 1.6rem; width: 1.6rem; height: 1.6rem; place-items: center; border-radius: 50%; color: #fff; background: var(--blue-700); font-weight: 800; }
.transmission-chain li > div { display: grid; }
.transmission-chain small { margin-top: 0.25rem; color: var(--muted); }
.transmission-chain li:not(:last-child)::after { position: absolute; right: -0.8rem; top: 50%; color: var(--orange-600); content: "→"; transform: translateY(-50%); }

.social-lab, .life-course-lab, .constellation-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; background: linear-gradient(145deg, #f7fbff, #eaf3fb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.social-lab--reasoning { background: linear-gradient(145deg, #fff9ed, #fff0d4); border-color: #e7c67e; }
.social-lab--family { background: linear-gradient(145deg, #f4fbf8, #e4f3ec); border-color: #bcd9ca; }
.social-lab--trajectory { background: linear-gradient(145deg, #f9f7ff, #eeeafb); border-color: #d4caea; }
.social-lab h3, .life-course-lab h3, .constellation-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.social-lab__scenario { min-height: 4rem; margin: 1rem 0 0 !important; padding: 0.9rem 1rem; border-left: 0.3rem solid var(--orange-500); border-radius: 0.7rem; background: #fff; color: var(--navy-900); font-weight: 750; }
.social-lab__answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-top: 0.8rem; }
.social-lab__answers--stacked { grid-template-columns: 1fr; }
.social-lab__answers button { min-height: 3rem; padding: 0.7rem; color: var(--navy-900); border: 1px solid #bfd2df; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; text-align: left; }
.social-lab__answers button.is-correct { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.social-lab__answers button.is-incorrect { color: #fff; border-color: var(--red-700); background: var(--red-700); }
.social-lab__feedback { margin: 0.8rem 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: rgba(255,255,255,0.92); }
.social-lab > .button { width: auto; }
.life-course-lab { background: linear-gradient(145deg, #f9f7ff, #ece8fa); border-color: #d4caea; }
.life-course-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.55rem; margin-top: 1rem; }
.life-course-track button { display: grid; min-height: 5.2rem; align-content: center; padding: 0.75rem; color: var(--navy-900); border: 1px solid #cfc5e8; border-radius: 0.8rem; background: #fff; cursor: pointer; text-align: left; }
.life-course-track button span { color: var(--muted); font-size: 0.7rem; }
.life-course-track button.is-active { color: #fff; border-color: var(--navy-900); background: var(--navy-900); }
.life-course-track button.is-active span { color: #dce7f3; }
.life-course-result { display: grid; grid-template-columns: 2fr 1fr; gap: 0.65rem; margin-top: 0.8rem; }
.life-course-result > div { display: grid; padding: 0.85rem; border-radius: 0.8rem; background: #fff; }
.life-course-result span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.constellation-lab { background: radial-gradient(circle at 50% 48%, #fff8e9 0, #f5f9ff 52%, #e8f2fb 100%); }
.constellation-lab__center { display: grid; width: 9.5rem; height: 9.5rem; place-content: center; margin: 1rem auto; padding: 1rem; border: 0.45rem solid #f8c66e; border-radius: 50%; background: #fff; color: var(--navy-950); text-align: center; box-shadow: 0 8px 24px rgba(16,29,51,0.12); }
.constellation-lab__center span { color: var(--muted); font-size: 0.72rem; }
.constellation-lab__choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
.constellation-lab__choices button { display: grid; min-height: 5.2rem; padding: 0.8rem; color: var(--navy-900); border: 1px solid #bed1e2; border-radius: 0.8rem; background: #fff; cursor: pointer; text-align: left; }
.constellation-lab__choices button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.constellation-lab__choices small { margin-top: 0.25rem; color: var(--muted); }
.constellation-lab__choices button.is-active small { color: #e5eff9; }
.trajectory-clues { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1rem 0 0; padding: 0; counter-reset: clue; list-style: none; }
.trajectory-clues li { position: relative; min-height: 7rem; padding: 2.4rem 0.8rem 0.8rem; border-radius: 0.8rem; background: #fff; color: var(--navy-900); font-size: 0.82rem; }
.trajectory-clues li::before { position: absolute; left: 0.8rem; top: 0.65rem; display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: var(--orange-500); color: #352000; content: counter(clue); counter-increment: clue; font-size: 0.72rem; font-weight: 850; }
.trajectory-clues li:not(:last-child)::after { position: absolute; right: -0.8rem; top: 50%; color: var(--blue-700); content: "→"; transform: translateY(-50%); }

.links-lab, .pcs-lab, .individualization-lab, .solidarity-lab, .fragility-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; background: linear-gradient(145deg, #f6fbff, #e8f2fb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.links-lab h3, .pcs-lab h3, .individualization-lab h3, .solidarity-lab h3, .fragility-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.links-lab__choices, .fragility-lab__choices { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.55rem; margin-top: 1rem; }
.links-lab__choices button, .fragility-lab__choices button { min-height: 2.8rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #bfd2df; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.links-lab__choices button.is-active, .fragility-lab__choices button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.links-lab__result { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; margin-top: 0.8rem; }
.links-lab__result article { display: grid; padding: 0.9rem; border-radius: 0.8rem; background: #fff; }
.links-lab__result span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.pcs-lab { background: linear-gradient(145deg, #f4fbf8, #e4f3ec); border-color: #bcd9ca; }
.pcs-lab__path { display: grid; grid-template-columns: 1fr auto 1.5fr auto 1fr; align-items: center; gap: 0.55rem; margin-top: 0.8rem; padding: 0.85rem; border-radius: 0.8rem; background: #fff; text-align: center; }
.pcs-lab__path span, .pcs-lab__path strong { padding: 0.55rem; border-radius: 0.55rem; background: var(--blue-100); }
.pcs-lab__path i { color: var(--orange-600); font-size: 1.2rem; font-style: normal; }
.pcs-lab > .button { width: auto; }
.individualization-lab { background: linear-gradient(145deg, #fff9ed, #fff0d4); border-color: #e7c67e; }
.solidarity-lab { background: linear-gradient(145deg, #f9f7ff, #eeeafb); border-color: #d4caea; }
.solidarity-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.65rem; margin-top: 1rem; }
.solidarity-grid article { display: grid; padding: 0.85rem; border-radius: 0.8rem; background: #fff; }
.solidarity-grid span { color: var(--muted); font-size: 0.7rem; }
.solidarity-grid strong { color: var(--navy-950); }
.social-lab--digital { background: linear-gradient(145deg, #eef8ff, #e5f1fa); }
.fragility-lab { background: linear-gradient(145deg, #fff7f5, #feece8); border-color: #e7beb7; }
.deviance-lab { background: linear-gradient(145deg, #f7f5ff, #ece8f8); border-color: #d3c8e8; }
.deviance-lab--context { background: linear-gradient(145deg, #fff9ed, #fff0d5); border-color: #e5c67f; }
.deviance-lab--distinction { background: linear-gradient(145deg, #f1faf6, #e3f2eb); border-color: #b8d8c8; }
.deviance-process, .measurement-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d2c8e8; border-radius: 1.2rem; background: linear-gradient(145deg, #faf8ff, #eeeafa); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.deviance-process h3, .measurement-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.deviance-process .segmented-control { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; margin-top: 1rem; }
.career-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.7rem; margin: 1rem 0; }
.career-track article { position: relative; display: grid; min-height: 6.8rem; align-content: center; padding: 0.8rem; border-radius: 0.85rem; background: #fff; }
.career-track article:not(:last-child)::after { position: absolute; right: -0.65rem; top: 50%; z-index: 1; color: var(--orange-600); content: "→"; transform: translateY(-50%); }
.career-track span { color: var(--orange-600); font-size: 0.75rem; font-weight: 900; }
.career-track strong { color: var(--navy-900); }
.career-track small { margin-top: 0.2rem; color: var(--muted); }
.measurement-lab { background: linear-gradient(145deg, #edf8ff, #e2f0f8); border-color: #b8d3e4; }
.measurement-lab__lenses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-top: 0.9rem; }
.measurement-lab__lenses article { display: grid; padding: 0.9rem; border-radius: 0.85rem; background: #fff; }
.measurement-lab__lenses span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.measurement-lab__lenses strong { color: var(--navy-950); font-size: 1.8rem; }
.measurement-lab__lenses small { color: var(--muted); }
.opinion-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c6d4e6; border-radius: 1.2rem; background: linear-gradient(145deg, #f7faff, #eaf1fa); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.opinion-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.opinion-lab--sample { background: linear-gradient(145deg, #f3faf6, #e4f1e9); border-color: #bad6c5; }
.opinion-lab--wording { background: linear-gradient(145deg, #fff9ef, #fff0d8); border-color: #e5c984; }
.opinion-lab--wording .segmented-control { margin-top: 1rem; }
.poll-question { margin: 1rem 0; padding: 1.15rem; color: var(--navy-900); border-left: 0.35rem solid var(--orange-500); border-radius: 0.75rem; background: #fff; font-size: 1.05rem; font-weight: 750; }
.checklist-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.55rem; margin-top: 1rem; }
.checklist-grid button { min-height: 3.5rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #bcd0e4; border-radius: 0.75rem; background: #fff; cursor: pointer; font-weight: 800; }
.checklist-grid button.is-active { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.poll-notice { display: grid; gap: 0.25rem; margin-top: 0.8rem; padding: 0.9rem; border-radius: 0.8rem; background: #fff; }
.poll-notice span { color: var(--blue-700); font-size: 0.72rem; font-weight: 850; text-transform: uppercase; }
.feedback-loop { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d2c8e8; border-radius: 1.2rem; background: linear-gradient(145deg, #faf7ff, #eee9fa); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.feedback-loop figcaption { display: grid; }
.feedback-loop figcaption strong { color: var(--navy-950); font-size: 1.22rem; }
.feedback-loop figcaption span { color: var(--muted); }
.feedback-loop > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 0.4rem; margin-top: 1rem; }
.feedback-loop button { min-height: 4rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #c8bde2; border-radius: 0.75rem; background: #fff; cursor: pointer; font-weight: 800; }
.feedback-loop button.is-active { color: #fff; border-color: var(--navy-900); background: var(--navy-900); }
.feedback-loop > div > span { color: var(--orange-600); font-weight: 900; }
.vote-lab, .vote-prism, .vote-configuration { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c7d6e5; border-radius: 1.2rem; background: linear-gradient(145deg, #f5faff, #e7f1f9); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.vote-lab h3, .vote-prism h3, .vote-configuration h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.vote-lab--resources { background: linear-gradient(145deg, #f3faf6, #e4f2e9); border-color: #b9d6c5; }
.vote-lab--abstention { background: linear-gradient(145deg, #fff9ef, #fff0db); border-color: #e6ca88; }
.vote-lab--volatility { background: linear-gradient(145deg, #faf7ff, #eee9fa); border-color: #d3c8e8; }
.vote-prism .segmented-control { margin-top: 1rem; }
.vote-prism .links-lab__result { margin-top: 0.8rem; }
.vote-configuration { background: linear-gradient(145deg, #f8f7ff, #ebeafa); border-color: #cbc8e4; }
.vote-configuration .checklist-grid button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.risk-lab, .risk-choice, .risk-sharing, .risk-institutions { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c3d8cf; border-radius: 1.2rem; background: linear-gradient(145deg, #f4faf7, #e5f2eb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.risk-lab h3, .risk-choice h3, .risk-sharing h3, .risk-institutions h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.risk-lab .social-lab__answers { grid-template-columns: repeat(4, 1fr); }
.risk-choice { background: linear-gradient(145deg, #fff9ed, #fff0d5); border-color: #e5c77f; }
.risk-choice__options { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin-top: 1rem; }
.risk-choice__options button { display: grid; min-height: 7rem; align-content: center; padding: 1rem; color: var(--navy-900); border: 1px solid #dfc47f; border-radius: 0.85rem; background: #fff; cursor: pointer; text-align: left; }
.risk-choice__options button.is-active { color: #fff; border-color: var(--navy-900); background: var(--navy-900); }
.risk-choice__options span, .risk-choice__options small { color: var(--muted); }
.risk-choice__options button.is-active span, .risk-choice__options button.is-active small { color: #dce7f3; }
.risk-choice__options strong { font-size: 1.05rem; }
.risk-sharing { background: linear-gradient(145deg, #edf8ff, #e2f0f8); border-color: #b8d3e4; }
.risk-lab--strategy { background: linear-gradient(145deg, #f7f5ff, #ece8f8); border-color: #d3c8e8; }
.risk-institutions { background: linear-gradient(145deg, #f7faff, #e9f1f9); border-color: #c4d5e5; }
.risk-institutions .links-lab__choices { grid-template-columns: repeat(3, 1fr); }
.risk-lab--protection { background: linear-gradient(145deg, #fff7f5, #feece8); border-color: #e7beb7; }

.enterprise-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c6d4e1; border-radius: 1.2rem; background: linear-gradient(145deg, #f6f9fc, #e8f0f7); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.enterprise-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.enterprise-lab--lifecycle { background: linear-gradient(145deg, #fff9ef, #fff0d8); border-color: #e4c786; }
.enterprise-lab--status { background: linear-gradient(145deg, #f3f9ff, #e4eef8); }
.enterprise-lab--roles { background: linear-gradient(145deg, #f8f5ff, #ece7f8); border-color: #d1c6e4; }
.enterprise-lab--governance { background: linear-gradient(145deg, #f3faf6, #e2f1e8); border-color: #b8d4c3; }
.enterprise-lab--authority { background: linear-gradient(145deg, #fff8f5, #fbeae4); border-color: #e5c0b4; }
.enterprise-lab--relations { background: linear-gradient(145deg, #f4f9fc, #e5f0f5); }
.enterprise-lab--lifecycle .social-lab__answers, .enterprise-lab--roles .social-lab__answers { grid-template-columns: repeat(4, 1fr); }
.enterprise-lab--governance .segmented-control { margin-top: 1rem; }

.quant-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c3d6df; border-radius: 1.2rem; background: linear-gradient(145deg, #f4fafc, #e5f1f5); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.quant-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.quant-lab--reference { background: linear-gradient(145deg, #fff9ef, #fff0d7); border-color: #e5c884; }
.quant-lab--calculator { background: linear-gradient(145deg, #f2f9ff, #e2eef8); }
.quant-lab--converter { background: linear-gradient(145deg, #f8f5ff, #ece7f8); border-color: #d1c7e4; }
.quant-lab--reading { background: linear-gradient(145deg, #f3faf6, #e3f1e8); border-color: #b9d5c4; }
.quant-lab--comparison { background: linear-gradient(145deg, #fff7f4, #fceae3); border-color: #e7c0b4; }
.quant-lab--control { background: linear-gradient(145deg, #f6f9fc, #e8f0f6); }
.quant-lab .segmented-control { margin-top: 1rem; }
.quant-inputs { display: grid; grid-template-columns: minmax(8rem, 1fr) auto minmax(8rem, 1fr); align-items: end; gap: 0.8rem; margin: 1rem 0; }
.quant-inputs label { display: grid; gap: 0.35rem; color: var(--blue-700); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; }
.quant-inputs input { width: 100%; min-height: 3rem; padding: 0.6rem 0.75rem; color: var(--navy-950); border: 1px solid #b8ccdc; border-radius: 0.7rem; background: #fff; font: inherit; font-size: 1.1rem; font-weight: 800; }
.quant-inputs > span { padding-bottom: 0.75rem; color: var(--orange-700); font-size: 1.5rem; font-weight: 900; }
.dual-ranges { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin: 1rem 0; }
.dual-ranges label { display: grid; gap: 0.55rem; padding: 0.9rem; border: 1px solid #c7d7e3; border-radius: 0.8rem; background: #fff; color: var(--navy-900); font-weight: 750; }
.dual-ranges input { width: 100%; accent-color: var(--orange-600); }
.two-way-table-wrap { margin: 1rem 0; overflow-x: auto; }
.two-way-table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid rgba(20, 58, 91, 0.16); border-radius: 0.8rem; background: #fff; }
.two-way-table caption { padding: 0 0 0.65rem; color: var(--muted); font-size: 0.85rem; text-align: left; }
.two-way-table th, .two-way-table td { padding: 0.75rem; border-right: 1px solid rgba(20, 58, 91, 0.1); border-bottom: 1px solid rgba(20, 58, 91, 0.1); text-align: center; transition: background 160ms ease, box-shadow 160ms ease; }
.two-way-table th { background: rgba(222, 235, 247, 0.58); font-weight: 750; }
.two-way-table tr:last-child > * { border-bottom: 0; }
.two-way-table tr > *:last-child { border-right: 0; }
.two-way-table .is-highlighted { background: #fff1c9; box-shadow: inset 0 0 0 2px #e8a92e; }
.stacked-chart { display: flex; min-height: 7rem; margin: 1rem 0; overflow: hidden; border-radius: 0.9rem; box-shadow: inset 0 0 0 1px rgba(20, 58, 91, 0.14); }
.stacked-chart button { flex: var(--share); display: grid; place-content: center; gap: 0.2rem; min-width: 0; padding: 0.6rem; border: 0; color: #0b2941; background: #dceaf6; font: inherit; cursor: pointer; }
.stacked-chart button:nth-child(2) { background: #f8d99a; }
.stacked-chart button:nth-child(3) { background: #bfe4d2; }
.stacked-chart button:nth-child(4) { background: #f4c5bd; }
.stacked-chart button.is-active { box-shadow: inset 0 0 0 3px #143a5b; }
.mini-line-chart { width: 100%; height: auto; margin: 1rem 0; border-radius: 0.9rem; background: linear-gradient(180deg, #f8fbfe, #edf5fa); }
.mini-line-chart line { stroke: #698296; stroke-width: 2; }
.mini-line-chart polyline { fill: none; stroke: #e79b24; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.mini-line-chart circle { fill: #143a5b; stroke: #fff; stroke-width: 3; }
.mini-line-chart text { fill: #536b7d; font-size: 15px; }
.scale-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.scale-panels article { padding: 0.85rem; border: 1px solid #c7d7e3; border-radius: 0.8rem; background: #fff; }
.bar-chart { display: flex; align-items: end; gap: 0.55rem; height: 10rem; margin-top: 0.75rem; border-bottom: 2px solid #698296; background: repeating-linear-gradient(to top, transparent 0 24%, rgba(105,130,150,.12) 25%); }
.bar-chart i { flex: 1; position: relative; min-height: 0.4rem; height: var(--height); border-radius: 0.35rem 0.35rem 0 0; background: #6ea8ce; }
.bar-chart--truncated i { background: #e79b24; }
.bar-chart span { position: absolute; top: -1.25rem; left: 50%; color: #143a5b; font-size: 0.72rem; font-style: normal; font-weight: 800; transform: translateX(-50%); }
.function-chart { width: 100%; height: auto; margin: 1rem 0; border-radius: 0.9rem; background: linear-gradient(180deg, #f8fbfe, #edf5fa); }
.function-chart .axis { stroke: #698296; stroke-width: 3; }
.function-chart .curve { fill: none; stroke: #143a5b; stroke-width: 7; stroke-linecap: round; transition: transform 180ms ease, stroke 180ms ease; transform-box: fill-box; transform-origin: center; }
.function-chart .demand { stroke: #d88018; }
.function-chart .supply { stroke: #2b8666; }
.function-chart .ghost { stroke: #9fb3c2; stroke-dasharray: 10 8; }
.function-chart .cost { stroke: #7b5ca7; }
.function-chart circle { fill: #e79b24; stroke: #fff; stroke-width: 3; transition: cx 180ms ease, cy 180ms ease; }
.function-chart text { fill: #536b7d; font-size: 17px; font-weight: 700; }

.growth-lab { display: grid; gap: 1rem; margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #cfddec; border-radius: 1.2rem; background: linear-gradient(145deg, #f5f9fd, #e8f1f8); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.growth-lab h3, .growth-lab p { margin-top: 0; }
.growth-lab__note { margin-bottom: 0; color: var(--muted); font-size: 0.88rem; }
.growth-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.growth-controls label { display: grid; gap: 0.65rem; padding: 0.85rem; color: var(--navy-950); font-size: 0.85rem; font-weight: 700; border: 1px solid #d8e3ef; border-radius: 0.8rem; background: #fff; }
.growth-controls input { width: 100%; accent-color: var(--orange-600); }
.growth-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.65rem; align-items: center; text-align: center; }
.growth-equation > strong { padding: 0.8rem 0.5rem; color: var(--navy-950); border-radius: 0.75rem; background: #fff; }
.growth-lab .causal-chain { gap: 0.75rem; margin-top: 0; }
.growth-lab .causal-chain li { align-content: start; gap: 0.5rem; min-height: 7rem; padding: 0.85rem; text-align: left; }
.growth-lab .causal-chain li span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #fff; border-radius: 50%; background: var(--blue-700); }
.growth-lab .causal-chain li strong { font-size: 0.88rem; line-height: 1.35; }
.marine-map { background: linear-gradient(145deg, #eef9fb, #d9edf5); }
.marine-map__ocean { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 13rem; overflow: hidden; padding: 1rem; color: #fff; border-radius: 1rem; background: radial-gradient(circle at 50% 50%, rgba(112,224,229,0.58) 0 9%, transparent 10% 24%, rgba(83,190,208,0.42) 25% 29%, transparent 30%), linear-gradient(145deg, #0b5472, #0f7d9c 55%, #083c62); }
.marine-map__land { z-index: 2; max-width: 5rem; padding: 2.6rem 0.75rem; color: #153b2d; font-weight: 800; text-align: center; border-radius: 48% 42% 55% 38%; background: #a8c980; box-shadow: inset 0 0 0 3px rgba(255,255,255,0.2); }
.marine-map__current { justify-self: center; color: rgba(255,255,255,0.5); font-size: 8rem; line-height: 1; transform: rotate(-18deg); }
.marine-map__patch { position: absolute; top: 50%; left: 50%; width: 7rem; padding: 0.55rem; color: #083c62; font-size: 0.75rem; font-weight: 900; text-align: center; text-transform: uppercase; border-radius: 999px; background: rgba(235,251,255,0.9); transform: translate(-50%,-50%); }
.transition-balance { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.85rem; align-items: center; }
.transition-balance article { display: grid; gap: 0.55rem; padding: 1rem; border: 1px solid #d8e3ef; border-radius: 0.85rem; background: #fff; }
.transition-balance article i { display: block; width: var(--size); height: 0.75rem; border-radius: 1rem; transition: width 180ms ease; }
.transition-balance__old i { background: #9a5b54; }
.transition-balance__new i { background: #1f8264; }
.transition-balance__arrow { color: var(--orange-600); font-size: 1.5rem; font-weight: 800; }
.impact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.impact-grid article { display: grid; gap: 0.35rem; padding: 1rem; border: 1px solid #d8e3ef; border-radius: 0.8rem; background: #fff; }
.impact-grid span { color: var(--muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.impact-grid strong { color: var(--navy-950); font-size: 0.98rem; }
.decoupling-verdict { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.15rem; color: #fff; border-radius: 0.85rem; background: linear-gradient(120deg, #164f48, #287b65); }
.decoupling-verdict span { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.decoupling-verdict strong { font-size: 1.15rem; }
.trade-table { display: grid; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 0.85rem; background: #fff; }
.trade-table > div { display: grid; grid-template-columns: 0.65fr 1fr 1fr; }
.trade-table > div + div { border-top: 1px solid #dce5ed; }
.trade-table span, .trade-table strong { padding: 0.8rem; text-align: center; }
.trade-table > div > * + * { border-left: 1px solid #dce5ed; }
.trade-table > div:first-child { color: #fff; background: var(--blue-700); }
.value-chain { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.value-chain button { display: grid; gap: 0.45rem; justify-items: center; min-height: 5.5rem; padding: 0.75rem; color: var(--navy-950); border: 1px solid #c9d8e5; border-radius: 0.8rem; background: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.value-chain button span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #fff; border-radius: 50%; background: #698296; }
.value-chain button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.value-chain button.is-active span { color: var(--blue-700); background: #fff; }

.crisis-timeline { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 0.55rem; align-items: center; }
.crisis-timeline article { display: grid; gap: 0.35rem; min-height: 6rem; align-content: center; padding: 0.8rem; text-align: center; border: 1px solid #d5e0e9; border-radius: 0.85rem; background: #fff; }
.crisis-timeline article span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.crisis-timeline article strong { color: var(--navy-950); font-size: 0.9rem; line-height: 1.35; }
.crisis-timeline > i { color: var(--orange-600); font-size: 1.25rem; font-style: normal; font-weight: 900; }
.bubble-meter { position: relative; height: 2.25rem; margin: 0.25rem 0 0.6rem; border-radius: 2rem; background: linear-gradient(90deg, #dbe9f3, #f5d8a7 75%, #d98b83); }
.bubble-meter::before { content: "Valeur-repère"; position: absolute; top: 2.5rem; left: 25%; color: var(--muted); font-size: 0.72rem; transform: translateX(-50%); }
.bubble-meter i, .bubble-meter b { position: absolute; top: 50%; left: var(--position); display: block; width: 1.1rem; height: 1.1rem; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 2px 8px rgba(14, 43, 67, 0.25); transform: translate(-50%, -50%); transition: left 180ms ease; }
.bubble-meter i { background: var(--green-700); }
.bubble-meter b { width: 1.35rem; height: 1.35rem; background: var(--orange-600); }
.bank-run-balance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.bank-run-balance article { display: grid; gap: 0.35rem; padding: 1rem; color: #fff; border-radius: 0.85rem; background: linear-gradient(145deg, #153f60, #216184); }
.bank-run-balance span { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.bank-run-balance strong { color: #ffd08a; font-size: 1.55rem; }
.bank-run-balance small { color: #c9ddec; line-height: 1.35; }
.finance-network { position: relative; isolation: isolate; display: grid; grid-template: repeat(3, 5.4rem) / repeat(3, minmax(5.5rem, 1fr)); gap: 0.45rem; max-width: 34rem; width: 100%; margin: 0 auto; }
.finance-network button { z-index: 2; display: grid; gap: 0.15rem; place-content: center; padding: 0.55rem; color: var(--navy-950); border: 2px solid #a9c3d6; border-radius: 50%; background: #fff; font: inherit; text-align: center; cursor: pointer; box-shadow: 0 6px 18px rgba(22, 62, 91, 0.12); }
.finance-network button small { color: var(--muted); font-size: 0.68rem; }
.finance-network button.is-failed { color: #fff; border-color: #a13d37; background: #a13d37; }
.finance-network button.is-failed small { color: #fff; }
.finance-network [data-bank-node="a"] { grid-area: 1 / 2; }
.finance-network [data-bank-node="b"] { grid-area: 2 / 1; }
.finance-network [data-bank-node="c"] { grid-area: 2 / 3; }
.finance-network [data-bank-node="d"] { grid-area: 3 / 2; }
.finance-network__link { z-index: -1; position: absolute; left: 50%; top: 50%; width: 34%; height: 0.35rem; border-radius: 1rem; background: #9bb6c9; transform-origin: left center; }
.finance-network__link--ab { transform: translate(-40%, -130%) rotate(145deg); }
.finance-network__link--ac { transform: translate(-8%, -130%) rotate(35deg); }
.finance-network__link--bd { transform: translate(-42%, 95%) rotate(35deg); }
.finance-network__link--cd { transform: translate(-8%, 95%) rotate(145deg); }
.solvency-gauge { padding: 0.65rem 0; }
.solvency-gauge > div { position: relative; height: 1.25rem; border-radius: 1rem; background: #dce6ed; }
.solvency-gauge i { display: block; width: var(--size); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #a54e46, #e49a27 48%, #278166); transition: width 180ms ease; }
.solvency-gauge span { position: absolute; top: -1.35rem; left: 50%; color: var(--muted); font-size: 0.7rem; font-weight: 750; transform: translateX(-50%); }
.competence-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.65rem; align-items: center; }
.competence-map article { display: grid; gap: 0.35rem; min-height: 6.2rem; align-content: center; padding: 0.9rem; text-align: center; border: 1px solid #d2dfe9; border-radius: 0.85rem; background: #fff; }
.competence-map article span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.competence-map article strong { color: var(--navy-950); font-size: 0.92rem; line-height: 1.35; }
.competence-map > i { color: var(--orange-600); font-size: 1.25rem; font-style: normal; font-weight: 900; }
.coordination-board { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(14rem, 0.75fr); gap: 1rem; align-items: stretch; }
.coordination-board__countries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.coordination-board__countries button { display: grid; gap: 0.3rem; min-height: 5.5rem; place-content: center; padding: 0.7rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.8rem; background: #fff; font: inherit; text-align: center; cursor: pointer; }
.coordination-board__countries button small { color: var(--muted); line-height: 1.3; }
.coordination-board__countries button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.coordination-board__countries button.is-active small { color: #d8e8f6; }
.coordination-board > .segmented-control { align-content: center; }
.profile-factors { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.4rem; }
.profile-factors button { min-height: 3rem; padding: 0.45rem; color: var(--navy-950); border: 1px solid #c9d9e5; border-radius: 0.7rem; background: #fff; font: inherit; font-size: 0.75rem; font-weight: 750; cursor: pointer; }
.profile-factors button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.structure-shift { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
.structure-shift article { display: grid; gap: 0.65rem; padding: 1rem; border: 1px solid #d2dfe9; border-radius: 0.85rem; background: #fff; }
.structure-shift article span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.structure-shift article i { display: block; width: var(--size); height: 1rem; border-radius: 1rem; background: linear-gradient(90deg, var(--blue-700), #65a98d); transition: width 180ms ease; }
.structure-shift article strong { color: var(--navy-950); font-size: 0.92rem; }
.theory-case { padding: 0.9rem 1rem; border-left: 4px solid var(--orange-600); border-radius: 0.55rem; background: #fff; }
.theory-case p { margin: 0; }
.class-distance-map { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--group-gap, 4.7rem); min-height: 7rem; align-items: center; padding: 1rem; overflow: hidden; border: 1px solid #d2dfe9; border-radius: 0.85rem; background: #fff; transition: gap 180ms ease; }
.class-distance-map > div { display: flex; justify-content: center; gap: var(--point-gap, 0.8rem); transition: gap 180ms ease; }
.class-distance-map i { display: block; width: 2rem; height: 2rem; border-radius: 50%; box-shadow: 0 3px 8px rgba(18, 54, 80, 0.16); }
.class-distance-map [data-class-group-a] i { background: #2a6b99; }
.class-distance-map [data-class-group-b] i { background: #d88424; }
.school-gap-table { display: grid; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 0.85rem; background: #fff; }
.school-gap-table > div { display: grid; grid-template-columns: 1.4fr 1fr 1fr; }
.school-gap-table > div + div { border-top: 1px solid #dce5ed; }
.school-gap-table span, .school-gap-table strong { padding: 0.75rem; text-align: center; }
.school-gap-table > div > * + * { border-left: 1px solid #dce5ed; }
.school-gap-table > div:first-child { color: #fff; background: var(--blue-700); }
.instruction-card { display: grid; gap: 0.55rem; padding: 1rem; border: 1px solid #d0deea; border-radius: 0.85rem; background: #fff; }
.instruction-card > span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.instruction-card > strong { color: var(--navy-950); font-size: 1rem; line-height: 1.45; }
.instruction-card ul { margin: 0; padding-left: 1.2rem; color: var(--muted); }
.trajectory-constellation { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; }
.trajectory-constellation button { min-height: 4.5rem; padding: 0.65rem; color: var(--navy-950); border: 1px solid #cad9e5; border-radius: 0.8rem; background: #fff; font: inherit; font-size: 0.76rem; font-weight: 750; cursor: pointer; }
.trajectory-constellation button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.trajectory-meter { height: 1rem; overflow: hidden; border-radius: 1rem; background: #dce7ee; }
.trajectory-meter i { display: block; width: var(--size); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d18228, #2a8668); transition: width 180ms ease; }
.quality-profile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.quality-profile span { display: grid; gap: 0.35rem; color: var(--navy-950); font-size: 0.8rem; font-weight: 800; }
.quality-profile i { display: block; width: 100%; height: 0.8rem; overflow: hidden; border-radius: 1rem; background: #dce7ee; }
.quality-profile i::after { display: block; width: var(--size); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d18228, #2a8668); content: ""; transition: width 180ms ease; }

.quiz-question { margin: 0; padding: 1.15rem; border: 1px solid var(--line); border-radius: var(--radius-md); }
.quiz-question + .quiz-question { margin-top: 1rem; }
.quiz-question legend { max-width: calc(100% - 1rem); padding: 0 0.35rem; overflow-wrap: anywhere; color: var(--navy-900); border-radius: 0.25rem; background: var(--paper); box-shadow: 0 0 0 0.2rem var(--paper); font-weight: 750; }
.quiz-choice { display: flex; gap: 0.7rem; align-items: flex-start; margin-top: 0.65rem; padding: 0.75rem; border: 1px solid var(--line); border-radius: var(--radius-sm); cursor: pointer; }
.quiz-choice:hover { background: var(--blue-100); }
.quiz-choice input { margin-top: 0.32rem; accent-color: var(--blue-700); }
.quiz-question.is-correct { border-color: #68bca2; background: var(--green-100); }
.quiz-question.is-incorrect { border-color: #dc9088; background: var(--red-100); }
.quiz-explanation { margin: 0.9rem 0 0; padding-top: 0.8rem; border-top: 1px solid currentColor; }
.quiz-correction-lock { display: flex; gap: 0.6rem; align-items: center; margin: 0.9rem 0 0; padding: 0.75rem 0.85rem; border: 1px dashed #d3a34d; border-radius: var(--radius-sm); background: #fff9eb; color: #6f4b0b; font-size: 0.84rem; }
.quiz-correction-lock > span { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; flex: 0 0 auto; border-radius: 50%; background: #f5a124; color: transparent; }
.quiz-correction-lock > span::before { color: #3a2300; content: "→"; font-size: 0.75rem; }
.quiz-access-note { margin: 1rem 0 1.2rem; padding: 0.9rem 1rem; border-left: 4px solid var(--orange-500); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--orange-100); color: #62440f; }

.active-learning-gate { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: start; margin-top: 1rem; padding: clamp(1.1rem, 3vw, 1.5rem); border: 1px solid #bfd0df; border-radius: var(--radius-md); background: linear-gradient(145deg, #f6f9fc, #edf4fa); box-shadow: 0 10px 24px rgba(15, 43, 70, 0.07); }
.active-learning-gate__icon { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: 0.8rem; background: var(--navy-900); color: #ffd58f; font-size: 1.25rem; font-weight: 900; }
.active-learning-gate__copy { min-width: 0; }
.active-learning-gate__eyebrow { margin: 0 0 0.2rem !important; color: var(--orange-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.active-learning-gate h3 { margin: 0; color: var(--navy-950); font-size: clamp(1.05rem, 2.2vw, 1.3rem); line-height: 1.3; }
.active-learning-gate__copy > p:not(.active-learning-gate__eyebrow) { margin: 0.5rem 0 0; color: #50657a; }
.active-learning-gate__actions { display: flex; flex-wrap: wrap; gap: 0.7rem 1rem; align-items: center; margin-top: 0.9rem; }
.active-learning-gate__actions .button { min-height: 2.55rem; padding: 0.55rem 0.9rem; }
.active-learning-gate__login { color: var(--navy-900); font-weight: 800; }
.active-learning-gate--compact { margin-top: 1.2rem; padding: 1rem; box-shadow: none; }
.active-learning-gate--compact .active-learning-gate__icon { width: 2.25rem; height: 2.25rem; font-size: 1rem; }
.active-learning-gate--compact h3 { font-size: 1rem; }
.active-learning-gate--compact .active-learning-gate__copy > p:not(.active-learning-gate__eyebrow) { font-size: 0.88rem; }
.course-document figcaption > .active-learning-gate { margin: 0.8rem 0; background: #fff; }

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.85rem;
  border: 0;
  border-radius: 0.75rem;
  padding: 0.7rem 1rem;
  background: var(--orange-500);
  color: #271700;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.button:hover { filter: brightness(0.96); }
.button--secondary { background: var(--navy-900); color: #fff; }
.button--quiet { background: var(--blue-100); color: var(--navy-900); }
.quiz-submit { margin-top: 1.2rem; }

.result-panel { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: var(--radius-md); }
.result-panel--warning { background: var(--orange-100); color: #62440f; }
.result-panel--success { border: 1px solid #bfdfd3; background: #f2fbf7; color: #123f34; }
.result-diagnostic__header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: center; }
.result-score { position: relative; display: grid; place-items: center; width: 6.2rem; height: 6.2rem; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(#168065 var(--score), #dcebe5 0); }
.result-score::before { position: absolute; inset: 0.55rem; border-radius: 50%; background: #fff; content: ""; }
.result-score strong, .result-score span { position: relative; z-index: 1; }
.result-score strong { align-self: end; color: var(--navy-950); font-size: 1.3rem; line-height: 1; }
.result-score span { align-self: start; color: var(--muted); font-size: 0.72rem; font-weight: 750; }
.result-diagnostic__copy > span { color: var(--green-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.result-diagnostic__copy h3 { margin: 0.15rem 0 0.35rem; color: var(--navy-950); font-size: 1.15rem; }
.result-diagnostic__copy p { margin: 0; color: #496057; }
.skill-breakdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; margin: 1rem 0 0; padding: 0 !important; list-style: none; }
.skill-breakdown li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.25rem 0.65rem; margin: 0 !important; padding: 0.7rem 0.8rem; border: 1px solid #cfe0da; border-radius: 0.7rem; background: #fff; }
.skill-breakdown span { color: #344d45; font-size: 0.78rem; font-weight: 700; }
.skill-breakdown strong { color: var(--navy-950); font-size: 0.8rem; }
.skill-breakdown i { grid-column: 1 / -1; height: 0.28rem; overflow: hidden; border-radius: 1rem; background: #e3ece9; }
.skill-breakdown i::after { display: block; width: var(--mastery); height: 100%; border-radius: inherit; background: #2a8a6c; content: ""; }
.skill-breakdown li.needs-review i::after { background: #dc8613; }
.result-next { display: inline-flex; margin-top: 1rem; color: var(--navy-900); font-weight: 800; }

.signup-panel { margin-top: 1rem; padding: 1.3rem; background: var(--navy-950); color: #fff; border-radius: var(--radius-md); }
.signup-panel h3 { margin-top: 0; color: #fff; }
.signup-panel p { color: #dce5ef; }
.signup-panel .signup-panel__eyebrow { margin: 0 0 0.35rem; color: #f5bd63; font-size: 0.75rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.signup-panel .button { text-align: center; }
.signup-panel small { display: block; margin-top: 0.75rem; color: #b9c8d7; }
.review-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; padding: 1rem; background: var(--blue-100); border-radius: var(--radius-md); }
.review-summary span { color: var(--muted); }
.card-deck { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.review-card { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.review-card h3 { margin-top: 0; font-size: 1rem; }
.card-answer { padding: 0.85rem; background: var(--green-100); border-radius: var(--radius-sm); }
.card-ratings { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.4rem; margin-top: 0.75rem; }
.card-ratings button { min-height: 2.4rem; border: 1px solid var(--line); border-radius: 0.5rem; background: #fff; cursor: pointer; }
.card-ratings button:hover { border-color: var(--blue-700); background: var(--blue-100); }
.card-due { color: var(--muted); font-size: 0.82rem; }

.sources-list li { overflow-wrap: anywhere; }
.next-lesson { display: grid; gap: 0.35rem; padding: 1.2rem; border: 1px solid #b8d3ef; border-radius: var(--radius-md); background: var(--blue-100); }
.next-lesson > span { color: var(--blue-700); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.next-lesson strong, .next-lesson a { color: var(--navy-900); font-size: 1.12rem; font-weight: 800; line-height: 1.35; }
.next-lesson small { color: var(--muted); }
.next-lesson--planned { border-style: dashed; }
.next-lesson--gated { border-color: #f0b44e; background: #fff8e8; }
.next-lesson a.next-lesson__action {
  justify-self: start;
  margin-top: 0.55rem;
  padding: 0.72rem 1rem;
  color: var(--navy-900);
  border-radius: 0.65rem;
  background: var(--orange-500);
  font-size: 0.92rem;
  text-decoration: none;
}
.next-lesson a.next-lesson__action:hover { background: var(--orange-600); }
.learning-journey { padding: 1.15rem; border: 1px solid #c8d7e5; border-radius: var(--radius-md); background: linear-gradient(150deg, #f8fbfe, #eef5fb); }
.learning-journey ol { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.learning-journey__step { position: relative; z-index: 1; display: grid; align-content: start; gap: 0.25rem; min-height: 8rem; margin: 0 !important; padding: 0.85rem; border: 1px solid #cedbe7; border-radius: 0.8rem; background: #fff; }
.learning-journey__step > span { color: #687c90; font-size: 0.66rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.learning-journey__step strong, .learning-journey__step a { color: var(--navy-900); font-size: 0.86rem; font-weight: 800; line-height: 1.4; }
.learning-journey__step small { margin-top: auto; color: #795313; font-size: 0.7rem; }
.learning-journey__step--current { border-color: #2e689f; box-shadow: inset 0 0 0 1px #2e689f; }
.learning-journey__step--current > span { color: var(--blue-700); }
.learning-journey__step--locked { border-color: #e4bd72; background: #fffaf0; }
.learning-journey__step--locked::after { position: absolute; top: 0.65rem; right: 0.65rem; width: 1.55rem; height: 1.55rem; border-radius: 50%; background: linear-gradient(#3b2500, #3b2500) center 62% / 0.62rem 0.5rem no-repeat, radial-gradient(circle at 50% 45%, transparent 0 0.16rem, #3b2500 0.17rem 0.23rem, transparent 0.24rem), #f5a124; content: ""; }
.learning-journey__footer { margin: 1rem 0 0; padding-top: 0.85rem; border-top: 1px solid #d5e0ea; color: #516579; font-size: 0.86rem; }
.learning-journey__footer a { color: var(--navy-900); font-weight: 850; }
.course-sequence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.course-sequence__link { display: grid; gap: 0.35rem; min-width: 0; min-height: 9rem; padding: 1rem; border: 1px solid #c8d7e5; border-radius: var(--radius-md); background: #fff; color: var(--navy-900); text-decoration: none; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.course-sequence__link:hover { border-color: #5d84aa; box-shadow: 0 10px 24px rgba(15, 43, 70, 0.1); transform: translateY(-2px); }
.course-sequence__link:focus-visible { outline: 3px solid #f5a124; outline-offset: 3px; }
.course-sequence__link > span { color: #5c7185; font-size: 0.72rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.course-sequence__link strong { color: var(--navy-950); font-size: 0.95rem; line-height: 1.38; }
.course-sequence__link small { align-self: end; color: #486176; font-size: 0.76rem; font-weight: 750; line-height: 1.4; }
.course-sequence__link--next { border-color: #e0b868; background: linear-gradient(145deg, #fffdf8, #fff5df); }
.course-sequence__link--next > span, .course-sequence__link--next small { color: #765013; }
.course-sequence__empty { min-height: 1px; }
.course-sequence__terminal { display: grid; align-content: center; gap: 0.35rem; min-height: 9rem; margin: 0 !important; padding: 1rem; border: 1px dashed #c8d7e5; border-radius: var(--radius-md); color: #5c7185; }
.course-sequence__terminal strong { color: var(--navy-900); }
.next-course-dialog { width: min(35rem, calc(100% - 2rem)); max-width: none; padding: 0; border: 0; border-radius: 1.15rem; background: transparent; color: var(--navy-950); box-shadow: 0 26px 80px rgba(8, 28, 48, 0.32); }
.next-course-dialog::backdrop { background: rgba(8, 28, 48, 0.68); backdrop-filter: blur(3px); }
.next-course-dialog__surface { position: relative; padding: clamp(1.4rem, 5vw, 2.2rem); border: 1px solid #d6e1eb; border-radius: 1.15rem; background: #fff; }
.next-course-dialog__close { position: absolute; top: 0.8rem; right: 0.8rem; display: grid; width: 2.45rem; height: 2.45rem; padding: 0; place-items: center; border: 1px solid #ccd9e4; border-radius: 50%; background: #f5f8fb; color: var(--navy-900); font: inherit; font-size: 1.35rem; cursor: pointer; }
.next-course-dialog__close:focus-visible { outline: 3px solid #f5a124; outline-offset: 2px; }
.next-course-dialog__eyebrow { margin: 0 3rem 0.35rem 0 !important; color: var(--orange-700); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.next-course-dialog h3 { margin: 0; padding-right: 2.7rem; color: var(--navy-950); font-size: clamp(1.45rem, 4vw, 2rem); line-height: 1.15; }
.next-course-dialog h3 + p { margin: 0.8rem 0 0; color: #4f6478; }
.next-course-dialog__next { display: grid; gap: 0.2rem; margin: 1.15rem 0 0 !important; padding: 0.9rem 1rem; border-left: 4px solid #f5a124; border-radius: 0 0.75rem 0.75rem 0; background: #fff7e8; }
.next-course-dialog__next span { color: #765013; font-size: 0.7rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.next-course-dialog__next strong { color: var(--navy-950); line-height: 1.35; }
.next-course-dialog__actions { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: center; margin-top: 1.2rem; }
.next-course-dialog__actions > a:not(.button) { color: var(--navy-900); font-weight: 800; }
.next-course-dialog__surface > small { display: block; margin-top: 1rem; color: #65798c; line-height: 1.45; }

.conversion-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
  margin: 0 0 4rem;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  color: #fff;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #10223d, #1d4c76);
  box-shadow: var(--shadow);
}
.conversion-cta::before { position: absolute; width: 22rem; height: 22rem; left: -12rem; bottom: -16rem; border: 4rem solid rgba(245, 161, 36, 0.1); border-radius: 50%; content: ""; }
.conversion-cta__copy, .conversion-offer { position: relative; z-index: 1; }
.conversion-cta__eyebrow { margin: 0 0 0.5rem; color: #ffd58f; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.conversion-cta h2 { max-width: 15ch; margin: 0; color: #fff; font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.04; letter-spacing: -0.04em; }
.conversion-cta__copy > p:not(.conversion-cta__eyebrow) { max-width: 38rem; color: #dce6f1; font-size: 1.05rem; }
.conversion-cta ul { display: grid; gap: 0.55rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.conversion-cta li { display: flex; gap: 0.65rem; color: #f2f6fb; }
.conversion-cta li span { color: #ffd58f; font-weight: 900; }
.conversion-offer { padding: 1.45rem; color: var(--ink); border: 1px solid rgba(255, 255, 255, 0.65); border-radius: var(--radius-md); background: #fff; box-shadow: 0 20px 45px rgba(6, 18, 36, 0.22); }
.conversion-offer__label { display: block; color: var(--blue-700); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.conversion-offer > strong { display: block; margin-top: 0.25rem; color: var(--navy-950); font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.15; }
.conversion-offer > p { margin: 0.45rem 0 1rem; color: var(--muted); font-size: 0.9rem; line-height: 1.5; }
.conversion-offer__primary { width: 100%; }
.conversion-offer__primary span { margin-left: 0.35rem; }
.conversion-offer__secondary { display: block; margin-top: 0.8rem; color: var(--navy-900); font-weight: 750; text-align: center; }
.conversion-offer small { display: block; margin-top: 1rem; padding-top: 0.85rem; color: var(--muted); border-top: 1px solid var(--line); line-height: 1.45; }
.conversion-cta--subscriber { background: linear-gradient(135deg, #103d36, #176c5b); }

.course-hub { width: min(calc(100% - 2rem), var(--content)); margin: 0 auto; padding: 2rem 0 4rem; }
.course-hub__hero { margin-bottom: 1.5rem; padding: clamp(1.5rem, 5vw, 3.5rem); color: #fff; border-radius: var(--radius-lg); background: linear-gradient(140deg, var(--navy-950), #1b4770); box-shadow: var(--shadow); }
.course-hub__hero h1 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: -0.04em; }
.course-hub__hero p { max-width: 48rem; margin: 1rem 0 0; color: #dce6f1; }
.course-hub__section { margin-top: 1.5rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.course-hub__section h2 { margin: 0 0 0.35rem; color: var(--navy-900); }
.course-hub__section > p { margin-top: 0; color: var(--muted); }
.course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.course-card { display: flex; min-height: 11rem; flex-direction: column; gap: 0.65rem; padding: 1.15rem; color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; text-decoration: none; box-shadow: 0 5px 16px rgba(16, 29, 51, 0.04); }
.course-card:hover { border-color: #9bbce0; box-shadow: 0 10px 24px rgba(16, 29, 51, 0.09); transform: translateY(-2px); }
.course-card--featured { border-color: #efc36f; background: #fffaf0; }
.course-card__meta { color: var(--blue-700); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.course-card strong { color: var(--navy-900); font-size: 1.08rem; line-height: 1.35; }
.course-card small { margin-top: auto; color: var(--muted); }
.course-card__progress { color: var(--green-700); font-weight: 750; }
.course-list { display: grid; gap: 0.65rem; margin-top: 1rem; padding: 0; list-style: none; }
.course-list a { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 1rem; color: var(--navy-900); border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; }
.course-list a:hover { border-color: #9bbce0; background: var(--blue-100); }
.course-list span { color: var(--muted); font-size: 0.85rem; }
.course-hub__access-kicker { margin: 0 0 0.35rem; color: var(--blue-700); font-size: 0.75rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.course-hub__gate { display: grid; grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr); gap: 1rem 1.35rem; margin-top: 1.5rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #c7d9e8; border-radius: var(--radius-md); background: linear-gradient(145deg, #f5f9fc, #edf4fa); }
.course-hub__gate-copy h3 { margin: 0; color: var(--navy-900); font-size: clamp(1.25rem, 2.5vw, 1.65rem); line-height: 1.2; }
.course-hub__gate-copy > p:last-child { margin-bottom: 0; color: var(--muted); }
.course-hub__gate .course-list--locked { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.course-list__locked { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 0.9rem 1rem; border: 1px solid #d5e1eb; border-radius: var(--radius-sm); background: rgba(255, 255, 255, 0.82); }
.course-list__locked strong { color: var(--navy-900); line-height: 1.35; }
.course-list__status { flex: 0 0 auto; padding: 0.3rem 0.55rem; color: #39536a !important; border-radius: 999px; background: #e1ebf3; font-size: 0.7rem !important; font-weight: 800; white-space: nowrap; }
.course-hub__gate-actions { display: flex; flex-wrap: wrap; gap: 0.8rem 1rem; align-items: center; align-self: end; }
.course-hub__gate-actions .button { min-height: 2.75rem; }
.course-hub__gate-actions .button span { margin-left: 0.35rem; }
.course-hub__login { color: var(--navy-900); font-weight: 800; }
.course-hub__level-access { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem 2rem; align-items: center; border-color: #cfc2ef; background: linear-gradient(145deg, #f8f5ff, #eee8fb); }
.course-hub__level-access > div > h2 { max-width: 30ch; margin-bottom: 0.6rem; }
.course-hub__level-access > div > p:last-child { max-width: 48rem; margin: 0; color: var(--muted); }
.course-hub__level-access .course-hub__gate-actions { min-width: 13rem; flex-direction: column; align-items: stretch; }
.course-hub__level-access .course-hub__login { min-height: 2.75rem; align-content: center; text-align: center; }
.course-hub__level-access--subscriber { border-color: #b8dccc; background: linear-gradient(145deg, #f2fbf7, #e5f5ed); }

/* Espace élève : navigation latérale et vues de programme */
.learner-layout { min-height: 100vh; padding-left: 16.5rem; background: #eef3f8; }
.learner-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  width: 16.5rem;
  flex-direction: column;
  padding: 1.3rem 1rem 1rem;
  overflow-y: auto;
  color: #e7edf6;
  background:
    radial-gradient(circle at 20% 5%, rgba(58, 123, 178, 0.28), transparent 28%),
    linear-gradient(180deg, #112641 0%, #09182b 72%, #071321 100%);
  box-shadow: 8px 0 28px rgba(6, 18, 36, 0.16);
}
.learner-sidebar__brand { display: flex; align-items: center; gap: 0.7rem; padding: 0.1rem 0.5rem 1.15rem; color: var(--orange-500); font-size: 1.17rem; font-weight: 850; letter-spacing: -0.035em; text-decoration: none; }
.learner-sidebar__brand img { width: 2.85rem; height: 2.85rem; object-fit: contain; }
.learner-sidebar__brand em { color: #fff; font-style: normal; }
.learner-sidebar__profile { display: flex; align-items: center; gap: 0.7rem; margin: 0 0.35rem 1.3rem; padding: 0.85rem; border: 1px solid rgba(255,255,255,0.1); border-radius: 0.9rem; background: rgba(255,255,255,0.06); }
.learner-sidebar__avatar { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; color: #382300; border-radius: 50%; background: var(--orange-500); font-weight: 900; }
.learner-sidebar__profile > span:last-child { display: grid; line-height: 1.2; min-width: 0; }
.learner-sidebar__profile small { color: #9fb1c7; font-size: 0.7rem; }
.learner-sidebar__profile strong { overflow: hidden; color: #fff; font-size: 0.9rem; text-overflow: ellipsis; }
.learner-sidebar__nav { display: flex; flex: 1; flex-direction: column; gap: 0.18rem; }
.learner-sidebar__label { margin: 0.9rem 0.65rem 0.35rem; color: #7188a2; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.learner-sidebar__label--lesson { margin-top: 1.15rem; }
.learner-sidebar__link { display: flex; align-items: center; gap: 0.7rem; min-height: 2.8rem; padding: 0.62rem 0.72rem; color: #c7d3e2; border-radius: 0.7rem; font-size: 0.9rem; font-weight: 650; text-decoration: none; }
.learner-sidebar__link > span { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; color: #9fb1c7; font-size: 1.05rem; }
.learner-sidebar__link:hover { color: #fff; background: rgba(255,255,255,0.08); }
.learner-sidebar__link--active { color: #fff; background: linear-gradient(90deg, rgba(36,92,157,0.92), rgba(36,92,157,0.52)); box-shadow: inset 3px 0 var(--orange-500); }
.learner-sidebar__link--anchor { min-height: 2.2rem; padding: 0.38rem 0.75rem 0.38rem 2.25rem; color: #9fb1c7; font-size: 0.8rem; }
.learner-sidebar__logout { margin-top: 1rem; padding: 0.7rem; color: #9fb1c7; border-top: 1px solid rgba(255,255,255,0.1); font-size: 0.8rem; text-align: center; text-decoration: none; }
.learner-sidebar__logout:hover { color: #fff; }

.learner-main { width: min(100%, 82rem); margin: 0 auto; padding: 1.4rem clamp(1.25rem, 4vw, 3.25rem) 3rem; }
.learner-main > .breadcrumbs { margin-top: 0; }
.learner-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; min-height: 16rem; padding: clamp(1.6rem, 4vw, 3.4rem); color: #fff; border-radius: 1.6rem; background: linear-gradient(135deg, #142d4c, #1f5b89); box-shadow: 0 20px 46px rgba(16, 42, 73, 0.18); }
.learner-hero::before { position: absolute; inset: auto -7rem -10rem auto; width: 22rem; height: 22rem; border: 3.7rem solid rgba(255,255,255,0.055); border-radius: 50%; content: ""; }
.learner-hero > * { position: relative; z-index: 1; }
.learner-hero h1 { max-width: 17ch; margin: 0; color: #fff; font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.02; letter-spacing: -0.045em; }
.learner-hero p:not(.eyebrow) { max-width: 43rem; margin: 1rem 0 0; color: #dce7f3; font-size: 1.04rem; }
.learner-hero > img { width: clamp(6rem, 12vw, 9.3rem); height: clamp(6rem, 12vw, 9.3rem); padding: 0.55rem; object-fit: contain; border: 1px solid rgba(255,255,255,0.16); border-radius: 2rem; background: rgba(255,255,255,0.09); filter: drop-shadow(0 14px 18px rgba(0,0,0,0.18)); }
.learner-hero--ses { background: linear-gradient(125deg, #102740, #164f73 62%, #14705e); }
.eyebrow--dark { margin: 0 0 0.25rem; color: var(--blue-700); }

.learner-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 2.2rem 0 1.1rem; }
.learner-section-heading h2 { margin: 0; color: var(--navy-950); font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -0.035em; }
.learner-section-heading > span { color: var(--muted); font-size: 0.85rem; }
.learner-section-heading > a { color: var(--blue-700); font-size: 0.86rem; font-weight: 750; }
.subject-gallery { margin-top: 0; }
.subject-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.subject-tile { position: relative; overflow: hidden; display: block; min-height: 17rem; color: #fff; border-radius: 1.15rem; background: var(--navy-900); box-shadow: 0 10px 28px rgba(16,29,51,0.13); text-decoration: none; }
.subject-tile::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(6,19,34,0.18) 47%, rgba(6,19,34,0.95) 100%); content: ""; }
.subject-tile img { width: 100%; height: 100%; min-height: 17rem; object-fit: cover; transition: transform 0.45s ease, filter 0.45s ease; }
.subject-tile > span { position: absolute; inset: auto 1.15rem 1.05rem; z-index: 2; display: grid; gap: 0.22rem; }
.subject-tile strong { color: #fff; font-size: 1.18rem; line-height: 1.18; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
.subject-tile small { color: #d7e1ed; line-height: 1.35; }
.subject-tile:hover img { transform: scale(1.055); filter: saturate(1.08); }
.subject-tile:hover { box-shadow: 0 16px 36px rgba(16,29,51,0.2); }
.learner-copyright { margin: 2.5rem 0 0; color: #7d8b9b; font-size: 0.78rem; text-align: center; }

.subject-modules { display: grid; gap: 1rem; }
.subject-module { overflow: hidden; border: 1px solid #d7e0ea; border-radius: 1.15rem; background: #fff; box-shadow: 0 8px 22px rgba(16,29,51,0.055); }
.subject-module summary { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 2.4rem; align-items: center; gap: 1rem; min-height: 6.2rem; padding: 0.9rem 1.15rem; cursor: pointer; list-style: none; }
.subject-module summary::-webkit-details-marker { display: none; }
.subject-module summary:hover { background: #f8fafc; }
.subject-module__icon { display: grid; width: 4.2rem; height: 4.2rem; place-items: center; overflow: hidden; border-radius: 1rem; background: #e9f3ff; }
.subject-module__icon img { width: 100%; height: 100%; object-fit: cover; }
.subject-module summary > span:nth-child(2) { display: grid; }
.subject-module summary small { color: var(--blue-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.subject-module summary strong { color: var(--navy-950); font-size: clamp(1.1rem, 2.2vw, 1.42rem); line-height: 1.25; }
.subject-module summary em { margin-top: 0.15rem; color: var(--muted); font-size: 0.78rem; font-style: normal; }
.subject-module__toggle { position: relative; width: 2rem; height: 2rem; border-radius: 50%; background: var(--blue-100); }
.subject-module__toggle::before, .subject-module__toggle::after { position: absolute; left: 50%; top: 50%; width: 0.8rem; height: 2px; background: var(--blue-700); content: ""; transform: translate(-50%, -50%); }
.subject-module__toggle::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 0.2s ease; }
.subject-module[open] .subject-module__toggle::after { transform: translate(-50%, -50%) rotate(0); }
.subject-module[open] summary { border-bottom: 1px solid var(--line); }
.subject-module__lessons { padding: 0.45rem 1.1rem 1rem; }
.lesson-row { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr) 2rem; align-items: center; gap: 0.9rem; min-height: 5.1rem; padding: 0.72rem 0.7rem; color: var(--ink); border-bottom: 1px solid #e8edf3; text-decoration: none; }
.lesson-row:last-child { border-bottom: 0; }
.lesson-row:hover { margin-inline: -0.2rem; padding-inline: 0.9rem; border-radius: 0.75rem; background: #f0f6fd; }
.lesson-row__number { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; color: var(--blue-700); border: 1px solid #b9d2ec; border-radius: 50%; background: #fff; font-size: 0.82rem; font-weight: 850; }
.lesson-row--primary .lesson-row__number { color: #342000; border-color: var(--orange-500); background: var(--orange-500); }
.lesson-row__copy { display: grid; gap: 0.15rem; min-width: 0; }
.lesson-row__copy small { color: var(--blue-700); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.lesson-row__copy strong { color: var(--navy-900); line-height: 1.35; }
.lesson-row__copy em { color: var(--green-700); font-size: 0.76rem; font-style: normal; font-weight: 700; }
.lesson-row__arrow { color: #8aa2ba; font-size: 1.15rem; text-align: center; }
.subject-module__lessons--compact .lesson-row { min-height: 4.25rem; }

.terminale-evidence-lab__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; padding: 0; list-style: none; }
.terminale-evidence-lab__steps li { display: grid; gap: 0.35rem; align-content: start; min-height: 7rem; padding: 0.9rem; border: 1px solid #d8e2ec; border-radius: 0.85rem; background: #fff; }
.terminale-evidence-lab__steps strong { color: var(--navy-900); }
.terminale-evidence-lab__steps span { color: var(--muted); font-size: 0.9rem; line-height: 1.55; }
.terminale-evidence-lab details { margin-top: 0.8rem; padding: 0.75rem 0.9rem; border-radius: 0.75rem; background: #f5f8fb; }
.terminale-evidence-lab summary { cursor: pointer; color: var(--blue-700); font-weight: 800; }
.terminale-evidence-lab details p { margin: 0.65rem 0 0; }
.math-method-lab { display: grid; gap: 0.9rem; }
.math-method-lab h3, .math-method-lab p { margin: 0; }
.math-method-lab__problem { color: var(--navy-900); font-weight: 700; line-height: 1.65; }
.math-method-lab__formula { width: fit-content; max-width: 100%; padding: 0.75rem 1rem; overflow-x: auto; border: 1px solid #cbd9e7; border-radius: 0.8rem; background: #fff; color: var(--navy-900); font-size: 1.08rem; }
.math-method-lab ol { display: grid; gap: 0.65rem; margin: 0; padding-left: 1.5rem; }
.math-method-lab li { padding: 0.65rem 0.75rem; border-left: 3px solid var(--blue-500); border-radius: 0 0.65rem 0.65rem 0; background: #fff; line-height: 1.55; }
.math-method-lab details { padding: 0.75rem 0.9rem; border-radius: 0.75rem; background: #f5f8fb; }
.math-method-lab summary { cursor: pointer; color: var(--blue-700); font-weight: 800; }
.math-method-lab details p { margin-top: 0.65rem; }
.math-method-lab details.math-method-lab__solution { counter-reset: correction-step; border: 1px solid #b8dcc8; background: #f1faf5; }
.math-method-lab details.math-method-lab__solution summary { color: var(--green-700); }
.math-method-lab__solution p { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: 0.65rem; align-items: start; line-height: 1.65; }
.math-method-lab__solution p + p { padding-top: 0.65rem; border-top: 1px solid #d8eadf; }
.math-method-lab__solution p::before { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; counter-increment: correction-step; content: counter(correction-step); color: #fff; border-radius: 50%; background: var(--green-700); font-size: 0.74rem; font-weight: 850; }

@media (max-width: 700px) {
  .terminale-evidence-lab__steps { grid-template-columns: 1fr; }
  .terminale-evidence-lab__steps li { min-height: 0; }
}

.learner-layout--lesson .site-header { display: none; }
.learner-layout--lesson .page-shell { width: min(calc(100% - 3rem), var(--content)); }
.learner-layout--lesson .hero { margin-top: 0; }
.learner-layout--lesson .site-footer { padding-left: 1.5rem; padding-right: 1.5rem; }

@media (max-width: 70rem) {
  .subject-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 56rem) {
  .learner-layout { padding-left: 0; }
  .learner-sidebar { position: sticky; inset: 0; width: 100%; height: auto; min-height: 4.2rem; flex-direction: row; align-items: center; gap: 0.5rem; padding: 0.55rem 0.7rem; overflow: hidden; }
  .learner-sidebar__brand { padding: 0; }
  .learner-sidebar__brand img { width: 2.55rem; height: 2.55rem; }
  .learner-sidebar__brand span, .learner-sidebar__profile, .learner-sidebar__label, .learner-sidebar__link--anchor, .learner-sidebar__link--tool { display: none; }
  .learner-sidebar__nav { min-width: 0; flex: 1; flex-direction: row; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .learner-sidebar__nav::-webkit-scrollbar { display: none; }
  .learner-sidebar__nav > .learner-sidebar__link:first-of-type { display: none; }
  .learner-sidebar__link--subject { display: none; }
  .learner-sidebar__link { min-height: 2.4rem; flex: 0 0 auto; padding: 0.45rem 0.55rem; font-size: 0.76rem; }
  .learner-sidebar__link > span { display: none; }
  .learner-sidebar__logout { margin: 0; padding: 0.5rem; border: 0; font-size: 0.72rem; }
  .learner-main { padding: 1rem 1rem 2.5rem; }
  .learner-layout--lesson .page-shell { width: min(calc(100% - 1rem), var(--content)); }
}

.site-footer { padding: 3rem 1rem 1.25rem; background: #09172a; color: #d9e2ee; }
.site-footer__inner { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr); gap: 2.5rem 4rem; }
.site-footer__brand p { max-width: 24rem; color: #9fb0c4; }
.footer-brand { display: inline-flex; align-items: center; gap: 0.65rem; color: var(--orange-500); font-size: 1.35rem; font-weight: 800; letter-spacing: -0.035em; text-decoration: none; }
.footer-brand img { width: 2.75rem; height: 2.75rem; object-fit: contain; }
.footer-brand > span > span { color: #fff; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.footer-links div { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; }
.footer-links strong { margin-bottom: 0.2rem; color: #fff; }
.footer-links a { color: #b8c6d7; text-decoration: none; }
.footer-links a:hover { color: #fff; text-decoration: underline; }
.site-footer__bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; padding-top: 1.2rem; color: #8496aa; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.82rem; }

@media (max-width: 54rem) {
  .hero__layout { grid-template-columns: 1fr; }
  .content-grid { grid-template-columns: 1fr; }
  .toc { position: static; order: -1; }
  .content-grid--toc-collapsed { grid-template-columns: 1fr; gap: 1rem; }
  .toc--enhanced.is-collapsed .toc__toggle { justify-content: space-between; }
  .toc--enhanced.is-collapsed .toc__completion { display: none; }
  .toc--enhanced.is-collapsed .toc__content { max-height: 16rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
  .toc--enhanced.is-collapsed ol { grid-template-columns: 1fr; }
  .course-start { grid-template-columns: 1fr; }
  .course-start__after { grid-column: 1; }
  .card-deck { grid-template-columns: 1fr; }
  .conversion-cta { grid-template-columns: 1fr; }
  .site-footer__inner { grid-template-columns: 1fr; }
  .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-hub__gate { grid-template-columns: 1fr; }
  .course-hub__gate .course-list--locked { grid-column: auto; grid-row: auto; }
  .course-hub__level-access { grid-template-columns: 1fr; }
  .course-document--portrait { grid-template-columns: 1fr; }
  .course-document--portrait .course-document__visual { min-height: 0; aspect-ratio: auto; }
  .hggsp-document-study__passport { grid-template-columns: 1fr; }
}

@media (min-width: 54.01rem) {
  .content-grid:has(.lesson--guided-reading),
  .content-grid:has(.lesson--mathematics) {
    grid-template-columns: minmax(0, 45rem) 17rem;
    justify-content: space-between;
  }
  .content-grid.content-grid--toc-collapsed,
  .content-grid.content-grid--toc-collapsed:has(.lesson--guided-reading),
  .content-grid.content-grid--toc-collapsed:has(.lesson--mathematics) {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }
}

@media (max-width: 36rem) {
  .active-learning-gate { grid-template-columns: 1fr; }
  .active-learning-gate__icon { width: 2.35rem; height: 2.35rem; }
  .active-learning-gate__actions { align-items: stretch; flex-direction: column; }
  .active-learning-gate__actions .button { width: 100%; }
  .growth-controls, .impact-grid { grid-template-columns: 1fr; }
  .value-chain { grid-template-columns: 1fr 1fr; }
  .crisis-timeline { grid-template-columns: 1fr; }
  .crisis-timeline > i { justify-self: center; transform: rotate(90deg); }
  .bank-run-balance { grid-template-columns: 1fr; }
  .finance-network { grid-template: repeat(3, 4.8rem) / repeat(3, minmax(4.5rem, 1fr)); }
  .competence-map { grid-template-columns: 1fr; }
  .competence-map > i { justify-self: center; transform: rotate(90deg); }
  .coordination-board { grid-template-columns: 1fr; }
  .coordination-board__countries { grid-template-columns: 1fr; }
  .profile-factors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-factors button:last-child { grid-column: 1 / -1; }
  .structure-shift { grid-template-columns: 1fr; }
  .trajectory-constellation { grid-template-columns: 1fr 1fr; }
  .trajectory-constellation button:last-child { grid-column: 1 / -1; }
  .quality-profile { grid-template-columns: 1fr; }
  .growth-equation { grid-template-columns: 1fr; text-align: left; }
  .growth-equation > span:nth-of-type(2), .growth-equation > span:nth-of-type(4) { display: none; }
  .transition-balance { grid-template-columns: 1fr; }
  .transition-balance__arrow { justify-self: center; transform: rotate(90deg); }
  .decoupling-verdict { align-items: flex-start; flex-direction: column; }
  .scale-panels { grid-template-columns: 1fr; }
  .stacked-chart { min-height: 9rem; }
  .site-header__inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 0.75rem 0; gap: 0.55rem; }
  .brand img { width: 2.2rem; height: 2.2rem; }
  .brand { font-size: 1.2rem; }
  .header-nav { width: 100%; justify-content: flex-start; gap: 0.15rem; overflow-x: auto; padding-bottom: 0.15rem; }
  .header-nav a { flex: 0 0 auto; padding: 0.42rem 0.55rem; font-size: 0.78rem; }
  .header-nav__user { display: none; }
  .hero { border-radius: var(--radius-md); }
  .hero--learning-path { padding: 1.25rem; }
  .hero--learning-path h1 { max-width: 19ch; font-size: 2.1rem; line-height: 1.03; }
  .learning-method { gap: 0.2rem 0.4rem; font-size: 0.72rem; }
  .learning-method li { gap: 0.4rem; }
  .learning-method li:not(:last-child)::after { display: inline; content: "→"; }
  .hero-proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-actions .button { min-width: 0; padding-inline: 0.65rem; font-size: 0.76rem; }
  .page-shell { width: min(calc(100% - 1rem), var(--content)); }
  .section-card { border-radius: var(--radius-md); }
  .lesson--guided-reading .section-card,
  .lesson--mathematics .section-card { padding: 1.35rem 1.2rem 1.55rem; }
  .lesson--guided-reading .section-card > h2,
  .lesson--mathematics .section-card > h2 {
    margin-bottom: 1.15rem;
    padding-bottom: 0.75rem;
    font-size: 1.42rem;
    line-height: 1.22;
  }
  .lesson-prose--guided,
  .lesson-prose--mathematics { gap: 1.3rem; }
  .lesson-prose--guided > p,
  .lesson-prose--mathematics > p { font-size: 1.045rem; line-height: 1.72; }
  .math-derivation { padding: 0.95rem 0.75rem 1rem; }
  .math-derivation__equation td { padding-inline: 0.16rem; }
  .lesson-prose--guided .math-derivation .math-expression,
  .lesson-prose--mathematics .math-derivation .math-expression { font-size: 1.08rem; }
  .math-derivation__annotation td { padding-inline: 0.15rem; text-align: left; }
  .math-derivation__conclusion { font-size: 0.93rem; }
  .result-diagnostic__header { grid-template-columns: 1fr; }
  .result-score { width: 5.7rem; height: 5.7rem; }
  .skill-breakdown { grid-template-columns: 1fr; }
  .learning-journey ol { grid-template-columns: 1fr; }
  .learning-journey__step { min-height: 0; }
  .course-sequence { grid-template-columns: 1fr; }
  .course-sequence__empty { display: none; }
  .course-sequence__link, .course-sequence__terminal { min-height: 0; }
  .next-course-dialog__actions { align-items: stretch; flex-direction: column; }
  .next-course-dialog__actions > a { width: 100%; text-align: center; }
  .card-ratings { grid-template-columns: repeat(2, 1fr); }
  .button { width: 100%; }
  .concept-map__track { grid-template-columns: 1fr; }
  .concept-map__arrow { transform: rotate(90deg); justify-self: center; }
  .economy-lab__heading { flex-direction: column; }
  .segmented-control { width: 100%; }
  .segmented-control button { flex: 1; }
  .segmented-control button { min-width: 0; overflow-wrap: anywhere; }
  .relative-lab .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relative-lab .segmented-control button { min-width: 0; padding-inline: 0.45rem; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .relative-lab .segmented-control button:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .economy-lab__metrics, .strategy-lab__choices, .policy-challenge__answers { grid-template-columns: 1fr; }
  .goods-lab__answers, .seller-pool, .intervention-map > div { grid-template-columns: 1fr; }
  .finance-flow > div, .finance-choice > div { grid-template-columns: 1fr; }
  .finance-flow > div > span { justify-self: center; transform: rotate(90deg); }
  .goods-lab > .button { width: 100%; }
  .money-challenge__answers, .balance-pair, .money-ledger, .transmission-chain { grid-template-columns: 1fr; }
  .money-challenge > .button { width: 100%; }
  .lifecycle-lab__controls { display: grid; grid-template-columns: 1fr; width: 100%; }
  .transmission-chain { gap: 1.2rem; }
  .transmission-chain li:not(:last-child)::after { right: 50%; top: auto; bottom: -1.2rem; transform: translateX(50%) rotate(90deg); }
  .social-lab__answers, .life-course-track, .life-course-result, .constellation-lab__choices, .trajectory-clues { grid-template-columns: 1fr; }
  .social-lab > .button { width: 100%; }
  .trajectory-clues { gap: 1.2rem; }
  .trajectory-clues li { min-height: 0; }
  .trajectory-clues li:not(:last-child)::after { right: 50%; top: auto; bottom: -1.2rem; transform: translateX(50%) rotate(90deg); }
  .links-lab__choices, .links-lab__result, .fragility-lab__choices, .solidarity-grid { grid-template-columns: 1fr; }
  .deviance-process .segmented-control, .career-track, .measurement-lab__lenses { grid-template-columns: 1fr; }
  .career-track article { min-height: 0; }
  .career-track article:not(:last-child)::after { right: 50%; top: auto; bottom: -1rem; transform: translateX(50%) rotate(90deg); }
  .checklist-grid { grid-template-columns: 1fr 1fr; }
  .feedback-loop > div { grid-template-columns: 1fr; }
  .feedback-loop > div > span { transform: rotate(90deg); text-align: center; }
  .risk-lab .social-lab__answers, .risk-choice__options, .risk-institutions .links-lab__choices { grid-template-columns: 1fr; }
  .enterprise-lab .social-lab__answers, .enterprise-lab .links-lab__result { grid-template-columns: 1fr; }
  .quant-lab .social-lab__answers, .quant-lab .measurement-lab__lenses, .quant-lab .causal-chain { grid-template-columns: 1fr; }
  .quant-inputs { grid-template-columns: 1fr; }
  .dual-ranges { grid-template-columns: 1fr; }
  .quant-inputs > span { padding: 0; text-align: center; transform: rotate(90deg); }
  .pcs-lab__path { grid-template-columns: 1fr; }
  .pcs-lab__path i { transform: rotate(90deg); }
  .pcs-lab > .button { width: 100%; }
  .causal-chain { grid-template-columns: 1fr; gap: 1.2rem; }
  .causal-chain li:not(:last-child)::after { right: 50%; top: auto; bottom: -1.2rem; transform: translateX(50%) rotate(90deg); }
  .payoff-matrix > div { grid-template-columns: 5.4rem repeat(2, 1fr); }
  .payoff-matrix span, .payoff-matrix strong { padding: 0.4rem; font-size: 0.7rem; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .footer-links div:last-child { grid-column: 1 / -1; }
  .course-grid { grid-template-columns: 1fr; }
  .course-hub { width: min(calc(100% - 1rem), var(--content)); }
  .course-list__locked { align-items: flex-start; flex-direction: column; }
  .course-list__status { white-space: normal; }
  .course-hub__gate-actions { display: grid; grid-template-columns: 1fr; }
  .course-hub__login { min-height: 2.75rem; align-content: center; text-align: center; }
}

.news-anatomy {
  display: grid;
  grid-template-columns: minmax(13rem, 0.72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 1.25rem;
}

.news-anatomy__visual {
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.news-anatomy__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.five-w-orbit {
  display: grid;
  grid-template-areas:
    ". who ."
    "where scene when"
    ". what ."
    ". why .";
  grid-template-columns: repeat(3, minmax(5.4rem, 1fr));
  gap: 0.55rem;
  align-items: center;
  max-width: 39rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid #cbdce7;
  border-radius: 1.2rem;
  background: radial-gradient(circle at center, #fff 0 21%, #eef6f4 22% 42%, #f7fafc 43% 100%);
}

.five-w-orbit button {
  min-height: 3.2rem;
  padding: 0.55rem;
  color: var(--navy-950);
  border: 1px solid #b9d0dc;
  border-radius: 999px;
  background: #fff;
  font: inherit;
  font-weight: 850;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.five-w-orbit button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.five-w-orbit__who { grid-area: who; }
.five-w-orbit__where { grid-area: where; }
.five-w-orbit__when { grid-area: when; }
.five-w-orbit__what { grid-area: what; }
.five-w-orbit__why { grid-area: why; }
.five-w-orbit__scene { grid-area: scene; display: grid; place-items: center; min-height: 5.4rem; color: #fff; border-radius: 50%; background: var(--blue-700); box-shadow: 0 0.7rem 1.5rem rgba(25, 76, 112, 0.2); }
.five-w-orbit__scene span { font-size: 0.62rem; font-weight: 800; letter-spacing: 0.14em; }
.five-w-orbit__scene strong { font-size: 1.35rem; }

.event-chain {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
}

.event-chain button {
  position: relative;
  display: grid;
  gap: 0.35rem;
  min-height: 5.2rem;
  place-content: center;
  padding: 0.7rem;
  color: var(--navy-950);
  border: 1px solid #c8d8e5;
  border-radius: 0.85rem;
  background: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
}

.event-chain button span { color: var(--orange-600); font-size: 1.15rem; }
.event-chain button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.event-chain button.is-active span { color: #ffd194; }
.event-chain button:not(:last-child)::after { position: absolute; top: 50%; right: -1rem; color: var(--orange-600); font-size: 1.1rem; content: "→"; transform: translateY(-50%); }

.register-scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; padding: 0.45rem; border-radius: 999px; background: linear-gradient(90deg, #e9f6f1, #eef3f7 50%, #f7eee4); }
.register-scale button { min-height: 3.4rem; padding: 0.55rem; color: var(--navy-950); border: 1px solid transparent; border-radius: 999px; background: transparent; font: inherit; font-size: 0.72rem; font-weight: 800; cursor: pointer; }
.register-scale button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.35rem 0.8rem rgba(25, 76, 112, 0.18); }

.argument-chain { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; }
.argument-chain button { display: grid; gap: 0.25rem; min-height: 4.8rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #c8d8e5; background: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.argument-chain button:first-child { border-radius: 1rem 0.35rem 0.35rem 1rem; }
.argument-chain button:last-child { border-radius: 0.35rem 1rem 1rem 0.35rem; }
.argument-chain button span { color: var(--orange-600); font-size: 1.05rem; }
.argument-chain button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.argument-chain button.is-active span { color: #ffe0aa; }

.dialogue-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; padding: 1rem; border-radius: 1rem; background: linear-gradient(180deg, #edf5fa, #fff); }
.dialogue-stage article { position: relative; padding: 1rem; border-radius: 1rem 1rem 1rem 0.2rem; background: #fff; box-shadow: 0 0.45rem 1rem rgba(25, 76, 112, 0.12); }
.dialogue-stage article:last-child { margin-top: 2rem; border-radius: 1rem 1rem 0.2rem; background: #e8f5f0; }
.dialogue-stage span { display: block; margin-bottom: 0.4rem; color: var(--muted); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; }
.dialogue-stage p { margin: 0; color: var(--navy-950); font-weight: 750; line-height: 1.5; }

.message-frame { display: grid; grid-template-columns: 5rem minmax(0, 1fr); overflow: hidden; border: 1px solid #c9d8e5; border-radius: 0.9rem; background: #fff; }
.message-frame > * { padding: 0.7rem 0.8rem; border-bottom: 1px solid #dce6ed; }
.message-frame > *:nth-last-child(-n + 2) { border-bottom: 0; }
.message-frame span { color: var(--muted); font-size: 0.66rem; font-weight: 850; letter-spacing: 0.08em; }
.message-frame strong { color: var(--navy-950); font-size: 0.82rem; overflow-wrap: anywhere; }

.revision-stack { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.35rem; align-items: end; }
.revision-stack button { display: grid; gap: 0.25rem; min-height: calc(3.4rem + var(--lift, 0rem)); place-content: center; padding: 0.5rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.7rem; background: #fff; font: inherit; font-size: 0.68rem; font-weight: 800; cursor: pointer; }
.revision-stack button:nth-child(2) { --lift: 0.25rem; }
.revision-stack button:nth-child(3) { --lift: 0.5rem; }
.revision-stack button:nth-child(4) { --lift: 0.75rem; }
.revision-stack button:nth-child(5) { --lift: 1rem; }
.revision-stack button:nth-child(6) { --lift: 1.25rem; }
.revision-stack button span { color: var(--orange-600); font-size: 0.9rem; }
.revision-stack button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.revision-stack button.is-active span { color: #ffd194; }

.uk-nations-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; padding: 0.8rem; border-radius: 1rem; background: linear-gradient(135deg, #e9f2f8, #f8f2e9); }
.uk-nations-grid button { min-height: 4rem; padding: 0.6rem; color: var(--navy-950); border: 1px solid #bdd0dd; border-radius: 0.8rem; background: rgba(255, 255, 255, 0.88); font: inherit; font-size: 0.76rem; font-weight: 850; cursor: pointer; }
.uk-nations-grid button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }

.landmark-atlas figure { margin: 0; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 1rem; background: #fff; }
.landmark-atlas figure img { display: block; width: 100%; height: auto; }
.landmark-atlas figcaption { padding: 0.65rem 0.8rem; color: var(--muted); border-top: 1px solid #dce6ed; font-size: 0.68rem; line-height: 1.45; }

.portrait-investigation__layout { display: grid; grid-template-columns: minmax(12rem, 0.72fr) minmax(0, 1.28fr); gap: 1rem; align-items: start; }
.portrait-investigation figure { margin: 0; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 1rem; background: #fff; }
.portrait-investigation figure img { display: block; width: 100%; height: auto; aspect-ratio: 960 / 1199; object-fit: cover; }
.portrait-investigation figcaption { padding: 0.7rem 0.8rem; color: var(--muted); border-top: 1px solid #dce6ed; font-size: 0.68rem; line-height: 1.45; }
.portrait-investigation__layout > div { min-width: 0; }
.image-reading-lab__layout, .image-composition-lab__layout { display: grid; grid-template-columns: minmax(13rem, 0.72fr) minmax(0, 1.28fr); gap: 1rem; align-items: start; }
.image-reading-lab figure, .image-composition-lab figure, .image-version-pair figure { margin: 0; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 1rem; background: #fff; box-shadow: 0 0.6rem 1.5rem rgba(25, 64, 102, 0.1); }
.image-reading-lab figure img, .image-composition-lab figure img, .image-version-pair figure img { display: block; width: 100%; height: auto; aspect-ratio: 821 / 1024; object-fit: cover; }
.image-reading-lab figcaption, .image-composition-lab figcaption, .image-version-pair figcaption { padding: 0.7rem 0.8rem; color: var(--muted); border-top: 1px solid #dce6ed; font-size: 0.68rem; line-height: 1.45; }
.image-reading-lab__layout > div, .image-composition-lab__layout > div { min-width: 0; }
.image-composition-frame { position: relative; }
.image-composition-frame svg { position: absolute; inset: 0 0 auto; width: 100%; height: auto; aspect-ratio: 821 / 1024; pointer-events: none; }
.image-composition-frame svg g { opacity: 0; fill: none; stroke: #ffae2b; stroke-linecap: round; stroke-linejoin: round; stroke-width: 8; filter: drop-shadow(0 1px 2px rgba(10, 32, 52, 0.8)); transition: opacity 180ms ease; vector-effect: non-scaling-stroke; }
.image-composition-frame[data-active-lens="frame"] [data-photo-overlay="frame"], .image-composition-frame[data-active-lens="triangle"] [data-photo-overlay="triangle"], .image-composition-frame[data-active-lens="gaze"] [data-photo-overlay="gaze"], .image-composition-frame[data-active-lens="hands"] [data-photo-overlay="hands"], .image-composition-frame[data-active-lens="faces"] [data-photo-overlay="faces"], .image-composition-frame[data-active-lens="depth"] [data-photo-overlay="depth"] { opacity: 1; }
.image-composition-frame [data-photo-overlay="depth"] { fill: rgba(38, 127, 177, 0.12); stroke: #61c5ef; }
.image-composition-lab .segmented-control { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
.image-composition-lab .segmented-control button { min-width: 0; padding-inline: 0.55rem; overflow-wrap: anywhere; }
.image-version-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
.oral-exam-flow { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 0.8fr)) 1.35fr; gap: 0.45rem; align-items: stretch; }
.oral-exam-flow button, .oral-score-strip button, .oral-rehearsal-loop button { min-width: 0; padding: 0.75rem 0.55rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.8rem; background: #fff; font: inherit; cursor: pointer; }
.oral-exam-flow button { display: grid; gap: 0.28rem; place-content: center; text-align: center; }
.oral-exam-flow button span { color: var(--orange-600); font-size: 0.72rem; font-weight: 900; }
.oral-exam-flow button strong { font-size: 0.75rem; overflow-wrap: anywhere; }
.oral-exam-flow button.is-active, .oral-score-strip button.is-active, .oral-rehearsal-loop button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.5rem 1.1rem rgba(25, 76, 112, 0.16); }
.oral-exam-flow button.is-active span { color: #ffd194; }
.oral-revision-stack button { overflow-wrap: anywhere; }
.oral-prep-sheet { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; padding: 1.1rem; border: 1px solid #c8d8e5; border-radius: 0.25rem 1rem 1rem 0.25rem; background: repeating-linear-gradient(#fff, #fff 1.85rem, #dfe9f1 1.9rem); box-shadow: -0.35rem 0 #e5a449, 0 0.55rem 1.3rem rgba(25, 64, 102, 0.1); }
.oral-prep-sheet span { min-height: 2.7rem; padding: 0.7rem; color: var(--navy-950); border: 1px dashed #9db6c8; border-radius: 0.55rem; background: rgba(255, 255, 255, 0.9); font-size: 0.72rem; font-weight: 800; }
.oral-prep-sheet__title, .oral-prep-sheet__wide { grid-column: 1 / -1; }
.oral-prep-sheet__title { min-height: 0 !important; color: var(--orange-700) !important; border: 0 !important; background: transparent !important; font-size: 0.68rem !important; letter-spacing: 0.08em; text-transform: uppercase; }
.oral-score-strip { display: grid; grid-template-columns: 1fr 4fr 1fr; gap: 0.45rem; }
.oral-score-strip button { display: grid; gap: 0.25rem; min-height: 5rem; place-content: center; font-size: 0.72rem; font-weight: 850; text-align: center; }
.oral-score-strip button span { color: var(--orange-600); font-size: 1.35rem; font-weight: 950; }
.oral-score-strip button.is-active span, .oral-rehearsal-loop button.is-active span { color: #ffd194; }
.oral-dialogue { margin-bottom: 0.85rem; }
.oral-rehearsal-loop { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.oral-rehearsal-loop button { display: grid; gap: 0.25rem; min-height: 4.2rem; place-content: center; font-size: 0.7rem; font-weight: 850; text-align: center; overflow-wrap: anywhere; }
.oral-rehearsal-loop button span { color: var(--orange-600); font-size: 0.9rem; font-weight: 950; }
.word-dissection { display: grid; grid-template-columns: minmax(4.5rem, 0.75fr) minmax(8rem, 1.5fr) minmax(4.5rem, 0.75fr); gap: 0.35rem; margin-bottom: 0.8rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff8ec); }
.word-dissection > * { display: grid; min-height: 4.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bdd0dd; border-radius: 0.75rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.word-dissection span { color: var(--orange-700); font-weight: 900; }
.word-dissection strong { color: var(--navy-950); font-size: 1.15rem; }
.word-family-tree { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding: 0.8rem 0; }
.word-family-tree::before { position: absolute; top: 50%; right: 6%; left: 6%; height: 0.18rem; background: #bdcedb; content: ""; transform: translateY(-50%); }
.word-family-tree button, .lexical-network-map button { position: relative; display: grid; gap: 0.3rem; min-width: 0; min-height: 4.6rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.8rem; background: #fff; font: inherit; font-size: 0.74rem; font-weight: 850; text-align: center; cursor: pointer; overflow-wrap: anywhere; }
.word-family-tree button span, .lexical-network-map button span { color: var(--orange-700); font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; }
.word-family-tree button.is-active, .lexical-network-map button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.45rem 1.1rem rgba(25, 76, 112, 0.16); }
.word-family-tree button.is-active span, .lexical-network-map button.is-active span { color: #ffd194; }
.context-sentence { margin: 0 0 0.8rem; padding: 1rem 1.1rem; color: var(--navy-950); border-left: 0.28rem solid var(--orange-600); border-radius: 0 0.9rem 0.9rem 0; background: #fffaf2; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; line-height: 1.6; }
.lexical-network-map { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.word-value-scale { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.agreement-feature-board { display: grid; grid-template-columns: 0.8fr 1fr 1.2fr 1fr; gap: 0.35rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff7e8); }
.agreement-feature-board > * { position: relative; display: grid; min-height: 4.5rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #bdd0dd; border-radius: 0.75rem; background: #fff; font-size: 0.95rem; font-weight: 850; text-align: center; overflow-wrap: anywhere; }
.agreement-feature-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.37rem; z-index: 1; color: var(--orange-700); content: "→"; font-weight: 950; transform: translate(50%, -50%); }
.agreement-feature-board strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.agreement-chain-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.35rem; margin: -0.2rem 0 0.85rem; }
.agreement-chain-track span { padding: 0.45rem; color: var(--muted); border-bottom: 0.18rem solid #d9a04e; font-size: 0.62rem; font-weight: 850; letter-spacing: 0.05em; text-align: center; text-transform: uppercase; }
.subject-wire { display: grid; grid-template-columns: minmax(0, 1.5fr) 4.2rem minmax(0, 0.85fr); gap: 0.45rem; align-items: stretch; margin-bottom: 0.85rem; }
.subject-wire > * { display: grid; min-height: 4.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2df; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.subject-wire span { position: relative; color: var(--orange-700); border-style: dashed; font-size: 0.72rem; font-weight: 950; text-transform: uppercase; }
.subject-wire span::before, .subject-wire span::after { position: absolute; top: 50%; color: var(--orange-700); content: "→"; font-size: 1.1rem; transform: translateY(-50%); }
.subject-wire span::before { left: -0.55rem; }
.subject-wire span::after { right: -0.55rem; }
.subject-wire strong:last-child { color: #fff; border-color: #287d63; background: #287d63; }
.agreement-before-after { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-bottom: 0.85rem; }
.agreement-before-after article { position: relative; display: grid; gap: 0.45rem; min-height: 7rem; align-content: center; padding: 1rem; border: 1px solid #c6d7e3; border-radius: 0.9rem; background: #fff; }
.agreement-before-after article:first-child::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; display: grid; width: 1.7rem; height: 1.7rem; place-content: center; color: #fff; border-radius: 50%; background: var(--orange-600); content: "→"; transform: translate(50%, -50%); }
.agreement-before-after span { color: var(--orange-700); font-size: 0.66rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.agreement-before-after strong { color: var(--navy-950); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.45; }
.collective-balance { display: grid; grid-template-columns: 5rem minmax(0, 1fr) 5rem; gap: 0.45rem; align-items: center; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(90deg, #e7f2f8, #fff, #fff2df); }
.collective-balance span { color: var(--muted); font-size: 0.64rem; font-weight: 900; letter-spacing: 0.06em; text-align: center; text-transform: uppercase; }
.collective-balance strong { min-height: 4.4rem; display: grid; place-content: center; padding: 0.75rem; color: var(--navy-950); border: 1px solid #c3d5e1; border-radius: 0.8rem; background: #fff; font-family: Georgia, "Times New Roman", serif; text-align: center; }
.agreement-radar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.85rem; }
.agreement-radar button { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); gap: 0.4rem; min-height: 3.7rem; align-items: center; padding: 0.55rem; color: var(--navy-950); border: 1px solid #c7d7e3; border-radius: 2rem 0.8rem 0.8rem 2rem; background: #fff; font: inherit; font-size: 0.72rem; font-weight: 850; text-align: left; cursor: pointer; }
.agreement-radar button span { display: grid; width: 1.8rem; height: 1.8rem; place-content: center; color: #fff; border-radius: 50%; background: var(--orange-600); }
.agreement-radar button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.45rem 1.1rem rgba(25, 76, 112, 0.16); }
.verb-coordinate-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; margin-bottom: 0.85rem; }
.verb-coordinate-board span { display: grid; gap: 0.35rem; min-height: 5.2rem; place-content: center; padding: 0.65rem; border: 1px solid #c5d7e2; border-radius: 0.85rem; background: linear-gradient(145deg, #fff, #eef6fa); text-align: center; }
.verb-coordinate-board small { color: var(--orange-700); font-size: 0.62rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.verb-coordinate-board strong { color: var(--navy-950); font-size: 0.8rem; overflow-wrap: anywhere; }
.temporal-axis, .collective-balance { position: relative; }
.temporal-axis { display: grid; grid-template-columns: 4rem minmax(0, 1fr) 4rem; gap: 0.45rem; align-items: center; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(90deg, #e7f2f8, #fff, #fff1dd); }
.temporal-axis span { color: var(--muted); font-size: 0.65rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.temporal-axis strong { display: grid; min-height: 4.3rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d6e1; border-radius: 0.8rem; background: #fff; text-align: center; }
.aspect-camera { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 0.35rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: #eaf3f9; }
.aspect-camera > * { display: grid; min-height: 4.3rem; place-content: center; padding: 0.6rem; border: 1px dashed #aebfca; border-radius: 0.75rem; background: #fff; text-align: center; }
.aspect-camera strong { color: #fff; border-style: solid; border-color: var(--blue-700); background: var(--blue-700); }
.modal-compass { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; }
.modal-compass button { min-height: 4.5rem; padding: 0.55rem; color: var(--navy-950); border: 1px solid #c6d7e2; border-radius: 50%; background: #fff; font: inherit; font-size: 0.68rem; font-weight: 850; cursor: pointer; }
.modal-compass button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.narrative-layers, .concordance-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-bottom: 0.85rem; }
.narrative-layers > *, .concordance-pair > * { display: grid; min-height: 6rem; place-content: center; padding: 0.85rem; border: 1px solid #c5d6e2; border-radius: 0.9rem; background: #fff; font-family: Georgia, "Times New Roman", serif; text-align: center; }
.narrative-layers strong, .concordance-pair strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.proposition-scan, .articulation-rail { display: grid; grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr); gap: 0.4rem; align-items: stretch; margin-bottom: 0.85rem; }
.proposition-scan > *, .articulation-rail > * { display: grid; min-height: 4.4rem; place-content: center; padding: 0.65rem; border: 1px solid #c3d5e1; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.proposition-scan span:nth-child(2), .articulation-rail strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); font-weight: 950; }
.connector-prism { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff4e4); }
.connector-prism > * { display: grid; min-height: 4.6rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d6e2; border-radius: 0.8rem; background: #fff; text-align: center; }
.connector-prism strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.subordinate-slot { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 0.4rem; margin-bottom: 0.85rem; padding: 1rem; border: 1px solid #c7d8e3; border-radius: 1rem; background: #eef6fa; }
.subordinate-slot > * { display: grid; min-height: 4.5rem; place-content: center; padding: 0.65rem; border-radius: 0.75rem; background: #fff; text-align: center; }
.subordinate-slot strong { color: #fff; background: #287d63; }
.subordinate-slot span:last-child { color: var(--orange-700); border: 1px dashed #d79a45; font-size: 0.7rem; font-weight: 900; text-transform: uppercase; }
.introducer-compare, .rewrite-pair { display: grid; grid-template-columns: 1.5fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; }
.introducer-compare > *, .rewrite-pair > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.8rem; border: 1px solid #c5d7e2; border-radius: 0.9rem; background: #fff; text-align: center; }
.introducer-compare strong, .rewrite-pair strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.relative-fusion-chain { display: grid; grid-template-columns: 1fr 1fr 1.25fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.relative-fusion-chain > * { display: grid; min-height: 6rem; place-content: center; padding: 0.75rem; border: 1px solid #c4d6e2; border-radius: 0.85rem; background: #fff; text-align: center; }
.relative-fusion-chain strong { color: #fff; border-color: #287d63; background: #287d63; }
.relative-function-bridge { display: grid; grid-template-columns: 1fr 5rem 1.35fr; gap: 0.45rem; align-items: stretch; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff4e4); }
.relative-function-bridge > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.7rem; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.relative-function-bridge strong { color: #fff; background: var(--orange-700); font-size: 1.15rem; }
.relative-preposition-path { display: grid; grid-template-columns: 1fr 4rem 1fr 1.7fr; gap: 0.4rem; margin-bottom: 0.85rem; }
.relative-preposition-path > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.65rem; border: 1px solid #c4d6e2; border-radius: 0.75rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.relative-preposition-path strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-size: 1.1rem; }
.relative-preposition-path span:nth-child(3) { color: #fff; border-color: #287d63; background: #287d63; font-weight: 900; }
.relative-nature-gate { display: grid; grid-template-columns: 1.6fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; }
.relative-nature-gate > * { display: grid; min-height: 5.4rem; place-content: center; padding: 0.8rem; border: 1px solid #c5d7e2; border-radius: 0.9rem; background: #fff; text-align: center; }
.relative-nature-gate strong { color: #fff; background: var(--blue-700); }
.relative-scope-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: #eef6fa; }
.relative-scope-pair > * { display: grid; min-height: 6rem; place-content: center; padding: 0.75rem; border-radius: 0.85rem; background: #fff; text-align: center; }
.relative-scope-pair strong { border: 2px dashed var(--orange-700); color: var(--orange-700); }
.relative-agreement-track { display: grid; grid-template-columns: 1fr 4rem 1fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.relative-agreement-track > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d6e2; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.relative-agreement-track strong { color: #fff; background: #287d63; }
.geography-lab { background: linear-gradient(145deg, #f6fbf8, #f2f7fb 62%, #fff8ec); }
.environment-layer-stack { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.8rem; border-radius: 1rem; background: linear-gradient(135deg, #dfeee7, #e8f1f7); }
.environment-layer-stack > * { display: grid; min-height: 6.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2cb; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.77rem; font-weight: 850; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.environment-layer-stack strong { color: #fff; border-color: #287d63; background: #287d63; }
.global-change-web, .actor-scale-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; margin-bottom: 0.85rem; }
.global-change-web > *, .actor-scale-map > * { position: relative; display: grid; min-height: 5.5rem; place-content: center; padding: 0.75rem; border: 1px solid #bed1d9; border-radius: 0.9rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.global-change-web > *:not(:last-child)::after, .actor-scale-map > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.72rem; z-index: 1; color: var(--orange-700); content: "→"; font-size: 1.15rem; font-weight: 950; transform: translate(50%, -50%); }
.global-change-web strong, .actor-scale-map strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.risk-equation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 0.85fr); gap: 0.35rem; align-items: center; margin-bottom: 0.85rem; padding: 0.9rem; border-radius: 1rem; background: #e9f3f0; }
.risk-equation span { display: grid; min-height: 5.4rem; place-content: center; padding: 0.6rem; border: 1px solid #bfd3cd; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.76rem; font-weight: 850; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.risk-equation span:last-child { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.risk-equation b { color: var(--orange-700); font-size: 1.15rem; text-align: center; }
.risk-resource-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin-bottom: 0.85rem; }
.risk-resource-switch article { display: grid; gap: 0.45rem; min-height: 7rem; align-content: center; padding: 1rem; border: 1px solid #bfd3cd; border-radius: 0.95rem; background: #fff; }
.risk-resource-switch article:first-child { border-top: 0.3rem solid #287d63; }
.risk-resource-switch article:last-child { border-top: 0.3rem solid var(--orange-600); }
.risk-resource-switch span { color: var(--muted); font-size: 0.65rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.risk-resource-switch strong { color: var(--navy-950); line-height: 1.45; }
.geographic-compass { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; }
.geographic-compass button { min-height: 4.5rem; padding: 0.55rem; color: var(--navy-950); border: 1px solid #bfd3cd; border-radius: 3rem; background: #fff; font: inherit; font-size: 0.69rem; font-weight: 850; cursor: pointer; }
.geographic-compass button.is-active { color: #fff; border-color: #287d63; background: #287d63; box-shadow: 0 0.45rem 1.1rem rgba(31, 101, 80, 0.18); }
.france-atlas-layout, .guyane-cross-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.9fr); gap: 1rem; align-items: start; }
.france-atlas-layout figure, .guyane-cross-layout figure { margin: 0; overflow: hidden; border: 1px solid #bfd1d9; border-radius: 1rem; background: #fff; box-shadow: 0 0.65rem 1.4rem rgba(26, 66, 88, 0.11); }
.france-atlas-layout img, .guyane-cross-layout img { display: block; width: 100%; height: auto; background: #e8f3f8; }
.france-atlas-layout figcaption, .guyane-cross-layout figcaption { padding: 0.62rem 0.75rem; color: var(--muted); font-size: 0.68rem; line-height: 1.45; }
.france-profile-board { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.75rem; border-radius: 1rem; background: linear-gradient(135deg, #dfeee7, #e7f1f7); }
.france-profile-board > * { display: grid; min-height: 6rem; place-content: center; padding: 0.62rem; border: 1px solid #bed2cb; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.73rem; font-weight: 830; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.france-profile-board strong { color: #fff; border-color: #287d63; background: #287d63; }
.guyane-cross-section, .arbitration-casefile { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.guyane-cross-section > *, .arbitration-casefile > * { display: grid; min-height: 5.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bdd1ca; border-radius: 0.82rem; background: #fff; color: var(--navy-950); text-align: center; overflow-wrap: anywhere; }
.guyane-cross-section strong, .arbitration-casefile strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.valorization-balance { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 0.45rem; align-items: center; margin-bottom: 0.85rem; padding: 0.9rem; border-radius: 1rem; background: linear-gradient(90deg, #e1f1e9, #fff, #fff0df); }
.valorization-balance > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.7rem; border: 1px solid #c2d4d5; border-radius: 0.85rem; background: #fff; color: var(--navy-950); text-align: center; overflow-wrap: anywhere; }
.valorization-balance strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.protection-purpose-card { display: grid; grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1.45fr); gap: 0.55rem; margin-bottom: 0.85rem; }
.protection-purpose-card > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.75rem; border: 1px solid #bfd2cb; border-radius: 0.9rem; background: #fff; color: var(--navy-950); text-align: center; }
.protection-purpose-card span { color: #fff; border-color: #287d63; background: #287d63; font-weight: 900; }
.demography-lab { background: linear-gradient(145deg, #f4f9fc, #f8fbf5 62%, #fff7eb); }
.demographic-equation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.35rem; align-items: center; margin-bottom: 0.85rem; padding: 0.85rem; border-radius: 1rem; background: #e8f2f7; }
.demographic-equation span { display: grid; min-height: 5.4rem; place-content: center; padding: 0.6rem; border: 1px solid #bed1dc; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.4; text-align: center; }
.demographic-equation span:last-child { color: #fff; border-color: #287d63; background: #287d63; }
.demographic-equation b { color: var(--orange-700); font-size: 1.1rem; }
.demographic-curve { margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #c4d6df; border-radius: 1rem; background: #fff; }
.demographic-curve svg { display: block; width: 100%; height: auto; max-height: 14rem; }
.demographic-curve path { fill: none; stroke-linecap: round; stroke-width: 6; }
.demographic-curve .curve-axis { stroke: #9eb1bd; stroke-width: 2; }
.demographic-curve .curve-birth { stroke: var(--orange-600); }
.demographic-curve .curve-death { stroke: #287d63; }
.demographic-curve > div { display: flex; gap: 1rem; justify-content: center; color: var(--orange-700); font-size: 0.7rem; font-weight: 850; }
.demographic-curve > div strong { color: #287d63; }
.demographic-curve small { display: block; margin-top: 0.45rem; color: var(--muted); text-align: center; }
.age-pyramid-visual { display: grid; grid-template-columns: minmax(0, 1fr) 3.4rem minmax(0, 1fr); gap: 0.4rem; align-items: end; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: #e8f2f7; }
.age-pyramid-visual > div { display: grid; gap: 0.3rem; align-content: end; }
.age-pyramid-visual i { display: block; width: var(--w); height: 1.05rem; border-radius: 0.25rem; background: var(--blue-700); }
.age-pyramid-visual .pyramid-left i { margin-left: auto; background: #287d63; }
.age-pyramid-visual > span { color: var(--muted); font-size: 0.6rem; font-weight: 850; line-height: 1.7; text-align: center; text-transform: uppercase; }
.demographic-comparison { display: grid; grid-template-columns: 0.75fr repeat(3, 1fr) 1.25fr; gap: 0.35rem; margin-bottom: 0.85rem; }
.demographic-comparison > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.58rem; border: 1px solid #c1d3de; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.demographic-comparison > :first-child, .demographic-comparison strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-weight: 900; }
.demographic-needs, .demographic-policy-chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.85rem; }
.demographic-needs > *, .demographic-policy-chain > * { display: grid; min-height: 5rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2d9; border-radius: 0.82rem; background: #fff; color: var(--navy-950); text-align: center; overflow-wrap: anywhere; }
.demographic-needs strong, .demographic-policy-chain strong { color: #fff; border-color: #287d63; background: #287d63; }
.development-lab { background: linear-gradient(145deg, #f7f4eb, #f0f7f4 52%, #eef4fa); }
.indicator-passport { display: grid; grid-template-columns: 0.8fr 1fr 0.8fr 1fr 1.15fr; gap: 0.38rem; margin-bottom: 0.85rem; padding: 0.7rem; border: 1px solid #d6c7a9; border-radius: 1rem; background: linear-gradient(120deg, #fff8e9, #edf6f2); }
.indicator-passport > span { display: grid; gap: 0.35rem; min-height: 6.4rem; align-content: center; padding: 0.7rem; border: 1px solid #d9d4c7; border-radius: 0.75rem; background: #fff; text-align: center; }
.indicator-passport > span:first-child { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.indicator-passport small, .trajectory-file small { color: inherit; opacity: 0.72; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.indicator-passport strong { font-size: 0.72rem; line-height: 1.4; overflow-wrap: anywhere; }
.distribution-stage { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin-bottom: 0.85rem; }
.distribution-stage > div { display: flex; gap: 0.35rem; height: 10.5rem; align-items: end; padding: 1rem 0.8rem 2rem; border: 1px solid #c8d7d0; border-radius: 1rem; background: repeating-linear-gradient(to top, #eef4f1 0, #eef4f1 1px, transparent 1px, transparent 2rem), #fff; position: relative; }
.distribution-stage span { display: grid; flex: 1; min-width: 0; height: 4rem; place-content: end center; padding-bottom: 0.35rem; color: #fff; border-radius: 0.4rem 0.4rem 0 0; background: #287d63; font-size: 0.65rem; font-weight: 900; transition: height 180ms ease; }
.distribution-stage > div:nth-child(2) span { background: var(--orange-700); }
.distribution-stage > div:nth-child(2) span:nth-of-type(1) { height: 1.5rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(2) { height: 2.3rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(3) { height: 3.1rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(4) { height: 3.9rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(5) { height: 8rem; }
.distribution-stage small { position: absolute; right: 0.8rem; bottom: 0.55rem; left: 0.8rem; color: var(--muted); font-size: 0.62rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.scale-tunnel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; align-items: center; margin-bottom: 0.85rem; padding: 0.8rem; border-radius: 1rem; background: #e7f0ec; }
.scale-tunnel > * { display: grid; min-height: 7.5rem; place-content: center; margin-inline: -0.25rem; padding: 0.55rem; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #365d78; box-shadow: 0 0.45rem 1rem rgba(26, 61, 83, 0.14); font-size: 0.72rem; font-weight: 850; text-align: center; }
.scale-tunnel > :nth-child(2) { min-height: 6.5rem; background: #287d63; }
.scale-tunnel > :nth-child(3) { min-height: 5.5rem; background: #bc7628; }
.scale-tunnel > :nth-child(4) { min-height: 4.6rem; background: #8e4e32; }
.trajectory-file { margin-bottom: 0.85rem; overflow: hidden; border: 1px solid #c7d6cf; border-radius: 1rem; background: #fff; box-shadow: 0 0.65rem 1.4rem rgba(26, 66, 88, 0.09); }
.trajectory-file header { display: grid; grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1.65fr); gap: 0.7rem; align-items: center; padding: 0.8rem; color: #fff; background: linear-gradient(110deg, #294f69, #287d63); }
.trajectory-file header span { font-size: 1rem; font-weight: 950; }
.trajectory-file header strong { font-size: 0.77rem; line-height: 1.45; }
.trajectory-file > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; padding: 0.8rem; }
.trajectory-file > div > span { display: grid; gap: 0.3rem; align-content: start; padding: 0.75rem; border-radius: 0.75rem; background: #f2f6f4; }
.trajectory-file > div strong { color: var(--navy-950); font-size: 0.72rem; line-height: 1.45; overflow-wrap: anywhere; }
.strategy-chain, .brief-ribbon { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.strategy-chain > *, .brief-ribbon > * { position: relative; display: grid; min-height: 5.6rem; place-content: center; padding: 0.65rem; border: 1px solid #c8d7d0; border-radius: 0.75rem; background: #fff; color: var(--navy-950); font-size: 0.7rem; font-weight: 850; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.strategy-chain > *:not(:last-child)::after, .brief-ribbon > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.3rem; z-index: 2; color: var(--orange-700); content: "→"; font-weight: 950; transform: translate(50%, -50%); }
.strategy-chain strong { color: #fff; border-color: #287d63; background: #287d63; }
.brief-ribbon { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.brief-ribbon > * { min-height: 4.6rem; }
.brief-ribbon strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.france-inequality-lab { background: linear-gradient(145deg, #f1f7f9, #f4f8f2 55%, #fff7e9); }
.france-balance-console { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; margin-bottom: 0.85rem; padding: 0.8rem; border-radius: 1rem; background: linear-gradient(110deg, #dfeef4, #e7f1eb); }
.france-balance-console > span { display: grid; gap: 0.35rem; min-height: 6.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd1d5; border-radius: 0.78rem; background: #fff; text-align: center; }
.france-balance-console > span:nth-child(3) { color: #fff; border-color: #9d4f3b; background: #9d4f3b; }
.france-balance-console small, .inequality-lenses small { color: inherit; opacity: 0.72; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.france-balance-console strong { font-size: 0.85rem; }
.age-territory-mosaic { display: grid; grid-template-columns: 0.65fr 1.15fr 1fr 1.2fr; gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.75rem; border-radius: 1rem; background: #e5f0ed; }
.age-territory-mosaic > * { display: grid; min-height: 6rem; place-content: center; padding: 0.65rem; border: 1px solid #c1d3cd; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.age-territory-mosaic > :first-child { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-size: 0.9rem; font-weight: 950; }
.age-territory-mosaic strong { color: #fff; border-color: #287d63; background: #287d63; }
.inequality-lenses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.inequality-lenses > span { display: grid; gap: 0.35rem; min-height: 6rem; align-content: center; padding: 0.75rem; border: 1px solid #c4d5d7; border-radius: 0.85rem; background: #fff; text-align: center; }
.inequality-lenses > span:nth-child(2) { color: #fff; border-color: #287d63; background: #287d63; }
.inequality-lenses strong { font-size: 0.72rem; line-height: 1.42; overflow-wrap: anywhere; }
.service-catchment { display: grid; grid-template-columns: 1fr 1fr 1.2fr 1fr; gap: 0.38rem; align-items: center; margin-bottom: 0.85rem; padding: 0.85rem; border-radius: 1rem; background: radial-gradient(circle at 58% 50%, #d8ebe4, #edf4f7 56%, #fff8ea); }
.service-catchment > * { display: grid; min-height: 6rem; place-content: center; padding: 0.65rem; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 0.45rem 1rem rgba(33, 74, 91, 0.12); color: var(--navy-950); font-size: 0.69rem; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.service-catchment > strong { min-height: 7.2rem; color: #fff; background: #287d63; }
.actor-lever-card { display: grid; grid-template-columns: 0.7fr 1.35fr 0.95fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.actor-lever-card > * { display: grid; min-height: 5.8rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d5d1; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.actor-lever-card > :first-child { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-weight: 900; }
.actor-lever-card strong { color: #fff; border-color: #287d63; background: #287d63; }
.policy-audit-chain { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; }
.policy-audit-chain > * { position: relative; display: grid; min-height: 5rem; place-content: center; padding: 0.5rem; border: 1px solid #c3d4d0; border-radius: 0.72rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; font-weight: 850; text-align: center; overflow-wrap: anywhere; }
.policy-audit-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.25rem; z-index: 2; color: var(--orange-700); content: "→"; font-weight: 950; transform: translate(50%, -50%); }
.policy-audit-chain strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.mobility-lab { background: linear-gradient(145deg, #eef6f8, #f1f7f2 58%, #fff5e7); }
.mobility-passport, .door-chain, .corridor-scale, .mobility-impact-ledger { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.mobility-passport > *, .door-chain > *, .corridor-scale > *, .mobility-impact-ledger > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.62rem; border: 1px solid #c2d4d8; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.mobility-passport strong, .door-chain strong, .corridor-scale strong, .mobility-impact-ledger strong { color: #fff; border-color: #287d63; background: #287d63; }
.corridor-scale, .mobility-impact-ledger { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.network-topology { display: grid; grid-template-columns: 1fr 2rem 1.3fr 2rem 1fr; gap: 0.35rem; align-items: center; margin-bottom: 0.85rem; padding: 0.9rem; border-radius: 1rem; background: #e4eff3; }
.network-topology > span, .network-topology > strong { display: grid; min-height: 5rem; place-content: center; padding: 0.65rem; border-radius: 0.8rem; background: #fff; text-align: center; }
.network-topology > strong { color: #fff; background: var(--blue-700); }
.network-topology i { height: 0.3rem; background: var(--orange-600); }
.network-topology small { grid-column: 1 / -1; color: var(--muted); font-weight: 850; text-align: center; }
.mobility-arbitration { display: grid; grid-template-columns: 1fr 1.4fr 0.8fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.mobility-arbitration > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.7rem; border: 1px solid #c3d5d1; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.45; text-align: center; }
.mobility-arbitration strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.migration-lab { background: linear-gradient(150deg, #f7fbfc, #f1f7f4); }
.migration-status-deck, .migration-measure-console, .migration-effects-ledger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.migration-status-deck > *, .migration-measure-console > *, .migration-effects-ledger > * { display: grid; min-height: 5.7rem; place-content: center; padding: 0.68rem; border: 1px solid #bdd3d8; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.7rem; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.migration-status-deck strong, .migration-measure-console strong, .migration-effects-ledger strong { color: #fff; border-color: #276f70; background: #276f70; }
.migration-causality-web { display: grid; grid-template: "motive outcome constraint" 1fr "resource outcome network" 1fr / 1fr 1.15fr 1fr; gap: 0.48rem; margin-bottom: 0.85rem; }
.migration-causality-web > * { display: grid; min-height: 5.1rem; place-content: center; padding: 0.68rem; border: 1px solid #c5d7d9; border-radius: 50% 50% 0.9rem 0.9rem; background: #fff; font-size: 0.7rem; line-height: 1.42; text-align: center; }
.migration-causality-web > *:nth-child(1) { grid-area: motive; }
.migration-causality-web > *:nth-child(2) { grid-area: resource; }
.migration-causality-web > *:nth-child(3) { grid-area: outcome; border-radius: 50%; color: #fff; background: var(--orange-700); }
.migration-causality-web > *:nth-child(4) { grid-area: constraint; }
.migration-causality-web > *:nth-child(5) { grid-area: network; }
.migration-route-map { display: grid; grid-template-columns: 1fr 1.4rem 1fr 1.4rem 1.15fr 1.4rem 1fr 1.4rem 1fr; gap: 0.22rem; align-items: center; margin-bottom: 0.85rem; }
.migration-route-map > span, .migration-route-map > strong { display: grid; min-height: 5.7rem; place-content: center; padding: 0.58rem; border: 1px solid #c3d6d8; border-radius: 0.8rem; background: #fff; font-size: 0.67rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.migration-route-map > strong { color: #fff; border-color: #276f70; background: #276f70; }
.migration-route-map i { height: 0.22rem; border-radius: 1rem; background: linear-gradient(90deg, #d6842c, #276f70); }
.migration-claim-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.34rem; margin-bottom: 0.85rem; }
.migration-claim-strip > * { position: relative; display: grid; min-height: 5.6rem; place-content: center; padding: 0.58rem; border: 1px solid #c4d6d8; border-radius: 0.75rem; background: #fff; font-size: 0.65rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.migration-claim-strip > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.33rem; z-index: 1; width: 0.34rem; height: 0.12rem; background: var(--orange-600); content: ""; }
.migration-claim-strip strong { color: #fff; border-color: #276f70; background: #276f70; }
.tourism-lab { background: linear-gradient(145deg, #fffaf3, #f3f9f8); }
.tourism-passport { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.tourism-passport > *, .tourism-indicator-board > *, .tourism-value-chain > *, .tourism-transition-budget > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.65rem; border: 1px solid #d5c9b3; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.43; text-align: center; overflow-wrap: anywhere; }
.tourism-passport strong, .tourism-indicator-board strong, .tourism-value-chain strong, .tourism-transition-budget strong { color: #fff; border-color: #bb6b2a; background: #bb6b2a; }
.tourism-indicator-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.tourism-system-map { display: grid; grid-template-columns: 1fr 1.1rem 1fr 1.1rem 1fr 1.1rem 1fr; gap: 0.25rem; align-items: center; margin-bottom: 0.85rem; }
.tourism-system-map > span, .tourism-system-map > strong { display: grid; min-height: 5.7rem; place-content: center; padding: 0.6rem; border: 1px solid #c7d5d3; border-radius: 0.82rem; background: #fff; font-size: 0.68rem; line-height: 1.43; text-align: center; }
.tourism-system-map > strong { color: #fff; border-color: #287d63; background: #287d63; }
.tourism-system-map i { height: 0.22rem; border-radius: 1rem; background: linear-gradient(90deg, #d6852d, #287d63); }
.seasonality-pulse { display: flex; height: 8rem; align-items: end; gap: 0.28rem; padding: 0.8rem 0.8rem 0; border: 1px solid #c7d9dc; border-radius: 1rem 1rem 0.35rem 0.35rem; background: linear-gradient(#f7fbfc 0 68%, #dcebed 68%); }
.seasonality-pulse i { flex: 1; height: var(--h); min-height: 0.45rem; border-radius: 0.35rem 0.35rem 0 0; background: linear-gradient(#e8a154, #bd6928); }
.seasonality-diagnosis { display: grid; grid-template-columns: 0.8fr 1.4fr 1fr; gap: 0.4rem; margin: 0.42rem 0 0.85rem; }
.seasonality-diagnosis > * { display: grid; min-height: 4.6rem; place-content: center; padding: 0.6rem; border: 1px solid #d4c6b1; border-radius: 0.75rem; background: #fff; font-size: 0.69rem; text-align: center; }
.seasonality-diagnosis strong { color: #fff; border-color: #bb6b2a; background: #bb6b2a; }
.tourism-value-chain, .tourism-transition-budget { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.tourism-value-chain > *:not(:last-child), .tourism-transition-budget > *:not(:last-child) { position: relative; }
.tourism-value-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.4rem; z-index: 1; width: 0.4rem; height: 0.14rem; background: #287d63; content: ""; }
.southern-africa-lab { background: linear-gradient(145deg, #fbf8ee, #f1f7ef); }
.southern-scope-rings { position: relative; min-height: 14rem; margin-bottom: 0.85rem; }
.southern-scope-rings > * { position: absolute; display: grid; place-content: start center; padding: 0.75rem; border: 2px solid #7c9a62; border-radius: 50%; background: rgba(255, 255, 255, 0.78); color: var(--navy-950); font-size: 0.7rem; text-align: center; }
.southern-scope-rings > span:first-child { inset: 0 4%; }
.southern-scope-rings > strong { inset: 2.7rem 20%; color: #fff; border-color: #bd6c2a; background: rgba(189, 108, 42, 0.88); }
.southern-scope-rings > span:last-child { inset: 5.4rem 36%; place-content: center; border-color: #fff; background: #287d63; color: #fff; }
.southern-transect { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-bottom: 0.85rem; overflow: hidden; border: 1px solid #bdcdbb; border-radius: 1rem; }
.southern-transect > * { display: grid; min-height: 7rem; place-content: center; padding: 0.55rem; color: #fff; font-size: 0.67rem; line-height: 1.4; text-align: center; }
.southern-transect > *:nth-child(1) { background: #2d6f85; }
.southern-transect > *:nth-child(2) { background: #bd7b35; }
.southern-transect > *:nth-child(3) { background: #9f8c47; }
.southern-transect > *:nth-child(4) { background: #596f4b; }
.southern-transect > *:nth-child(5) { background: #357d66; }
.southern-water-basin { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.southern-water-basin > *, .southern-extractive-chain > *, .southern-arbitration-grid > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2cd; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.68rem; line-height: 1.43; text-align: center; overflow-wrap: anywhere; }
.southern-water-basin strong, .southern-extractive-chain strong, .southern-arbitration-grid strong { color: #fff; border-color: #287d63; background: #287d63; }
.southern-extractive-chain { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; }
.southern-extractive-chain > *:not(:last-child) { position: relative; }
.southern-extractive-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; width: 0.34rem; height: 0.13rem; background: #bd6c2a; content: ""; }
.southern-conservation-mosaic { display: grid; grid-template-columns: 1fr 0.9fr 1fr; gap: 0.42rem; margin-bottom: 0.85rem; }
.southern-conservation-mosaic > * { display: grid; min-height: 5.8rem; place-content: center; padding: 0.65rem; border: 1px solid #b8cfae; border-radius: 1rem; background: #fff; font-size: 0.69rem; line-height: 1.43; text-align: center; }
.southern-conservation-mosaic strong { color: #fff; border-color: #507a43; background: #507a43; }
.southern-conservation-mosaic > *:last-child { grid-column: 1 / -1; min-height: 4.3rem; border-style: dashed; }
.southern-arbitration-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.mobility-atlas-lab { position: relative; overflow: hidden; background: linear-gradient(145deg, #f4f8f6, #fff8ec); }
.mobility-atlas-lab::before { position: absolute; top: -4rem; right: -4rem; width: 12rem; height: 12rem; border: 1px dashed rgba(40, 125, 99, 0.2); border-radius: 50%; box-shadow: 0 0 0 2.2rem rgba(40, 125, 99, 0.035), 0 0 0 4.4rem rgba(189, 108, 42, 0.028); content: ""; pointer-events: none; }
.mobility-atlas-lab > * { position: relative; }
[data-world-city-perimeter], [data-world-urban-measure], [data-world-metro-engine], [data-world-metro-functions], [data-world-metro-network], [data-world-metro-profile], [data-world-urban-notions], [data-world-metro-proof] { border-color: #86aab0; background: linear-gradient(145deg, #eef8f7, #f8f3e7 72%, #eef2f8); box-shadow: inset .35rem 0 #187a78; }
.metro-perimeter-orbit { display:grid; place-items:center; min-height:19rem; padding:1rem; }
.metro-perimeter-orbit > * { grid-area:1/1; display:grid; place-items:start center; border:2px solid rgba(24,122,120,.28); border-radius:50%; padding-top:.55rem; color:#234c55; font-style:normal; font-weight:800; text-align:center; }
.metro-perimeter-orbit > span:nth-child(1){width:7rem;height:7rem;background:#fff8df}.metro-perimeter-orbit > span:nth-child(2){width:11rem;height:11rem;background:rgba(217,238,231,.52)}.metro-perimeter-orbit > span:nth-child(3){width:15rem;height:15rem;background:rgba(204,226,235,.34)}.metro-perimeter-orbit > strong{width:19rem;height:19rem;border-style:dashed;padding-top:1rem}
.metro-urban-bars { display:flex; gap:1.2rem; align-items:end; justify-content:center; min-height:18rem; padding:1.5rem 1rem 0; border-bottom:3px solid #345f68; background:linear-gradient(#fff0 0 74%,rgba(46,124,129,.08) 74%); }
.metro-urban-bars span { display:flex; flex-direction:column; justify-content:space-between; width:min(7rem,28%); height:var(--metro-bar); min-height:5.5rem; padding:.65rem; border-radius:.7rem .7rem 0 0; background:linear-gradient(#2b9893,#245b70); color:#fff; box-shadow:0 .25rem .8rem rgba(31,70,77,.17); }
.metro-urban-bars i,.metro-urban-bars b { font-style:normal; }
.metro-concentration-funnel { display:grid; gap:.4rem; justify-items:center; padding:1rem; }
.metro-concentration-funnel span,.metro-concentration-funnel strong { display:block; padding:.7rem; border-radius:.55rem; background:#dcefeb; color:#245158; text-align:center; font-style:normal; }
.metro-concentration-funnel span:nth-child(1){width:95%}.metro-concentration-funnel span:nth-child(2){width:78%}.metro-concentration-funnel span:nth-child(3){width:61%}.metro-concentration-funnel strong{width:46%;background:#176f70;color:#fff}.metro-concentration-funnel i{padding:.4rem 1rem;border-bottom:2px dashed #be742c;color:#8a4c20;font-weight:800;font-style:normal}
.metro-function-tower { display:flex; flex-direction:column; align-items:center; gap:.35rem; padding:1rem; }
.metro-function-tower span,.metro-function-tower strong { width:clamp(12rem,calc(52% + var(--tower-step,0%)),25rem); padding:.65rem 1rem; border:1px solid rgba(38,86,92,.2); background:#fff; color:#274d54; text-align:center; }
.metro-function-tower span:nth-child(1){--tower-step:-10%;border-radius:2rem 2rem .35rem .35rem}.metro-function-tower span:nth-child(2){--tower-step:-4%}.metro-function-tower span:nth-child(3){--tower-step:2%}.metro-function-tower span:nth-child(4){--tower-step:8%}.metro-function-tower strong{width:82%;background:#254f5a;color:#fff;border-radius:.35rem .35rem 1rem 1rem}
.metro-network-map { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; place-items:center; min-height:17rem; padding:1.4rem; isolation:isolate; }
.metro-network-map::before,.metro-network-map::after,.metro-network-map i { position:absolute; inset:50% 8%; border-top:2px solid rgba(36,105,109,.35); content:""; z-index:-1; }.metro-network-map::after{transform:rotate(55deg)}.metro-network-map i{transform:rotate(-55deg)}
.metro-network-map span,.metro-network-map strong { display:grid; place-items:center; width:3.8rem;height:3.8rem;border-radius:50%;background:#fff;border:2px solid #4a8b8d;color:#28565c;box-shadow:0 .25rem .7rem rgba(30,75,79,.13)}
.metro-network-map strong { grid-column:2;grid-row:1/3;width:6rem;height:6rem;background:#176f70;color:#fff;border-color:#0f5c5d}.metro-network-map .n4{grid-column:1}.metro-network-map .n5{grid-column:2}.metro-network-map .n6{grid-column:3}
.metro-profile-radar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:1.2rem; background:radial-gradient(circle at center,rgba(38,130,129,.13),transparent 58%); }
.metro-profile-radar span { position:relative; min-height:3.4rem; padding:.75rem; overflow:hidden; border:1px solid rgba(39,97,103,.18); border-radius:.55rem; background:#fff; color:#244e55; font-weight:800; isolation:isolate; }.metro-profile-radar span::before{position:absolute;inset:0 auto 0 0;width:var(--profile);background:linear-gradient(90deg,rgba(30,133,128,.32),rgba(30,133,128,.08));content:"";z-index:-1}.metro-profile-radar strong{grid-column:1/-1;padding:.75rem;border-radius:2rem;background:#214f58;color:#fff;text-align:center}
.metro-notion-atlas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; padding:1rem; }.metro-notion-atlas > *{padding:1rem;border-radius:.8rem;background:#fff;border:1px solid rgba(37,91,98,.2);color:#284e55;font-style:normal}.metro-notion-atlas b{display:block;margin-bottom:.45rem;color:#be742c;font-size:1.3rem}.metro-notion-atlas strong{background:#285b64;color:#fff}.metro-notion-atlas strong b{color:#f0ca87}
.metro-proof-sketch { position:relative; display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(3,1fr); gap:.7rem; min-height:18rem; padding:1rem; border-radius:1rem; background:linear-gradient(155deg,#d9eee7 0 47%,#dce9f0 48% 100%); overflow:hidden; }.metro-proof-sketch > *{position:relative;z-index:1;padding:.7rem;border-radius:.6rem;background:rgba(255,255,255,.88);color:#28545b;font-style:normal}.metro-proof-sketch .land{grid-row:1/4;display:grid;place-items:center;border-radius:55% 38% 58% 42%;background:#e7d5a7}.metro-proof-sketch .city{font-size:1.05rem}.metro-proof-sketch .hub{border:2px solid #be742c}.metro-proof-sketch .flow{color:#146f72;font-size:1.25rem}.metro-proof-sketch strong{grid-column:1/-1;background:#244f59;color:#fff;text-align:center}.metro-proof-sketch small{color:#d7eee8}
[data-metro-mutation-morphology], [data-metro-mutation-polycentric], [data-metro-mutation-access], [data-metro-mutation-gentrification], [data-metro-mutation-fragmentation], [data-metro-mutation-mumbai], [data-metro-mutation-london], [data-metro-mutation-equity] { border-color:#9a8976; background:linear-gradient(145deg,#fbf7ef,#eef5f1 68%,#edf0f7); box-shadow:inset .35rem 0 #b35f3e; }
.mutation-morphology-map { display:grid; grid-template-columns:repeat(4,1fr); gap:.35rem; min-height:16rem; align-items:end; padding:1rem; border-radius:1rem; background:linear-gradient(#d9ebf0 0 34%,#d8dfbd 35%); }.mutation-morphology-map > *{display:grid;place-items:center;padding:.65rem;border-radius:.5rem .5rem 0 0;color:#fff;text-align:center;font-style:normal}.mutation-morphology-map .historic{height:55%;background:#775b4b}.mutation-morphology-map .dense{height:84%;background:#315e67}.mutation-morphology-map .renew{height:68%;background:#92704d}.mutation-morphology-map strong{height:42%;background:#a55e3c}
.mutation-polycentric-map,.mutation-london-corridor { display:grid; grid-template-columns:1fr auto 1.2fr auto 1fr; gap:.55rem; align-items:center; padding:1.3rem; border-radius:1rem; background:linear-gradient(90deg,#dbe9e7,#f5ead5); }.mutation-polycentric-map span,.mutation-polycentric-map strong,.mutation-london-corridor span,.mutation-london-corridor strong{padding:1rem .65rem;border-radius:50%;background:#fff;color:#31545a;text-align:center}.mutation-polycentric-map strong,.mutation-london-corridor strong{background:#2f6c6c;color:#fff}.mutation-polycentric-map i,.mutation-london-corridor i{color:#b35f3e;font-style:normal;font-weight:900}.mutation-polycentric-map em,.mutation-london-corridor em{grid-column:1/-1;padding:.55rem;border-top:2px dashed #b35f3e;color:#6d4b37;text-align:center;font-style:normal;font-weight:800}
.mutation-isochrone { display:grid; place-items:center; min-height:17rem; padding:1rem; }.mutation-isochrone > *{grid-area:1/1;display:grid;place-items:start center;border:2px solid rgba(42,111,108,.28);border-radius:50%;color:#2f6061;font-style:normal;font-weight:800}.mutation-isochrone span:nth-child(1){width:6rem;height:6rem;background:#fff}.mutation-isochrone span:nth-child(2){width:10rem;height:10rem;padding-top:.5rem}.mutation-isochrone span:nth-child(3){width:14rem;height:14rem;padding-top:.75rem}.mutation-isochrone strong{width:5rem;height:5rem;place-items:center;background:#2c6d6b;color:#fff;text-align:center}.mutation-isochrone i{align-self:end;margin-bottom:1.2rem;padding:.4rem;background:#b35f3e;color:#fff;border-radius:.4rem}
.mutation-gentrification-chain { display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr auto 1fr;gap:.45rem;align-items:center;padding:1rem}.mutation-gentrification-chain span,.mutation-gentrification-chain strong{min-height:5rem;display:grid;place-items:center;padding:.65rem;border-radius:.7rem;background:#fff;color:#31545b;text-align:center}.mutation-gentrification-chain strong{background:#a95f40;color:#fff}.mutation-gentrification-chain i{color:#2e6d6b;font-style:normal;font-weight:900}
.mutation-fragment-mosaic { display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:1rem;background:#324f58;border-radius:1rem}.mutation-fragment-mosaic > *{min-height:5rem;display:grid;place-items:center;background:#d7e9e4;color:#2e5c60;font-style:normal}.mutation-fragment-mosaic .m2,.mutation-fragment-mosaic .m4{background:#efd7ba;color:#754a32}.mutation-fragment-mosaic .m3{background:linear-gradient(135deg,#d7e9e4 50%,#efd7ba 50%)}.mutation-fragment-mosaic .barrier{grid-row:1/3;grid-column:2;writing-mode:vertical-rl;background:#26333a;color:#fff;border-inline:4px dashed #f0ba57}
.mutation-relocation-ledger { display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:center;padding:1rem}.mutation-relocation-ledger article{min-height:8rem;padding:1rem;border-radius:1rem;background:#fff;border:1px solid rgba(63,92,93,.2)}.mutation-relocation-ledger article b,.mutation-relocation-ledger article span{display:block;margin-bottom:.6rem;color:#32575c}.mutation-relocation-ledger i{color:#a55e3c;font-style:normal;font-weight:900}.mutation-relocation-ledger strong{grid-column:1/-1;padding:.7rem;border-radius:2rem;background:#315f63;color:#fff;text-align:center}
.mutation-equity-matrix { display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;padding:1rem}.mutation-equity-matrix > *{padding:.8rem;border-radius:.55rem;background:#fff;color:#31565b;text-align:center;font-style:normal}.mutation-equity-matrix > span:nth-child(-n+2){background:#d8eae5;font-weight:900}.mutation-equity-matrix strong{background:#a45e40;color:#fff}.mutation-equity-matrix em{grid-column:1/-1;background:#2d6265;color:#fff;font-weight:800}
[data-france-metropolis-definition], [data-france-aav-perimeter], [data-france-paris-primacy], [data-france-regional-profile], [data-france-urban-relations], [data-france-small-city-trajectory], [data-france-periurban], [data-france-policy-audit] { border-color:#6f8791; background:linear-gradient(145deg,#f4f8f7,#fff8eb 72%,#edf2f7); box-shadow:inset .35rem 0 #c56f2c; }
.france-definition-orbits { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:1rem;background:radial-gradient(circle at center,rgba(31,108,108,.18),transparent 58%)}.france-definition-orbits > *{display:grid;min-height:5rem;place-content:center;padding:.7rem;border:2px solid #8bb5ad;border-radius:50%;background:#fff;color:#28535a;text-align:center;font-style:normal;font-weight:850}.france-definition-orbits strong{background:#285f68;color:#fff;border-color:#285f68}.france-definition-orbits em{grid-column:1/-1;min-height:auto;border:0;border-radius:2rem;background:#f1dfbe;color:#684523}
.france-aav-rings {display:grid;place-items:center;min-height:18rem;padding:1rem}.france-aav-rings > *{grid-area:1/1;display:grid;place-items:start center;border:2px solid rgba(36,103,106,.3);border-radius:50%;color:#285b61;text-align:center;font-style:normal;font-weight:850}.france-aav-rings strong{width:6rem;height:6rem;place-items:center;background:#286e70;color:#fff}.france-aav-rings span:nth-of-type(1){width:11rem;height:11rem;padding-top:.7rem;background:rgba(215,235,230,.55)}.france-aav-rings span:nth-of-type(2){width:16rem;height:16rem;padding-top:.7rem;background:rgba(239,221,187,.38)}.france-aav-rings em{align-self:end;margin-bottom:.45rem;padding:.38rem .65rem;border:0;border-radius:1rem;background:#fff;color:#7b4a27;font-size:.72rem}
.france-primacy-scales,.france-profile-ledger {display:grid;gap:.55rem;padding:1rem}.france-primacy-scales span{position:relative;min-height:3.2rem;padding:.75rem;overflow:hidden;border:1px solid #b8cfca;border-radius:.55rem;background:#fff;color:#294f56;font-weight:850;isolation:isolate}.france-primacy-scales span::before{position:absolute;inset:0 auto 0 0;z-index:-1;width:var(--axis);background:linear-gradient(90deg,rgba(39,118,113,.35),rgba(39,118,113,.06));content:""}.france-primacy-scales strong,.france-profile-ledger strong{padding:.7rem;border-radius:2rem;background:#c56f2c;color:#fff;text-align:center}
.france-profile-ledger{grid-template-columns:repeat(5,minmax(0,1fr))}.france-profile-ledger span{display:grid;min-height:7rem;place-content:center;padding:.55rem;border:1px solid #aec8c1;border-radius:.7rem;background:#fff;color:#294f56;font-size:.68rem;line-height:1.35;text-align:center}.france-profile-ledger span:nth-child(odd){background:#e1efeb}.france-profile-ledger strong{grid-column:1/-1}
.france-urban-network {display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.6rem;align-items:center;padding:1rem}.france-urban-network article{display:grid;min-height:7.5rem;place-content:center;gap:.4rem;padding:.7rem;border:1px solid #b7cec8;border-radius:50%;background:#fff;color:#294f56;text-align:center}.france-urban-network article b,.france-urban-network article span{display:block}.france-urban-network article span{font-size:.68rem}.france-urban-network i{color:#c56f2c;font-style:normal;font-size:1.35rem;font-weight:900}.france-urban-network em{grid-column:1/-1;padding:.55rem;border-top:2px dashed #c56f2c;color:#6d4b31;text-align:center;font-style:normal;font-weight:800}
.france-small-city-timeline {display:grid;grid-template-columns:1fr auto 1fr auto 1.25fr auto 1fr;gap:.45rem;align-items:center;padding:1rem}.france-small-city-timeline span,.france-small-city-timeline strong{display:grid;min-height:4.8rem;place-content:center;padding:.6rem;border-radius:.65rem;background:#fff;color:#2d555a;text-align:center}.france-small-city-timeline strong{background:#2b6d6d;color:#fff}.france-small-city-timeline i{color:#c56f2c;font-style:normal;font-weight:900}.france-small-city-timeline em{grid-column:1/-1;padding:.55rem;border-radius:2rem;background:#f0dfbf;color:#684729;text-align:center;font-style:normal;font-weight:800}
.france-periurban-transect {display:grid;grid-template-columns:.8fr 1fr 1.2fr 1.2fr;min-height:15rem;align-items:end;padding:1rem;border-radius:1rem;background:linear-gradient(#dcecf0 0 35%,#dfe5c7 36% 100%)}.france-periurban-transect > *{display:grid;place-content:center;min-height:5.5rem;padding:.55rem;border-inline:1px solid rgba(49,83,82,.18);background:#fff;color:#2b5559;text-align:center;font-style:normal}.france-periurban-transect strong{min-height:10rem;background:#2a6669;color:#fff}.france-periurban-transect span:nth-of-type(1){min-height:8rem}.france-periurban-transect span:nth-of-type(2){background:#efd8af}.france-periurban-transect span:nth-of-type(3){background:#e9e3cc}.france-periurban-transect em{grid-column:1/-1;min-height:auto;border-top:3px solid #c56f2c;background:#fff;color:#6e4a2b;font-weight:800}
.france-policy-matrix {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:1rem}.france-policy-matrix > *{display:grid;min-height:4.5rem;place-content:center;padding:.65rem;border:1px solid #b6ccc6;border-radius:.6rem;background:#fff;color:#2c5358;text-align:center;font-style:normal}.france-policy-matrix strong{background:#2b696c;color:#fff}.france-policy-matrix em{grid-column:1/-1;min-height:auto;background:#c56f2c;color:#fff;font-weight:800}
@media (max-width:640px){.france-profile-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.france-profile-ledger strong{grid-column:1/-1}.france-urban-network{grid-template-columns:1fr}.france-urban-network i{transform:rotate(90deg);justify-self:center}.france-small-city-timeline{grid-template-columns:1fr}.france-small-city-timeline i{transform:rotate(90deg);justify-self:center}.france-periurban-transect{grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto}.france-periurban-transect strong,.france-periurban-transect span:nth-of-type(1){min-height:7rem}.france-policy-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.france-policy-matrix em{grid-column:1/-1}}
[data-production-function-atlas], [data-production-configuration], [data-production-value-chain], [data-production-actor-power], [data-production-location], [data-production-upgrading], [data-production-digital-footprint], [data-production-comparison] { border-color:#778b75; background:linear-gradient(145deg,#f4f8ed,#eef5f4 68%,#fff4e4); box-shadow:inset .35rem 0 #ad6a2c; }
.production-function-atlas {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;padding:1rem}.production-function-atlas > *{display:grid;min-height:6rem;place-content:center;padding:.55rem;border:1px solid #b8ceb2;border-radius:.7rem;background:#fff;color:#31554f;text-align:center;font-style:normal}.production-function-atlas strong{background:#2d6a63;color:#fff}.production-function-atlas em{grid-column:1/-1;min-height:auto;background:#f0dfbd;color:#674828;font-weight:800}
.production-config-map {position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,5rem);gap:.55rem;padding:1rem;border-radius:1rem;background:linear-gradient(145deg,#dcece3,#f1e2c5);overflow:hidden}.production-config-map > *{display:grid;place-content:center;padding:.55rem;border-radius:.7rem;background:#fff;color:#31564f;text-align:center;font-style:normal;font-weight:800}.production-config-map .basin{grid-row:1/3;border-radius:45%}.production-config-map .node{border:2px solid #2d6b63}.production-config-map i{grid-column:2/4;border-block:3px solid #ad6a2c}.production-config-map strong{grid-column:4;grid-row:1/3;background:#2d6862;color:#fff}.production-config-map .remote{grid-column:2/4}.production-config-map em{position:absolute;right:.8rem;bottom:.45rem;left:.8rem;padding:.3rem;background:rgba(255,255,255,.9);color:#684828}
.production-value-chain,.production-upgrading-ladder {display:grid;grid-template-columns:repeat(9,minmax(0,auto));gap:.35rem;align-items:center;padding:1rem}.production-value-chain span,.production-value-chain strong,.production-upgrading-ladder span,.production-upgrading-ladder strong{display:grid;min-height:5rem;place-content:center;padding:.55rem;border-radius:.65rem;background:#fff;color:#315650;text-align:center}.production-value-chain strong,.production-upgrading-ladder strong{background:#2d6962;color:#fff}.production-value-chain i{color:#ad6a2c;font-style:normal;font-weight:900}.production-value-chain em,.production-upgrading-ladder em{grid-column:1/-1;padding:.5rem;border-radius:2rem;background:#efdfbe;color:#694827;text-align:center;font-style:normal;font-weight:800}.production-upgrading-ladder{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}.production-upgrading-ladder span:nth-child(1){min-height:3.8rem}.production-upgrading-ladder span:nth-child(2){min-height:5rem}.production-upgrading-ladder strong{min-height:7rem}.production-upgrading-ladder span:nth-child(4){min-height:6rem}.production-upgrading-ladder span:nth-child(5){min-height:8rem}
.production-power-web {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:1rem;background:radial-gradient(circle at center,rgba(45,105,98,.18),transparent 55%)}.production-power-web > *{display:grid;min-height:4.5rem;place-content:center;padding:.55rem;border:1px solid #b7cdb8;border-radius:50%;background:#fff;color:#31554f;text-align:center;font-style:normal}.production-power-web strong{grid-column:2;background:#2d6962;color:#fff}.production-power-web em{grid-column:1/-1;min-height:auto;border:0;border-radius:2rem;background:#ad6a2c;color:#fff;font-weight:800}
.production-location-balance {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:1rem}.production-location-balance > *{display:grid;min-height:4.5rem;place-content:center;padding:.55rem;border:1px solid #b8ccb6;border-radius:.65rem;background:#fff;color:#31554f;text-align:center}.production-location-balance strong{grid-column:2;grid-row:2;background:#ad6a2c;color:#fff}.production-digital-stack {display:grid;gap:.35rem;padding:1rem}.production-digital-stack > *{display:grid;min-height:3.6rem;place-content:center;padding:.55rem;border-radius:.65rem;background:#fff;color:#315650;text-align:center;font-style:normal}.production-digital-stack span:nth-child(2){margin-inline:5%}.production-digital-stack strong{margin-inline:10%;background:#2d6962;color:#fff}.production-digital-stack span:nth-child(4){margin-inline:15%;background:#dfece5}.production-digital-stack span:nth-child(5){margin-inline:20%;background:#eedcbc}.production-digital-stack em{min-height:auto;background:#ad6a2c;color:#fff;font-weight:800}
.production-case-matrix {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:1rem}.production-case-matrix span{display:grid;min-height:6rem;place-content:center;padding:.7rem;border:1px solid #b6cbb5;border-radius:.8rem;background:#fff;color:#31554f;text-align:center;font-weight:800}.production-case-matrix span:nth-child(2),.production-case-matrix span:nth-child(3){background:#e4eee4}.production-case-matrix strong{grid-column:1/-1;padding:.7rem;border-radius:2rem;background:#2d6962;color:#fff;text-align:center}
@media (max-width:640px){.production-function-atlas{grid-template-columns:repeat(2,minmax(0,1fr))}.production-function-atlas em{grid-column:1/-1}.production-config-map{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.production-config-map .basin,.production-config-map strong,.production-config-map i,.production-config-map .remote{grid-column:auto;grid-row:auto}.production-config-map em{position:static;grid-column:1/-1}.production-value-chain{grid-template-columns:1fr}.production-value-chain i{transform:rotate(90deg);justify-self:center}.production-upgrading-ladder{grid-template-columns:1fr;align-items:stretch}.production-upgrading-ladder > *{min-height:4.5rem!important}.production-power-web{grid-template-columns:repeat(2,minmax(0,1fr))}.production-power-web strong{grid-column:1/-1}.production-location-balance{grid-template-columns:repeat(2,minmax(0,1fr))}.production-location-balance strong{grid-column:1/-1;grid-row:auto}.production-digital-stack > *{margin-inline:0!important}}
[data-productive-flow-engine], [data-productive-metro-filter], [data-productive-coastal-gate], [data-productive-port-ledger], [data-productive-material-flow], [data-productive-digital-route], [data-productive-network-resilience], [data-productive-flow-sketch] { border-color:#668291; background:linear-gradient(145deg,#eef6f7,#f5f5eb 66%,#fff2df); box-shadow:inset .35rem 0 #b5662e; }
.flow-causal-engine,.flow-coastal-gate,.flow-digital-route,.flow-resilience-map {display:grid;grid-template-columns:repeat(7,minmax(0,auto));gap:.4rem;align-items:center;padding:1rem}.flow-causal-engine span,.flow-causal-engine strong,.flow-coastal-gate span,.flow-coastal-gate strong,.flow-digital-route span,.flow-digital-route strong,.flow-resilience-map span,.flow-resilience-map strong{display:grid;min-height:5rem;place-content:center;padding:.55rem;border-radius:.7rem;background:#fff;color:#2d555d;text-align:center}.flow-causal-engine strong,.flow-coastal-gate strong,.flow-digital-route strong,.flow-resilience-map strong{background:#276875;color:#fff}.flow-causal-engine i,.flow-coastal-gate i,.flow-digital-route i,.flow-resilience-map i{color:#b5662e;font-style:normal;font-weight:900}.flow-causal-engine em,.flow-digital-route em,.flow-resilience-map em{grid-column:1/-1;padding:.5rem;border-radius:2rem;background:#efdcba;color:#674827;text-align:center;font-style:normal;font-weight:800}
.flow-function-filter,.flow-port-ledger,.flow-unit-dashboard,.flow-proof-sketch {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:1rem}.flow-function-filter > *,.flow-port-ledger > *,.flow-unit-dashboard > *,.flow-proof-sketch > *{display:grid;min-height:5rem;place-content:center;padding:.6rem;border:1px solid #b5cbd0;border-radius:.65rem;background:#fff;color:#2d555d;text-align:center;font-style:normal}.flow-function-filter strong,.flow-port-ledger strong,.flow-unit-dashboard strong,.flow-proof-sketch strong{background:#276875;color:#fff}.flow-function-filter em,.flow-port-ledger em,.flow-proof-sketch em{grid-column:1/-1;min-height:auto;background:#efdcba;color:#674827;font-weight:800}.flow-unit-dashboard strong{grid-column:1/-1;min-height:auto}.flow-proof-sketch em{background:#b5662e;color:#fff}
@media (max-width:640px){.flow-causal-engine,.flow-coastal-gate,.flow-digital-route,.flow-resilience-map{grid-template-columns:1fr}.flow-causal-engine i,.flow-coastal-gate i,.flow-digital-route i,.flow-resilience-map i{transform:rotate(90deg);justify-self:center}.flow-function-filter,.flow-port-ledger,.flow-unit-dashboard,.flow-proof-sketch{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-function-filter em,.flow-port-ledger em,.flow-unit-dashboard strong,.flow-proof-sketch em{grid-column:1/-1}}
.frprod-scope-board,.frprod-anchor-network,.frprod-eu-chain,.frprod-actor-contract,.frprod-recomposition-timeline{display:grid;grid-template-columns:repeat(9,minmax(0,auto));gap:.42rem;align-items:center;padding:1rem}.frprod-scope-board span,.frprod-scope-board strong,.frprod-anchor-network span,.frprod-anchor-network strong,.frprod-eu-chain span,.frprod-eu-chain strong,.frprod-actor-contract span,.frprod-actor-contract strong,.frprod-recomposition-timeline span,.frprod-recomposition-timeline strong{display:grid;min-height:4.8rem;place-content:center;padding:.55rem;border:1px solid #b5cbd0;border-radius:.7rem;background:#fff;color:#2d555d;text-align:center}.frprod-scope-board strong,.frprod-anchor-network strong,.frprod-eu-chain strong,.frprod-actor-contract strong,.frprod-recomposition-timeline strong{background:#276875;color:#fff}.frprod-scope-board i,.frprod-anchor-network i,.frprod-eu-chain i,.frprod-actor-contract i,.frprod-recomposition-timeline i{color:#b5662e;font-style:normal;font-weight:950}.frprod-scope-board em,.frprod-anchor-network em,.frprod-eu-chain em,.frprod-actor-contract em,.frprod-recomposition-timeline em,.frprod-eu-chain b{grid-column:1/-1;padding:.52rem;border-radius:2rem;background:#efdcba;color:#674827;text-align:center;font-style:normal;font-weight:850}.frprod-eu-chain{grid-template-columns:1fr auto 1.2fr auto 1fr}.frprod-eu-chain b{margin-top:-.1rem;background:#d8e9e9;color:#28535b}.frprod-profile-radar,.frprod-openness-ledger,.frprod-case-matrix{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;padding:1rem}.frprod-profile-radar>*,.frprod-openness-ledger>*,.frprod-case-matrix>*{display:grid;min-height:4.8rem;place-content:center;padding:.58rem;border:1px solid #b5cbd0;border-radius:.68rem;background:#fff;color:#2d555d;text-align:center;font-style:normal}.frprod-profile-radar strong,.frprod-openness-ledger strong,.frprod-case-matrix strong{background:#276875;color:#fff}.frprod-profile-radar em,.frprod-openness-ledger em{grid-column:1/-1;min-height:auto;background:#efdcba;color:#674827;font-weight:850}.frprod-case-matrix{grid-template-columns:repeat(5,minmax(0,1fr))}.frprod-case-matrix strong{grid-column:1/-1;min-height:auto;background:#b5662e}
@media (max-width:640px){.frprod-scope-board,.frprod-anchor-network,.frprod-eu-chain,.frprod-actor-contract,.frprod-recomposition-timeline{grid-template-columns:1fr}.frprod-scope-board i,.frprod-anchor-network i,.frprod-eu-chain i,.frprod-actor-contract i,.frprod-recomposition-timeline i{transform:rotate(90deg);justify-self:center}.frprod-profile-radar,.frprod-openness-ledger,.frprod-case-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.frprod-profile-radar em,.frprod-openness-ledger em,.frprod-case-matrix strong{grid-column:1/-1}}
.rural-definition-passport,.rural-fragmentation-profile,.rural-farm-matrix,.rural-case-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:1rem}.rural-definition-passport>*,.rural-fragmentation-profile>*,.rural-farm-matrix>*,.rural-case-grid>*{display:grid;min-height:4.8rem;place-content:center;padding:.58rem;border:1px solid #b8c9ab;border-radius:.7rem;background:#fff;color:#355842;text-align:center;font-style:normal}.rural-definition-passport strong,.rural-fragmentation-profile strong,.rural-farm-matrix strong,.rural-case-grid strong{background:#3f7655;color:#fff}.rural-definition-passport em,.rural-fragmentation-profile em,.rural-farm-matrix em{grid-column:1/-1;min-height:auto;background:#eee2b9;color:#64522c;font-weight:850}.rural-fragmentation-profile{grid-template-columns:repeat(6,minmax(0,1fr))}.rural-farm-matrix{grid-template-columns:repeat(4,minmax(0,1fr))}.rural-case-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rural-case-grid strong{grid-column:1/-1;min-height:auto;background:#9c623a}.rural-demography-ledger{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:1rem}.rural-demography-ledger>*{display:grid;min-height:4.8rem;place-content:center;padding:.58rem;border-radius:.68rem;background:#fff;color:#355842;text-align:center;font-style:normal}.rural-demography-ledger strong{background:#3f7655;color:#fff}.rural-demography-ledger em{grid-column:1/-1;min-height:auto;background:#eee2b9;color:#64522c;font-weight:850}.rural-urban-network,.rural-landscape-timeline,.rural-typology-audit{display:grid;grid-template-columns:repeat(9,minmax(0,auto));gap:.42rem;align-items:center;padding:1rem}.rural-urban-network{grid-template-columns:1fr auto 1fr auto 1fr}.rural-urban-network span,.rural-urban-network strong,.rural-landscape-timeline span,.rural-landscape-timeline strong,.rural-typology-audit span,.rural-typology-audit strong{display:grid;min-height:4.8rem;place-content:center;padding:.55rem;border:1px solid #b8c9ab;border-radius:.7rem;background:#fff;color:#355842;text-align:center}.rural-urban-network strong,.rural-landscape-timeline strong,.rural-typology-audit strong{background:#3f7655;color:#fff}.rural-urban-network i,.rural-landscape-timeline i,.rural-typology-audit i{color:#9c623a;font-style:normal;font-weight:950}.rural-urban-network em,.rural-landscape-timeline em,.rural-typology-audit em{grid-column:1/-1;padding:.52rem;border-radius:2rem;background:#eee2b9;color:#64522c;text-align:center;font-style:normal;font-weight:850}
@media (max-width:640px){.rural-definition-passport,.rural-fragmentation-profile,.rural-farm-matrix,.rural-case-grid,.rural-demography-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.rural-definition-passport em,.rural-fragmentation-profile em,.rural-farm-matrix em,.rural-case-grid strong,.rural-demography-ledger em{grid-column:1/-1}.rural-urban-network,.rural-landscape-timeline,.rural-typology-audit{grid-template-columns:1fr}.rural-urban-network i,.rural-landscape-timeline i,.rural-typology-audit i{transform:rotate(90deg);justify-self:center}}
.rural-conflict-inventory,.rural-conflict-passport,.rural-conflict-power,.rural-conflict-resolution{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;padding:1rem}.rural-conflict-inventory>*,.rural-conflict-passport>*,.rural-conflict-power>*,.rural-conflict-resolution>*{display:grid;min-height:4.7rem;place-content:center;padding:.56rem;border:1px solid #cbbda9;border-radius:.7rem;background:#fff;color:#3f5545;text-align:center;font-style:normal}.rural-conflict-inventory strong,.rural-conflict-passport strong,.rural-conflict-power strong,.rural-conflict-resolution strong{background:#875638;color:#fff}.rural-conflict-inventory em,.rural-conflict-power em,.rural-conflict-resolution em{grid-column:1/-1;min-height:auto;background:#eee2b9;color:#64522c;font-weight:850}.rural-conflict-overlap,.rural-conflict-scale,.rural-conflict-timeline,.rural-conflict-governance{display:grid;grid-template-columns:repeat(9,minmax(0,auto));gap:.42rem;align-items:center;padding:1rem}.rural-conflict-overlap{grid-template-columns:1fr auto 1.2fr auto 1fr}.rural-conflict-overlap span,.rural-conflict-overlap strong,.rural-conflict-scale span,.rural-conflict-scale strong,.rural-conflict-timeline span,.rural-conflict-timeline strong,.rural-conflict-governance span,.rural-conflict-governance strong{display:grid;min-height:4.7rem;place-content:center;padding:.55rem;border:1px solid #cbbda9;border-radius:.7rem;background:#fff;color:#3f5545;text-align:center}.rural-conflict-overlap strong,.rural-conflict-scale strong,.rural-conflict-timeline strong,.rural-conflict-governance strong{background:#875638;color:#fff}.rural-conflict-overlap i,.rural-conflict-scale i,.rural-conflict-timeline i,.rural-conflict-governance i{color:#3f7655;font-style:normal;font-weight:950}.rural-conflict-overlap em,.rural-conflict-scale em{grid-column:1/-1;padding:.52rem;border-radius:2rem;background:#eee2b9;color:#64522c;text-align:center;font-style:normal;font-weight:850}
@media (max-width:640px){.rural-conflict-inventory,.rural-conflict-passport,.rural-conflict-power,.rural-conflict-resolution{grid-template-columns:repeat(2,minmax(0,1fr))}.rural-conflict-inventory em,.rural-conflict-power em,.rural-conflict-resolution em{grid-column:1/-1}.rural-conflict-overlap,.rural-conflict-scale,.rural-conflict-timeline,.rural-conflict-governance{grid-template-columns:1fr}.rural-conflict-overlap i,.rural-conflict-scale i,.rural-conflict-timeline i,.rural-conflict-governance i{transform:rotate(90deg);justify-self:center}}
.fr-rural-profile{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;padding:1rem}.fr-rural-profile>*{display:grid;min-height:4.7rem;place-content:center;padding:.56rem;border:1px solid #b9c9b8;border-radius:.7rem;background:#fff;color:#355842;text-align:center;font-style:normal}.fr-rural-profile strong{background:#3f7655;color:#fff}.fr-rural-profile em{grid-column:1/-1;min-height:auto;background:#dce8d9;color:#355842;font-weight:850}.fr-rural-definition,.fr-rural-agriculture,.fr-rural-functions,.fr-rural-project,.fr-rural-policy,.fr-rural-cap,.fr-rural-evaluation{display:grid;grid-template-columns:repeat(9,minmax(0,auto));gap:.42rem;align-items:center;padding:1rem}.fr-rural-functions{grid-template-columns:1fr auto 1.2fr auto 1fr}.fr-rural-definition span,.fr-rural-definition strong,.fr-rural-agriculture span,.fr-rural-agriculture strong,.fr-rural-functions span,.fr-rural-functions strong,.fr-rural-project span,.fr-rural-project strong,.fr-rural-policy span,.fr-rural-policy strong,.fr-rural-cap span,.fr-rural-cap strong,.fr-rural-evaluation span,.fr-rural-evaluation strong{display:grid;min-height:4.7rem;place-content:center;padding:.55rem;border:1px solid #b9c9b8;border-radius:.7rem;background:#fff;color:#355842;text-align:center}.fr-rural-definition strong,.fr-rural-agriculture strong,.fr-rural-functions strong,.fr-rural-project strong,.fr-rural-policy strong,.fr-rural-cap strong,.fr-rural-evaluation strong{background:#3f7655;color:#fff}.fr-rural-definition i,.fr-rural-agriculture i,.fr-rural-functions i,.fr-rural-project i,.fr-rural-policy i,.fr-rural-cap i,.fr-rural-evaluation i{color:#9c623a;font-style:normal;font-weight:950}.fr-rural-definition em,.fr-rural-agriculture em,.fr-rural-functions em,.fr-rural-cap em,.fr-rural-evaluation em{grid-column:1/-1;padding:.52rem;border-radius:2rem;background:#eee2b9;color:#64522c;text-align:center;font-style:normal;font-weight:850}
@media (max-width:640px){.fr-rural-profile{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-rural-profile em{grid-column:1/-1}.fr-rural-definition,.fr-rural-agriculture,.fr-rural-functions,.fr-rural-project,.fr-rural-policy,.fr-rural-cap,.fr-rural-evaluation{grid-template-columns:1fr}.fr-rural-definition i,.fr-rural-agriculture i,.fr-rural-functions i,.fr-rural-project i,.fr-rural-policy i,.fr-rural-cap i,.fr-rural-evaluation i{transform:rotate(90deg);justify-self:center}}
.china-dev-passport,.china-dev-poverty,.china-dev-regions,.china-dev-balance{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;padding:1rem}.china-dev-poverty,.china-dev-regions{grid-template-columns:repeat(5,minmax(0,1fr))}.china-dev-passport>*,.china-dev-poverty>*,.china-dev-regions>*,.china-dev-balance>*{display:grid;min-height:4.7rem;place-content:center;padding:.56rem;border:1px solid #c7b99f;border-radius:.7rem;background:#fff;color:#4d473c;text-align:center;font-style:normal}.china-dev-passport strong,.china-dev-poverty strong,.china-dev-regions strong,.china-dev-balance strong{background:#a54b3f;color:#fff}.china-dev-passport em,.china-dev-poverty em,.china-dev-regions em,.china-dev-balance em{grid-column:1/-1;min-height:auto;background:#f0dfb0;color:#63512b;font-weight:850}.china-dev-chain,.china-dev-hukou,.china-dev-demography,.china-dev-rebalance{display:grid;grid-template-columns:repeat(9,minmax(0,auto));gap:.42rem;align-items:center;padding:1rem}.china-dev-chain span,.china-dev-chain strong,.china-dev-hukou span,.china-dev-hukou strong,.china-dev-demography span,.china-dev-demography strong,.china-dev-rebalance span,.china-dev-rebalance strong{display:grid;min-height:4.7rem;place-content:center;padding:.55rem;border:1px solid #c7b99f;border-radius:.7rem;background:#fff;color:#4d473c;text-align:center}.china-dev-chain strong,.china-dev-hukou strong,.china-dev-demography strong,.china-dev-rebalance strong{background:#a54b3f;color:#fff}.china-dev-chain i,.china-dev-hukou i,.china-dev-demography i,.china-dev-rebalance i{color:#ad7a22;font-style:normal;font-weight:950}.china-dev-hukou em{grid-column:1/-1;padding:.52rem;border-radius:2rem;background:#f0dfb0;color:#63512b;text-align:center;font-style:normal;font-weight:850}
@media (max-width:640px){.china-dev-passport,.china-dev-poverty,.china-dev-regions,.china-dev-balance{grid-template-columns:repeat(2,minmax(0,1fr))}.china-dev-passport em,.china-dev-poverty em,.china-dev-regions em,.china-dev-balance em{grid-column:1/-1}.china-dev-chain,.china-dev-hukou,.china-dev-demography,.china-dev-rebalance{grid-template-columns:1fr}.china-dev-chain i,.china-dev-hukou i,.china-dev-demography i,.china-dev-rebalance i{transform:rotate(90deg);justify-self:center}}
.mobility-passport-lab .mobility-passport { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mobility-passport-lab .mobility-passport > * { min-height: 4.8rem; border-style: dashed; }
.mobility-passport-lab .mobility-passport strong { border-style: solid; background: linear-gradient(135deg, #1e6171, #287d63); }
.mobility-route { display: grid; grid-template-columns: 1fr 1.2rem 1fr 1.2rem 1fr 1.2rem 1fr; align-items: center; gap: 0.2rem; margin-bottom: 0.85rem; padding: 1rem 0.65rem; border-radius: 1rem; background: linear-gradient(145deg, rgba(255,255,255,0.88), rgba(232,242,238,0.92)); box-shadow: inset 0 0 0 1px #bdd3cc; }
.mobility-route > span, .mobility-route > strong { display: grid; min-height: 5.4rem; place-content: center; padding: 0.55rem; border: 1px solid #afc9c0; border-radius: 50%; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.4; text-align: center; }
.mobility-route > strong { color: #fff; border-color: #ba6a29; background: #ba6a29; }
.mobility-route i { height: 0.18rem; background: repeating-linear-gradient(90deg, #287d63 0 0.45rem, transparent 0.45rem 0.7rem); }
.multilocal-places { display: grid; grid-template-columns: 1fr 0.8fr 1fr; gap: 0.55rem; align-items: stretch; margin-bottom: 0.85rem; }
.multilocal-places article { display: grid; gap: 0.45rem; min-height: 8rem; align-content: center; padding: 0.8rem; border: 1px solid #b9d0c8; border-radius: 1.1rem; background: #fff; text-align: center; }
.multilocal-places article > span { color: #1f6b5b; font-size: 0.72rem; font-weight: 850; }
.multilocal-places article > strong { color: var(--navy-950); font-size: 0.69rem; line-height: 1.48; }
.multilocal-loop { display: grid; place-content: center; gap: 0.25rem; color: #8a4c20; text-align: center; }
.multilocal-loop span { font-size: 0.66rem; font-weight: 800; }
.multilocal-loop b { font-size: 2.7rem; line-height: 1; }
.arrival-neighborhood { display: grid; grid-template: "land home route" auto "services work route" auto / 1fr 1fr 1.1fr; gap: 0.42rem; margin-bottom: 0.85rem; }
.arrival-neighborhood > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.65rem; border: 1px solid #c3d5cd; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.68rem; line-height: 1.43; text-align: center; }
.arrival-neighborhood > *:nth-child(1) { grid-area: land; }
.arrival-neighborhood > *:nth-child(2) { grid-area: home; }
.arrival-neighborhood > *:nth-child(3) { grid-area: route; color: #fff; border-color: #287d63; background: linear-gradient(180deg, #287d63, #1f6370); }
.arrival-neighborhood > *:nth-child(4) { grid-area: services; }
.arrival-neighborhood > *:nth-child(5) { grid-area: work; }
.rights-checkpoints { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; padding: 0.7rem; border: 1px solid #d4c6af; border-radius: 1rem; background: #fffdf8; }
.rights-checkpoints > * { position: relative; display: grid; min-height: 5.2rem; place-content: center; padding: 0.55rem; border: 1px solid #cbbd9f; border-radius: 0.65rem 0.65rem 1.2rem 1.2rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; text-align: center; }
.rights-checkpoints > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; width: 0.34rem; height: 0.16rem; background: #b66b2d; content: ""; }
.rights-checkpoints strong { color: #fff; border-color: #1f6970; background: #1f6970; }
.mobility-audit-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; counter-reset: audit; }
.mobility-audit-track > * { display: grid; min-height: 4.9rem; place-content: center; padding: 0.65rem; border: 1px solid #bcd0c9; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.42; text-align: center; }
.mobility-audit-track strong { color: #fff; border-color: #b96a29; background: #b96a29; }
.transition-control-lab { position: relative; overflow: hidden; border-color: #263f54; background: linear-gradient(145deg, #eef4f5, #fff9ed); box-shadow: 0 14px 34px rgba(22, 50, 68, 0.12); }
.transition-control-lab h3::before { display: inline-block; width: 0.7rem; height: 0.7rem; margin-right: 0.5rem; border: 2px solid #fff; border-radius: 50%; background: #2c8b70; box-shadow: 0 0 0 2px #2c8b70; content: ""; }
.transition-vector { display: grid; grid-template: "demography urban production" auto "energy urban environment" auto / 1fr 1.05fr 1fr; gap: 0.42rem; margin-bottom: 0.85rem; }
.transition-vector > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.65rem; border: 1px solid #b7ccd0; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.68rem; line-height: 1.43; text-align: center; }
.transition-vector > *:nth-child(1) { grid-area: demography; }
.transition-vector > *:nth-child(2) { grid-area: production; }
.transition-vector > *:nth-child(3) { grid-area: urban; color: #fff; border-color: #1d6170; background: linear-gradient(180deg, #1f6f72, #1e4e66); }
.transition-vector > *:nth-child(4) { grid-area: energy; }
.transition-vector > *:nth-child(5) { grid-area: environment; }
.development-prism { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.36rem; margin-bottom: 0.85rem; padding: 0.85rem; clip-path: polygon(3% 0, 97% 0, 100% 50%, 97% 100%, 3% 100%, 0 50%); background: #193e55; }
.development-prism > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.55rem; border-radius: 0.65rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; line-height: 1.4; text-align: center; }
.development-prism strong { color: #fff; background: #b86a2b; }
.demographic-window { display: grid; grid-template-columns: 0.8fr 1.2fr 1fr 0.8fr; align-items: end; gap: 0.4rem; margin-bottom: 0.85rem; padding: 1rem 0.8rem 0.75rem; border-bottom: 0.35rem solid #1f6870; border-radius: 1rem 1rem 0.35rem 0.35rem; background: linear-gradient(#f9fcfc, #e3efed); }
.demographic-window > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.55rem; border: 1px solid #b6cec8; border-radius: 2rem 2rem 0.55rem 0.55rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; line-height: 1.42; text-align: center; }
.demographic-window strong { min-height: 8rem; color: #fff; border-color: #b76a2c; background: linear-gradient(#d9863b, #a95524); }
.structural-value-chain, .energy-service-circuit { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; }
.structural-value-chain > *, .energy-service-circuit > * { position: relative; display: grid; min-height: 5.4rem; place-content: center; padding: 0.6rem; border: 1px solid #bacdca; border-radius: 0.72rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; line-height: 1.42; text-align: center; }
.structural-value-chain > *:not(:last-child)::after, .energy-service-circuit > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; width: 0.34rem; height: 0.16rem; background: #b86a2b; content: ""; }
.structural-value-chain strong, .energy-service-circuit strong { color: #fff; border-color: #1f6870; background: #1f6870; }
.energy-service-circuit { padding: 0.7rem; border: 1px solid #b8ced0; border-radius: 1rem; background: repeating-linear-gradient(0deg, rgba(30, 90, 104, 0.04) 0 1px, transparent 1px 1.2rem), #fafdfe; }
.transition-portfolio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #b8ccc9; border-radius: 1rem; background: #f8fbfa; }
.transition-portfolio > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.6rem; border: 1px solid #c1d2cf; border-radius: 0.75rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.42; text-align: center; }
.transition-portfolio strong { color: #fff; border-color: #b96a2a; background: #b96a2a; }
.real-number-lab { position: relative; overflow: hidden; border-color: #c4c0df; background: linear-gradient(145deg, #f8f7ff, #f0f7fb); }
.number-set-nesting { position: relative; min-height: 15rem; margin-bottom: 0.85rem; }
.number-set-nesting > * { position: absolute; display: grid; align-content: start; justify-content: center; padding-top: 0.4rem; border: 2px solid #6c67a8; border-radius: 1.2rem; background: rgba(255,255,255,0.5); color: #302d67; font-size: 0.72rem; text-align: center; }
.number-set-nesting > *:nth-child(1) { inset: 0; }
.number-set-nesting > *:nth-child(2) { inset: 2.1rem 8%; border-color: #377d91; }
.number-set-nesting > *:nth-child(3) { inset: 4.2rem 17%; border-color: #31826c; }
.number-set-nesting > *:nth-child(4) { inset: 6.3rem 27%; border-color: #c47a2f; }
.number-set-nesting > *:nth-child(5) { inset: 8.4rem 38% 0; place-content: center; color: #fff; border-color: #9b4e36; background: #9b4e36; }
.proof-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.proof-track > * { position: relative; display: grid; min-height: 5.8rem; place-content: center; padding: 0.65rem; border: 1px solid #c9c6df; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.43; text-align: center; }
.proof-track > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.4rem; z-index: 1; width: 0.4rem; height: 0.16rem; background: #726dae; content: ""; }
.proof-track strong { color: #fff; border-color: #a24f39; background: #a24f39; }
.interval-registers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.interval-registers > * { display: grid; min-height: 5.4rem; place-content: center; padding: 0.65rem; border: 1px solid #c1cadb; border-radius: 0.75rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.45; text-align: center; }
.interval-registers strong { color: #fff; border-color: #397486; background: #397486; font-size: 0.82rem; }
.interval-registers > *:last-child { color: #a04f34; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1rem; font-weight: 850; }
.interval-operation-lines { display: grid; gap: 0.38rem; margin-bottom: 0.85rem; padding: 0.8rem; border: 1px solid #c9c7df; border-radius: 1rem; background: #fff; }
.interval-operation-lines > * { padding: 0.75rem; border-radius: 0.65rem; background: #f0f3fa; color: #2f4160; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; text-align: center; }
.interval-operation-lines strong { color: #fff; background: #6a65a4; }
.distance-ruler { position: relative; display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: 0.4rem; align-items: center; margin-bottom: 0.85rem; padding: 1.3rem 0.8rem; border-radius: 1rem; background: linear-gradient(#f9fbfd 0 49%, #6b67a7 49% 51%, #f9fbfd 51%); }
.distance-ruler > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.6rem; border: 1px solid #c8c6df; border-radius: 50%; background: #fff; color: var(--navy-950); font-size: 0.68rem; text-align: center; }
.distance-ruler strong { color: #fff; border-color: #a95537; background: #a95537; }
.bracketing-sweep { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #c5c5de; border-radius: 1rem; background: repeating-linear-gradient(90deg, rgba(80,83,145,.07) 0 1px, transparent 1px 2rem), #fff; }
.bracketing-sweep > * { display: grid; min-height: 5.2rem; place-content: center; padding: 0.6rem; border: 1px solid #d0cee2; border-radius: 0.75rem; background: rgba(255,255,255,0.94); color: var(--navy-950); font-size: 0.67rem; line-height: 1.43; text-align: center; }
.bracketing-sweep strong { color: #fff; border-color: #397486; background: #397486; }
.arithmetic-lab { position: relative; overflow: hidden; border-color: #b9ccca; background: repeating-linear-gradient(0deg, rgba(31, 104, 112, 0.055) 0 1px, transparent 1px 1.55rem), repeating-linear-gradient(90deg, rgba(31, 104, 112, 0.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f8fcfb, #fff9ef); }
.arithmetic-lab h3::before { display: inline-grid; width: 1.55rem; height: 1.55rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: 0.4rem; background: #246e70; content: "k"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.75rem; vertical-align: middle; }
.arithmetic-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.42rem; align-items: center; margin-bottom: 0.85rem; padding: 1rem; border: 1px solid #abc6c3; border-radius: 1rem; background: rgba(255,255,255,0.94); }
.arithmetic-equation > * { display: grid; min-height: 4.4rem; place-content: center; padding: 0.6rem; color: var(--navy-950); border-radius: 0.75rem; background: #e7f1ef; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(0.82rem, 2vw, 1.08rem); text-align: center; }
.arithmetic-equation strong, .arithmetic-equation b { min-height: auto; padding: 0.2rem; background: transparent; }
.arithmetic-equation > span:last-child { color: #fff; background: #b7662b; }
.euclidean-strip, .prime-gates, .parity-forms, .proof-workbench, .fraction-audit { display: grid; gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #b8ccc9; border-radius: 1rem; background: rgba(255,255,255,0.92); }
.euclidean-strip { grid-template-columns: 0.7fr 1.6fr 0.7fr; }
.prime-gates { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.parity-forms { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.proof-workbench, .fraction-audit { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.euclidean-strip > *, .prime-gates > *, .parity-forms > *, .proof-workbench > *, .fraction-audit > * { display: grid; min-height: 4.9rem; place-content: center; padding: 0.6rem; color: var(--navy-950); border: 1px solid #c3d2d0; border-radius: 0.72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.68rem; line-height: 1.42; text-align: center; }
.euclidean-strip strong, .prime-gates strong, .parity-forms strong, .proof-workbench strong, .fraction-audit strong { color: #fff; border-color: #246e70; background: #246e70; }
.euclidean-strip > span:last-child, .prime-gates > span:last-child, .fraction-audit > span:last-child { color: #8d411f; border-color: #dcad87; background: #fff4e9; font-weight: 850; }
.proof-workbench > * { position: relative; }
.proof-workbench > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.42rem; z-index: 1; width: 0.42rem; height: 0.14rem; background: #b7662b; content: ""; }
.sequence-studio { position: relative; overflow: hidden; border-color: #97b7c5; background: radial-gradient(circle at 88% 8%, rgba(230,189,103,.22), transparent 25%), repeating-linear-gradient(0deg, rgba(30,83,104,.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f6fbfd, #f8f6ee); }
.sequence-studio h3::before { display: inline-grid; width: 1.8rem; height: 1.8rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: 50%; background: #28687c; content: "uₙ"; font-family: "STIX Two Math", "Cambria Math", serif; font-size: 0.72rem; vertical-align: middle; }
.sequence-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); }
.sequence-case-panels { margin-top: 0.85rem; }
.sequence-case-panel[hidden] { display: none; }
.sequence-case-panel { padding: 0.85rem; border: 1px solid #abc5cf; border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: inset 0 0 0 1px rgba(255,255,255,.7); }
.sequence-formula-ledger { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.2rem, 1fr)); gap: 0.42rem; }
.sequence-formula-ledger > span { position: relative; display: grid; min-height: 6.1rem; align-content: center; gap: 0.42rem; padding: 0.68rem; color: #173f50; border: 1px solid #bfd0d7; border-radius: 0.78rem; background: #f7fbfc; text-align: center; }
.sequence-formula-ledger > span:not(:last-child)::after { position: absolute; top: 50%; right: -0.44rem; z-index: 2; width: 0.44rem; height: 0.16rem; background: #c87535; content: ""; }
.sequence-formula-ledger small { color: #61737b; font-size: 0.67rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.sequence-formula-ledger strong { display: grid; min-width: 0; place-items: center; color: inherit; font-family: "STIX Two Math", "Cambria Math", "Times New Roman", serif; font-size: clamp(.82rem, 1.7vw, 1.08rem); line-height: 1.35; }
.sequence-formula-ledger .is-result { color: #fff; border-color: #28687c; background: linear-gradient(145deg, #2e7484, #235467); }
.sequence-formula-ledger .is-result small { color: #dceef2; }
.sequence-formula-ledger .math-expression { max-width: 100%; color: inherit; font-size: 1.14em; }
.sequence-case-panel > p { margin: 0.8rem 0 0; color: #3f5a66; font-size: 0.86rem; line-height: 1.55; }
.quadratic-studio { position: relative; overflow: hidden; border-color: #b2a8d2; background: radial-gradient(circle at 90% 10%, rgba(210,120,67,.18), transparent 26%), repeating-linear-gradient(0deg, rgba(83,68,126,.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #faf8ff, #fff8ef); }
.quadratic-studio h3::before { display: inline-grid; width: 1.8rem; height: 1.8rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: .5rem; background: #5d4f88; content: "x²"; font-family: "STIX Two Math", "Cambria Math", serif; font-size: 0.76rem; vertical-align: middle; transform: rotate(-4deg); }
.quadratic-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); border-color: #d0c7e5; background: rgba(255,255,255,.86); }
.quadratic-studio .segmented-control button.is-active { color: #fff; background: #5d4f88; }
.quadratic-studio .sequence-case-panel { border-color: #c7bedc; }
.quadratic-studio .sequence-formula-ledger > span { color: #372f5a; border-color: #d0c8e0; background: #fbfaff; }
.quadratic-studio .sequence-formula-ledger > span:not(:last-child)::after { background: #d16f3f; }
.quadratic-studio .sequence-formula-ledger .is-result { color: #fff; border-color: #5d4f88; background: linear-gradient(145deg, #6c5b9b, #493d70); }
.derivative-studio { position: relative; overflow: hidden; border-color: #9ec7bb; background: radial-gradient(circle at 88% 8%, rgba(221,105,86,.16), transparent 24%), repeating-linear-gradient(0deg, rgba(29,104,91,.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f5fcfa, #fff7f4); }
.derivative-studio h3::before { display: inline-grid; width: 1.9rem; height: 1.9rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: 50% 50% 50% .35rem; background: #237565; content: "f′"; font-family: "STIX Two Math", "Cambria Math", serif; font-size: 0.8rem; font-style: italic; vertical-align: middle; }
.derivative-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); border-color: #b8d8d0; background: rgba(255,255,255,.88); }
.derivative-studio .segmented-control button.is-active { color: #fff; background: #237565; }
.derivative-studio .sequence-case-panel { border-color: #b5d5cd; }
.derivative-studio .sequence-formula-ledger > span { color: #174b43; border-color: #c2dcd6; background: #f7fcfb; }
.derivative-studio .sequence-formula-ledger > span:not(:last-child)::after { background: #d56c52; }
.derivative-studio .sequence-formula-ledger .is-result { color: #fff; border-color: #237565; background: linear-gradient(145deg, #2d8675, #1d5e55); }
.variation-studio { position: relative; overflow: hidden; border-color: #d0b4df; background: radial-gradient(circle at 88% 10%, rgba(240,169,76,.18), transparent 25%), repeating-linear-gradient(90deg, rgba(93,65,130,.038) 0 1px, transparent 1px 2rem), linear-gradient(145deg, #fbf8ff, #fff9ef); }
.variation-studio h3::before { display: inline-grid; width: 1.9rem; height: 1.9rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: .45rem 50% 50% 50%; background: #70508c; content: "↗"; font-size: 1rem; vertical-align: middle; }
.variation-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); border-color: #d9c8e4; background: rgba(255,255,255,.9); }
.variation-studio .segmented-control button.is-active { color: #fff; background: #70508c; }
.variation-studio .sequence-case-panel { border-color: #d9c8e3; }
.variation-studio .sequence-formula-ledger > span { color: #4b3763; border-color: #e0d3e8; background: #fcfaff; }
.variation-studio .sequence-formula-ledger > span:not(:last-child)::after { background: #dd8b38; }
.variation-studio .sequence-formula-ledger .is-result { color: #fff; border-color: #70508c; background: linear-gradient(145deg, #8060a0, #5d4177); }
.exponential-studio { position: relative; overflow: hidden; color: #eef9f7; border-color: #2b6268; background: radial-gradient(circle at 88% 9%, rgba(245,179,70,.2), transparent 25%), repeating-radial-gradient(circle at 0 100%, rgba(255,255,255,.035) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #164b55, #123747); box-shadow: 0 15px 34px rgba(16,53,65,.2); }
.exponential-studio h3, .exponential-studio .economy-lab__eyebrow { color: #f5fbfa; }
.exponential-studio h3::before { display: inline-grid; width: 1.9rem; height: 1.9rem; margin-right: 0.5rem; place-content: center; color: #173f48; border-radius: 50%; background: #f3bd56; content: "eˣ"; font-family: "STIX Two Math", "Cambria Math", serif; font-size: .78rem; vertical-align: middle; }
.exponential-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); border-color: rgba(229,244,241,.22); background: rgba(7,40,49,.68); }
.exponential-studio .segmented-control button { color: #e7f4f1; }
.exponential-studio .segmented-control button.is-active { color: #173f48; background: #f3bd56; }
.exponential-studio .sequence-case-panel { border-color: rgba(218,239,235,.26); background: rgba(8,41,49,.38); }
.exponential-studio .sequence-case-panel > p { color: #e2f0ee; }
.exponential-studio .sequence-formula-ledger > span { color: #dff2ee; border-color: rgba(221,241,237,.23); background: rgba(245,252,250,.08); }
.exponential-studio .sequence-formula-ledger > span:not(:last-child)::after { background: #f3bd56; }
.exponential-studio .sequence-formula-ledger .is-result { color: #173f48; border-color: #f3bd56; background: linear-gradient(145deg, #ffd375, #eeb24a); }
.trig-studio { position: relative; overflow: hidden; border-color: #9fc8dc; background: radial-gradient(circle at 90% 10%, rgba(240,126,80,.18), transparent 24%), linear-gradient(145deg, #f5fbff, #fff8f0); }
.trig-studio::before, .trig-studio::after { position: absolute; right: -3.4rem; top: -3.4rem; width: 10rem; height: 10rem; border: 1px solid rgba(47,120,156,.16); border-radius: 50%; content: ""; pointer-events: none; }
.trig-studio::after { right: .9rem; top: 1.55rem; width: 1.15rem; height: 1.15rem; border: 0; background: #e86e4a; box-shadow: 0 0 0 .4rem rgba(232,110,74,.13); }
.trig-orbit { position: absolute; right: 1.05rem; top: 1.05rem; width: 4.8rem; height: 4.8rem; opacity: .22; border: 1px solid #337da0; border-radius: 50%; pointer-events: none; }
.trig-orbit::before, .trig-orbit::after { position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: #337da0; content: ""; }
.trig-orbit::after { transform: rotate(90deg); }
.trig-orbit i { position: absolute; left: 50%; top: 50%; width: 42%; height: 2px; background: #e86e4a; transform: rotate(-35deg); transform-origin: left center; }
.trig-orbit b { position: absolute; left: calc(50% + 1.55rem); top: .85rem; width: .52rem; height: .52rem; border-radius: 50%; background: #e86e4a; }
.trig-studio h3::before { display: inline-grid; width: 1.9rem; height: 1.9rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: 50%; background: #337da0; content: "π"; font-family: "STIX Two Math", "Cambria Math", serif; font-size: .9rem; vertical-align: middle; }
.trig-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); border-color: #bbd7e4; background: rgba(255,255,255,.9); }
.trig-studio .segmented-control button.is-active { color: #fff; background: #337da0; }
.trig-studio .sequence-case-panel { border-color: #b9d6e3; }
.trig-studio .sequence-formula-ledger > span { color: #234d61; border-color: #c8dfe9; background: #f7fcff; }
.trig-studio .sequence-formula-ledger > span:not(:last-child)::after { background: #e86e4a; }
.trig-studio .sequence-formula-ledger .is-result { color: #fff; border-color: #337da0; background: linear-gradient(145deg, #438cac, #296b8c); }
.scalar-studio { position: relative; overflow: hidden; border-color: #a8bdcb; background: repeating-linear-gradient(0deg, rgba(44,84,109,.055) 0 1px, transparent 1px 1.55rem), repeating-linear-gradient(90deg, rgba(44,84,109,.04) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f5f9fb, #fff9f1); }
.scalar-studio::after { position: absolute; right: 1.35rem; top: 1.2rem; width: 4.4rem; height: 2px; background: #d97745; box-shadow: 2.65rem -.45rem 0 -.25rem #d97745; content: ""; opacity: .28; transform: rotate(-25deg); transform-origin: right center; }
.scalar-studio h3::before { display: inline-grid; width: 1.9rem; height: 1.9rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: .35rem; background: #355f78; content: "u·v"; font-family: "STIX Two Math", "Cambria Math", serif; font-size: .67rem; vertical-align: middle; }
.scalar-studio .segmented-control { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); border-color: #c4d2db; background: rgba(255,255,255,.9); }
.scalar-studio .segmented-control button.is-active { color: #fff; background: #355f78; }
.scalar-studio .sequence-case-panel { border-color: #bfd0da; }
.scalar-studio .sequence-formula-ledger > span { color: #294b60; border-color: #cad8e0; background: #f8fbfd; }
.scalar-studio .sequence-formula-ledger > span:not(:last-child)::after { background: #d97745; }
.scalar-studio .sequence-formula-ledger .is-result { color: #fff; border-color: #355f78; background: linear-gradient(145deg, #47758e, #2d5268); }
.chemistry-lab { border-color: #9ebfb8; background: radial-gradient(circle at 88% 17%, rgba(228,164,87,.13) 0 3.2rem, transparent 3.25rem), repeating-linear-gradient(0deg, rgba(38,103,97,.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f3faf8, #fffaf1); }
.chemistry-lab::after { width: 4.8rem; height: 4.8rem; border: 1px solid rgba(38,103,97,.2); border-radius: 50%; background: radial-gradient(circle at 38% 38%, #fff 0 .32rem, #d78242 .34rem .48rem, transparent .5rem); box-shadow: none; opacity: .85; transform: none; }
.chemistry-lab h3::before { content: "mol"; background: #246b64; }
.chemistry-lab .segmented-control button.is-active { background: #246b64; }
.chemistry-lab .sequence-formula-ledger > span { color: #245b56; border-color: #bfd5d0; background: #f7fcfb; }
.chemistry-lab .sequence-formula-ledger > span:not(:last-child)::after { background: #d78242; }
.chemistry-lab .sequence-formula-ledger .is-result { border-color: #246b64; background: linear-gradient(145deg, #318078, #205d57); }
.organic-ir-spectrum { display: grid; gap: 0.7rem; }
.organic-ir-spectrum svg { width: 100%; min-height: 13rem; color: #173f50; border: 1px solid #c7d9d5; border-radius: 0.85rem; background: linear-gradient(180deg, #fbfefd, #f1f8f6); }
.organic-ir-axis { fill: none; stroke: #49646d; stroke-width: 3; }
.organic-ir-grid { fill: none; stroke: #dce8e5; stroke-width: 1.2; stroke-dasharray: 5 7; }
.organic-ir-trace { fill: none; stroke: #b85736; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.organic-ir-labels { fill: #516a72; font-family: "Open Sans", sans-serif; font-size: 17px; font-weight: 700; }
.organic-ir-spectrum > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.45rem 1rem; padding: 0 0.25rem; }
.organic-ir-spectrum > div strong { color: #205d57; font-size: 1rem; }
.organic-ir-spectrum > div span { color: #536b72; font-size: 0.88rem; }
.synthesis-visual-title { display: block; margin: 0.75rem 0 0.2rem; color: #205d57; font-size: 1rem; }
.reflux-apparatus, .tlc-plate { overflow: hidden; border: 1px solid #c3d8d2; border-radius: 1rem; background: linear-gradient(180deg, #fbfefd, #eef7f4); }
.reflux-apparatus svg, .tlc-plate svg { display: block; width: 100%; min-height: 18rem; }
.reflux-stand, .reflux-clamp { fill: none; stroke: #60747a; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.reflux-clamp { stroke-width: 6; }
.reflux-glass, .reflux-jacket { fill: rgba(222,242,241,.3); stroke: #4f7980; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.reflux-water { fill: none; stroke: #6f9ead; stroke-width: 10; stroke-linecap: round; }
.reflux-water-arrow { fill: none; stroke: #287ea1; stroke-width: 5; }
.reflux-water-head { fill: #287ea1; }
.reflux-matter-head { fill: #c35d35; }
.reflux-vapor, .reflux-liquid { fill: none; stroke: #d47b3e; stroke-width: 7; stroke-linecap: round; stroke-dasharray: 11 9; opacity: .55; }
.reflux-liquid { stroke: #b85035; }
.reflux-mixture { fill: rgba(225,139,69,.42); stroke: #b96734; stroke-width: 4; }
.reflux-heater { fill: #315d5a; stroke: #244a48; stroke-width: 4; }
.reflux-stone { fill: #6e5b52; }
.reflux-labels { fill: #415d64; font-family: "Open Sans", sans-serif; font-size: 18px; font-weight: 750; }
.reflux-apparatus--matter .reflux-vapor, .reflux-apparatus--matter .reflux-liquid { stroke-width: 11; opacity: 1; }
.reflux-apparatus--water .reflux-water-arrow, .reflux-apparatus--water .reflux-water { stroke: #087ead; stroke-width: 9; }
.reflux-apparatus--safety .reflux-heater, .reflux-apparatus--safety .reflux-stone, .reflux-apparatus--safety .reflux-clamp { filter: drop-shadow(0 0 5px rgba(210,99,54,.75)); }
.reflux-apparatus--meaning .reflux-mixture { animation: reflux-mixture-pulse 2.4s ease-in-out infinite; }
.tlc-plate { padding: 0.45rem; }
.tlc-frame { fill: #fffdf5; stroke: #8aa39f; stroke-width: 4; }
.tlc-front { fill: none; stroke: #4b7781; stroke-width: 4; stroke-dasharray: 10 8; }
.tlc-baseline { fill: none; stroke: #86684c; stroke-width: 4; }
.tlc-reference-spots circle, .tlc-plate circle { stroke: rgba(26,55,58,.45); stroke-width: 3; }
.tlc-plate .reactant, .tlc-legend .reactant { fill: #d97842; background: #d97842; }
.tlc-plate .product, .tlc-legend .product { fill: #246b64; background: #246b64; }
.tlc-plate .unknown, .tlc-legend .unknown { fill: #795d9a; background: #795d9a; }
.tlc-labels { fill: #435f63; font-family: "Open Sans", sans-serif; font-size: 20px; font-weight: 750; }
.tlc-legend { display: flex; flex-wrap: wrap; gap: 0.55rem 1rem; padding: 0.35rem 0.65rem 0.6rem; color: #4c6568; font-size: 0.8rem; font-weight: 700; }
.tlc-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
.tlc-legend i { width: 0.72rem; height: 0.72rem; border-radius: 50%; }
@keyframes reflux-mixture-pulse { 50% { opacity: .62; transform: translateY(-2px); } }
.bond-energy-ledger { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.7rem; align-items: stretch; }
.bond-energy-ledger article { display: grid; gap: 0.45rem; padding: 0.8rem; border: 1px solid #c2d7d0; border-radius: 0.85rem; background: #f8fcfb; }
.bond-energy-ledger article span { color: #5f7375; font-size: 0.72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bond-energy-ledger article div { display: flex; height: 7.5rem; align-items: end; justify-content: center; border-radius: 0.55rem; background: linear-gradient(180deg, rgba(36,107,100,.04), rgba(36,107,100,.1)); }
.bond-energy-ledger article i { width: 55%; height: var(--energy); border-radius: 0.5rem 0.5rem 0.15rem 0.15rem; background: linear-gradient(180deg, #dc8a43, #bd5e36); box-shadow: 0 8px 18px rgba(177,82,48,.18); }
.bond-energy-ledger article:nth-of-type(2) i { background: linear-gradient(180deg, #43a096, #246b64); box-shadow: 0 8px 18px rgba(31,101,94,.18); }
.bond-energy-ledger article strong { color: #294f50; font-size: 0.8rem; line-height: 1.4; }
.bond-energy-ledger > b, .bond-energy-ledger > em { align-self: center; color: #bc6438; font-size: 1.8rem; font-style: normal; }
.bond-energy-ledger > em { display: none; }
.bond-energy-ledger output { grid-column: 1 / -1; padding: 0.75rem; color: #fff; border-radius: 0.7rem; background: linear-gradient(145deg, #318078, #205d57); font-size: 1rem; font-weight: 850; text-align: center; }
.calorimeter-apparatus { overflow: hidden; border: 1px solid #c3d8d2; border-radius: 1rem; background: linear-gradient(180deg, #fbfefd, #eef7f4); }
.calorimeter-apparatus svg { display: block; width: 100%; min-height: 18rem; }
.calorimeter-stand, .calorimeter-clamp { fill: none; stroke: #61757a; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.calorimeter-clamp { stroke-width: 6; }
.calorimeter-cup { fill: rgba(238,243,239,.84); stroke: #4f7476; stroke-width: 6; }
.calorimeter-water { fill: rgba(73,156,184,.38); stroke: #43899d; stroke-width: 3; }
.calorimeter-thermometer { fill: none; stroke: #b94e39; stroke-width: 8; stroke-linecap: round; }
.calorimeter-burner { fill: #315d5a; stroke: #244a48; stroke-width: 4; }
.calorimeter-flame { fill: #ee9344; stroke: #c45d37; stroke-width: 4; }
.calorimeter-heat, .calorimeter-loss { fill: none; stroke: #db763d; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 9 8; opacity: .65; }
.calorimeter-loss { stroke: #a86876; }
.calorimeter-arrow-head { fill: #c45d37; }
.calorimeter-labels { fill: #405c62; font-family: "Open Sans", sans-serif; font-size: 19px; font-weight: 750; }
.calorimeter-apparatus--measure .calorimeter-thermometer, .calorimeter-apparatus--measure .calorimeter-burner { filter: drop-shadow(0 0 5px rgba(211,107,57,.58)); }
.calorimeter-apparatus--water .calorimeter-water { fill: rgba(53,157,194,.66); }
.calorimeter-apparatus--loss .calorimeter-loss { stroke-width: 10; opacity: 1; }
.calorimeter-apparatus--safe .calorimeter-stand, .calorimeter-apparatus--safe .calorimeter-clamp { stroke: #246b64; }
.field-physics-lab { border-color: #a9bfd4; background: radial-gradient(circle at 88% 16%, rgba(95,130,190,.12) 0 3.2rem, transparent 3.25rem), repeating-linear-gradient(0deg, rgba(47,86,134,.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f4f8fc, #fffaf3); }
.field-physics-lab::after { width: 4.8rem; height: 4.8rem; border: 1px solid rgba(58,93,145,.2); border-radius: 50%; background: radial-gradient(circle, #355f91 0 .25rem, transparent .28rem), conic-gradient(from 0deg, transparent 0 12%, rgba(53,95,145,.3) 12% 14%, transparent 14% 37%, rgba(53,95,145,.3) 37% 39%, transparent 39% 62%, rgba(53,95,145,.3) 62% 64%, transparent 64% 87%, rgba(53,95,145,.3) 87% 89%, transparent 89%); box-shadow: none; opacity: .75; transform: none; }
.field-physics-lab h3::before { content: "E⃗"; background: #355f91; }
.field-physics-lab .segmented-control button.is-active { background: #355f91; }
.influence-bench { display: grid; grid-template-columns: minmax(6rem, .75fr) auto minmax(0, 1.5fr); gap: 0.8rem; align-items: center; padding: 1rem; }
.influence-rod { display: grid; min-height: 8rem; place-content: center; padding: 0.8rem; color: #fff; border-radius: 1rem; background: linear-gradient(145deg, #516e95, #2f4f79); font-size: 1.2rem; font-weight: 900; letter-spacing: .18em; text-align: center; }
.influence-bench > i { color: #d2743d; font-size: 2rem; font-style: normal; }
.influence-bench > div { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.55rem; align-items: center; min-height: 8rem; padding: 0.8rem; border: 2px solid #7895b1; border-radius: 1rem; background: #f7fbff; }
.influence-bench > div span { color: #b34f39; font-size: 1rem; font-weight: 900; text-align: center; }
.influence-bench > div b { color: #40566f; font-size: 0.72rem; writing-mode: vertical-rl; }
.field-map { overflow: hidden; border: 1px solid #c0d0df; border-radius: 1rem; background: radial-gradient(circle at center, #fff 0, #f2f7fb 72%); }
.field-map svg { display: block; width: 100%; min-height: 19rem; }
.field-line { fill: none; stroke: #4775a1; stroke-width: 5; stroke-linecap: round; opacity: .86; }
.field-map marker path { fill: #4775a1; }
.field-source { fill: #fff; stroke: #355f91; stroke-width: 8; }
.field-source--positive { stroke: #c45f3d; }
.field-source--negative { stroke: #355f91; }
.field-map text { fill: #294e73; font-family: "Open Sans", sans-serif; font-size: 38px; font-weight: 900; }
.field-probe { fill: #d47b3e; stroke: #fff; stroke-width: 3; }
.field-vector { fill: none; stroke: #d47b3e; stroke-width: 7; stroke-linecap: round; }
.field-vector-label { font-size: 17px !important; }
.field-map--negative .field-line, .field-map--gravity .field-line { stroke: #526b86; }
.field-map--negative marker path, .field-map--gravity marker path { fill: #526b86; }
.field-map--gravity .field-source { fill: #566d83; stroke: #364c60; }
.field-map--gravity text { fill: #fff; }
.fluid-physics-lab { min-width: 0; border-color: #91c4ca; background: radial-gradient(circle at 88% 15%, rgba(53,145,157,.13) 0 3.2rem, transparent 3.25rem), repeating-linear-gradient(0deg, rgba(34,112,126,.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f1fafb, #fffaf2); }
.fluid-physics-lab::after { width: 4.8rem; height: 4.8rem; border: 1px solid rgba(33,111,129,.2); border-radius: 50%; background: linear-gradient(180deg, transparent 0 34%, rgba(56,151,169,.2) 34% 100%), radial-gradient(circle at 52% 36%, #367e91 0 .25rem, transparent .28rem), radial-gradient(circle at 32% 65%, #367e91 0 .2rem, transparent .23rem), radial-gradient(circle at 70% 74%, #367e91 0 .22rem, transparent .25rem); box-shadow: none; opacity: .8; transform: none; }
.fluid-physics-lab h3::before { content: "P"; background: #26788a; }
.fluid-physics-lab .segmented-control button.is-active { background: #26788a; }
.fluid-piston-bench, .fluid-column-map { min-width: 0; overflow: hidden; border: 1px solid #b5d2d6; border-radius: 1rem; background: linear-gradient(180deg, #fbfefe, #edf7f8); }
.fluid-piston-bench svg, .fluid-column-map svg { display: block; width: 100%; min-height: 18rem; }
.fluid-cylinder { fill: #fff; stroke: #587f89; stroke-width: 8; }
.fluid-gas { fill: rgba(73,169,183,.28); stroke: rgba(47,127,143,.6); stroke-width: 3; }
.fluid-piston, .fluid-handle { stroke: #314f5a; stroke-width: 12; stroke-linecap: round; }
.fluid-handle { stroke-width: 9; }
.fluid-sensor { fill: #fffaf0; stroke: #d17a42; stroke-width: 7; }
.fluid-tube { fill: none; stroke: #587f89; stroke-width: 10; }
.fluid-particle { fill: #398fa0; opacity: .8; }
.fluid-piston-bench text { fill: #264d59; font-family: "Open Sans", sans-serif; font-size: 29px; font-weight: 900; text-anchor: middle; }
.fluid-piston-bench .fluid-sensor-value { font-size: 17px; }
.fluid-measure-strip { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; padding: .75rem; border-top: 1px solid #c9dee1; background: rgba(255,255,255,.88); }
.fluid-measure-strip span { display: grid; min-width: 0; gap: .16rem; min-height: 4.3rem; place-content: center; padding: .55rem; border-radius: .72rem; background: #e9f5f6; text-align: center; }
.fluid-measure-strip small { color: #57727b; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fluid-measure-strip strong { min-width: 0; color: #1e6472; font-size: .88rem; overflow-wrap: anywhere; }
.fluid-vessel { fill: none; stroke: #476b76; stroke-width: 10; stroke-linecap: round; stroke-linejoin: round; }
.fluid-water { fill: rgba(66,161,181,.36); stroke: none; }
.fluid-level { stroke: #337f91; stroke-width: 5; }
.fluid-z-axis { stroke: #d1753f; stroke-width: 6; }
.fluid-column-map marker path { fill: #d1753f; }
.fluid-point { fill: #d1753f; stroke: #fff; stroke-width: 4; }
.fluid-point--one { fill: #2d7f90; }
.fluid-level-guide { stroke: #557782; stroke-width: 3; stroke-dasharray: 10 8; }
.fluid-column-map text { fill: #254e5a; font-family: "Open Sans", sans-serif; font-size: 21px; font-weight: 850; }
.motion-physics-lab { min-width: 0; border-color: #aeb8d5; background: radial-gradient(circle at 88% 15%, rgba(94,91,170,.12) 0 3.2rem, transparent 3.25rem), repeating-linear-gradient(0deg, rgba(65,71,132,.045) 0 1px, transparent 1px 1.55rem), repeating-linear-gradient(90deg, rgba(65,71,132,.035) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f6f6fc, #fffaf2); }
.motion-physics-lab::after { width: 4.8rem; height: 4.8rem; border: 1px solid rgba(67,72,135,.2); border-radius: 50%; background: radial-gradient(circle at 20% 70%, #515a9a 0 .22rem, transparent .25rem), radial-gradient(circle at 45% 54%, #515a9a 0 .22rem, transparent .25rem), radial-gradient(circle at 70% 31%, #d1753f 0 .24rem, transparent .27rem); box-shadow: none; opacity: .8; transform: none; }
.motion-physics-lab h3::before { content: "Δv"; background: #515a9a; }
.motion-physics-lab .segmented-control button.is-active { background: #515a9a; }
.motion-chrono-board, .motion-vector-board { min-width: 0; overflow: hidden; border: 1px solid #c5cae0; border-radius: 1rem; background: linear-gradient(180deg, #fff, #f1f2fa); }
.motion-chrono-board svg, .motion-vector-board svg { display: block; width: 100%; min-height: 18rem; }
.motion-position { fill: #fff; stroke: #515a9a; stroke-width: 6; }
.motion-index, .motion-chrono-board text { fill: #34416b; font-family: "Open Sans", sans-serif; font-size: 18px; font-weight: 800; }
.motion-scale { stroke: #d1753f; stroke-width: 7; stroke-linecap: round; }
.motion-velocity { fill: none; stroke: #2d8292; stroke-width: 7; stroke-linecap: round; }
.motion-velocity--1 { stroke: #d1753f; }
.motion-chrono-board marker path { fill: #2d8292; }
.motion-origin { fill: #243b62; }
.motion-vector-a, .motion-vector-b, .motion-vector-delta { fill: none; stroke-width: 9; stroke-linecap: round; }
.motion-vector-a { stroke: #2d8292; }
.motion-vector-b { stroke: #515a9a; }
.motion-vector-delta { stroke: #d1753f; stroke-dasharray: 12 8; }
.motion-vector-board marker[id^="motion-a"] path { fill: #2d8292; }
.motion-vector-board marker[id^="motion-b"] path { fill: #515a9a; }
.motion-vector-board marker[id^="motion-d"] path { fill: #d1753f; }
.motion-vector-board text { fill: #2b3c64; font-family: "Open Sans", sans-serif; font-size: 22px; font-weight: 850; }
.motion-vector-board .motion-delta-label { fill: #a9522b; }
.motion-vector-board .motion-vector-equation { font-family: "STIX Two Math", "Cambria Math", serif; font-size: 25px; }
.electric-physics-lab { min-width: 0; border-color: #9fbeb4; background: radial-gradient(circle at 88% 14%, rgba(245,180,65,.18) 0 3.4rem, transparent 3.45rem), repeating-linear-gradient(0deg, rgba(31,104,91,.045) 0 1px, transparent 1px 1.5rem), linear-gradient(145deg, #f2faf7, #fffaf1); }
.electric-physics-lab::after { width: 5rem; height: 5rem; border: 1px solid rgba(35,112,97,.2); border-radius: 50%; background: radial-gradient(circle at 28% 50%, #237061 0 .35rem, transparent .38rem), radial-gradient(circle at 70% 50%, #d27735 0 .35rem, transparent .38rem), linear-gradient(90deg, transparent 47%, rgba(35,112,97,.35) 48% 52%, transparent 53%); box-shadow: none; opacity: .72; transform: none; }
.electric-physics-lab h3::before { content: "P"; background: #237061; }
.electric-physics-lab .segmented-control button.is-active { background: #237061; }
.electric-source-board, .electric-efficiency-board { min-width: 0; overflow: hidden; border: 1px solid #b8d3ca; border-radius: 1rem; background: linear-gradient(180deg, #fff, #f0f8f5); }
.electric-source-board svg { display: block; width: 100%; min-height: 19rem; }
.electric-axis { stroke: #294f5a; stroke-width: 5; stroke-linecap: round; }
.electric-source-line { stroke: #237061; stroke-width: 7; stroke-linecap: round; }
.electric-guide { stroke: #d27735; stroke-width: 3; stroke-dasharray: 10 8; }
.electric-operating-point { fill: #d27735; stroke: #fff; stroke-width: 5; }
.electric-source-board text { fill: #294f5a; font-family: "Open Sans", sans-serif; font-size: 20px; font-weight: 850; }
.electric-source-board .electric-point-label { fill: #9a4d24; font-size: 17px; }
.electric-power-ledger { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; padding: .75rem; border-top: 1px solid #c5ddd5; background: rgba(255,255,255,.9); }
.electric-power-ledger span { display: grid; min-width: 0; min-height: 4.2rem; place-content: center; gap: .2rem; padding: .55rem; border-radius: .72rem; background: #e7f4ef; text-align: center; }
.electric-power-ledger small { color: #56736b; font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.electric-power-ledger strong { color: #1e6457; font-size: 1rem; }
.electric-efficiency-board { display: grid; gap: 1rem; padding: 1rem; }
.electric-flow-labels { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: .75rem; text-align: center; }
.electric-flow-labels > span { min-width: 0; padding: .8rem; color: #294f5a; border: 1px solid #bfd8cf; border-radius: .75rem; background: #fff; font-weight: 850; overflow-wrap: anywhere; }
.electric-flow-labels > strong { padding: .85rem; color: #fff; border-radius: 999px; background: #237061; }
.electric-flow-labels small { color: #687d78; font-weight: 700; }
.electric-efficiency-meter { display: flex; min-width: 0; min-height: 4rem; overflow: hidden; border: 1px solid #a9c9be; border-radius: .8rem; background: #f5e2d4; }
.electric-efficiency-meter span, .electric-efficiency-meter i { display: grid; min-width: 0; place-content: center; padding: .55rem; font-size: .78rem; font-style: normal; font-weight: 900; text-align: center; overflow-wrap: anywhere; }
.electric-efficiency-meter span { color: #fff; background: #237061; }
.electric-efficiency-meter i { color: #8a461f; background: #f1cfb8; }
.mechanical-physics-lab { min-width: 0; border-color: #b8a9c9; background: radial-gradient(circle at 88% 14%, rgba(207,112,73,.15) 0 3.4rem, transparent 3.45rem), repeating-linear-gradient(0deg, rgba(78,57,109,.045) 0 1px, transparent 1px 1.5rem), linear-gradient(145deg, #f7f3fa, #fff9f0); }
.mechanical-physics-lab::after { width: 5rem; height: 5rem; border: 1px solid rgba(78,57,109,.2); border-radius: 50%; background: radial-gradient(circle at 50% 24%, #5f4a82 0 .34rem, transparent .38rem), radial-gradient(circle at 50% 76%, #d07149 0 .34rem, transparent .38rem), linear-gradient(180deg, transparent 47%, rgba(95,74,130,.32) 48% 52%, transparent 53%); box-shadow: none; opacity: .72; transform: none; }
.mechanical-physics-lab h3::before { content: "W"; background: #5f4a82; }
.mechanical-physics-lab .segmented-control button.is-active { background: #5f4a82; }
.mechanical-work-board, .mechanical-energy-board { min-width: 0; overflow: hidden; border: 1px solid #cec2da; border-radius: 1rem; background: linear-gradient(180deg, #fff, #f5f1f8); }
.mechanical-work-board svg { display: block; width: 100%; min-height: 18rem; }
.mechanical-origin { fill: #243b62; }
.mechanical-displacement, .mechanical-force { fill: none; stroke-width: 9; stroke-linecap: round; }
.mechanical-displacement { stroke: #2d8292; }
.mechanical-force { stroke: #d07149; }
.mechanical-work-board marker[id^="mechanical-displacement"] path { fill: #2d8292; }
.mechanical-work-board marker[id^="mechanical-force"] path { fill: #d07149; }
.mechanical-work-board text { fill: #3c3155; font-family: "Open Sans", sans-serif; font-size: 22px; font-weight: 850; }
.mechanical-work-board .mechanical-angle-label { fill: #a14d2b; }
.mechanical-work-board .mechanical-work-result { font-family: "STIX Two Math", "Cambria Math", serif; font-size: 28px; }
.mechanical-energy-board { display: grid; gap: .8rem; padding: 1rem; }
.mechanical-energy-total { display: flex; min-width: 0; min-height: 7rem; overflow: hidden; border: 1px solid #c6b9d2; border-radius: .85rem; background: #f3d7c7; }
.mechanical-energy-total span, .mechanical-energy-total i, .mechanical-energy-total b { display: grid; min-width: 0; place-content: center; padding: .55rem; font-size: .76rem; font-style: normal; font-weight: 900; line-height: 1.25; text-align: center; overflow: hidden; }
.mechanical-energy-total span { color: #fff; background: #2d8292; }
.mechanical-energy-total i { color: #fff; background: #5f4a82; }
.mechanical-energy-total b { color: #743a21; background: #efc4a9; }
.mechanical-energy-reading { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
.mechanical-energy-reading span { display: grid; gap: .15rem; place-content: center; min-height: 4.5rem; padding: .6rem; border-radius: .72rem; background: #eee8f3; text-align: center; }
.mechanical-energy-reading small { color: #71657f; font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.mechanical-energy-reading strong { color: #503d70; font-size: 1rem; }
.wave-physics-lab { min-width: 0; border-color: #9bbfcf; background: radial-gradient(circle at 88% 14%, rgba(44,138,166,.14) 0 3.4rem, transparent 3.45rem), repeating-linear-gradient(0deg, rgba(35,92,119,.045) 0 1px, transparent 1px 1.5rem), linear-gradient(145deg, #f1f8fb, #fffaf1); }
.wave-physics-lab::after { width: 5rem; height: 5rem; border: 1px solid rgba(35,92,119,.2); border-radius: 50%; background: repeating-radial-gradient(ellipse at center, transparent 0 .55rem, rgba(44,138,166,.28) .58rem .67rem, transparent .7rem 1.1rem); box-shadow: none; opacity: .78; transform: none; }
.wave-physics-lab h3::before { content: "λ"; background: #2c7f9a; }
.wave-physics-lab .segmented-control button.is-active { background: #2c7f9a; }
.wave-pulse-board, .wave-period-board { min-width: 0; overflow: hidden; border: 1px solid #b7d0da; border-radius: 1rem; background: linear-gradient(180deg, #fff, #edf6f9); }
.wave-pulse-board svg, .wave-period-board svg { display: block; width: 100%; min-height: 18rem; }
.wave-equilibrium, .wave-axis { stroke: #6b8793; stroke-width: 3; }
.wave-direction { fill: none; stroke: #d07149; stroke-width: 7; stroke-linecap: round; }
.wave-pulse-board marker path { fill: #d07149; }
.wave-medium-point { fill: #2c7f9a; stroke: #fff; stroke-width: 3; }
.wave-medium-point--marked { fill: #d07149; r: 12px; }
.wave-pulse-board text, .wave-period-board text { fill: #294f64; font-family: "Open Sans", sans-serif; font-size: 21px; font-weight: 850; }
.wave-pulse-board .wave-particle-label { fill: #a14d2b; }
.wave-sine { fill: none; stroke: #2c7f9a; stroke-width: 7; stroke-linecap: round; }
.wave-measure, .wave-measure-tick { stroke: #d07149; stroke-width: 5; }
.wave-period-board .wave-measure-label { fill: #a14d2b; font-size: 24px; }
@media (max-width: 560px) {
  .influence-bench { grid-template-columns: 1fr; }
  .influence-bench > i { transform: rotate(90deg); text-align: center; }
  .fluid-piston-bench svg, .fluid-column-map svg { min-height: 13rem; }
  .fluid-measure-strip { grid-template-columns: 1fr; }
  .fluid-measure-strip span { min-height: 3.4rem; }
  .motion-chrono-board svg, .motion-vector-board svg { min-height: 13rem; }
  .electric-source-board svg { min-height: 13rem; }
  .electric-power-ledger, .electric-flow-labels { grid-template-columns: 1fr; }
  .electric-flow-labels > strong { justify-self: center; }
  .electric-efficiency-meter { min-height: 5rem; }
  .electric-efficiency-meter span, .electric-efficiency-meter i { font-size: .67rem; padding: .4rem; }
  .mechanical-work-board svg { min-height: 13rem; }
  .mechanical-energy-total { min-height: 8rem; }
  .mechanical-energy-total span, .mechanical-energy-total i, .mechanical-energy-total b { padding: .3rem; font-size: .64rem; }
  .mechanical-energy-reading { grid-template-columns: 1fr; }
  .wave-pulse-board svg, .wave-period-board svg { min-height: 13rem; }
}
@media (max-width: 560px) {
  .bond-energy-ledger { grid-template-columns: 1fr; }
  .bond-energy-ledger > b { display: none; }
}
@media (min-width: 700px) {
  [data-chemistry-cohesion-equation] .sequence-formula-ledger { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-chemistry-cohesion-equation] .sequence-formula-ledger .is-result { grid-column: 1 / -1; min-height: 4.75rem; }
  [data-chemistry-cohesion-equation] .sequence-formula-ledger > span:nth-child(3)::after { display: none; }
}
@media (prefers-reduced-motion: reduce) { .reflux-apparatus--meaning .reflux-mixture { animation: none; } }
.algebra-studio { position: relative; overflow: hidden; color: #eefaf5; border-color: #244f50; background: radial-gradient(circle at 88% 12%, rgba(220,170,74,.14), transparent 24%), repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 1.6rem), linear-gradient(145deg, #173f40, #102f37); box-shadow: 0 15px 34px rgba(15, 47, 52, 0.2); }
.algebra-studio h3, .algebra-studio .economy-lab__result { color: #f8fbf8; }
.algebra-studio h3::before { display: inline-grid; width: 1.65rem; height: 1.65rem; margin-right: 0.48rem; place-content: center; color: #173f40; border-radius: 50%; background: #e6bd67; content: "x"; font-family: Georgia, serif; font-size: 0.9rem; font-style: italic; vertical-align: middle; }
.algebra-studio .segmented-control { border-color: rgba(232,245,241,.18); background: rgba(7,30,34,.45); }
.algebra-studio .segmented-control button { color: #dcebe7; }
.algebra-studio .segmented-control button.is-active { color: #173f40; background: #e6bd67; }
.algebra-studio .impact-grid article { border-color: rgba(222,240,235,.2); background: rgba(255,255,255,.94); }
.domain-passport, .expression-switchyard, .identity-bench, .formula-machine, .comparison-scale, .solution-audit-line { display: grid; gap: 0.42rem; margin-bottom: 0.9rem; padding: 0.78rem; border: 1px solid rgba(223,241,235,.25); border-radius: 1rem; background: rgba(5,26,30,.55); }
.domain-passport, .expression-switchyard, .identity-bench, .formula-machine, .comparison-scale { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.solution-audit-line { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.domain-passport > *, .expression-switchyard > *, .identity-bench > *, .formula-machine > *, .comparison-scale > *, .solution-audit-line > * { position: relative; display: grid; min-height: 5.5rem; place-content: center; padding: 0.65rem; color: #173f40; border: 1px solid #d8e2dc; border-radius: 0.72rem; background: #f7f4e8; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.68rem; line-height: 1.43; text-align: center; }
.domain-passport > *:not(:last-child)::after, .expression-switchyard > *:not(:last-child)::after, .identity-bench > *:not(:last-child)::after, .formula-machine > *:not(:last-child)::after, .comparison-scale > *:not(:last-child)::after, .solution-audit-line > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.43rem; z-index: 1; width: 0.43rem; height: 0.15rem; background: #e6bd67; content: ""; }
.domain-passport strong, .expression-switchyard strong, .identity-bench strong, .formula-machine strong, .comparison-scale strong, .solution-audit-line strong { color: #fff; border-color: #b65f32; background: #b65f32; }
.domain-passport > span:nth-child(2), .formula-machine > span:nth-child(3), .solution-audit-line > span:nth-child(2) { color: #ffe9af; border-color: #476d68; background: #315b58; }
.identity-bench > span:nth-child(2) { color: #153c3d; background: #e7d18f; }
.comparison-scale > span:nth-child(2) { border-style: dashed; }
.solution-audit-line > span:last-child { color: #16604e; border-color: #9ac4b4; background: #effaf5; font-weight: 850; }
.geometry-workshop { position: relative; overflow: hidden; border-color: #9db6cb; background: repeating-linear-gradient(0deg, rgba(45,94,132,.075) 0 1px, transparent 1px 1.35rem), repeating-linear-gradient(90deg, rgba(45,94,132,.06) 0 1px, transparent 1px 1.35rem), linear-gradient(145deg, #f8fbfe, #eef5f8); box-shadow: 0 14px 32px rgba(31, 74, 105, 0.14); }
.geometry-workshop h3::before { display: inline-block; width: 0; height: 0; margin-right: 0.55rem; border-right: 0.7rem solid transparent; border-bottom: 1.2rem solid #d97832; border-left: 0.7rem solid transparent; content: ""; vertical-align: -0.1rem; }
.geometry-evidence-board, .geometry-method-compass, .projection-stage, .coordinate-console, .measure-mosaic, .geometry-proof-chain { display: grid; gap: 0.42rem; margin-bottom: 0.88rem; padding: 0.76rem; border: 1px solid #acc2d2; border-radius: 1rem; background: rgba(255,255,255,.84); }
.geometry-evidence-board, .projection-stage, .coordinate-console, .measure-mosaic, .geometry-proof-chain { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.geometry-method-compass { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.geometry-evidence-board > *, .geometry-method-compass > *, .projection-stage > *, .coordinate-console > *, .measure-mosaic > *, .geometry-proof-chain > * { position: relative; display: grid; min-height: 5.3rem; place-content: center; padding: 0.62rem; color: var(--navy-950); border: 1px solid #bfd0dc; border-radius: 0.68rem; background: #fff; font-size: 0.67rem; line-height: 1.43; text-align: center; }
.geometry-evidence-board > *:not(:last-child)::after, .geometry-method-compass > *:not(:last-child)::after, .projection-stage > *:not(:last-child)::after, .coordinate-console > *:not(:last-child)::after, .measure-mosaic > *:not(:last-child)::after, .geometry-proof-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.43rem; z-index: 1; width: 0.43rem; height: 1px; background: #d97832; content: ""; }
.geometry-evidence-board strong, .geometry-method-compass strong, .projection-stage strong, .coordinate-console strong, .measure-mosaic strong, .geometry-proof-chain strong { color: #fff; border-color: #2d6d8a; background: #2d6d8a; }
.geometry-evidence-board > span:last-child, .coordinate-console > span:last-child, .measure-mosaic > span:last-child, .geometry-proof-chain > span:last-child { color: #8b431f; border-style: dashed; border-color: #dca67e; background: #fff8ee; font-weight: 800; }
.projection-stage { padding-top: 1.1rem; background: linear-gradient(168deg, transparent 0 49%, rgba(45,109,138,.14) 49.3% 50%, transparent 50.3%), rgba(255,255,255,.86); }
.coordinate-console { background: repeating-linear-gradient(0deg, rgba(45,109,138,.08) 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, rgba(45,109,138,.08) 0 1px, transparent 1px 1rem), #fff; }
.vector-field-lab { position: relative; overflow: hidden; color: #eafaff; border-color: #315a79; background: radial-gradient(circle at 84% 14%, rgba(83,224,216,.2), transparent 26%), repeating-linear-gradient(0deg, rgba(127,203,221,.08) 0 1px, transparent 1px 1.3rem), repeating-linear-gradient(90deg, rgba(127,203,221,.08) 0 1px, transparent 1px 1.3rem), linear-gradient(145deg, #071c31, #123b55); box-shadow: 0 16px 34px rgba(4,27,47,.22); }
.vector-field-lab h3 { color: #fff; }
.vector-field-lab h3::before { display: inline-block; width: 1.25rem; height: .18rem; margin-right: .48rem; background: #5ce1d6; box-shadow: .9rem 0 0 -.02rem #5ce1d6; content: ""; transform: rotate(-28deg); vertical-align: .22rem; }
.vector-field-lab h3::after { display: inline-block; width: 0; height: 0; margin-left: -.12rem; border-top: .3rem solid transparent; border-bottom: .3rem solid transparent; border-left: .48rem solid #5ce1d6; content: ""; transform: rotate(-28deg); vertical-align: .07rem; }
.vector-field-lab .impact-grid article { border-color: rgba(130,220,225,.24); background: rgba(255,255,255,.96); }
.vector-translation-board, .vector-route-chain, .vector-coordinate-grid, .vector-scalar-dial, .vector-metric-panel, .vector-determinant-board { display: grid; gap: .44rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid rgba(115,213,219,.28); border-radius: 1rem; background: rgba(2,18,33,.52); }
.vector-translation-board, .vector-coordinate-grid, .vector-scalar-dial, .vector-metric-panel, .vector-determinant-board { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vector-route-chain { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vector-translation-board > *, .vector-route-chain > *, .vector-coordinate-grid > *, .vector-scalar-dial > *, .vector-metric-panel > *, .vector-determinant-board > * { position: relative; display: grid; min-height: 5.4rem; place-content: center; padding: .64rem; color: #123247; border: 1px solid #b6d8df; border-radius: .7rem; background: #f4fbfb; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; line-height: 1.44; text-align: center; }
.vector-translation-board > *:not(:last-child)::after, .vector-route-chain > *:not(:last-child)::after, .vector-coordinate-grid > *:not(:last-child)::after, .vector-scalar-dial > *:not(:last-child)::after, .vector-metric-panel > *:not(:last-child)::after, .vector-determinant-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -.44rem; z-index: 1; width: .46rem; height: .16rem; border-radius: 1rem; background: #ed9c56; content: ""; }
.vector-translation-board > *:not(:last-child)::before, .vector-route-chain > *:not(:last-child)::before, .vector-coordinate-grid > *:not(:last-child)::before, .vector-scalar-dial > *:not(:last-child)::before, .vector-metric-panel > *:not(:last-child)::before, .vector-determinant-board > *:not(:last-child)::before { position: absolute; top: calc(50% - .18rem); right: -.45rem; z-index: 2; width: 0; height: 0; border-top: .25rem solid transparent; border-bottom: .25rem solid transparent; border-left: .35rem solid #ed9c56; content: ""; }
.vector-translation-board strong, .vector-route-chain strong, .vector-coordinate-grid strong, .vector-scalar-dial strong, .vector-metric-panel strong, .vector-determinant-board strong { color: #062d38; border-color: #57d8cf; background: #77eee1; }
.vector-coordinate-grid { background: repeating-linear-gradient(0deg, rgba(93,221,216,.12) 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, rgba(93,221,216,.12) 0 1px, transparent 1px 1rem), rgba(2,18,33,.62); }
.vector-determinant-board strong { color: #fff; border-color: #ca6b58; background: #aa4c46; }
.analytic-line-lab { position: relative; overflow: hidden; border-color: #a8bdd0; background: repeating-linear-gradient(0deg, rgba(37,91,137,.075) 0 1px, transparent 1px 1.15rem), repeating-linear-gradient(90deg, rgba(37,91,137,.075) 0 1px, transparent 1px 1.15rem), linear-gradient(145deg, #fcfdff, #edf4fa); box-shadow: 0 15px 33px rgba(25,63,97,.15); }
.analytic-line-lab::before { position: absolute; top: 1.7rem; right: -3rem; width: 12rem; height: .24rem; border-radius: 1rem; background: linear-gradient(90deg, #d3564d, #e9974f); box-shadow: 0 0 0 .3rem rgba(211,86,77,.08); content: ""; transform: rotate(-27deg); }
.analytic-line-lab h3 { position: relative; z-index: 1; }
.analytic-line-lab h3::before { display: inline-grid; width: 1.35rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: 50%; background: #265f8d; content: "d"; font-family: Georgia, serif; font-size: .76rem; font-style: italic; vertical-align: .08rem; }
.line-equation-scope, .line-duality-board, .line-form-switch, .line-construction-chain, .line-graph-board, .line-position-board { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b9cad9; border-radius: 1rem; background: rgba(255,255,255,.88); }
.line-equation-scope > *, .line-duality-board > *, .line-form-switch > *, .line-construction-chain > *, .line-graph-board > *, .line-position-board > * { position: relative; display: grid; min-height: 5.35rem; place-content: center; padding: .64rem; color: #18384f; border: 1px solid #c4d2dd; border-radius: .7rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .67rem; line-height: 1.44; text-align: center; }
.line-equation-scope > *:not(:last-child)::after, .line-duality-board > *:not(:last-child)::after, .line-form-switch > *:not(:last-child)::after, .line-construction-chain > *:not(:last-child)::after, .line-graph-board > *:not(:last-child)::after, .line-position-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: 1px; background: #d3564d; content: ""; }
.line-equation-scope strong, .line-duality-board strong, .line-form-switch strong, .line-construction-chain strong, .line-graph-board strong, .line-position-board strong { color: #fff; border-color: #265f8d; background: #265f8d; }
.line-equation-scope > span:nth-child(4), .line-construction-chain > span:nth-child(4), .line-position-board > span:nth-child(4) { color: #7b321f; border-style: dashed; border-color: #dfaa86; background: #fff7ee; }
.line-duality-board { background: linear-gradient(90deg, rgba(211,86,77,.055) 0 49.8%, rgba(38,95,141,.07) 50.2% 100%), rgba(255,255,255,.9); }
.line-graph-board { background: repeating-linear-gradient(0deg, rgba(38,95,141,.09) 0 1px, transparent 1px .9rem), repeating-linear-gradient(90deg, rgba(38,95,141,.09) 0 1px, transparent 1px .9rem), #fff; }
.analytic-line-lab .impact-grid article { border-color: #c1d0dc; background: rgba(255,255,255,.97); }
.function-atlas-lab { position: relative; overflow: hidden; border-color: #baa9d0; background: radial-gradient(circle at 88% 12%, rgba(228,144,92,.18), transparent 25%), repeating-linear-gradient(0deg, rgba(88,67,129,.055) 0 1px, transparent 1px 1.2rem), linear-gradient(145deg, #fcfaff, #f2edf8); box-shadow: 0 15px 34px rgba(67,45,104,.15); }
.function-atlas-lab::before { position: absolute; top: -4.2rem; right: -1rem; width: 10rem; height: 10rem; border: .28rem solid rgba(106,70,151,.18); border-radius: 50%; content: ""; }
.function-atlas-lab h3 { position: relative; z-index: 1; }
.function-atlas-lab h3::before { display: inline-grid; min-width: 1.55rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .42rem; background: linear-gradient(135deg, #67459a, #a24d78); content: "ƒ"; font-family: Georgia, serif; font-size: .88rem; font-style: italic; vertical-align: .08rem; }
.function-passport-deck, .function-shape-switch, .square-root-mirror, .reciprocal-branch-board, .power-order-track, .reference-solution-router { position: relative; z-index: 1; display: grid; gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #cbbddd; border-radius: 1rem; background: rgba(255,255,255,.9); }
.function-passport-deck { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.function-shape-switch, .square-root-mirror, .reciprocal-branch-board, .power-order-track, .reference-solution-router { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.function-passport-deck > *, .function-shape-switch > *, .square-root-mirror > *, .reciprocal-branch-board > *, .power-order-track > *, .reference-solution-router > * { position: relative; display: grid; min-height: 5.4rem; place-content: center; padding: .64rem; color: #392e53; border: 1px solid #d5cbe0; border-radius: .72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.function-passport-deck > *:not(:last-child)::after, .function-shape-switch > *:not(:last-child)::after, .square-root-mirror > *:not(:last-child)::after, .reciprocal-branch-board > *:not(:last-child)::after, .power-order-track > *:not(:last-child)::after, .reference-solution-router > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #df8759; content: ""; }
.function-passport-deck strong, .function-shape-switch strong, .square-root-mirror strong, .reciprocal-branch-board strong, .power-order-track strong, .reference-solution-router strong { color: #fff; border-color: #67459a; background: #67459a; }
.function-passport-deck > span:nth-child(2), .square-root-mirror > span:last-child, .reciprocal-branch-board > span:nth-child(2), .reference-solution-router > span:nth-child(2) { color: #6b3925; border-style: dashed; border-color: #dfaa87; background: #fff7ed; }
.function-shape-switch { background: linear-gradient(150deg, transparent 0 48%, rgba(162,77,120,.13) 48.4% 49.4%, transparent 49.8%), rgba(255,255,255,.94); }
.square-root-mirror { background: linear-gradient(90deg, rgba(103,69,154,.07) 0 49.6%, rgba(223,135,89,.08) 50.4% 100%), #fff; }
.reciprocal-branch-board { background: radial-gradient(circle at 20% 75%, rgba(103,69,154,.09), transparent 21%), radial-gradient(circle at 80% 25%, rgba(162,77,120,.09), transparent 21%), #fff; }
.power-order-track { background: linear-gradient(90deg, rgba(103,69,154,.05), rgba(223,135,89,.09)), #fff; }
.function-atlas-lab .impact-grid article { border-color: #d0c4dc; background: rgba(255,255,255,.97); }
.representation-studio { position: relative; overflow: hidden; border-color: #9fc7bd; background: linear-gradient(135deg, rgba(40,129,111,.08) 25%, transparent 25%) 0 0/1.4rem 1.4rem, linear-gradient(315deg, rgba(40,129,111,.055) 25%, transparent 25%) 0 0/1.4rem 1.4rem, linear-gradient(145deg, #f8fffc, #edf7f3); box-shadow: 0 15px 34px rgba(24,91,78,.14); }
.representation-studio h3::before { display: inline-grid; min-width: 1.65rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .38rem; background: #287f6d; content: "x↦y"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .57rem; vertical-align: .08rem; }
.representation-contract, .representation-reading-route, .curve-membership-probe, .representation-translation-chain, .domain-intersection-board, .function-method-router { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b4d2ca; border-radius: 1rem; background: rgba(255,255,255,.92); }
.representation-contract > *, .representation-reading-route > *, .curve-membership-probe > *, .representation-translation-chain > *, .domain-intersection-board > *, .function-method-router > * { position: relative; display: grid; min-height: 5.35rem; place-content: center; padding: .64rem; color: #21483f; border: 1px solid #c4d9d3; border-radius: .7rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.representation-contract > *:not(:last-child)::after, .representation-reading-route > *:not(:last-child)::after, .curve-membership-probe > *:not(:last-child)::after, .representation-translation-chain > *:not(:last-child)::after, .domain-intersection-board > *:not(:last-child)::after, .function-method-router > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #d58a4b; content: ""; }
.representation-contract strong, .representation-reading-route strong, .curve-membership-probe strong, .representation-translation-chain strong, .domain-intersection-board strong, .function-method-router strong { color: #fff; border-color: #287f6d; background: #287f6d; }
.representation-contract > span:nth-child(2), .curve-membership-probe > span:nth-child(2), .domain-intersection-board > span:nth-child(2), .domain-intersection-board > span:nth-child(3) { color: #744321; border-style: dashed; border-color: #dfb184; background: #fff8ed; }
.representation-reading-route { background: linear-gradient(90deg, rgba(40,127,109,.07), rgba(213,138,75,.08)), #fff; }
.curve-membership-probe { background: repeating-linear-gradient(0deg, rgba(40,127,109,.07) 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, rgba(40,127,109,.07) 0 1px, transparent 1px 1rem), #fff; }
.representation-translation-chain > span:nth-child(2), .representation-translation-chain > span:nth-child(3), .representation-translation-chain > span:nth-child(4) { background: #f2faf7; }
.representation-studio .impact-grid article { border-color: #bcd5ce; background: rgba(255,255,255,.97); }
.variation-observatory { position: relative; overflow: hidden; border-color: #9bbbd3; background: repeating-linear-gradient(0deg, rgba(42,91,126,.055) 0 1px, transparent 1px 1.25rem), repeating-linear-gradient(90deg, rgba(42,91,126,.045) 0 1px, transparent 1px 1.25rem), linear-gradient(145deg, #f7fbff, #eef5fa); box-shadow: 0 15px 34px rgba(35,77,107,.14); }
.variation-observatory::after { position: absolute; top: -3.4rem; right: -2rem; width: 11rem; height: 7rem; border-bottom: .34rem solid rgba(217,126,62,.25); border-left: .34rem solid transparent; border-radius: 0 0 0 70%; content: ""; transform: rotate(-12deg); pointer-events: none; }
.variation-observatory h3 { position: relative; z-index: 1; }
.variation-observatory h3::before { display: inline-grid; min-width: 2rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .38rem; background: linear-gradient(135deg, #2a5b7e, #d97e3e); content: "↘↗"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; vertical-align: .08rem; }
.order-pair-board, .variation-table-workbench, .extremum-interval-board, .affine-variation-gauge, .variation-proof-chain, .window-proof-audit { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b8ccdc; border-radius: 1rem; background: rgba(255,255,255,.93); }
.order-pair-board > *, .variation-table-workbench > *, .extremum-interval-board > *, .affine-variation-gauge > *, .variation-proof-chain > *, .window-proof-audit > * { position: relative; display: grid; min-height: 5.45rem; place-content: center; padding: .64rem; color: #25465e; border: 1px solid #c5d6e2; border-radius: .72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.order-pair-board > *:not(:last-child)::after, .variation-table-workbench > *:not(:last-child)::after, .extremum-interval-board > *:not(:last-child)::after, .affine-variation-gauge > *:not(:last-child)::after, .variation-proof-chain > *:not(:last-child)::after, .window-proof-audit > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #d97e3e; content: ""; }
.order-pair-board strong, .variation-table-workbench strong, .extremum-interval-board strong, .affine-variation-gauge strong, .variation-proof-chain strong, .window-proof-audit strong { color: #fff; border-color: #2a5b7e; background: #2a5b7e; }
.variation-table-workbench { background: linear-gradient(180deg, rgba(42,91,126,.07) 0 49.5%, rgba(217,126,62,.08) 50.5% 100%), #fff; }
.variation-table-workbench > span:nth-child(2), .variation-table-workbench > strong { border-radius: .35rem; }
.extremum-interval-board > span:nth-child(3), .window-proof-audit > span:nth-child(4) { color: #7a4521; border-style: dashed; border-color: #e1b18d; background: #fff8ef; }
.affine-variation-gauge { background: linear-gradient(160deg, transparent 0 47%, rgba(217,126,62,.16) 47.4% 48.4%, transparent 48.8%), #fff; }
.variation-proof-chain > span:nth-child(3) { color: #244f3f; border-color: #a9cfbe; background: #f0faf5; }
.window-proof-audit { background: radial-gradient(circle at 22% 68%, rgba(42,91,126,.1), transparent 21%), linear-gradient(90deg, rgba(42,91,126,.04), rgba(217,126,62,.07)), #fff; }
.variation-observatory .impact-grid article { border-color: #bfd0dc; background: rgba(255,255,255,.97); }
.learning-routes { margin-top: 1.4rem; padding: 1.1rem; border: 1px solid #c7d7e6; border-radius: 1.15rem; background: linear-gradient(135deg, #f7fbff, #fffaf2); }
.learning-routes > header { max-width: 42rem; margin-bottom: .9rem; }
.learning-routes > header h3 { margin: .16rem 0 .28rem; }
.learning-routes > header p:last-child { margin: 0; color: #526579; }
.learning-routes__eyebrow, .learning-route__label { margin: 0; color: #9a5700; font-size: .69rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.learning-routes__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.learning-route { display: grid; align-content: start; padding: 1rem; border: 1px solid #c6d7e6; border-radius: 1rem; background: rgba(255,255,255,.96); box-shadow: 0 .5rem 1.3rem rgba(25,53,79,.07); }
.learning-route--support { border-top: .3rem solid #27846d; }
.learning-route--challenge { border-top: .3rem solid #d27931; }
.learning-route h4 { margin: .28rem 0 .36rem; color: var(--navy-950); font-size: 1.05rem; }
.learning-route > p:not(.learning-route__label) { margin: 0; color: #465c72; }
.learning-route ol { display: grid; gap: .45rem; margin: .85rem 0; padding: 0; list-style: none; counter-reset: route-step; }
.learning-route li { counter-increment: route-step; }
.learning-route li a { display: flex; gap: .5rem; align-items: center; min-height: 2.6rem; padding: .5rem .62rem; color: #173e62; border: 1px solid #d3dfeb; border-radius: .7rem; background: #f8fbfe; font-weight: 760; text-decoration: none; }
.learning-route li a::before { display: grid; flex: 0 0 1.45rem; height: 1.45rem; place-content: center; color: #fff; border-radius: 50%; background: #2a5b7e; content: counter(route-step); font-size: .7rem; }
.learning-route li a:hover { border-color: #d27931; background: #fff8ee; }
.learning-route__finish { padding-top: .7rem; border-top: 1px solid #d9e3eb; font-size: .82rem; }
.success-criteria { display: grid; grid-template-columns: minmax(12rem,.7fr) 1.3fr; gap: 1rem; margin-top: 1rem; padding: 1rem 1.1rem; color: #17394e; border: 1px solid #a9d1bf; border-radius: 1rem; background: linear-gradient(135deg, #edf9f4, #f9fffc); }
.success-criteria > div { display: grid; grid-template-columns: 2rem 1fr; gap: .55rem; align-items: center; }
.success-criteria > div > span { display: grid; width: 2rem; height: 2rem; place-content: center; color: #fff; border-radius: 50%; background: #27846d; font-weight: 900; }
.success-criteria h3 { margin: 0; font-size: 1rem; }
.success-criteria ul { margin: 0; }
.course-learning-layers { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin: 1rem 0; }
.course-learning-layer { overflow: hidden; border: 1px solid #c9d8e5; border-radius: .9rem; background: #fff; }
.course-learning-layer--support { border-left: .28rem solid #27846d; }
.course-learning-layer--challenge { border-left: .28rem solid #d27931; }
.course-learning-layer summary { display: grid; gap: .16rem; min-height: 4rem; padding: .75rem .85rem; cursor: pointer; }
.course-learning-layer summary span { color: #657789; font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.course-learning-layer summary strong { color: var(--navy-950); font-size: .86rem; }
.course-learning-layer summary:focus-visible { outline: .18rem solid var(--orange-500); outline-offset: -.18rem; }
.course-learning-layer > div { padding: 0 .85rem .85rem; color: #3e5368; font-size: .86rem; }
.course-learning-layer > div p { margin: .45rem 0 0; }
.lab-instruction { position: relative; z-index: 1; margin: -.25rem 0 .85rem; color: #52697c; }
.variation-sync-studio__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(16rem,.9fr) minmax(18rem,1.1fr); gap: .8rem; margin-bottom: .9rem; }
.variation-sync-graph, .variation-sync-studio__translation { margin: 0; padding: .8rem; border: 1px solid #b8ccdc; border-radius: 1rem; background: rgba(255,255,255,.96); }
.variation-sync-graph svg { display: block; width: 100%; height: auto; }
.variation-sync-graph__grid path { fill: none; stroke: #d9e5ee; stroke-width: 1; }
.variation-sync-graph__axis { fill: none; stroke: #61798c; stroke-width: 2; }
.variation-sync-graph__curve { fill: none; stroke: #d36f26; stroke-linecap: round; stroke-linejoin: round; stroke-width: 5; transition: d .25s ease; }
.variation-sync-graph__point { fill: #2a5b7e; stroke: #fff; stroke-width: 3; }
.variation-sync-graph__point--open { fill: #fff; stroke: #d36f26; }
.variation-sync-graph figcaption { display: grid; gap: .12rem; padding: .35rem .2rem 0; color: #40596e; font-size: .78rem; }
.variation-sync-graph figcaption span, .variation-sync-studio__rule span { color: #9a5700; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.variation-sync-studio__domain { margin: 0 0 .55rem; color: #244f6b; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; font-weight: 800; }
.variation-sync-studio .variation-table-workbench { grid-template-columns: 1fr 1fr; margin-bottom: .55rem; padding: .55rem; }
.variation-sync-studio .variation-table-workbench > * { min-height: 4.5rem; }
.variation-sync-studio__rule { display: grid; gap: .25rem; margin: 0; padding: .72rem; border: 1px solid #e2c6a9; border-radius: .75rem; background: #fff8ef; }
.variation-sync-studio__rule strong { color: #613b20; font-size: .78rem; line-height: 1.5; }
.optimization-lab { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-bottom: 1rem; padding: .85rem; border: 1px solid #b8ccdc; border-radius: 1rem; background: rgba(255,255,255,.96); }
.optimization-lab__manipulation { display: grid; align-content: start; }
.optimization-lab__mission { margin: 0 0 .8rem; color: #304b62; }
.optimization-lab__mission span { display: block; margin-bottom: .15rem; color: #9a5700; font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.optimization-lab label { display: flex; justify-content: space-between; gap: 1rem; color: #213f58; font-weight: 800; }
.optimization-lab input[type="range"] { width: 100%; margin: .65rem 0; accent-color: #d36f26; cursor: ew-resize; }
.optimization-lab__rectangle-stage { display: grid; min-height: 11rem; place-content: center; overflow: hidden; border: 1px solid #ccdae5; border-radius: .8rem; background: repeating-linear-gradient(0deg, #edf4f8 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, #edf4f8 0 1px, transparent 1px 1rem), #f9fcfe; }
.optimization-lab__rectangle-stage > div { display: grid; min-width: 4rem; min-height: 2.6rem; place-content: center; color: #fff; border: .18rem solid #173f60; border-radius: .35rem; background: linear-gradient(135deg, #2a5b7e, #397997); box-shadow: 0 .55rem 1.1rem rgba(25,58,83,.16); transition: width .18s ease, height .18s ease; }
.optimization-lab__rectangle-stage span { font: 800 .72rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.optimization-lab__values { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: .55rem; }
.optimization-lab__values span { display: grid; gap: .12rem; padding: .55rem; color: #596d7e; border-radius: .65rem; background: #eef5fa; font-size: .7rem; }
.optimization-lab__values strong { color: #173f60; font-size: .9rem; }
.optimization-lab__graph { align-self: center; margin: 0; }
.optimization-lab__graph svg { display: block; width: 100%; height: auto; }
.optimization-lab__grid { fill: none; stroke: #e0e8ef; stroke-width: 1; }
.optimization-lab__axis { fill: none; stroke: #60788b; stroke-width: 2; }
.optimization-lab__curve { fill: none; stroke: #27846d; stroke-width: 5; }
.optimization-lab__guide { stroke: #d36f26; stroke-dasharray: 5 4; stroke-width: 2; }
.optimization-lab__point { fill: #d36f26; stroke: #fff; stroke-width: 3; transition: cx .16s ease, cy .16s ease; }
.optimization-lab__graph figcaption { color: #4c6275; font-size: .76rem; text-align: center; }
.optimization-lab__proof { grid-column: 1 / -1; overflow: hidden; border: 1px solid #a9d1bf; border-radius: .8rem; background: #eff9f4; }
.optimization-lab__proof summary { padding: .7rem .8rem; color: #174f42; cursor: pointer; font-weight: 820; }
.optimization-lab__proof p { margin: 0; padding: 0 .8rem .85rem; color: #365b51; }
.variation-audit-title { position: relative; z-index: 1; margin: 1.1rem 0 .55rem; font-size: .9rem; }
@media (max-width: 720px) {
  .learning-routes__grid, .course-learning-layers, .variation-sync-studio__grid, .optimization-lab, .success-criteria { grid-template-columns: 1fr; }
  .learning-routes, .learning-route { padding: .85rem; }
  .success-criteria { gap: .6rem; }
  .variation-sync-graph, .variation-sync-studio__translation, .optimization-lab { padding: .6rem; }
  .variation-sync-studio .variation-table-workbench { grid-template-columns: 1fr; }
  .variation-sync-studio .variation-table-workbench > * { min-height: 3.8rem; grid-column: auto; }
  .optimization-lab__rectangle-stage { min-height: 9rem; }
  .optimization-lab__graph { border-top: 1px solid #d8e2e9; padding-top: .7rem; }
}
.data-observatory { position: relative; overflow: hidden; border-color: #a5c7c2; background: linear-gradient(90deg, rgba(24,112,103,.045) 1px, transparent 1px) 0 0/1.1rem 1.1rem, linear-gradient(rgba(24,112,103,.045) 1px, transparent 1px) 0 0/1.1rem 1.1rem, linear-gradient(145deg, #f7fcfb, #eef7f5); box-shadow: 0 15px 34px rgba(25,91,84,.14); }
.data-observatory::before { position: absolute; top: -2.8rem; right: -2.4rem; width: 9rem; height: 9rem; border: 1.2rem solid rgba(222,166,63,.12); border-radius: 50%; content: ""; pointer-events: none; }
.data-observatory h3 { position: relative; z-index: 1; }
.data-observatory h3::before { display: inline-grid; min-width: 1.9rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .38rem; background: linear-gradient(135deg, #187067, #c88b29); content: "%σ"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; vertical-align: .08rem; }
.population-funnel, .evolution-ledger, .grouped-data-contract, .mean-balance-board, .quantile-cumulative-board, .statistical-profile-board { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b6d0cc; border-radius: 1rem; background: rgba(255,255,255,.94); }
.population-funnel > *, .evolution-ledger > *, .grouped-data-contract > *, .mean-balance-board > *, .quantile-cumulative-board > *, .statistical-profile-board > * { position: relative; display: grid; min-height: 5.5rem; place-content: center; padding: .64rem; color: #204c47; border: 1px solid #c4d8d5; border-radius: .72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.population-funnel > *:not(:last-child)::after, .evolution-ledger > *:not(:last-child)::after, .grouped-data-contract > *:not(:last-child)::after, .mean-balance-board > *:not(:last-child)::after, .quantile-cumulative-board > *:not(:last-child)::after, .statistical-profile-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #dba13b; content: ""; }
.population-funnel strong, .evolution-ledger strong, .grouped-data-contract strong, .mean-balance-board strong, .quantile-cumulative-board strong, .statistical-profile-board strong { color: #fff; border-color: #187067; background: #187067; }
.population-funnel > span:nth-child(1) { grid-row: span 1; border-width: .18rem; }
.population-funnel > span:nth-child(2), .population-funnel > span:nth-child(3) { transform: scale(.96); }
.grouped-data-contract { background: repeating-linear-gradient(90deg, rgba(24,112,103,.08) 0 18%, transparent 18% 20%), #fff; }
.grouped-data-contract strong, .statistical-profile-board > span:nth-child(4) { border-style: dashed; border-color: #d8a24c; }
.mean-balance-board { background: linear-gradient(165deg, transparent 0 48%, rgba(219,161,59,.14) 48.4% 49.2%, transparent 49.6%), #fff; }
.quantile-cumulative-board { background: linear-gradient(90deg, rgba(24,112,103,.05), rgba(219,161,59,.1)), #fff; }
.statistical-profile-board > span:first-child { box-shadow: inset 0 .28rem #4a91a7; }
.statistical-profile-board > span:nth-child(2) { box-shadow: inset 0 .28rem #d68b3d; }
.data-observatory .impact-grid article { border-color: #bfd4d1; background: rgba(255,255,255,.97); }
.art-white-panel { position: relative; min-height: 12rem; overflow: hidden; border: 0.75rem solid #e7e2d8; border-radius: 0.35rem; background: linear-gradient(135deg, #fff 0%, #f7f7f3 48%, #fdfdfb 100%); box-shadow: inset 0 0 0 1px #c9c7c0, 0 0.7rem 1.8rem rgba(31, 52, 70, 0.12); }
.art-white-panel span { position: absolute; left: 12%; width: 76%; height: 1px; background: rgba(142, 151, 155, 0.24); transform: rotate(-8deg); }
.art-white-panel span:nth-child(1) { top: 32%; }
.art-white-panel span:nth-child(2) { top: 50%; transform: rotate(5deg); }
.art-white-panel span:nth-child(3) { top: 68%; transform: rotate(-3deg); }

.landmark-timeline { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.4rem; padding-top: 1.2rem; }
.landmark-timeline::before { position: absolute; top: 0.45rem; right: 0; left: 0; height: 0.2rem; border-radius: 1rem; background: linear-gradient(90deg, #d58a2d, #287d63); content: ""; }
.landmark-timeline button { position: relative; display: grid; gap: 0.3rem; min-height: 4.5rem; place-content: center; padding: 0.55rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.75rem; background: #fff; font: inherit; font-size: 0.68rem; font-weight: 800; cursor: pointer; }
.landmark-timeline button::before { position: absolute; top: -1.15rem; left: 50%; width: 0.65rem; height: 0.65rem; border: 2px solid #fff; border-radius: 50%; background: var(--orange-600); box-shadow: 0 0 0 1px #c87520; content: ""; transform: translateX(-50%); }
.landmark-timeline button span { color: var(--muted); font-size: 0.62rem; }
.landmark-timeline button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.landmark-timeline button.is-active span { color: #dff3ec; }

.symbol-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.symbol-cards button { display: grid; gap: 0.35rem; min-height: 5.4rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #cad9e5; border-radius: 0.8rem; background: #fff; font: inherit; text-align: center; cursor: pointer; }
.symbol-cards button span { font-size: 0.72rem; font-weight: 850; }
.symbol-cards button strong { color: var(--muted); font-size: 0.65rem; line-height: 1.35; }
.symbol-cards button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.symbol-cards button.is-active strong { color: #dbeaf5; }

.poem-excerpt { margin: 0; padding: 1rem 1.1rem; white-space: pre-line; color: var(--navy-950); border-left: 0.28rem solid var(--orange-600); border-radius: 0 0.9rem 0.9rem 0; background: #fffaf2; font-family: Georgia, "Times New Roman", serif; font-size: clamp(0.94rem, 1.6vw, 1.08rem); line-height: 1.7; }
.primary-text { margin: 0 0 1rem; padding: 1rem 1.1rem; color: var(--navy-950); border-left: 0.28rem solid var(--orange-600); border-radius: 0 0.9rem 0.9rem 0; background: #fffaf2; font-family: Georgia, "Times New Roman", serif; font-size: clamp(0.94rem, 1.6vw, 1.08rem); line-height: 1.7; }
.primary-text cite { display: block; margin-top: 0.7rem; color: var(--slate-600); font-family: var(--font-sans); font-size: 0.84rem; font-style: normal; }
.sonnet-lab .source-note { margin: -0.2rem 0 0; color: var(--muted); font-size: 0.72rem; line-height: 1.45; }

@media (max-width: 760px) {
  .news-anatomy { grid-template-columns: 1fr; }
  .news-anatomy__visual { max-width: 22rem; margin-inline: auto; }
  .five-w-orbit { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0.7rem; }
  .five-w-orbit button { min-height: 2.8rem; font-size: 0.72rem; }
  .five-w-orbit__scene { min-height: 4.5rem; }
  .event-chain { grid-template-columns: 1fr; gap: 1.2rem; }
  .event-chain button { min-height: 0; }
  .event-chain button:not(:last-child)::after { top: auto; right: 50%; bottom: -1.15rem; transform: translateX(50%) rotate(90deg); }
  .register-scale { grid-template-columns: 1fr 1fr; border-radius: 1rem; }
  .register-scale button:last-child { grid-column: 1 / -1; }
  .argument-chain { grid-template-columns: 1fr 1fr; }
  .argument-chain button, .argument-chain button:first-child, .argument-chain button:last-child { min-height: 3.8rem; border-radius: 0.75rem; }
  .dialogue-stage { grid-template-columns: 1fr; gap: 0.7rem; }
  .dialogue-stage article:last-child { margin-top: 0; margin-left: 1rem; }
  .message-frame { grid-template-columns: 4.4rem minmax(0, 1fr); }
  .revision-stack { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .revision-stack button { min-height: 3.6rem; }
  .uk-nations-grid { grid-template-columns: 1fr 1fr; }
  .portrait-investigation__layout { grid-template-columns: 1fr; }
  .portrait-investigation figure { max-width: 22rem; margin-inline: auto; }
  .image-reading-lab__layout, .image-composition-lab__layout { grid-template-columns: 1fr; }
  .image-reading-lab figure, .image-composition-lab figure { width: min(100%, 22rem); margin-inline: auto; }
  .image-composition-lab .segmented-control { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .image-version-pair { grid-template-columns: 1fr 1fr; gap: 0.45rem; }
  .image-version-pair figcaption { padding: 0.55rem; font-size: 0.6rem; }
  .oral-exam-flow { grid-template-columns: 1fr 1fr; }
  .oral-exam-flow button:first-child, .oral-exam-flow button:last-child { grid-column: 1 / -1; }
  .oral-score-strip { grid-template-columns: 1fr 2fr 1fr; }
  .oral-score-strip button { padding-inline: 0.35rem; font-size: 0.64rem; }
  .oral-rehearsal-loop { grid-template-columns: 1fr 1fr; }
  .oral-rehearsal-loop button:last-child { grid-column: 1 / -1; }
  .word-family-tree { grid-template-columns: 1fr 1fr; gap: 0.55rem; }
  .word-family-tree::before { display: none; }
  .lexical-network-map { grid-template-columns: 1fr 1fr; }
  .lexical-network-map button:last-child { grid-column: 1 / -1; }
  .word-value-scale { grid-template-columns: 1fr 1fr; }
  .word-value-scale button:last-child { grid-column: 1 / -1; }
  .agreement-feature-board { grid-template-columns: 1fr 1fr; }
  .agreement-feature-board > *:not(:last-child)::after { display: none; }
  .agreement-chain-track { grid-template-columns: 1fr 1fr; }
  .subject-wire { grid-template-columns: 1fr; }
  .subject-wire span { min-height: 2.4rem; }
  .subject-wire span::before, .subject-wire span::after { display: none; }
  .agreement-before-after { grid-template-columns: 1fr; }
  .agreement-before-after article:first-child::after { top: auto; right: 50%; bottom: -0.34rem; transform: translate(50%, 50%) rotate(90deg); }
  .collective-balance { grid-template-columns: 1fr 1fr; }
  .collective-balance strong { grid-column: 1 / -1; grid-row: 1; }
  .agreement-radar { grid-template-columns: 1fr 1fr; }
  .verb-coordinate-board { grid-template-columns: 1fr 1fr; }
  .temporal-axis, .aspect-camera { grid-template-columns: 1fr; }
  .modal-compass { grid-template-columns: 1fr 1fr; }
  .modal-compass button { min-height: 3.8rem; border-radius: 0.8rem; }
  .modal-compass button:last-child { grid-column: 1 / -1; }
  .narrative-layers, .concordance-pair { grid-template-columns: 1fr; }
  .proposition-scan, .articulation-rail, .subordinate-slot { grid-template-columns: 1fr; }
  .proposition-scan span:nth-child(2), .articulation-rail strong { min-height: 2.5rem; }
  .connector-prism, .introducer-compare, .rewrite-pair { grid-template-columns: 1fr; }
  .relative-fusion-chain, .relative-function-bridge, .relative-preposition-path, .relative-nature-gate, .relative-scope-pair, .relative-agreement-track { grid-template-columns: 1fr; }
  .relative-function-bridge strong, .relative-agreement-track strong { min-height: 2.8rem; }
  .environment-layer-stack { grid-template-columns: 1fr 1fr; }
  .environment-layer-stack > * { min-height: 4.8rem; }
  .environment-layer-stack strong:last-child { grid-column: 1 / -1; }
  .global-change-web, .actor-scale-map { grid-template-columns: 1fr; gap: 1rem; }
  .global-change-web > *:not(:last-child)::after, .actor-scale-map > *:not(:last-child)::after { top: auto; right: 50%; bottom: -0.86rem; transform: translate(50%, 50%) rotate(90deg); }
  .risk-equation { grid-template-columns: 1fr; }
  .risk-equation b { line-height: 1; transform: rotate(90deg); }
  .risk-equation span { min-height: 3.8rem; }
  .geographic-compass { grid-template-columns: 1fr 1fr; }
  .geographic-compass button { min-height: 3.8rem; border-radius: 0.8rem; }
  .geographic-compass button:last-child { grid-column: 1 / -1; }
  .geography-lab .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .geography-lab .segmented-control button { min-width: 0; padding-inline: 0.45rem; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .geography-lab .segmented-control button:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .metro-perimeter-orbit { min-height: 15rem; transform: scale(.78); margin-block: -1.7rem; }
  .metro-urban-bars { gap: .55rem; min-height: 15rem; padding-inline: .35rem; }
  .metro-urban-bars span { width: 30%; padding: .45rem; font-size: .78rem; }
  .metro-concentration-funnel strong { width: 68%; }
  .metro-function-tower span, .metro-function-tower strong { width: 100%; }
  .metro-network-map { grid-template-columns: repeat(2, 1fr); min-height: 21rem; }
  .metro-network-map strong { grid-column: 1 / -1; grid-row: 2; }
  .metro-network-map .n4, .metro-network-map .n5, .metro-network-map .n6 { grid-column: auto; }
  .metro-profile-radar, .metro-notion-atlas { grid-template-columns: 1fr; }
  .metro-profile-radar strong { grid-column: auto; }
  .metro-proof-sketch { grid-template-columns: 1fr; grid-template-rows: auto; }
  .metro-proof-sketch .land { grid-row: auto; min-height: 7rem; }
  .metro-proof-sketch strong { grid-column: auto; }
  .mutation-morphology-map { grid-template-columns: repeat(2, 1fr); min-height: 19rem; }
  .mutation-morphology-map > * { height: auto !important; min-height: 7rem; }
  .mutation-polycentric-map, .mutation-london-corridor, .mutation-gentrification-chain, .mutation-relocation-ledger { grid-template-columns: 1fr; }
  .mutation-polycentric-map i, .mutation-london-corridor i, .mutation-gentrification-chain i, .mutation-relocation-ledger i { text-align: center; transform: rotate(90deg); }
  .mutation-polycentric-map em, .mutation-london-corridor em, .mutation-relocation-ledger strong { grid-column: auto; }
  .mutation-isochrone { transform: scale(.84); margin-block: -1rem; }
  .mutation-equity-matrix { grid-template-columns: 1fr 1fr; }
  .mutation-equity-matrix em { grid-column: 1 / -1; }
  .france-atlas-layout, .guyane-cross-layout { grid-template-columns: 1fr; }
  .france-profile-board { grid-template-columns: 1fr 1fr; }
  .france-profile-board > * { min-height: 4.7rem; }
  .france-profile-board > *:last-child { grid-column: 1 / -1; }
  .guyane-cross-section, .arbitration-casefile, .valorization-balance { grid-template-columns: 1fr; }
  .guyane-cross-section > *, .arbitration-casefile > *, .valorization-balance > * { min-height: 3.9rem; }
  .protection-purpose-card { grid-template-columns: 1fr; }
  .protection-purpose-card > * { min-height: 4.2rem; }
  .demographic-equation { grid-template-columns: 1fr; }
  .demographic-equation b { line-height: 1; text-align: center; }
  .demographic-equation span { min-height: 3.8rem; }
  .demographic-comparison { grid-template-columns: 1fr 1fr; }
  .demographic-comparison > :first-child, .demographic-comparison > :last-child { grid-column: 1 / -1; }
  .demographic-comparison > * { min-height: 4.2rem; }
  .demographic-needs, .demographic-policy-chain { grid-template-columns: 1fr; }
  .demographic-needs > *, .demographic-policy-chain > * { min-height: 4rem; }
  .indicator-passport { grid-template-columns: 1fr 1fr; }
  .indicator-passport > span { min-height: 4.8rem; }
  .indicator-passport > span:last-child { grid-column: 1 / -1; }
  .distribution-stage { grid-template-columns: 1fr; }
  .scale-tunnel { grid-template-columns: 1fr 1fr; gap: 0.45rem; }
  .scale-tunnel > * { min-height: 4.5rem !important; margin: 0; border-radius: 0.8rem; }
  .trajectory-file header, .trajectory-file > div { grid-template-columns: 1fr; }
  .strategy-chain, .brief-ribbon { grid-template-columns: 1fr 1fr; }
  .strategy-chain > *:not(:last-child)::after, .brief-ribbon > *:not(:last-child)::after { display: none; }
  .brief-ribbon > *:last-child { grid-column: 1 / -1; }
  .france-balance-console, .inequality-lenses { grid-template-columns: 1fr 1fr; }
  .france-balance-console > span, .inequality-lenses > span { min-height: 4.6rem; }
  .age-territory-mosaic, .service-catchment, .actor-lever-card { grid-template-columns: 1fr; }
  .age-territory-mosaic > *, .service-catchment > *, .service-catchment > strong, .actor-lever-card > * { min-height: 4rem; border-radius: 0.8rem; }
  .policy-audit-chain { grid-template-columns: 1fr 1fr; }
  .policy-audit-chain > *:not(:last-child)::after { display: none; }
  .mobility-passport, .door-chain, .corridor-scale, .mobility-impact-ledger { grid-template-columns: 1fr 1fr; }
  .mobility-passport > *:last-child, .door-chain > *:last-child { grid-column: 1 / -1; }
  .network-topology, .mobility-arbitration { grid-template-columns: 1fr; }
  .network-topology i { width: 0.3rem; height: 1.5rem; margin: auto; }
  .migration-status-deck, .migration-measure-console, .migration-effects-ledger { grid-template-columns: 1fr 1fr; }
  .migration-causality-web { grid-template: "outcome outcome" auto "motive constraint" auto "resource network" auto / 1fr 1fr; }
  .migration-causality-web > * { min-height: 4.6rem; border-radius: 0.8rem; }
  .migration-causality-web > *:nth-child(3) { border-radius: 1rem; }
  .migration-route-map { grid-template-columns: 1fr; }
  .migration-route-map i { width: 0.25rem; height: 1rem; margin: auto; }
  .migration-route-map > span, .migration-route-map > strong { min-height: 4.3rem; }
  .migration-claim-strip { grid-template-columns: 1fr 1fr; }
  .migration-claim-strip > *:not(:last-child)::after { display: none; }
  .tourism-passport, .tourism-indicator-board { grid-template-columns: 1fr 1fr; }
  .tourism-system-map { grid-template-columns: 1fr; }
  .tourism-system-map i { width: 0.25rem; height: 1rem; margin: auto; }
  .seasonality-diagnosis { grid-template-columns: 1fr; }
  .tourism-value-chain, .tourism-transition-budget { grid-template-columns: 1fr 1fr; }
  .tourism-value-chain > *:not(:last-child)::after { display: none; }
  .tourism-value-chain > *:last-child, .tourism-transition-budget > *:last-child { grid-column: 1 / -1; }
  .southern-scope-rings { min-height: 12rem; }
  .southern-scope-rings > span:first-child { inset: 0; }
  .southern-scope-rings > strong { inset: 2.4rem 12%; }
  .southern-scope-rings > span:last-child { inset: 4.8rem 25%; }
  .southern-transect { grid-template-columns: 1fr; }
  .southern-transect > * { min-height: 3.8rem; }
  .southern-water-basin, .southern-arbitration-grid { grid-template-columns: 1fr 1fr; }
  .southern-extractive-chain { grid-template-columns: 1fr 1fr; }
  .southern-extractive-chain > *:not(:last-child)::after { display: none; }
  .southern-conservation-mosaic { grid-template-columns: 1fr; }
  .southern-conservation-mosaic > *:last-child { grid-column: auto; }
  .southern-arbitration-grid > *:last-child { grid-column: 1 / -1; }
  .mobility-passport-lab .mobility-passport { grid-template-columns: 1fr 1fr; }
  .mobility-route { grid-template-columns: 1fr; }
  .mobility-route i { width: 0.22rem; height: 1rem; margin: auto; }
  .mobility-route > span, .mobility-route > strong { min-height: 4.3rem; border-radius: 0.85rem; }
  .multilocal-places { grid-template-columns: 1fr; }
  .multilocal-loop { min-height: 5rem; }
  .arrival-neighborhood { grid-template: "land home" auto "route route" auto "services work" auto / 1fr 1fr; }
  .rights-checkpoints { grid-template-columns: 1fr 1fr; }
  .rights-checkpoints > *:not(:last-child)::after { display: none; }
  .rights-checkpoints > *:last-child { grid-column: 1 / -1; }
  .mobility-audit-track { grid-template-columns: 1fr 1fr; }
  .transition-vector { grid-template: "demography production" auto "urban urban" auto "energy environment" auto / 1fr 1fr; }
  .development-prism { grid-template-columns: 1fr 1fr; clip-path: none; border-radius: 1rem; }
  .development-prism > *:last-child { grid-column: 1 / -1; }
  .demographic-window { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .demographic-window strong { min-height: 5rem; }
  .structural-value-chain, .energy-service-circuit { grid-template-columns: 1fr; }
  .structural-value-chain > *:not(:last-child)::after, .energy-service-circuit > *:not(:last-child)::after { display: none; }
  .transition-portfolio { grid-template-columns: 1fr 1fr; }
  .number-set-nesting { min-height: 13rem; }
  .number-set-nesting > *:nth-child(2) { inset: 1.8rem 5%; }
  .number-set-nesting > *:nth-child(3) { inset: 3.6rem 11%; }
  .number-set-nesting > *:nth-child(4) { inset: 5.4rem 18%; }
  .number-set-nesting > *:nth-child(5) { inset: 7.2rem 28% 0; }
  .proof-track, .interval-registers, .bracketing-sweep { grid-template-columns: 1fr 1fr; }
  .proof-track > *:not(:last-child)::after { display: none; }
  .distance-ruler { grid-template-columns: 1fr; background: #f9fbfd; }
  .distance-ruler > * { min-height: 4rem; border-radius: 0.8rem; }
  .arithmetic-equation { grid-template-columns: 1fr auto 1fr; }
  .arithmetic-equation > span:last-child { grid-column: 1 / -1; }
  .euclidean-strip { grid-template-columns: 1fr; }
  .prime-gates, .parity-forms { grid-template-columns: 1fr 1fr; }
  .proof-workbench, .fraction-audit { grid-template-columns: 1fr 1fr; }
  .proof-workbench > *:not(:last-child)::after { display: none; }
  .proof-workbench > *:last-child, .fraction-audit > *:last-child { grid-column: 1 / -1; }
  .domain-passport, .expression-switchyard, .identity-bench, .formula-machine, .comparison-scale, .solution-audit-line { grid-template-columns: 1fr 1fr; }
  .domain-passport > *:not(:last-child)::after, .expression-switchyard > *:not(:last-child)::after, .identity-bench > *:not(:last-child)::after, .formula-machine > *:not(:last-child)::after, .comparison-scale > *:not(:last-child)::after, .solution-audit-line > *:not(:last-child)::after { display: none; }
  .solution-audit-line > *:last-child { grid-column: 1 / -1; }
  .geometry-evidence-board, .geometry-method-compass, .projection-stage, .coordinate-console, .measure-mosaic, .geometry-proof-chain { grid-template-columns: 1fr 1fr; }
  .geometry-evidence-board > *:not(:last-child)::after, .geometry-method-compass > *:not(:last-child)::after, .projection-stage > *:not(:last-child)::after, .coordinate-console > *:not(:last-child)::after, .measure-mosaic > *:not(:last-child)::after, .geometry-proof-chain > *:not(:last-child)::after { display: none; }
  .geometry-evidence-board > *:last-child, .projection-stage > *:last-child, .coordinate-console > *:last-child, .measure-mosaic > *:last-child, .geometry-proof-chain > *:last-child { grid-column: 1 / -1; }
  .vector-translation-board, .vector-route-chain, .vector-coordinate-grid, .vector-scalar-dial, .vector-metric-panel, .vector-determinant-board { grid-template-columns: 1fr 1fr; }
  .vector-translation-board > *:not(:last-child)::after, .vector-route-chain > *:not(:last-child)::after, .vector-coordinate-grid > *:not(:last-child)::after, .vector-scalar-dial > *:not(:last-child)::after, .vector-metric-panel > *:not(:last-child)::after, .vector-determinant-board > *:not(:last-child)::after, .vector-translation-board > *:not(:last-child)::before, .vector-route-chain > *:not(:last-child)::before, .vector-coordinate-grid > *:not(:last-child)::before, .vector-scalar-dial > *:not(:last-child)::before, .vector-metric-panel > *:not(:last-child)::before, .vector-determinant-board > *:not(:last-child)::before { display: none; }
  .vector-translation-board > *:last-child, .vector-coordinate-grid > *:last-child, .vector-scalar-dial > *:last-child, .vector-metric-panel > *:last-child, .vector-determinant-board > *:last-child { grid-column: 1 / -1; }
  .line-equation-scope, .line-duality-board, .line-form-switch, .line-construction-chain, .line-graph-board, .line-position-board { grid-template-columns: 1fr 1fr; }
  .line-equation-scope > *:not(:last-child)::after, .line-duality-board > *:not(:last-child)::after, .line-form-switch > *:not(:last-child)::after, .line-construction-chain > *:not(:last-child)::after, .line-graph-board > *:not(:last-child)::after, .line-position-board > *:not(:last-child)::after { display: none; }
  .line-equation-scope > *:last-child, .line-duality-board > *:last-child, .line-form-switch > *:last-child, .line-construction-chain > *:last-child, .line-graph-board > *:last-child, .line-position-board > *:last-child { grid-column: 1 / -1; }
  .function-passport-deck, .function-shape-switch, .square-root-mirror, .reciprocal-branch-board, .power-order-track, .reference-solution-router { grid-template-columns: 1fr 1fr; }
  .function-passport-deck > *:not(:last-child)::after, .function-shape-switch > *:not(:last-child)::after, .square-root-mirror > *:not(:last-child)::after, .reciprocal-branch-board > *:not(:last-child)::after, .power-order-track > *:not(:last-child)::after, .reference-solution-router > *:not(:last-child)::after { display: none; }
  .function-shape-switch > *:last-child, .square-root-mirror > *:last-child, .reciprocal-branch-board > *:last-child, .power-order-track > *:last-child, .reference-solution-router > *:last-child { grid-column: 1 / -1; }
  .representation-contract, .representation-reading-route, .curve-membership-probe, .representation-translation-chain, .domain-intersection-board, .function-method-router { grid-template-columns: 1fr 1fr; }
  .representation-contract > *:not(:last-child)::after, .representation-reading-route > *:not(:last-child)::after, .curve-membership-probe > *:not(:last-child)::after, .representation-translation-chain > *:not(:last-child)::after, .domain-intersection-board > *:not(:last-child)::after, .function-method-router > *:not(:last-child)::after { display: none; }
  .representation-contract > *:last-child, .representation-reading-route > *:last-child, .curve-membership-probe > *:last-child, .representation-translation-chain > *:last-child, .domain-intersection-board > *:last-child, .function-method-router > *:last-child { grid-column: 1 / -1; }
  .order-pair-board, .variation-table-workbench, .extremum-interval-board, .affine-variation-gauge, .variation-proof-chain, .window-proof-audit { grid-template-columns: 1fr 1fr; }
  .order-pair-board > *:not(:last-child)::after, .variation-table-workbench > *:not(:last-child)::after, .extremum-interval-board > *:not(:last-child)::after, .affine-variation-gauge > *:not(:last-child)::after, .variation-proof-chain > *:not(:last-child)::after, .window-proof-audit > *:not(:last-child)::after { display: none; }
  .order-pair-board > *:last-child, .variation-table-workbench > *:last-child, .extremum-interval-board > *:last-child, .affine-variation-gauge > *:last-child, .variation-proof-chain > *:last-child, .window-proof-audit > *:last-child { grid-column: 1 / -1; }
  .population-funnel, .evolution-ledger, .grouped-data-contract, .mean-balance-board, .quantile-cumulative-board, .statistical-profile-board { grid-template-columns: 1fr 1fr; }
  .population-funnel > *:not(:last-child)::after, .evolution-ledger > *:not(:last-child)::after, .grouped-data-contract > *:not(:last-child)::after, .mean-balance-board > *:not(:last-child)::after, .quantile-cumulative-board > *:not(:last-child)::after, .statistical-profile-board > *:not(:last-child)::after { display: none; }
  .population-funnel > *:last-child, .evolution-ledger > *:last-child, .grouped-data-contract > *:last-child, .mean-balance-board > *:last-child, .quantile-cumulative-board > *:last-child, .statistical-profile-board > *:last-child { grid-column: 1 / -1; }
  .landmark-timeline { grid-template-columns: 1fr 1fr; gap: 0.55rem; padding-top: 0; }
  .landmark-timeline::before, .landmark-timeline button::before { display: none; }
  .symbol-cards { grid-template-columns: 1fr 1fr; }
  .symbol-cards button:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

@media print {
  .site-header, .toc, .quiz-submit, .signup-panel, .card-ratings, .card-reveal, .site-footer { display: none !important; }
  body { background: #fff; }
  .page-shell { width: 100%; }
  .hero { color: #000; background: #fff; box-shadow: none; border: 1px solid #777; }
  .section-card { break-inside: avoid; box-shadow: none; }
}
.subject-module__group-title {
  margin: 1rem 1rem 0.35rem;
  color: var(--navy-950);
  font-size: 0.92rem;
  line-height: 1.35;
}

.subject-module__group-title:not(:first-child) {
  margin-top: 1.65rem;
}

.probability-lab { background: linear-gradient(145deg, #f5f8ff, #e8effa); border-color: #c6d4e7; }
.probability-lab--diagnostic { background: linear-gradient(145deg, #fff8f5, #f8e9e4); border-color: #e5c1b5; }
.probability-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }
.probability-board > span, .probability-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #ccd9e7; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.probability-board > strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.probability-board--tree { position: relative; }
.probability-board--tree::before { content: "×"; position: absolute; inset: 50% auto auto 50%; z-index: 2; display: grid; width: 2rem; height: 2rem; place-items: center; color: #fff; border-radius: 50%; background: var(--orange-600); transform: translate(-50%, -50%); font-weight: 900; }
.sampling-lab { background: linear-gradient(145deg, #f2fbf8, #e3f2ec); border-color: #bdd7cc; }
.sampling-lab--bias { background: linear-gradient(145deg, #fff9ef, #f7edd6); border-color: #e1c98f; }
.sampling-lab--code { background: linear-gradient(145deg, #f6f7fb, #e9edf5); border-color: #cbd2df; }
.sampling-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }
.sampling-board > span, .sampling-board > strong, .sampling-code > * { display: grid; min-height: 4rem; place-content: center; padding: 0.8rem; border: 1px solid #c7dbd3; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.sampling-board > strong { color: #fff; border-color: #287b65; background: #287b65; }
.sampling-dots { display: grid; gap: 0.65rem; margin: 1rem 0; text-align: center; }
.sampling-dots span, .sampling-dots strong { padding: 0.8rem; border-radius: 999px; background: #fff; color: var(--navy-950); }
.sampling-dots strong { color: #fff; background: #287b65; }
.sampling-code { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin: 1rem 0; }
.sampling-code code { color: #eef8ff; border-color: #24394d; background: #183047; font-size: 1rem; text-align: left; }
.sampling-code strong { color: #fff; border-color: #287b65; background: #287b65; }
.logic-lab { background: linear-gradient(145deg, #f8f5ff, #ede8f7); border-color: #d2c7e3; }
.logic-lab--implication { background: linear-gradient(145deg, #f1f8ff, #e5eef8); border-color: #c4d5e6; }
.logic-lab--proof { background: linear-gradient(145deg, #fff8ee, #f8ecd5); border-color: #e2c991; }
.logic-board { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.65rem; align-items: stretch; margin: 1rem 0; }
.logic-board > span, .logic-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #d4cbe5; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.logic-board > strong { grid-column: 1 / -1; color: #fff; border-color: #6f5795; background: #6f5795; }
.python-lab { border-color: #9ac7bd; background: linear-gradient(145deg, #f2fbf8, #fff); }
.python-board { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0.75rem; margin: 1rem 0; }
.python-board > code { grid-row: span 2; display: block; min-height: 8rem; padding: 1rem; border-radius: 0.8rem; color: #ecfff9; background: #163c38; white-space: pre-wrap; }
.python-board > span, .python-board > strong { display: grid; place-content: center; min-height: 3.6rem; padding: 0.75rem; border: 1px solid #b8d8d1; border-radius: 0.8rem; background: #fff; text-align: center; }
.python-board > strong { color: #fff; border-color: #287568; background: #287568; }
.python-function-lab { border-color: #b8c9e1; background: linear-gradient(145deg, #f4f7fc, #fff); }
.python-function-board { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0.75rem; margin: 1rem 0; }
.python-function-board > code { grid-row: span 2; display: block; min-height: 8rem; padding: 1rem; border-radius: 0.8rem; color: #f1f6ff; background: #20344f; white-space: pre-wrap; }
.inline-code { display: inline; padding: 0.08em 0.34em; border: 1px solid #c9d9e8; border-radius: 0.35em; color: #123f62; background: #eef6fc; font: 0.92em/1.35 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; overflow-wrap: anywhere; }
.python-function-board > span, .python-function-board > strong { display: grid; place-content: center; min-height: 3.7rem; padding: 0.75rem; border: 1px solid #c8d4e5; border-radius: 0.8rem; background: #fff; text-align: center; }
.python-function-board > strong { color: #fff; border-color: #496f9f; background: #496f9f; }
.math-history-lab { border-color: #d8c89f; background: linear-gradient(145deg, #fffaf0, #fff); }
.math-history-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.math-history-board > span, .math-history-board > strong { display: grid; min-height: 4.3rem; place-content: center; padding: 0.85rem; border: 1px solid #ded1af; border-radius: 0.8rem; color: var(--navy-950); background: #fff; text-align: center; }
.math-history-board > strong { grid-column: 1 / -1; color: #fff; border-color: #816b3e; background: #816b3e; }
.matter-lab, .solution-lab { border-color: #a9d3d6; background: linear-gradient(145deg, #f1fbfc, #fff); }
.solution-lab { border-color: #b8cfe5; background: linear-gradient(145deg, #f4f8fd, #fff); }
.matter-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.matter-board > span, .matter-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #bdd8da; border-radius: 0.8rem; background: #fff; text-align: center; }
.matter-board > strong { grid-column: 1 / -1; color: #fff; border-color: #347c82; background: #347c82; }
/* Transformation chimique : préserver la lecture des choix sur mobile. */
:is([data-chemical-evidence], [data-reaction-equation], [data-spectator-species], [data-limiting-reactant], [data-chemical-thermal], [data-synthesis-identity]) .segmented-control {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.2rem;
}
:is([data-chemical-evidence], [data-reaction-equation], [data-spectator-species], [data-limiting-reactant], [data-chemical-thermal], [data-synthesis-identity]) .segmented-control button {
  flex: 1 1 9rem;
  min-width: 0;
}
.social-graph { margin: 1rem 0; padding: 0.8rem; border: 1px solid #c9dcdd; border-radius: 1rem; background: linear-gradient(145deg, #f4fbfb, #fff); }
.social-graph svg { display: block; width: 100%; height: auto; }
.social-graph figcaption { margin-top: 0.35rem; color: var(--muted); text-align: center; }
.micro-lab { border-color: #c6badf; background: linear-gradient(145deg, #f8f5fd, #fff); }
.micro-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.micro-board > span, .micro-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #d2c9e3; border-radius: 0.8rem; background: #fff; text-align: center; }
.micro-board > strong { grid-column: 1 / -1; color: #fff; border-color: #6d5894; background: #6d5894; }
.thermal-lab { border-color: #efc7a8; background: linear-gradient(145deg, #fff7ef, #fff); }
.thermal-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.thermal-board > span, .thermal-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #ecd0b9; border-radius: 0.8rem; background: #fff; text-align: center; }
.thermal-board > strong { grid-column: 1 / -1; color: #fff; border-color: #a25f31; background: #a25f31; }
.biology-lab { border-color: #a8ccb8; background: linear-gradient(145deg, #f1faf4, #fff); }
.biology-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.biology-board > span, .biology-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #bed9c8; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.biology-board > strong { grid-column: 1 / -1; color: #fff; border-color: #39775a; background: #39775a; }
.biology-scale-chain { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; justify-content: center; margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: #e2f2e8; }
.biology-scale-chain span { padding: 0.55rem 0.7rem; border: 1px solid #9bc5aa; border-radius: 999px; background: #fff; font-weight: 750; }
.biology-scale-chain i { color: #39775a; font-size: 1.3rem; font-style: normal; font-weight: 900; }
.biology-tissue-map { display: block; width: 100%; height: auto; margin: 1rem 0; border: 1px solid #b8d4c2; border-radius: 1rem; background: #f8fcf9; }
.gene-switchboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.gene-switchboard article { display: grid; gap: 0.55rem; padding: 1rem; border: 1px solid #b5d2c0; border-radius: 1rem; background: #fff; }
.gene-switchboard span { color: #315b46; font-weight: 800; }
.gene-switchboard b { letter-spacing: 0.14em; }
.gene-switchboard small { line-height: 1.5; }
.dna-ladder { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.4rem 0.8rem; width: min(22rem, 100%); margin: 1rem auto; padding: 1rem; border-inline: 0.55rem solid #48765f; border-radius: 1rem; background: #f7fcf8; text-align: center; }
.dna-ladder span { padding: 0.35rem; border-radius: 999px; color: #173f40; background: #dbeee2; font-weight: 850; }
.dna-ladder i { align-self: center; color: #8b5d34; font-style: normal; }
@media (max-width: 640px) { .gene-switchboard, .biology-board { grid-template-columns: 1fr; } .biology-board > strong { grid-column: auto; } }
.metabolic-ledger, .experiment-pair, .metabolic-branch, .photosynthesis-flow, .metabolic-network { display: grid; gap: 0.7rem; margin: 1rem 0; padding: 1rem; border: 1px solid #afd1bc; border-radius: 1rem; background: #eaf6ee; }
.metabolic-ledger { grid-template-columns: 1fr auto 1fr; align-items: center; text-align: center; }
.metabolic-ledger article, .experiment-pair article { display: grid; gap: 0.35rem; padding: 0.75rem; border-radius: 0.8rem; background: #fff; }
.metabolic-ledger article:last-child { grid-column: 1 / -1; }
.metabolic-ledger i { color: #39775a; font-style: normal; font-weight: 850; }
.metabolic-pathway { display: grid; grid-template-columns: auto auto auto auto auto; gap: 0.55rem; align-items: center; justify-content: center; margin: 1rem 0; padding: 1.1rem; border: 1px solid #a9cbb5; border-radius: 1rem; background: #f3faf5; }
.metabolic-pathway span, .metabolic-pathway strong { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: #fff; color: #244f3a; }
.metabolic-pathway strong { color: #fff; background: #39775a; }
.metabolic-pathway i { color: #6f5637; font-style: normal; font-weight: 750; }
.metabolic-pathway small { grid-column: 1 / -1; text-align: center; }
.experiment-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metabolic-branch { grid-template-columns: 1fr 1.5fr; align-items: center; }
.metabolic-branch strong { grid-row: span 2; display: grid; min-height: 5.2rem; place-content: center; border-radius: 50%; color: #fff; background: #39775a; }
.metabolic-branch span, .photosynthesis-flow span, .photosynthesis-flow strong, .metabolic-network > * { padding: 0.7rem; border-radius: 0.75rem; background: #fff; text-align: center; }
.photosynthesis-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.photosynthesis-flow strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
.metabolic-network { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metabolic-network strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
@media (max-width: 640px) { .metabolic-ledger, .experiment-pair, .photosynthesis-flow, .metabolic-network { grid-template-columns: 1fr; } .metabolic-ledger article:last-child, .photosynthesis-flow strong, .metabolic-network strong { grid-column: auto; } .metabolic-pathway { grid-template-columns: auto auto auto; } .metabolic-pathway small { grid-column: 1 / -1; } }
.biodiversity-landscape { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr; min-height: 10rem; overflow: hidden; margin: 1rem 0; border: 1px solid #a9c9b2; border-radius: 1rem; }
.biodiversity-landscape span { display: grid; place-content: end center; padding: 1rem 0.65rem; color: #173f40; font-weight: 800; text-align: center; }
.bio-pond { background: radial-gradient(circle at 30% 35%, #d7f7ff 0 8%, transparent 9%), linear-gradient(#b6e7f2, #6fb5c8); }
.bio-meadow { background: radial-gradient(circle at 25% 60%, #ffd46c 0 4%, transparent 5%), radial-gradient(circle at 70% 45%, #e58aad 0 4%, transparent 5%), linear-gradient(#dff0bc, #8fbe68); }
.bio-hedge { background: radial-gradient(circle at 50% 35%, #4e865a 0 30%, transparent 31%), linear-gradient(#b7d5a7, #5f8f62); }
.sampling-curve { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; align-items: end; min-height: 10rem; margin: 1rem 0; padding: 1rem; border-left: 0.25rem solid #39775a; border-bottom: 0.25rem solid #39775a; background: #eef7f1; }
.sampling-curve span { display: grid; place-content: center; padding: 0.65rem; border-radius: 0.7rem 0.7rem 0 0; color: #fff; background: #5b9877; text-align: center; }
.sampling-curve span:nth-child(1) { min-height: 3.2rem; } .sampling-curve span:nth-child(2) { min-height: 5.5rem; } .sampling-curve span:nth-child(3) { min-height: 6.3rem; }
.sampling-curve strong { grid-column: 1 / -1; text-align: center; }
@media (max-width: 640px) { .biodiversity-landscape { grid-template-columns: 1fr; } .sampling-curve { grid-template-columns: 1fr; align-items: stretch; } .sampling-curve span { min-height: auto !important; border-radius: 0.7rem; } }
.crisis-curve { display: grid; grid-template-columns: 1.2fr 0.75fr 1.2fr; gap: 0.5rem; align-items: end; min-height: 10rem; margin: 1rem 0; padding: 1rem; border-bottom: 0.3rem solid #39775a; background: #edf6f0; }
.crisis-curve > * { display: grid; place-content: center; padding: 0.75rem; border-radius: 0.75rem 0.75rem 0 0; color: #fff; background: #5c9474; text-align: center; }
.crisis-curve strong { min-height: 3rem; background: #9a564f; } .crisis-curve span:first-child { min-height: 7rem; } .crisis-curve span:last-child { min-height: 5rem; }
@media (max-width: 640px) { .crisis-curve { grid-template-columns: 1fr; align-items: stretch; } .crisis-curve > * { min-height: auto !important; border-radius: 0.75rem; } }
.allele-copy-ledger { display: grid; grid-template-columns: repeat(3, auto auto minmax(2.8rem, 1fr)); gap: 0.45rem; align-items: center; margin: 1rem 0; padding: 1rem; border: 1px solid #a9c9b2; border-radius: 1rem; background: #eef7f1; }
.allele-copy-ledger span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; color: #fff; font-weight: 850; }
.allele-copy-ledger b { color: #173f40; } .allele-a { background: #39775a; } .allele-b { background: #9a6256; }
.allele-draw, .drift-trajectories { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; align-items: center; margin: 1rem 0; }
.allele-draw article, .drift-trajectories article { display: grid; gap: 0.5rem; padding: 0.9rem; border: 1px solid #b8d2c1; border-radius: 0.9rem; background: #f3faf5; }
.allele-draw i, .selection-evidence-chain i, .speciation-gate i { color: #39775a; font-style: normal; font-weight: 900; text-align: center; }
.drift-trajectories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.drift-trajectories span { position: relative; overflow: hidden; padding: 0.45rem 0.55rem; border-radius: 0.5rem; background: linear-gradient(90deg, #70a989 var(--drift), #ead9d2 var(--drift)); color: #173f40; font-size: 0.85rem; font-weight: 750; }
.selection-evidence-chain, .speciation-gate { display: grid; grid-template-columns: 1fr auto 1fr auto 1.3fr auto 1.2fr; gap: 0.55rem; align-items: center; margin: 1rem 0; }
.selection-evidence-chain span, .selection-evidence-chain strong, .speciation-gate span, .speciation-gate strong { padding: 0.75rem 0.55rem; border-radius: 0.75rem; background: #eef7f1; color: #173f40; text-align: center; }
.selection-evidence-chain strong, .speciation-gate strong { color: #fff; background: #39775a; }
@media (max-width: 640px) { .allele-copy-ledger { grid-template-columns: auto auto 1fr; } .allele-draw, .drift-trajectories, .selection-evidence-chain, .speciation-gate { grid-template-columns: 1fr; } .allele-draw i, .selection-evidence-chain i, .speciation-gate i { transform: rotate(90deg); } }
.communication-chain { display: grid; grid-template-columns: repeat(4, 1fr auto) 1fr; gap: 0.45rem; align-items: center; margin: 1rem 0; }
.communication-chain span, .communication-chain strong { padding: 0.7rem 0.45rem; border-radius: 0.75rem; background: #eef7f1; color: #173f40; text-align: center; }
.communication-chain strong { color: #fff; background: #39775a; } .communication-chain i { color: #39775a; font-style: normal; font-weight: 900; }
.signal-modalities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; margin: 1rem 0; }
.signal-modalities span { padding: 0.8rem 0.5rem; border: 1px solid #abcbb5; border-radius: 999px; background: #f3faf5; color: #214f3b; font-weight: 800; text-align: center; }
.signal-test-pair { margin: 1rem 0; } .signal-test-pair article { display: grid; gap: 0.35rem; padding: 0.85rem; border: 1px solid #b6d0bd; border-radius: 0.8rem; background: #f3faf5; }
.peacock-observatory { overflow: hidden; margin: 1rem 0; border: 1px solid #a8c7b2; border-radius: 1rem; background: radial-gradient(circle at 50% 55%, #f4f0d2, #d7eadc 58%, #b4d2bd); }
.peacock-observatory svg { display: block; width: 100%; height: auto; max-height: 27rem; }
.peacock-observatory figcaption { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; padding: 0.8rem; background: #173f40; color: #fff; }
.peacock-observatory figcaption > * { padding: 0.35rem; text-align: center; }
.signal-isolation-map { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.75rem; align-items: center; margin: 1rem 0; }
.signal-isolation-map article { display: grid; gap: 0.4rem; padding: 0.9rem; border: 1px solid #aac9b3; border-radius: 0.9rem; background: #f3faf5; text-align: center; }
.signal-isolation-map i { color: #8c5b4d; font-style: normal; font-weight: 850; text-align: center; }
@media (max-width: 640px) { .communication-chain, .signal-modalities, .peacock-observatory figcaption, .signal-isolation-map { grid-template-columns: 1fr; } .communication-chain i { transform: rotate(90deg); text-align: center; } [data-peacock-tradeoff] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-peacock-tradeoff] .segmented-control button { overflow-wrap: normal; word-break: normal; hyphens: none; } }
.coastal-landscape-observatory { overflow: hidden; margin: 1rem 0; border: 1px solid #9dbfc2; border-radius: 1rem; background: #d9eef3; }
.coastal-landscape-observatory svg { display: block; width: 100%; height: auto; }
.coast-callouts path { fill: none; stroke: #173f40; stroke-width: 3; stroke-dasharray: 7 5; }
.coast-callouts text { fill: #173f40; font-size: 21px; font-weight: 850; }
.coastal-landscape-observatory figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.65rem; padding: 0.85rem 1rem; color: #fff; background: #173f40; }
.erosion-process-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr; gap: 0.5rem; align-items: center; margin: 1rem 0; }
.erosion-process-chain span, .erosion-process-chain strong { padding: 0.75rem 0.55rem; border: 1px solid #b4cfbe; border-radius: 0.75rem; color: #173f40; background: #f0f8f3; text-align: center; }
.erosion-process-chain strong { color: #fff; border-color: #39775a; background: #39775a; }
.erosion-process-chain i { color: #39775a; font-style: normal; font-weight: 900; text-align: center; }
.rock-weathering-scene { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; align-items: center; margin: 1rem 0; }
.rock-weathering-scene article { display: grid; gap: 0.55rem; place-items: center; padding: 0.9rem; border: 1px solid #b8d0c0; border-radius: 0.9rem; background: #f4faf6; text-align: center; }
.rock-weathering-scene > i { color: #2c7484; font-style: normal; font-weight: 850; }
.rock-sample { display: block; width: 6rem; height: 5rem; clip-path: polygon(12% 13%, 77% 2%, 97% 34%, 86% 88%, 21% 100%, 0 59%); }
.rock-sample--granite { background: radial-gradient(circle at 20% 30%, #262a30 0 5%, transparent 6%), radial-gradient(circle at 67% 65%, #efe8db 0 8%, transparent 9%), radial-gradient(circle at 74% 22%, #a66d63 0 7%, transparent 8%), #b8aaa1; }
.rock-sample--limestone { background: repeating-linear-gradient(8deg, #d8d0b8 0 13px, #bdb394 14px 17px); }
.weathering-factor-matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }
.weathering-factor-matrix span { padding: 0.85rem; border: 1px solid #bad2c2; border-radius: 0.8rem; color: #173f40; background: linear-gradient(145deg, #fff, #e7f3eb); font-weight: 800; text-align: center; }
.river-load-lab { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.7rem; align-items: center; margin: 1rem 0; }
.river-load-lab article { display: grid; gap: 0.5rem; place-items: center; text-align: center; }
.river-load-lab > i { color: #2b7281; font-style: normal; font-weight: 850; text-align: center; }
.lab-vessel { position: relative; display: block; width: 4.4rem; height: 5.6rem; overflow: hidden; border: 0.22rem solid #56747a; border-top: 0; border-radius: 0 0 1rem 1rem; background: linear-gradient(to top, #78b5c2 0 64%, transparent 65%); }
.lab-vessel--turbid { background: radial-gradient(circle at 28% 55%, #7b633f 0 4%, transparent 5%), radial-gradient(circle at 67% 70%, #745a37 0 5%, transparent 6%), linear-gradient(to top, #9d8963 0 64%, transparent 65%); }
.lab-vessel--clear { background: linear-gradient(to top, #b9e3e8 0 64%, transparent 65%); }
.lab-vessel--residue { background: linear-gradient(to top, #d8d0ae 0 11%, transparent 12%); }
.stream-sediment-profile { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.4rem 0.75rem; align-items: end; margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: linear-gradient(#d9edf1 0 48%, #b2d8df 49% 65%, #d8c59f 66%); text-align: center; }
.stream-arrow { grid-column: 1 / -1; justify-self: stretch; padding: 0.5rem; border-radius: 999px; color: #fff; background: linear-gradient(90deg, #225f76, #78aeb8); font-weight: 850; }
.grain { justify-self: center; display: block; border-radius: 50%; background: #69594b; box-shadow: inset -0.25rem -0.25rem 0 #4d4138; }
.grain--boulder { width: 4.5rem; height: 3.7rem; }.grain--pebble { width: 3rem; height: 2.5rem; }.grain--sand { width: 1.3rem; height: 1.3rem; }.grain--silt { width: 0.45rem; height: 0.45rem; }
.stream-sediment-profile small { color: #3f382f; font-weight: 800; }
.landscape-time-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.75rem; align-items: center; margin: 1rem 0; }
.landscape-time-pair article { display: grid; gap: 0.6rem; padding: 0.9rem; border: 1px solid #b6d0bf; border-radius: 0.9rem; background: #f1f8f3; text-align: center; }
.landscape-time-pair > i { color: #39775a; font-style: normal; font-weight: 850; }
.cliff-line { display: block; height: 6.2rem; border-bottom: 0.8rem solid #d7c49e; background: linear-gradient(90deg, transparent 0 32%, #9a7251 33% 61%, transparent 62%); clip-path: polygon(0 0, 67% 0, 70% 20%, 62% 44%, 64% 68%, 57% 100%, 0 100%); }
.cliff-line--b { background: linear-gradient(90deg, transparent 0 22%, #9a7251 23% 51%, transparent 52%); }
@media (max-width: 640px) {
  .erosion-process-chain, .rock-weathering-scene, .river-load-lab, .landscape-time-pair { grid-template-columns: 1fr; }
  .erosion-process-chain i, .river-load-lab > i { transform: rotate(90deg); }
  .rock-weathering-scene > i, .landscape-time-pair > i { text-align: center; }
  .weathering-factor-matrix { grid-template-columns: 1fr; }
  .stream-sediment-profile { gap: 0.35rem; padding: 0.75rem 0.45rem; }
  .grain--boulder { width: 3.2rem; height: 2.7rem; }.grain--pebble { width: 2.2rem; height: 1.8rem; }
  [data-landscape-passport] .segmented-control, [data-erosion-process] .segmented-control, [data-rock-weathering] .segmented-control, [data-weathering-factor] .segmented-control, [data-river-load] .segmented-control, [data-stream-transport] .segmented-control, [data-landscape-change] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-landscape-passport] .segmented-control button, [data-erosion-process] .segmented-control button, [data-rock-weathering] .segmented-control button, [data-weathering-factor] .segmented-control button, [data-river-load] .segmented-control button, [data-stream-transport] .segmented-control button, [data-landscape-change] .segmented-control button { overflow-wrap: normal; word-break: normal; hyphens: none; }
}
.sediment-matter-tray, .weathering-factor-matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }
.sediment-matter-tray span { display: grid; min-height: 4.4rem; place-items: center; padding: 0.7rem; border-radius: 0.85rem; color: #173f40; font-weight: 850; text-align: center; }
.sediment-grain-dot { background: radial-gradient(circle, #7b644d 0 8%, transparent 9%), #eee3d1; background-size: 22px 22px; }.sediment-ion-dot { background: radial-gradient(circle, #3984a0 0 4%, transparent 5%), #dff2f5; background-size: 18px 18px; }.sediment-organic-dot { background: radial-gradient(ellipse, #6e9254 0 14%, transparent 15%), #e9f1dd; background-size: 36px 24px; }.sediment-crystal-dot { background: linear-gradient(135deg, transparent 35%, #d9c47f 36% 64%, transparent 65%), #f7f0d5; background-size: 25px 25px; }
.deposition-flume { position: relative; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.55rem; align-items: center; overflow: hidden; margin: 1rem 0; padding: 1rem 1rem 3.3rem; border-radius: 1rem; color: #173f40; background: linear-gradient(#e5f3f5 0 56%, #86bfca 57% 72%, #d7c39d 73%); text-align: center; }
.deposition-flume i { color: #2a7180; font-style: normal; font-weight: 900; }.deposition-flume strong { color: #fff; }.flume-grains { position: absolute; right: 8%; bottom: 0.7rem; display: flex; gap: 0.55rem; align-items: end; }.flume-grains b { display: block; width: 1rem; height: 1rem; border-radius: 50%; background: #69594b; }.flume-grains b:nth-child(2) { width: .8rem; height: .8rem; }.flume-grains b:nth-child(n+3) { width: .42rem; height: .42rem; }
.grain-passport-visual { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: end; justify-content: center; margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: #eee5d5; }.grain-passport-visual .gp { display: block; border-radius: 50%; background: #80684e; }.gp--1 { width: 4rem; height: 3.5rem; border-radius: 38% 62% 44% 56% !important; }.gp--2 { width: 3rem; height: 3rem; }.gp--3 { width: 2rem; height: 1.8rem; }.gp--4 { width: 1.1rem; height: 1.1rem; }.gp--5 { width: .55rem; height: .55rem; }.grain-passport-visual span { flex-basis: 100%; color: #4e4438; font-weight: 850; text-align: center; }
.sedimentary-structure-cut { position: relative; min-height: 11rem; overflow: hidden; margin: 1rem 0; border: 1px solid #b8cdbf; border-radius: 1rem; background: #f5edda; }.sedimentary-structure-cut span { position: absolute; left: 0; right: 0; height: 1.1rem; background: #a97b50; }.sedimentary-structure-cut span:nth-child(1) { bottom: 1rem; }.sedimentary-structure-cut span:nth-child(2) { bottom: 3rem; }.sedimentary-structure-cut span:nth-child(3) { bottom: 5rem; }.sedimentary-structure-cut span:nth-child(4) { bottom: 7rem; }.sedimentary-structure-cut i { position: absolute; width: 10rem; height: .65rem; bottom: 3.2rem; left: 22%; background: #d4b077; transform: rotate(-18deg); }.sedimentary-structure-cut i:nth-of-type(2) { left: 45%; bottom: 4.2rem; }.sedimentary-structure-cut i:nth-of-type(3) { left: 66%; bottom: 5rem; }
.detrital-rock-slides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }.rock-slide { display: grid; min-height: 8rem; place-items: end center; padding: 0.7rem; border: 1px solid #b5cbbd; border-radius: 0.9rem; color: #fff; text-align: center; }.rock-slide--conglomerate { background: radial-gradient(ellipse at 25% 30%, #75614c 0 11%, transparent 12%), radial-gradient(ellipse at 70% 60%, #89715a 0 15%, transparent 16%), #c4a67d; }.rock-slide--sandstone { background: radial-gradient(circle, #8a6a49 0 7%, transparent 8%), #d6b987; background-size: 18px 18px; }.rock-slide--fine { background: repeating-linear-gradient(0deg, #756b5d 0 3px, #908675 4px 7px); }
.diagenesis-press { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.6rem; align-items: center; margin: 1rem 0; }.diagenesis-press article { display: grid; gap: 0.45rem; text-align: center; }.diagenesis-press > i { color: #39775a; font-style: normal; font-weight: 850; }.pore-sample { display: block; min-height: 6rem; border: 1px solid #aebfaf; border-radius: 0.8rem; }.pore-sample--loose { background: radial-gradient(circle, #80664b 0 17%, transparent 18%), #d8eff2; background-size: 44px 44px; }.pore-sample--compact { background: radial-gradient(circle, #80664b 0 25%, transparent 26%), #b6dce2; background-size: 40px 34px; }.pore-sample--cement { background: radial-gradient(circle, #80664b 0 28%, #d6c48f 29% 40%, transparent 41%), #d9d0a9; background-size: 40px 34px; }
.facies-evidence-fan { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; margin: 1rem 0; }.facies-evidence-fan span, .facies-evidence-fan strong { padding: 0.75rem 0.4rem; border-radius: 0.7rem; background: #edf7f0; color: #173f40; text-align: center; }.facies-evidence-fan strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
@media (max-width: 640px) { .sediment-matter-tray, .detrital-rock-slides, .facies-evidence-fan { grid-template-columns: 1fr; }.facies-evidence-fan strong { grid-column: auto; }.deposition-flume, .diagenesis-press { grid-template-columns: 1fr; }.deposition-flume { padding-bottom: 3.2rem; }.diagenesis-press > i { max-width: 100%; text-align: center; overflow-wrap: anywhere; }.sedimentary-structure-cut i { width: 7rem; } [data-sediment-matter] .segmented-control, [data-deposition-energy] .segmented-control, [data-grain-passport] .segmented-control, [data-sedimentary-structure] .segmented-control, [data-detrital-rock] .segmented-control, [data-diagenesis] .segmented-control, [data-sedimentary-facies] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.resource-origin-deck { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }.resource-origin-deck article { display: grid; gap: 0.4rem; padding: 0.75rem; border: 1px solid #b6cdbd; border-radius: 0.9rem; background: #f4faf6; text-align: center; }.resource-scene { display: block; min-height: 6.5rem; border-radius: 0.7rem; }.resource-scene--river { background: radial-gradient(ellipse at 30% 70%, #77624c 0 8%, transparent 9%), radial-gradient(ellipse at 70% 76%, #8b7458 0 10%, transparent 11%), linear-gradient(#d8eef1 0 45%, #5394a5 46% 70%, #cbb184 71%); }.resource-scene--quarry { background: linear-gradient(145deg, transparent 0 38%, #9a7657 39% 50%, #c49a6b 51% 62%, #806247 63%), #dcecef; }.resource-scene--recycled { background: linear-gradient(45deg, transparent 40%, #78838a 41% 58%, transparent 59%), linear-gradient(-45deg, transparent 42%, #a28d75 43% 58%, transparent 59%), #e9eceb; background-size: 38px 38px; }
.aggregate-life-chain { display: grid; grid-template-columns: repeat(5, 1fr auto) 1.45fr; gap: 0.4rem; align-items: center; margin: 1rem 0; }.aggregate-life-chain span, .aggregate-life-chain strong { padding: 0.7rem 0.45rem; border: 1px solid #b5cdbd; border-radius: 0.7rem; color: #173f40; background: #eef7f1; text-align: center; }.aggregate-life-chain strong { color: #fff; border-color: #39775a; background: #39775a; }.aggregate-life-chain i { color: #39775a; font-style: normal; font-weight: 900; }
.human-erosion-transect { overflow: hidden; margin: 1rem 0; border: 1px solid #a9c4bc; border-radius: 1rem; background: #dff1f3; }.human-erosion-transect svg { display: block; width: 100%; height: auto; }.human-erosion-transect figcaption { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr; gap: 0.5rem; align-items: center; padding: 0.75rem; color: #fff; background: #173f40; text-align: center; }.human-erosion-transect figcaption i { color: #f3a326; font-style: normal; font-weight: 900; }
.soil-cover-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; align-items: center; margin: 1rem 0; }.soil-cover-pair article { display: grid; gap: 0.5rem; text-align: center; }.soil-pan { display: block; min-height: 7rem; border: 0.2rem solid #8e7659; border-radius: 0.8rem; transform: perspective(18rem) rotateX(12deg); }.soil-pan--bare { background: repeating-linear-gradient(8deg, #9b724c 0 8px, #a9825d 9px 15px); }.soil-pan--covered { background: radial-gradient(ellipse at 30% 70%, #477847 0 12%, transparent 13%), radial-gradient(ellipse at 65% 40%, #5b8b50 0 15%, transparent 16%), #8c704f; background-size: 44px 35px; }.rain-control { color: #3b8191; font-size: 1.6rem; font-weight: 900; text-align: center; }.rain-control small { display: block; color: #173f40; font-size: 0.75rem; }
.erosion-risk-matrix { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1.2fr auto 1.35fr; gap: 0.45rem; align-items: center; margin: 1rem 0; }.erosion-risk-matrix span, .erosion-risk-matrix strong { padding: 0.75rem 0.45rem; border-radius: 0.75rem; background: #edf7f0; color: #173f40; text-align: center; }.erosion-risk-matrix strong { color: #fff; background: #39775a; }.erosion-risk-matrix b, .erosion-risk-matrix i { color: #8c5b4d; font-style: normal; text-align: center; }
.management-portfolio { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }.management-portfolio article { display: grid; gap: 0.35rem; min-height: 6rem; place-content: center; padding: 0.75rem; border: 1px solid #b3cdbb; border-radius: 0.85rem; background: linear-gradient(145deg, #fff, #e5f2e9); color: #173f40; text-align: center; }.management-portfolio span { color: #39775a; font-weight: 800; }
.intervention-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }.intervention-evidence-grid span, .intervention-evidence-grid strong { padding: 0.9rem; border: 1px solid #b4ccbc; border-radius: 0.8rem; background: #f2f9f4; color: #173f40; text-align: center; }.intervention-evidence-grid strong { grid-column: 1 / -1; color: #fff; border-color: #39775a; background: #39775a; }
@media (max-width: 640px) { .resource-origin-deck, .aggregate-life-chain, .human-erosion-transect figcaption, .soil-cover-pair, .erosion-risk-matrix, .management-portfolio { grid-template-columns: 1fr; }.aggregate-life-chain i, .human-erosion-transect figcaption i, .erosion-risk-matrix b, .erosion-risk-matrix i { text-align: center; transform: rotate(90deg); }.soil-cover-pair .rain-control { transform: none; }.intervention-evidence-grid { grid-template-columns: 1fr; }.intervention-evidence-grid strong { grid-column: auto; } [data-erosion-resource] .segmented-control, [data-aggregate-lifecycle] .segmented-control, [data-human-pressure] .segmented-control, [data-soil-cover] .segmented-control, [data-erosion-risk] .segmented-control, [data-erosion-management] .segmented-control, [data-erosion-intervention] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-human-pressure] .segmented-control { grid-template-columns: 1fr; } }
.agro-boundary-map { overflow: hidden; margin: 1rem 0; border: 1px solid #aac7b6; border-radius: 1rem; background: #eef7f1; }.agro-boundary-map svg { display: block; width: 100%; height: auto; }.agro-boundary-map figcaption { display: grid; grid-template-columns: repeat(3, 1fr) 1.3fr; gap: 0.5rem; padding: 0.75rem; color: #173f40; text-align: center; }.agro-boundary-map figcaption strong { color: #fff; padding: 0.4rem; border-radius: 0.5rem; background: #39775a; }
.agro-biomass-router { display: grid; grid-template-columns: 1.2fr auto 1.2fr repeat(3, 1fr); gap: 0.55rem; align-items: center; margin: 1rem 0; }.agro-biomass-router span, .agro-biomass-router strong { min-height: 4.7rem; display: grid; place-items: center; padding: 0.65rem; border: 1px solid #b4cdb9; border-radius: 0.8rem; background: #eef7f1; color: #173f40; text-align: center; }.agro-biomass-router strong { color: #fff; background: #39775a; }.agro-biomass-router i { color: #f3a326; font-style: normal; font-weight: 900; }
.agro-nutrient-ledger { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; margin: 1rem 0; }.agro-nutrient-ledger article { display: grid; gap: 0.35rem; padding: 0.8rem; border: 1px solid #b1c9b7; border-radius: 0.85rem; background: linear-gradient(145deg,#fff,#e9f4eb); text-align: center; }.agro-nutrient-ledger strong { grid-column: 1 / -1; padding: 0.75rem; border-radius: 0.75rem; color: #fff; background: #173f40; text-align: center; }
.agro-yield-formula { display: grid; gap: 0.8rem; margin: 1rem 0; padding: 1rem; border: 1px solid #b3cbbb; border-radius: 0.9rem; background: #f3f9f4; text-align: center; }.agro-yield-formula > span { font-size: 1.08rem; font-weight: 800; }.agro-yield-formula > div { display: flex; flex-wrap: wrap; gap: 0.65rem; justify-content: center; align-items: center; }.agro-yield-formula b, .agro-yield-formula strong { padding: 0.55rem 0.75rem; border-radius: 0.65rem; background: #fff; }.agro-yield-formula strong { color: #fff; background: #39775a; }.agro-yield-formula i { color: #f3a326; font-style: normal; font-weight: 900; }
.agro-trophic-transfer { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr; gap: 0.55rem; align-items: center; margin: 1rem 0; }.agro-trophic-transfer span, .agro-trophic-transfer strong { min-height: 4rem; display: grid; place-items: center; padding: 0.65rem; border: 1px solid #b4cdb9; border-radius: 0.75rem; background: #edf7f0; text-align: center; }.agro-trophic-transfer strong { color: #fff; background: #39775a; }.agro-trophic-transfer i { color: #f3a326; font-style: normal; font-weight: 900; }.agro-trophic-transfer small { grid-column: 1 / -1; padding: 0.8rem 0.5rem; border-radius: 0.7rem; background: #fff; font-size: 1rem; text-align: center; }.agro-trophic-transfer small .math-expression { font-size: 1.3rem; }
.agro-model-passport { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin: 1rem 0; }.agro-model-passport span, .agro-model-passport strong { padding: 0.75rem 0.5rem; border: 1px solid #b7cdbb; border-radius: 0.75rem; background: #eef7f1; color: #173f40; text-align: center; }.agro-model-passport strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
.agro-terroir-board { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; margin: 1rem 0; }.agro-terroir-board span, .agro-terroir-board strong { padding: 0.8rem 0.45rem; border-radius: 0.75rem; background: #edf7f0; color: #173f40; text-align: center; }.agro-terroir-board strong { grid-column: 1 / -1; color: #fff; background: #173f40; }
@media (max-width: 640px) { .agro-boundary-map figcaption, .agro-biomass-router, .agro-nutrient-ledger, .agro-trophic-transfer, .agro-model-passport, .agro-terroir-board { grid-template-columns: 1fr; }.agro-biomass-router i, .agro-trophic-transfer i { text-align: center; transform: rotate(90deg); }.agro-nutrient-ledger strong, .agro-trophic-transfer small, .agro-model-passport strong, .agro-terroir-board strong { grid-column: auto; } [data-agro-boundary] .segmented-control, [data-agro-biomass] .segmented-control, [data-agro-ledger] .segmented-control, [data-agro-yield] .segmented-control, [data-agro-ecological-yield] .segmented-control, [data-agro-model] .segmented-control, [data-agro-terroir] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.soil-profile-observatory { overflow: hidden; margin: 1rem 0; border: 1px solid #b89f78; border-radius: 1rem; background: #f7f0e5; }
.soil-profile-observatory svg { display: block; width: 100%; height: auto; }
.soil-profile-observatory figcaption { display: grid; grid-template-columns: 1fr auto 1fr auto 1.5fr; gap: .55rem; align-items: center; padding: .8rem; color: #3f3329; text-align: center; }
.soil-profile-observatory figcaption span, .soil-profile-observatory figcaption strong { padding: .55rem; border-radius: .6rem; background: #fff; }
.soil-profile-observatory figcaption strong { color: #fff; background: #526b3f; }
.soil-profile-observatory figcaption i, .root-solution-map i, .mineral-growth-pair > i, .soil-organic-ledger > i { color: #d9851c; font-style: normal; font-weight: 900; }
.soil-formation-matrix { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.soil-formation-matrix span, .soil-formation-matrix strong { display: grid; min-height: 4rem; place-items: center; padding: .65rem; border: 1px solid #c8b89d; border-radius: .75rem; background: #f7f1e6; color: #493a2e; text-align: center; }
.soil-formation-matrix strong { grid-column: 1 / -1; color: #fff; background: #526b3f; }
.soil-property-bench { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1rem 0; }
.soil-property-bench article { display: grid; gap: .55rem; min-width: 0; padding: .8rem; border: 1px solid #c9b99f; border-radius: .85rem; background: linear-gradient(145deg,#fff,#f3eadc); text-align: center; }
.soil-property-bench article > span { min-height: 5.5rem; border-radius: .65rem; background-color: #e9ddc9; }
.soil-particles { background-image: radial-gradient(circle at 20% 32%,#806b52 0 7px,transparent 8px),radial-gradient(circle at 61% 23%,#b59870 0 4px,transparent 5px),radial-gradient(circle at 76% 67%,#655343 0 10px,transparent 11px),radial-gradient(circle at 38% 72%,#9d815e 0 5px,transparent 6px); background-size: 55px 45px; }
.soil-aggregates { background-image: radial-gradient(ellipse at 25% 40%,#735943 0 14px,transparent 15px),radial-gradient(ellipse at 68% 61%,#967552 0 18px,transparent 19px),radial-gradient(ellipse at 85% 18%,#604c3b 0 11px,transparent 12px); background-size: 92px 72px; }
.soil-water-scale { display: grid; place-items: center; border: 2px solid #82a8af; color: #315e66; font-weight: 900; }
.soil-property-bench small { min-width: 0; overflow-wrap: anywhere; }
.soil-property-bench small .math-expression { max-width: 100%; font-size: 1rem; }
.root-solution-map { display: grid; grid-template-columns: 1.25fr auto 1fr auto 1.25fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.root-solution-map span, .root-solution-map strong { display: grid; min-height: 4.5rem; place-items: center; padding: .65rem; border: 1px solid #abc2a7; border-radius: .75rem; background: #eff6e9; text-align: center; }
.root-solution-map strong { color: #fff; background: #526b3f; }
.root-solution-map small { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; background: #eaf4f5; color: #315e66; font-size: 1rem; font-weight: 800; text-align: center; }
.mineral-growth-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; margin: 1rem 0; }
.mineral-growth-pair article { display: grid; gap: .45rem; justify-items: center; padding: .8rem; border: 1px solid #bdc9a8; border-radius: .85rem; background: #f3f7ea; text-align: center; }
.mineral-growth-pair > i { max-width: 8rem; text-align: center; }
.plant-pot { position: relative; display: block; width: 5.5rem; height: 6.5rem; }
.plant-pot::before { position: absolute; left: 1.1rem; bottom: 0; width: 3.3rem; height: 2.6rem; border-radius: .35rem .35rem 1.2rem 1.2rem; background: #a56e46; content: ""; }
.plant-pot::after { position: absolute; left: 2.65rem; bottom: 2.2rem; width: .35rem; height: 3.8rem; border-radius: 1rem; background: #4f7d3e; box-shadow: -1.1rem -1.15rem 0 -.25rem #6ea14f, 1rem -2rem 0 -.15rem #6ea14f; content: ""; transform-origin: bottom; }
.plant-pot--deficient::after { height: 2.2rem; background: #8c8842; box-shadow: -.8rem -.5rem 0 -.28rem #b0a446, .7rem -1rem 0 -.25rem #b0a446; }
.soil-food-web { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin: 1rem 0; }
.soil-food-web strong, .soil-food-web span, .soil-food-web i { display: grid; place-items: center; min-height: 4rem; padding: .65rem; border-radius: .7rem; background: #f4ecdf; color: #493a2e; text-align: center; }
.soil-food-web strong { grid-column: 1 / -1; color: #fff; background: #526b3f; }
.soil-food-web span { border: 1px solid #c9b79a; }
.soil-food-web i { grid-column: 1 / -1; min-height: auto; color: #315e66; background: #e8f2f2; font-style: normal; font-weight: 800; }
.soil-organic-ledger { display: grid; grid-template-columns: 1.2fr auto 1.2fr repeat(4, 1fr); gap: .5rem; align-items: center; margin: 1rem 0; }
.soil-organic-ledger span, .soil-organic-ledger strong { display: grid; min-height: 4.6rem; place-items: center; padding: .6rem; border: 1px solid #c5b496; border-radius: .7rem; background: #f5eddf; text-align: center; }
.soil-organic-ledger strong { color: #fff; background: #526b3f; }
.soil-organic-ledger small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #fff; color: #755834; font-size: 1rem; text-align: center; }
@media (max-width: 640px) {
  .soil-profile-observatory figcaption, .soil-formation-matrix, .soil-property-bench, .root-solution-map, .mineral-growth-pair, .soil-food-web, .soil-organic-ledger { grid-template-columns: 1fr; }
  .soil-profile-observatory figcaption i, .root-solution-map i, .soil-organic-ledger > i { transform: rotate(90deg); }
  .soil-formation-matrix strong, .root-solution-map small, .soil-food-web strong, .soil-food-web i, .soil-organic-ledger small { grid-column: auto; }
  .mineral-growth-pair > i { max-width: none; }
  [data-soil-profile] .segmented-control, [data-soil-formation] .segmented-control, [data-soil-properties] .segmented-control, [data-soil-nutrition] .segmented-control, [data-soil-growth-experiment] .segmented-control, [data-soil-food-web] .segmented-control, [data-soil-organic-ledger] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sustainability-dashboard { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.sustainability-dashboard span, .sustainability-dashboard strong { display: grid; min-height: 4.4rem; place-items: center; padding: .65rem; border: 1px solid #a8c4ad; border-radius: .75rem; background: #edf6ed; color: #173f40; text-align: center; }
.sustainability-dashboard strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: linear-gradient(90deg,#315e66,#39775a); }
.impact-evidence-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.25fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.impact-evidence-chain span, .impact-evidence-chain strong { display: grid; min-height: 4rem; place-items: center; padding: .65rem; border: 1px solid #b4c8b2; border-radius: .7rem; background: #eff7ed; text-align: center; }
.impact-evidence-chain strong { color: #fff; background: #39775a; }
.impact-evidence-chain i, .nitrogen-balance-map > i, .adaptive-management-cycle > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.impact-evidence-chain small { grid-column: 1 / -1; padding: .8rem; border-radius: .7rem; background: #fff; font-size: 1rem; text-align: center; }
.impact-evidence-chain small .math-expression { font-size: 1.12rem; }
.nitrogen-balance-map { display: grid; grid-template-columns: 1.25fr auto 1.5fr repeat(4, 1fr); gap: .5rem; align-items: center; margin: 1rem 0; }
.nitrogen-balance-map span, .nitrogen-balance-map strong { display: grid; min-height: 4.5rem; place-items: center; padding: .6rem; border: 1px solid #aebf9d; border-radius: .7rem; background: #f1f5e7; text-align: center; }
.nitrogen-balance-map strong { color: #fff; background: #526b3f; }
.nitrogen-balance-map small { grid-column: 1 / -1; padding: .75rem; border-radius: .65rem; background: #e8f2f2; color: #315e66; font-size: 1rem; font-weight: 800; text-align: center; }
.crop-protection-stair { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; align-items: end; margin: 1rem 0; }
.crop-protection-stair span, .crop-protection-stair strong, .crop-protection-stair i { display: grid; place-items: center; padding: .65rem; border-radius: .7rem; color: #173f40; background: #edf6ed; text-align: center; }
.crop-protection-stair span:nth-child(1) { min-height: 3.6rem; }
.crop-protection-stair span:nth-child(2) { min-height: 4.5rem; background: #e1efdf; }
.crop-protection-stair span:nth-child(3) { min-height: 5.4rem; background: #d3e8d0; }
.crop-protection-stair strong { min-height: 6.3rem; color: #fff; background: #39775a; }
.crop-protection-stair i { grid-column: 1 / -1; color: #754c15; background: #fff1d6; font-style: normal; font-weight: 800; }
.agro-landscape-map { overflow: hidden; margin: 1rem 0; border: 1px solid #a8c2ad; border-radius: 1rem; background: #eaf4ed; }
.agro-landscape-map svg { display: block; width: 100%; height: auto; }
.agro-landscape-map figcaption { padding: .75rem; color: #173f40; font-weight: 800; text-align: center; }
.agro-tradeoff-board { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.agro-tradeoff-board b, .agro-tradeoff-board strong, .agro-tradeoff-board span, .agro-tradeoff-board i { min-width: 0; padding: .6rem; border-radius: .6rem; text-align: center; }
.agro-tradeoff-board b, .agro-tradeoff-board strong { color: #fff; background: #173f40; }
.agro-tradeoff-board span { border: 1px solid #b4c7b1; background: #f2f7ed; }
.agro-tradeoff-board i { position: relative; height: 1.8rem; overflow: hidden; border: 1px solid #b5c8b4; background: #fff; }
.agro-tradeoff-board i::before { position: absolute; inset: 0 auto 0 0; width: var(--score); border-radius: .5rem; background: linear-gradient(90deg,#88ad67,#39775a); content: ""; }
.agro-tradeoff-board small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; color: #754c15; background: #fff1d6; font-size: 1rem; text-align: center; }
.adaptive-management-cycle { display: grid; grid-template-columns: repeat(7, auto); gap: .5rem; align-items: center; margin: 1rem 0; }
.adaptive-management-cycle span, .adaptive-management-cycle strong { display: grid; min-height: 4.4rem; place-items: center; padding: .65rem; border: 1px solid #aec5b1; border-radius: .75rem; background: #eff7ed; color: #173f40; text-align: center; }
.adaptive-management-cycle strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #315e66; }
@media (max-width: 640px) {
  .sustainability-dashboard, .impact-evidence-chain, .nitrogen-balance-map, .crop-protection-stair, .adaptive-management-cycle { grid-template-columns: 1fr; }
  .sustainability-dashboard strong, .impact-evidence-chain small, .nitrogen-balance-map small, .crop-protection-stair i, .adaptive-management-cycle strong { grid-column: auto; }
  .impact-evidence-chain > i, .nitrogen-balance-map > i, .adaptive-management-cycle > i { transform: rotate(90deg); }
  .crop-protection-stair span, .crop-protection-stair strong { min-height: auto !important; }
  .agro-tradeoff-board { grid-template-columns: 1.25fr .8fr .8fr; gap: .35rem; }
  .agro-tradeoff-board b, .agro-tradeoff-board strong, .agro-tradeoff-board span, .agro-tradeoff-board i { padding: .45rem .3rem; font-size: .82rem; }
  [data-agro-sustainability] .segmented-control, [data-agro-impact-chain] .segmented-control, [data-agro-nitrogen] .segmented-control, [data-agro-protection] .segmented-control, [data-agro-diversity] .segmented-control, [data-agro-tradeoff] .segmented-control, [data-agro-adaptive] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sex-level-passport { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin: 1rem 0; }
.sex-level-passport span, .sex-level-passport strong { display: grid; min-height: 4.2rem; place-items: center; padding: .65rem; border: 1px solid #b9b9d2; border-radius: .75rem; background: #f2f2fa; color: #303657; text-align: center; }
.sex-level-passport strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #4c557d; }
.fertilization-chromosome-builder { display: grid; grid-template-columns: 1fr auto 1fr auto 1.35fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.fertilization-chromosome-builder article { display: grid; gap: .45rem; min-height: 7rem; place-items: center; padding: .75rem; border: 1px solid #b9bfd9; border-radius: .85rem; background: #f4f4fb; text-align: center; }
.fertilization-chromosome-builder article strong { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border-radius: 50%; color: #fff; background: #4c557d; font-size: 1.5rem; }
.fertilization-chromosome-builder article span { font-weight: 800; }
.fertilization-chromosome-builder > i, .gonad-pathway-map > i, .hormone-target-chain > i, .puberty-axis-map > i, .puberty-development-timeline > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.fertilization-chromosome-builder small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #e9f2f4; color: #315e66; font-size: 1rem; text-align: center; }
.gonad-pathway-map { display: grid; grid-template-columns: 1fr auto auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.gonad-pathway-map > strong { grid-column: 1 / -1; padding: .8rem; border-radius: .75rem; color: #fff; background: #4c557d; text-align: center; }
.gonad-pathway-map > span { display: grid; min-height: 5.5rem; place-items: center; padding: .75rem; border: 1px solid #b9bfd9; border-radius: .8rem; background: #f3f3fa; text-align: center; }
.gonad-pathway-map > span:first-of-type { grid-column: 1 / 3; }
.gonad-pathway-map > span:last-of-type { grid-column: 3 / 5; }
.gonad-pathway-map small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; color: #754c15; background: #fff1d6; font-size: 1rem; text-align: center; }
.hormone-target-chain, .puberty-axis-map { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1.25fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.hormone-target-chain span, .hormone-target-chain strong, .puberty-axis-map span, .puberty-axis-map strong { display: grid; min-height: 4.8rem; place-items: center; padding: .65rem; border: 1px solid #b8bfd6; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.hormone-target-chain strong, .puberty-axis-map strong { color: #fff; background: #4c557d; }
.hormone-target-chain small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #e9f2f4; color: #315e66; font-size: 1rem; text-align: center; }
.puberty-axis-map span small, .puberty-axis-map strong small { display: block; margin-top: .35rem; color: inherit; }
.puberty-development-timeline { display: grid; grid-template-columns: 1fr auto 1.35fr auto 1fr auto 1.25fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.puberty-development-timeline span, .puberty-development-timeline strong { display: grid; min-height: 5.3rem; place-items: center; padding: .65rem; border: 1px solid #b9bfd4; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.puberty-development-timeline strong { color: #fff; background: #4c557d; }
.puberty-development-timeline small { display: block; margin-top: .35rem; color: inherit; }
.sex-variation-audit { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.sex-variation-audit span, .sex-variation-audit strong { display: grid; min-height: 4.5rem; place-items: center; padding: .65rem; border: 1px solid #b9bfd5; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.sex-variation-audit strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #4c557d; }
@media (max-width: 640px) {
  .sex-level-passport, .fertilization-chromosome-builder, .gonad-pathway-map, .hormone-target-chain, .puberty-axis-map, .puberty-development-timeline, .sex-variation-audit { grid-template-columns: 1fr; }
  .sex-level-passport strong, .fertilization-chromosome-builder small, .gonad-pathway-map > strong, .gonad-pathway-map > span:first-of-type, .gonad-pathway-map > span:last-of-type, .gonad-pathway-map small, .hormone-target-chain small, .sex-variation-audit strong { grid-column: auto; }
  .fertilization-chromosome-builder > i, .gonad-pathway-map > i, .hormone-target-chain > i, .puberty-axis-map > i, .puberty-development-timeline > i { transform: rotate(90deg); }
  .fertilization-chromosome-builder article, .hormone-target-chain span, .hormone-target-chain strong, .puberty-axis-map span, .puberty-axis-map strong, .puberty-development-timeline span, .puberty-development-timeline strong { min-height: auto; }
  [data-sex-levels] .segmented-control, [data-sex-fertilization] .segmented-control, [data-sex-sry] .segmented-control, [data-sex-hormone] .segmented-control, [data-sex-puberty-axis] .segmented-control, [data-sex-puberty-timeline] .segmented-control, [data-sex-variation] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pleasure-level-compass { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1.25fr auto 1fr auto 1fr; gap: .45rem; align-items: center; margin: 1rem 0; }
.pleasure-level-compass span, .pleasure-level-compass strong { display: grid; min-height: 4.4rem; place-items: center; padding: .65rem; border: 1px solid #b8bfd6; border-radius: .75rem; background: #f2f3fa; color: #303657; text-align: center; }
.pleasure-level-compass strong { color: #fff; background: #4c557d; }
.pleasure-level-compass i, .sensory-brain-route > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.pleasure-level-compass small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #e8f2f4; color: #315e66; font-size: 1rem; text-align: center; }
.sensory-brain-route { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr auto 1fr auto 1fr; gap: .45rem; align-items: center; margin: 1rem 0; }
.sensory-brain-route span, .sensory-brain-route strong { display: grid; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #b8bfd6; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.sensory-brain-route strong { color: #fff; background: #4c557d; }
.sensory-brain-route small, .consent-level-gates small, .brain-imaging-audit strong small { display: block; margin-top: .3rem; color: inherit; }
.reward-network-map { overflow: hidden; margin: 1rem 0; border: 1px solid #b6bdd4; border-radius: 1rem; background: linear-gradient(145deg,#fafaff,#eef2f8); }
.reward-network-map svg { display: block; width: 100%; height: auto; }
.reward-network-map figcaption { padding: .7rem; color: #303657; font-weight: 800; text-align: center; }
.dopamine-learning-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1rem 0; }
.dopamine-learning-track article { display: grid; gap: .55rem; align-content: start; min-width: 0; padding: .8rem; border: 1px solid #b8bfd6; border-radius: .85rem; background: #f3f3fa; color: #303657; text-align: center; }
.dopamine-learning-track article span { min-height: 2.8rem; }
.dopamine-learning-track article i { position: relative; display: block; height: 4rem; overflow: hidden; border-radius: .6rem; background: repeating-linear-gradient(90deg,#e1e4f0 0 1px,transparent 1px 12%); }
.dopamine-learning-track article i::before { position: absolute; inset: auto 8% 0; height: var(--pulse); border-radius: .45rem .45rem 0 0; background: linear-gradient(#f6b548,#d9851c); content: ""; }
.dopamine-learning-track strong { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #fff; background: #4c557d; text-align: center; }
.experience-factor-mixer { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.experience-factor-mixer span, .experience-factor-mixer strong { display: grid; min-height: 4.5rem; place-items: center; padding: .65rem; border: 1px solid #b9bfd5; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.experience-factor-mixer span:nth-child(2), .experience-factor-mixer span:nth-child(4) { background: #eef6f5; }
.experience-factor-mixer strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: linear-gradient(90deg,#4c557d,#315e66); }
.consent-level-gates { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.4fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.consent-level-gates span, .consent-level-gates strong { display: grid; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #b7bdd3; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.consent-level-gates strong { color: #fff; background: #315e66; }
.consent-level-gates b { color: #d9851c; font-size: 1.4rem; text-align: center; }
.consent-level-gates i { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #754c15; background: #fff1d6; font-style: normal; font-weight: 800; text-align: center; }
.brain-imaging-audit { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.brain-imaging-audit > div, .brain-imaging-audit > strong { display: grid; place-items: center; min-width: 0; padding: .65rem; border: 1px solid #b7bed5; border-radius: .85rem; background: #f3f3fa; color: #303657; text-align: center; }
.brain-imaging-audit svg { display: block; width: 100%; height: auto; }
.brain-imaging-audit svg path { fill: #e7eaf4; stroke: #4c557d; stroke-width: 6; }
.brain-imaging-audit svg circle { fill: #e49a2d; opacity: .84; }
.brain-imaging-audit > span { color: #d9851c; font-size: 1.35rem; font-weight: 900; text-align: center; }
.brain-imaging-audit > strong { min-height: 7rem; color: #fff; background: #4c557d; }
@media (max-width: 640px) {
  .pleasure-level-compass, .sensory-brain-route, .dopamine-learning-track, .experience-factor-mixer, .consent-level-gates, .brain-imaging-audit { grid-template-columns: 1fr; }
  .pleasure-level-compass small, .dopamine-learning-track strong, .experience-factor-mixer strong, .consent-level-gates i { grid-column: auto; }
  .pleasure-level-compass i, .sensory-brain-route > i { transform: rotate(90deg); }
  .pleasure-level-compass span, .pleasure-level-compass strong, .sensory-brain-route span, .sensory-brain-route strong, .consent-level-gates span, .consent-level-gates strong { min-height: auto; }
  [data-pleasure-levels] .segmented-control, [data-pleasure-sensory-route] .segmented-control, [data-pleasure-reward-network] .segmented-control, [data-pleasure-dopamine] .segmented-control, [data-pleasure-context] .segmented-control, [data-pleasure-consent] .segmented-control, [data-pleasure-imaging] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.reproductive-axis-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.reproductive-axis-map span, .reproductive-axis-map strong { display: grid; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #aebfcf; border-radius: .75rem; background: #edf4f5; color: #264c58; text-align: center; }
.reproductive-axis-map strong { color: #fff; background: #315e66; }
.reproductive-axis-map small, .testis-parallel-output small, .synthetic-hormone-router small, .amp-pathway small { display: block; margin-top: .3rem; color: inherit; }
.reproductive-axis-map i, .amp-pathway i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.reproductive-axis-map b, .amp-pathway b { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #754c15; background: #fff1d6; text-align: center; }
.testis-parallel-output { display: grid; grid-template-columns: 1fr auto auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.testis-parallel-output > strong { grid-column: 1 / -1; padding: .8rem; border-radius: .75rem; color: #fff; background: #315e66; text-align: center; }
.testis-parallel-output > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.testis-parallel-output article { display: grid; gap: .35rem; min-height: 6rem; place-items: center; padding: .75rem; border: 1px solid #aec4cb; border-radius: .8rem; background: #eef5f5; color: #264c58; text-align: center; }
.testis-parallel-output article:first-of-type { grid-column: 1 / 3; }
.testis-parallel-output article:last-of-type { grid-column: 3 / 5; }
.testis-parallel-output em { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #fff; color: #315e66; font-style: normal; text-align: center; }
.cycle-synchronizer { display: grid; grid-template-columns: .75fr repeat(3, 1fr); gap: .45rem; margin: 1rem 0; }
.cycle-synchronizer > * { display: grid; min-height: 3.8rem; place-items: center; padding: .55rem; border-radius: .65rem; text-align: center; }
.cycle-synchronizer > strong { color: #fff; background: #315e66; }
.cycle-synchronizer > b { color: #fff; background: #4c557d; }
.cycle-synchronizer > b:first-child { background: transparent; }
.cycle-synchronizer > span { border: 1px solid #b3c6ce; background: #eef5f5; color: #264c58; }
.cycle-synchronizer > span:nth-of-type(4), .cycle-synchronizer > span:nth-of-type(5), .cycle-synchronizer > span:nth-of-type(6) { background: #f2f2fa; color: #303657; }
.cycle-evidence-graph { overflow: hidden; margin: 1rem 0; border: 1px solid #b1c3ce; border-radius: 1rem; background: linear-gradient(145deg,#f8fbfb,#eef3f8); }
.cycle-evidence-graph svg { display: block; width: 100%; height: auto; }
.cycle-evidence-graph .cycle-axis { fill: none; stroke: #607484; stroke-width: 5; }
.cycle-evidence-graph .cycle-lh { fill: none; stroke: #d9851c; stroke-width: 9; }
.cycle-evidence-graph .cycle-prog { fill: none; stroke: #4c557d; stroke-width: 9; }
.cycle-evidence-graph .cycle-event { fill: none; stroke: #315e66; stroke-width: 4; stroke-dasharray: 10 8; }
.cycle-evidence-graph text { fill: #334854; }
.cycle-evidence-graph .cycle-label-lh { fill: #a25f16; }
.cycle-evidence-graph .cycle-label-prog { fill: #4c557d; }
.cycle-evidence-graph figcaption { padding: .72rem; color: #315e66; font-weight: 800; text-align: center; }
.synthetic-hormone-router { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin: 1rem 0; }
.synthetic-hormone-router strong, .synthetic-hormone-router span, .synthetic-hormone-router b { display: grid; place-items: center; padding: .7rem; border-radius: .75rem; text-align: center; }
.synthetic-hormone-router strong { grid-column: 1 / -1; color: #fff; background: #315e66; }
.synthetic-hormone-router span { min-height: 5rem; border: 1px solid #afc3cc; background: #eef5f5; color: #264c58; }
.synthetic-hormone-router b { grid-column: 1 / -1; color: #754c15; background: #fff1d6; }
.contraception-purpose-matrix { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin: 1rem 0; }
.contraception-purpose-matrix article { display: grid; gap: .4rem; min-width: 0; padding: .8rem; border: 1px solid #b1c4cc; border-radius: .85rem; background: #eef5f5; color: #264c58; }
.contraception-purpose-matrix article b { color: #173f40; }
.contraception-purpose-matrix article small { padding-top: .45rem; border-top: 1px solid #cad9dd; color: #315e66; font-size: .92rem; font-weight: 750; }
.contraception-purpose-matrix > strong { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#315e66,#4c557d); text-align: center; }
.amp-pathway { display: grid; grid-template-columns: 1fr auto 1.3fr auto 1.25fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.amp-pathway span, .amp-pathway strong { display: grid; min-height: 5.2rem; place-items: center; padding: .65rem; border: 1px solid #afc2cc; border-radius: .75rem; background: #eef5f5; color: #264c58; text-align: center; }
.amp-pathway strong { color: #fff; background: #315e66; }
@media (max-width: 640px) {
  .reproductive-axis-map, .testis-parallel-output, .cycle-synchronizer, .synthetic-hormone-router, .contraception-purpose-matrix, .amp-pathway { grid-template-columns: 1fr; }
  .reproductive-axis-map b, .testis-parallel-output > strong, .testis-parallel-output article:first-of-type, .testis-parallel-output article:last-of-type, .testis-parallel-output em, .synthetic-hormone-router strong, .synthetic-hormone-router b, .contraception-purpose-matrix > strong, .amp-pathway b { grid-column: auto; }
  .reproductive-axis-map i, .testis-parallel-output > i, .amp-pathway i { transform: rotate(90deg); }
  .reproductive-axis-map span, .reproductive-axis-map strong, .testis-parallel-output article, .cycle-synchronizer > *, .synthetic-hormone-router span, .amp-pathway span, .amp-pathway strong { min-height: auto; }
  .cycle-synchronizer > b:first-child { display: none; }
  [data-hormone-axis] .segmented-control, [data-hormone-testis] .segmented-control, [data-hormone-cycle-sync] .segmented-control, [data-hormone-cycle-evidence] .segmented-control, [data-hormone-synthetic] .segmented-control, [data-hormone-contraception] .segmented-control, [data-hormone-amp] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pathogen-passport, .transmission-chain-map, .hiv-prevention-router, .malaria-cycle-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.transmission-chain-map { grid-template-columns: 1fr auto 1fr auto 1.2fr auto 1fr auto 1fr; }
.pathogen-passport article, .pathogen-passport strong, .transmission-chain-map span, .transmission-chain-map strong, .hiv-prevention-router article, .hiv-prevention-router strong, .malaria-cycle-map article, .malaria-cycle-map strong { display: grid; gap: .28rem; min-height: 5.3rem; place-items: center; padding: .7rem; border: 1px solid #9fbfc1; border-radius: .8rem; background: #edf6f3; color: #244d50; text-align: center; }
.pathogen-passport strong, .transmission-chain-map strong, .hiv-prevention-router strong, .malaria-cycle-map strong { color: #fff; background: #2f6263; }
.pathogen-passport i, .transmission-chain-map i, .hiv-prevention-router i, .malaria-cycle-map i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.pathogen-passport small, .transmission-chain-map b, .hiv-prevention-router em, .malaria-cycle-map small { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; background: #fff1d6; color: #754c15; font-style: normal; font-weight: 800; text-align: center; }
.infection-state-matrix { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1rem 0; }
.infection-state-matrix article { display: grid; gap: .38rem; min-width: 0; padding: .8rem; border: 1px solid #a8c3c5; border-radius: .85rem; background: #edf6f3; color: #244d50; text-align: center; }
.infection-state-matrix article span { font-size: 1.05rem; font-weight: 800; }
.infection-state-matrix article small { padding-top: .4rem; border-top: 1px solid #c8dada; }
.infection-state-matrix > strong { grid-column: 1 / -1; padding: .78rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#2f6263,#4c557d); text-align: center; }
.transmission-route-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1rem 0; }
.transmission-route-board article, .transmission-route-board strong { display: grid; gap: .4rem; min-width: 0; padding: .82rem; border: 1px solid #a8c3c5; border-radius: .85rem; background: #edf6f3; color: #244d50; text-align: center; }
.transmission-route-board strong { color: #fff; background: #2f6263; }
.transmission-route-board em { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; background: #fff1d6; color: #754c15; font-style: normal; font-weight: 800; text-align: center; }
.hiv-prevention-router { grid-template-columns: 1fr auto 1fr auto 1fr auto 1.2fr; }
.hiv-prevention-router article span, .hiv-prevention-router strong span, .malaria-cycle-map article span, .malaria-cycle-map strong span { font-size: .93rem; }
.malaria-cycle-map { grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; }
.epidemic-factor-dashboard { display: grid; gap: .7rem; margin: 1rem 0; }
.epidemic-factor-dashboard section { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; }
.epidemic-factor-dashboard section:last-of-type { grid-template-columns: repeat(5, 1fr); }
.epidemic-factor-dashboard article, .epidemic-factor-dashboard span { display: grid; gap: .25rem; min-width: 0; place-items: center; padding: .72rem; border: 1px solid #a8c3c5; border-radius: .75rem; background: #edf6f3; color: #244d50; text-align: center; }
.epidemic-factor-dashboard > strong { padding: .68rem; border-radius: .65rem; color: #fff; background: #4c557d; text-align: center; }
.epidemic-factor-dashboard > em { padding: .72rem; border-radius: .65rem; background: #fff1d6; color: #754c15; font-style: normal; font-weight: 800; text-align: center; }
@media (max-width: 640px) {
  .pathogen-passport, .transmission-chain-map, .infection-state-matrix, .transmission-route-board, .hiv-prevention-router, .malaria-cycle-map, .epidemic-factor-dashboard section, .epidemic-factor-dashboard section:last-of-type { grid-template-columns: 1fr; }
  .pathogen-passport small, .transmission-chain-map b, .infection-state-matrix > strong, .transmission-route-board em, .hiv-prevention-router em, .malaria-cycle-map small { grid-column: auto; }
  .pathogen-passport i, .transmission-chain-map i, .hiv-prevention-router i, .malaria-cycle-map i { transform: rotate(90deg); }
  .pathogen-passport article, .pathogen-passport strong, .transmission-chain-map span, .transmission-chain-map strong, .hiv-prevention-router article, .hiv-prevention-router strong, .malaria-cycle-map article, .malaria-cycle-map strong { min-height: auto; }
  [data-pathogen-passport] .segmented-control, [data-pathogen-chain] .segmented-control, [data-pathogen-states] .segmented-control, [data-pathogen-route] .segmented-control, [data-pathogen-hiv] .segmented-control, [data-pathogen-malaria] .segmented-control, [data-pathogen-climate] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.microbiota-site-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin: 1rem 0; }
.microbiota-site-map article, .microbiota-site-map strong { display: grid; gap: .35rem; min-width: 0; place-items: center; padding: .78rem; border: 1px solid #a9bda9; border-radius: .85rem; background: #f0f6ee; color: #315344; text-align: center; }
.microbiota-site-map strong { color: #fff; background: #3f6c58; }
.microbiota-site-map small { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #574f2d; background: #f7f2d7; font-weight: 800; text-align: center; }
.microbiota-relationship-passport, .microbiota-development-timeline, .microbiota-fiber-chain, .microbiota-evidence-ladder { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.microbiota-development-timeline, .microbiota-fiber-chain, .microbiota-evidence-ladder { grid-template-columns: 1fr auto 1fr auto 1.1fr auto 1fr auto 1fr; }
.microbiota-relationship-passport span, .microbiota-development-timeline span, .microbiota-development-timeline strong, .microbiota-fiber-chain span, .microbiota-fiber-chain strong, .microbiota-evidence-ladder span, .microbiota-evidence-ladder strong { display: grid; gap: .28rem; min-height: 5rem; place-items: center; padding: .68rem; border: 1px solid #a8bda9; border-radius: .78rem; background: #f0f6ee; color: #315344; text-align: center; }
.microbiota-relationship-passport i, .microbiota-development-timeline i, .microbiota-fiber-chain i, .microbiota-evidence-ladder i, .microbiota-barrier-map i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.microbiota-relationship-passport strong, .microbiota-development-timeline b, .microbiota-fiber-chain b, .microbiota-evidence-ladder b { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #fff; background: linear-gradient(90deg,#3f6c58,#4c557d); text-align: center; }
.microbiota-development-timeline strong, .microbiota-fiber-chain strong, .microbiota-evidence-ladder strong { color: #fff; background: #3f6c58; }
.microbiota-barrier-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.microbiota-barrier-map article, .microbiota-barrier-map strong { display: grid; gap: .35rem; min-height: 6rem; place-items: center; padding: .78rem; border: 1px solid #a7bca8; border-radius: .85rem; background: #f0f6ee; color: #315344; text-align: center; }
.microbiota-barrier-map strong { color: #fff; background: #3f6c58; }
.microbiota-barrier-map em { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #754c15; background: #fff1d6; font-style: normal; font-weight: 800; text-align: center; }
.microbiota-recovery-chart { overflow: hidden; margin: 1rem 0; border: 1px solid #a9bda9; border-radius: 1rem; background: linear-gradient(145deg,#fbfcf8,#eef4ee); }
.microbiota-recovery-chart svg { display: block; width: 100%; height: auto; }
.microbiota-chart-axis { fill: none; stroke: #66766c; stroke-width: 5; }
.microbiota-chart-exposure { fill: #f3c878; opacity: .32; }
.microbiota-chart-composition { fill: none; stroke: #4c557d; stroke-width: 9; }
.microbiota-chart-function { fill: none; stroke: #3f6c58; stroke-width: 9; }
.microbiota-recovery-chart text { fill: #394b41; }
.microbiota-label-composition { fill: #4c557d !important; }
.microbiota-label-function { fill: #3f6c58 !important; }
.microbiota-recovery-chart figcaption { padding: .72rem; color: #315344; font-weight: 800; text-align: center; }
@media (max-width: 640px) {
  .microbiota-site-map, .microbiota-relationship-passport, .microbiota-development-timeline, .microbiota-fiber-chain, .microbiota-barrier-map, .microbiota-evidence-ladder { grid-template-columns: 1fr; }
  .microbiota-site-map small, .microbiota-relationship-passport strong, .microbiota-development-timeline b, .microbiota-fiber-chain b, .microbiota-barrier-map em, .microbiota-evidence-ladder b { grid-column: auto; }
  .microbiota-development-timeline i, .microbiota-fiber-chain i, .microbiota-evidence-ladder i { transform: rotate(90deg); }
  .microbiota-relationship-passport span, .microbiota-development-timeline span, .microbiota-development-timeline strong, .microbiota-fiber-chain span, .microbiota-fiber-chain strong, .microbiota-barrier-map article, .microbiota-barrier-map strong, .microbiota-evidence-ladder span, .microbiota-evidence-ladder strong { min-height: auto; }
  [data-microbiota-sites] .segmented-control, [data-microbiota-relationship] .segmented-control, [data-microbiota-development] .segmented-control, [data-microbiota-fiber] .segmented-control, [data-microbiota-barrier] .segmented-control, [data-microbiota-perturbation] .segmented-control, [data-microbiota-evidence] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.chemical-identity-passport, .chemical-origin-timeline, .carbon-dating-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.chemical-origin-timeline, .carbon-dating-chain { grid-template-columns: 1fr auto 1fr auto 1.1fr auto 1fr auto 1fr; }
.chemical-identity-passport article, .chemical-origin-timeline span, .chemical-origin-timeline strong, .carbon-dating-chain span, .carbon-dating-chain strong { display: grid; gap: .28rem; min-height: 5.2rem; place-items: center; padding: .72rem; border: 1px solid #aeb8cb; border-radius: .82rem; background: #f1f4fa; color: #334b69; text-align: center; }
.chemical-identity-passport i, .chemical-origin-timeline i, .carbon-dating-chain i, .radioactive-scale-board i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.chemical-identity-passport small, .chemical-origin-timeline b, .carbon-dating-chain b { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#384f72,#6b4f78); font-weight: 800; text-align: center; }
.chemical-origin-timeline strong, .carbon-dating-chain strong { color: #fff; background: #384f72; }
.chemical-abundance-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: .72rem; margin: 1rem 0; }
.chemical-abundance-board article { display: grid; gap: .55rem; min-width: 0; padding: .8rem; border: 1px solid #abb7ca; border-radius: .9rem; background: #f4f6fb; }
.chemical-abundance-board article b { color: #334b69; text-align: center; }
.chemical-abundance-board article span { position: relative; overflow: hidden; padding: .52rem .64rem; border-radius: .55rem; background: #e2e7f1; color: #24364e; font-weight: 800; isolation: isolate; }
.chemical-abundance-board article span::before { position: absolute; z-index: -1; inset: 0 auto 0 0; width: var(--abundance); content: ""; background: linear-gradient(90deg,#f1bd62,#df8b29); opacity: .62; }
.chemical-abundance-board > strong { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #fff; background: #384f72; text-align: center; }
.nuclear-reaction-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.nuclear-reaction-board article { display: grid; gap: .7rem; min-width: 0; place-items: center; padding: .85rem; border: 1px solid #aab7ca; border-radius: .9rem; background: #f2f5fb; color: #334b69; text-align: center; }
.nuclear-reaction-board math { max-width: 100%; overflow-x: auto; font-size: clamp(1rem,2.2vw,1.45rem); }
.nuclear-reaction-board article span { font-weight: 800; }
.nuclear-reaction-board article small { color: #5b6575; }
.nuclear-reaction-board > strong { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #fff; background: #384f72; text-align: center; }
.radioactive-scale-board { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.radioactive-scale-board article, .radioactive-scale-board > strong { display: grid; gap: .45rem; min-width: 0; min-height: 7.2rem; place-items: center; padding: .75rem; border: 1px solid #aeb8cb; border-radius: .88rem; background: #f2f5fb; color: #334b69; text-align: center; }
.radioactive-scale-board > strong { color: #fff; background: #384f72; }
.radioactive-scale-board svg { width: 100%; height: auto; }
.radioactive-dots { max-width: 10rem; overflow-wrap: anywhere; color: #6b4f78; letter-spacing: .18rem; }
.half-life-board { display: grid; gap: .9rem; margin: 1rem 0; }
.half-life-formula { display: grid; place-items: center; padding: .8rem; border-radius: .75rem; background: #384f72; color: #fff; font-size: 1.16rem; }
.half-life-board ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.half-life-board li { position: relative; display: grid; gap: .3rem; min-height: 7.1rem; align-content: end; overflow: hidden; padding: .75rem; border: 1px solid #aeb8cb; border-radius: .8rem; background: #f2f5fb; color: #334b69; text-align: center; isolation: isolate; }
.half-life-board li::before { position: absolute; z-index: -1; inset: auto 0 0; height: var(--remaining); content: ""; background: linear-gradient(180deg,#f5ce7c,#e99b38); opacity: .62; }
.half-life-board > strong { padding: .68rem; border-radius: .65rem; color: #674311; background: #fff0d1; text-align: center; }

@media (max-width: 640px) {
  .chemical-identity-passport, .chemical-origin-timeline, .carbon-dating-chain, .chemical-abundance-board, .nuclear-reaction-board, .radioactive-scale-board, .half-life-board ol { grid-template-columns: 1fr; }
  .chemical-identity-passport small, .chemical-origin-timeline b, .carbon-dating-chain b, .chemical-abundance-board > strong, .nuclear-reaction-board > strong { grid-column: auto; }
  .chemical-identity-passport i, .chemical-origin-timeline i, .carbon-dating-chain i, .radioactive-scale-board i { transform: rotate(90deg); }
  .chemical-identity-passport article, .chemical-origin-timeline span, .chemical-origin-timeline strong, .carbon-dating-chain span, .carbon-dating-chain strong, .radioactive-scale-board article, .radioactive-scale-board > strong { min-height: auto; }
  [data-chemical-identity] .segmented-control, [data-chemical-abundance] .segmented-control, [data-chemical-origin] .segmented-control, [data-chemical-reaction] .segmented-control, [data-chemical-random] .segmented-control, [data-chemical-half-life] .segmented-control, [data-chemical-dating] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.crystal-order-map, .nacl-cube-model, .cooling-texture-lab { overflow: hidden; margin: 1rem 0; border: 1px solid #aab9c7; border-radius: 1rem; background: linear-gradient(145deg,#fbfcfe,#edf2f6); }
.crystal-order-map svg, .nacl-cube-model svg, .cooling-texture-lab svg { display: block; width: 100%; height: auto; }
.crystal-order-map figcaption, .nacl-cube-model figcaption, .cooling-texture-lab figcaption { padding: .72rem; color: #31465e; font-weight: 800; text-align: center; }
.nacl-ion-layer, .nacl-cell-edges { transition: opacity .22s ease, filter .22s ease; }
.nacl-cube-model[data-view="front"] .nacl-back-layer, .nacl-cube-model[data-view="front"] .nacl-depth-layer, .nacl-cube-model[data-view="back"] .nacl-front-layer, .nacl-cube-model[data-view="back"] .nacl-depth-layer { opacity: .2; }
.nacl-cube-model[data-view="depth"] .nacl-front-layer, .nacl-cube-model[data-view="depth"] .nacl-back-layer { opacity: .28; }
.nacl-cube-model[data-view="depth"] .nacl-depth-layer { filter: drop-shadow(0 0 8px rgba(215,138,47,.55)); }
.nacl-cube-model[data-view="model"] .nacl-ion-layer { opacity: .28; }
.nacl-cube-model[data-view="model"] .nacl-cell-edges { stroke: #172e49; stroke-width: 8; }
.unit-cell-sharing-board, .polymorph-biocrystal-board { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.unit-cell-sharing-board article, .polymorph-biocrystal-board article, .polymorph-biocrystal-board strong { display: grid; gap: .38rem; min-width: 0; place-items: center; padding: .78rem; border: 1px solid #aab9c7; border-radius: .82rem; background: #eef3f7; color: #31465e; text-align: center; }
.unit-cell-sharing-board article strong { width: 100%; padding-top: .45rem; border-top: 1px solid #c2ccd5; color: #365a75; }
.unit-cell-sharing-board em, .polymorph-biocrystal-board em { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; background: #fff0d1; color: #6c4715; font-style: normal; font-weight: 800; text-align: center; }
.polymorph-biocrystal-board strong { color: #fff; background: #3f6684; }
.crystal-density-ledger { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.crystal-density-ledger article, .crystal-density-ledger strong { display: grid; gap: .45rem; min-width: 0; place-items: center; padding: .82rem; border: 1px solid #aab9c7; border-radius: .86rem; background: #eef3f7; color: #31465e; text-align: center; }
.crystal-density-ledger strong { color: #fff; background: #3f6684; }
.crystal-density-ledger math { max-width: 100%; overflow-x: auto; }
.crystal-density-ledger em { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; color: #fff; background: linear-gradient(90deg,#3f6684,#5c5479); font-style: normal; font-weight: 800; text-align: center; }
.crystal-scale-ladder { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.crystal-scale-ladder span, .crystal-scale-ladder strong { display: grid; gap: .28rem; min-width: 0; min-height: 5.2rem; place-items: center; padding: .68rem; border: 1px solid #aab9c7; border-radius: .8rem; background: #eef3f7; color: #31465e; text-align: center; }
.crystal-scale-ladder strong { color: #fff; background: #3f6684; }
.crystal-scale-ladder i { color: #d78a2f; font-style: normal; font-weight: 900; text-align: center; }
.crystal-scale-ladder b { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; color: #fff; background: linear-gradient(90deg,#3f6684,#5c5479); text-align: center; }

@media (max-width: 640px) {
  .unit-cell-sharing-board, .polymorph-biocrystal-board, .crystal-density-ledger, .crystal-scale-ladder { grid-template-columns: 1fr; }
  .unit-cell-sharing-board em, .polymorph-biocrystal-board em, .crystal-density-ledger em, .crystal-scale-ladder b { grid-column: auto; }
  .crystal-scale-ladder i { transform: rotate(90deg); }
  .crystal-scale-ladder span, .crystal-scale-ladder strong { min-height: auto; }
  [data-crystal-order] .segmented-control, [data-crystal-nacl] .segmented-control, [data-crystal-sharing] .segmented-control, [data-crystal-density] .segmented-control, [data-crystal-scale] .segmented-control, [data-crystal-polymorph] .segmented-control, [data-crystal-cooling] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.cell-theory-timeline { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.cell-theory-timeline article, .cell-theory-timeline strong { display: grid; gap: .35rem; min-width: 0; min-height: 7rem; place-items: center; padding: .78rem; border: 1px solid #9fb9be; border-radius: .9rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-theory-timeline strong { color: #fff; background: linear-gradient(145deg,#315f68,#4f4f78); }
.cell-theory-timeline i { color: #cf7b24; font-style: normal; font-weight: 900; }
.cell-theory-timeline em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #65410e; background: #fff0cd; font-style: normal; font-weight: 800; text-align: center; }
.cell-scale-ruler { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .25rem; margin: 1rem 0; padding-top: 1.8rem; }
.cell-scale-ruler::before { position: absolute; inset: .55rem 4% auto; height: .36rem; border-radius: 999px; content: ""; background: linear-gradient(90deg,#d17d2c,#5691a0,#424c75); }
.cell-scale-ruler article, .cell-scale-ruler strong { display: grid; gap: .35rem; min-width: 0; min-height: 6.2rem; place-items: center; padding: .72rem .5rem; border-left: 1px solid #9fb9be; border-radius: .6rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-scale-ruler strong { color: #fff; background: #3e6872; }
.cell-scale-ruler math { max-width: 100%; overflow-x: auto; }
.cell-scale-ruler em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #4f4f78; font-style: normal; font-weight: 800; text-align: center; }
.cell-diversity-passport { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.cell-card { position: relative; display: grid; gap: .5rem; min-width: 0; min-height: 11rem; place-items: center; overflow: hidden; padding: 4.2rem .8rem .8rem; border: 1px solid #9fb9be; border-radius: 1rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-card::before { position: absolute; top: .8rem; width: 3.1rem; height: 3.1rem; border: .35rem solid #477783; border-radius: 50%; content: ""; background: radial-gradient(circle at 65% 40%,#d68a32 0 18%,#dfeef0 20% 100%); }
.cell-card--bacterium::before { width: 4rem; border-radius: 55% 45% 58% 42%; background: repeating-linear-gradient(35deg,#dfeef0 0 8px,#c9dde0 8px 15px); }
.cell-card--plant::before { border-radius: .4rem; box-shadow: inset 0 0 0 .42rem #729151; }
.cell-diversity-passport > strong { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#315f68,#4f4f78); text-align: center; }
.cell-exchange-ledger { display: grid; grid-template-columns: 1.1fr auto 1.15fr 1.1fr auto 1.1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.cell-exchange-ledger span, .cell-exchange-ledger strong { display: grid; gap: .35rem; min-width: 0; min-height: 7.5rem; place-items: center; padding: .75rem; border: 1px solid #9fb9be; border-radius: .9rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-exchange-ledger strong { color: #fff; background: #3e6872; }
.cell-exchange-ledger i { color: #cf7b24; font-style: normal; font-weight: 900; text-align: center; }
.cell-exchange-ledger em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #65410e; background: #fff0cd; font-style: normal; font-weight: 800; text-align: center; }
.cell-membrane-model { overflow: hidden; margin: 1rem 0; border: 1px solid #9fb9be; border-radius: 1rem; background: #eaf2f4; }
.cell-membrane-model svg { display: block; width: 100%; height: auto; }
.cell-membrane-model figcaption { padding: .75rem; color: #294a54; background: #f7fbfb; font-weight: 800; text-align: center; }
.plant-osmosis-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: .8rem; align-items: center; margin: 1rem 0; }
.plant-osmosis-pair article { display: grid; gap: .6rem; min-width: 0; place-items: center; padding: .8rem; border: 1px solid #9fb9be; border-radius: 1rem; color: #294a54; background: #eef6f5; text-align: center; }
.plant-osmosis-pair > strong { color: #3e6872; text-align: center; }
.plant-osmosis-pair > strong small { display: block; font-size: .72rem; }
.plant-cell { position: relative; display: block; width: min(100%,12rem); aspect-ratio: 1.3; border: .48rem solid #728b55; border-radius: .65rem; background: #dfeaec; }
.plant-cell i { position: absolute; inset: .45rem; border: .22rem solid #3e6872; border-radius: .45rem; background: radial-gradient(circle at 68% 42%,#d58a32 0 11%,transparent 12%),#badcdf; }
.plant-cell--plasmolysed i { inset: 1.2rem 1.45rem; border-radius: 42% 58% 46% 54%; }
.plant-osmosis-pair em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #fff; background: #4f4f78; font-style: normal; font-weight: 800; text-align: center; }
.exogenous-effect-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.exogenous-effect-chain span, .exogenous-effect-chain strong { display: grid; gap: .35rem; min-width: 0; min-height: 7rem; place-items: center; padding: .72rem; border: 1px solid #9fb9be; border-radius: .85rem; background: #eef6f5; color: #294a54; text-align: center; }
.exogenous-effect-chain strong { color: #fff; background: #3e6872; }
.exogenous-effect-chain i { color: #cf7b24; font-style: normal; font-weight: 900; }
.exogenous-effect-chain em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #65410e; background: #fff0cd; font-style: normal; font-weight: 800; text-align: center; }
.virus-criteria-matrix { display: grid; grid-template-columns: 1.15fr .75fr 1.5fr; gap: .12rem; overflow: hidden; margin: 1rem 0; border: 1px solid #9fb9be; border-radius: 1rem; background: #9fb9be; }
.virus-criteria-matrix > * { display: grid; min-width: 0; min-height: 3.5rem; place-items: center; margin: 0; padding: .66rem; background: #eef6f5; color: #294a54; text-align: center; }
.virus-criteria-matrix > b { color: #fff; background: #3e6872; }
.virus-criteria-matrix > i { color: #915215; background: #fff0cd; font-style: normal; font-weight: 900; }
.virus-criteria-matrix > strong { grid-column: 1 / -1; color: #fff; background: #4f4f78; }

@media (max-width: 640px) {
  .cell-theory-timeline, .cell-scale-ruler, .cell-diversity-passport, .cell-exchange-ledger, .plant-osmosis-pair, .exogenous-effect-chain { grid-template-columns: 1fr; }
  .cell-theory-timeline em, .cell-scale-ruler em, .cell-diversity-passport > strong, .cell-exchange-ledger em, .plant-osmosis-pair em, .exogenous-effect-chain em { grid-column: auto; }
  .cell-theory-timeline i, .cell-exchange-ledger i, .exogenous-effect-chain i { transform: rotate(90deg); }
  .cell-theory-timeline article, .cell-theory-timeline strong, .cell-scale-ruler article, .cell-scale-ruler strong, .cell-exchange-ledger span, .cell-exchange-ledger strong, .exogenous-effect-chain span, .exogenous-effect-chain strong { min-height: auto; }
  .cell-scale-ruler { padding-top: 0; }
  .cell-scale-ruler::before { display: none; }
  .virus-criteria-matrix { grid-template-columns: .9fr .7fr 1.2fr; font-size: .82rem; }
  .virus-criteria-matrix > * { padding: .5rem .35rem; overflow-wrap: anywhere; }
  [data-cell-theory] .segmented-control, [data-cell-scale] .segmented-control, [data-cell-invariant] .segmented-control, [data-cell-ledger] .segmented-control, [data-cell-membrane] .segmented-control, [data-cell-osmosis] .segmented-control, [data-cell-exogenous] .segmented-control, [data-cell-virus] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.solar-mass-ledger { display: grid; grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.solar-mass-ledger article, .solar-mass-ledger strong { display: grid; gap: .45rem; min-width: 0; min-height: 8rem; place-items: center; padding: .78rem; border: 1px solid #b9a477; border-radius: .9rem; background: #fff7df; color: #51411f; text-align: center; }
.solar-mass-ledger strong { color: #fff; background: linear-gradient(145deg,#8e5b2d,#514a71); }
.solar-mass-ledger i { color: #d17b24; font-style: normal; font-weight: 900; }
.solar-mass-ledger math { max-width: 100%; overflow-x: auto; }
.solar-layer-model, .blackbody-spectrum-chart, .solar-incidence-model { overflow: hidden; margin: 1rem 0; border: 1px solid #b9a477; border-radius: 1rem; background: #fffaf0; }
.solar-layer-model svg, .blackbody-spectrum-chart svg, .solar-incidence-model svg { display: block; width: 100%; height: auto; }
.solar-layer-model figcaption, .blackbody-spectrum-chart figcaption, .solar-incidence-model figcaption { padding: .74rem; color: #51411f; background: #fffaf0; font-weight: 800; text-align: center; }
.wien-unit-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.35fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.wien-unit-chain span, .wien-unit-chain strong { display: grid; min-width: 0; min-height: 6.6rem; place-items: center; padding: .74rem; border: 1px solid #b9a477; border-radius: .86rem; background: #fff7df; color: #51411f; text-align: center; }
.wien-unit-chain strong { color: #fff; background: #514a71; }
.wien-unit-chain i { color: #d17b24; font-style: normal; font-weight: 900; }
.wien-unit-chain em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #fff; background: #8e5b2d; font-style: normal; font-weight: 800; text-align: center; }
.wien-unit-chain math { max-width: 100%; overflow-x: auto; }
.stefan-fourth-board { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; align-items: end; margin: 1rem 0; }
.stefan-fourth-board > strong, .stefan-fourth-board > em { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; color: #fff; background: #514a71; font-style: normal; font-weight: 800; text-align: center; }
.stefan-fourth-board article { position: relative; display: grid; min-height: 11rem; align-content: end; overflow: hidden; padding: .75rem; border: 1px solid #b9a477; border-radius: .85rem; background: #fff7df; color: #51411f; text-align: center; isolation: isolate; }
.stefan-fourth-board article::before { position: absolute; z-index: -1; inset: auto 0 0; height: var(--solar-power); content: ""; background: linear-gradient(180deg,#ffd46f,#df8629); opacity: .72; }
.stefan-fourth-board article b { font-size: 1.1rem; }
.stefan-fourth-board article span { font-weight: 900; }
.solar-triad-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .72rem; margin: 1rem 0; }
.solar-triad-board article { display: grid; gap: .45rem; min-width: 0; min-height: 7rem; place-items: center; padding: .78rem; border: 1px solid #b9a477; border-radius: .9rem; background: #fff7df; color: #51411f; text-align: center; }
.solar-triad-board > strong { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#8e5b2d,#514a71); text-align: center; }
.uv-index-gate { display: grid; gap: .75rem; margin: 1rem 0; }
.uv-index-gate > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border-radius: .9rem; }
.uv-index-gate span { display: grid; gap: .25rem; min-width: 0; place-items: center; padding: .85rem .3rem; color: #fff; background: var(--uv); font-size: 1.2rem; font-weight: 900; text-align: center; }
.uv-index-gate span small { font-size: .72rem; }
.uv-index-gate strong, .uv-index-gate em { padding: .72rem; border-radius: .66rem; color: #51411f; background: #fff0c9; font-style: normal; font-weight: 800; text-align: center; }
.uv-index-gate em { color: #fff; background: #514a71; }

@media (max-width: 640px) {
  .solar-mass-ledger, .wien-unit-chain, .stefan-fourth-board, .solar-triad-board { grid-template-columns: 1fr; }
  .solar-mass-ledger i, .wien-unit-chain i { transform: rotate(90deg); }
  .solar-mass-ledger article, .solar-mass-ledger strong, .wien-unit-chain span, .wien-unit-chain strong, .solar-triad-board article { min-height: auto; }
  .wien-unit-chain em, .stefan-fourth-board > strong, .stefan-fourth-board > em, .solar-triad-board > strong { grid-column: auto; }
  .stefan-fourth-board article { min-height: 6.8rem; }
  .uv-index-gate > div { grid-template-columns: repeat(5,minmax(4rem,1fr)); overflow-x: auto; }
  [data-solar-fusion] .segmented-control, [data-solar-layers] .segmented-control, [data-solar-spectrum] .segmented-control, [data-solar-wien] .segmented-control, [data-solar-stefan] .segmented-control, [data-solar-incidence] .segmented-control, [data-solar-triad] .segmented-control, [data-solar-uv] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.radiative-geometry-ledger { display: grid; grid-template-columns: 1fr auto 1.25fr auto 1fr; gap: .58rem; align-items: center; margin: 1rem 0; }
.radiative-geometry-ledger article, .radiative-geometry-ledger strong { display: grid; gap: .4rem; min-width: 0; min-height: 8rem; place-items: center; padding: .78rem; border: 1px solid #91aeb9; border-radius: .9rem; color: #294757; background: #edf6f7; text-align: center; }
.radiative-geometry-ledger strong { color: #fff; background: linear-gradient(145deg,#326571,#514b72); }
.radiative-geometry-ledger i { color: #d17d27; font-style: normal; font-weight: 900; }
.radiative-geometry-ledger em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #514b72; font-style: normal; font-weight: 800; text-align: center; }
.radiative-geometry-ledger math { max-width: 100%; overflow-x: auto; }
.albedo-partition-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.albedo-partition-board > strong, .albedo-partition-board > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #326571; font-style: normal; font-weight: 800; text-align: center; }
.albedo-partition-board > div { grid-column: 1 / -1; display: flex; min-height: 8rem; overflow: hidden; border: 1px solid #91aeb9; border-radius: 1rem; }
.albedo-partition-board span { display: grid; gap: .3rem; min-width: 0; place-items: center; padding: .7rem; color: #294757; background: #e8f1f4; text-align: center; }
.albedo-partition-board span:first-child { flex: 0 0 30%; color: #fff; background: #7897a5; }
.albedo-partition-board span:last-child { flex: 1 1 70%; }
.albedo-partition-board article { display: grid; gap: .35rem; min-width: 0; place-items: center; padding: .75rem; border: 1px solid #91aeb9; border-radius: .8rem; color: #294757; background: #edf6f7; text-align: center; }
.albedo-partition-board article > span { padding: 0; background: transparent; font-weight: 800; }
.albedo-partition-board article > strong { font-size: 1.15rem; }
.albedo-partition-board math { max-width: 100%; overflow-x: auto; }
.radiative-albedo-lab .range-control { margin-top: 1rem; }
.radiative-albedo-lab output { color: #326571; font-weight: 900; }
.radiative-spectrum-passport { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; margin: 1rem 0; }
.radiative-spectrum-passport article { display: grid; gap: .45rem; min-width: 0; min-height: 9.5rem; place-items: center; padding: .8rem; border: 1px solid #91aeb9; border-radius: 1rem; color: #294757; background: #edf6f7; text-align: center; }
.radiative-spectrum-passport article:first-child { background: linear-gradient(145deg,#fff4c7,#f2d497); }
.radiative-spectrum-passport i { color: #d17d27; font-style: normal; font-weight: 900; text-align: center; }
.radiative-spectrum-passport em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #514b72; font-style: normal; font-weight: 800; text-align: center; }
.atmospheric-opacity-chart, .greenhouse-flux-model { overflow: hidden; margin: 1rem 0; border: 1px solid #91aeb9; border-radius: 1rem; background: #f8fbfc; }
.atmospheric-opacity-chart svg, .greenhouse-flux-model svg { display: block; width: 100%; height: auto; }
.atmospheric-opacity-chart figcaption, .greenhouse-flux-model figcaption { padding: .74rem; color: #294757; background: #edf6f7; font-weight: 800; text-align: center; }
.radiative-boundary-board, .radiative-parameter-router { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .72rem; margin: 1rem 0; }
.radiative-boundary-board article, .radiative-parameter-router article { display: grid; gap: .42rem; min-width: 0; min-height: 9rem; place-items: center; padding: .78rem; border: 1px solid #91aeb9; border-radius: .9rem; color: #294757; background: #edf6f7; text-align: center; }
.radiative-boundary-board strong, .radiative-parameter-router em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#326571,#514b72); font-style: normal; font-weight: 800; text-align: center; }
.radiative-parameter-router article:nth-child(1) strong { color: #376b78; }
.radiative-parameter-router article:nth-child(2) strong, .radiative-parameter-router article:nth-child(3) strong { color: #9b5f20; }
.radiative-balance-scale { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.radiative-balance-scale > strong, .radiative-balance-scale > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #514b72; font-style: normal; font-weight: 800; text-align: center; }
.radiative-balance-scale article { display: grid; gap: .35rem; min-width: 0; min-height: 8.6rem; place-items: center; padding: .78rem; border: 1px solid #91aeb9; border-radius: .9rem; color: #294757; background: #edf6f7; text-align: center; transform: rotate(var(--tilt)); }
.radiative-balance-scale article:nth-of-type(1) { background: #fff0d0; }
.radiative-balance-scale article:nth-of-type(3) { background: #e5f0f6; }

@media (max-width: 640px) {
  .radiative-geometry-ledger, .radiative-spectrum-passport, .radiative-boundary-board, .radiative-parameter-router, .radiative-balance-scale { grid-template-columns: 1fr; }
  .radiative-geometry-ledger i, .radiative-spectrum-passport i { transform: rotate(90deg); }
  .radiative-geometry-ledger article, .radiative-geometry-ledger strong, .radiative-spectrum-passport article, .radiative-boundary-board article, .radiative-parameter-router article, .radiative-balance-scale article { min-height: auto; }
  .radiative-geometry-ledger em, .radiative-spectrum-passport em, .radiative-boundary-board strong, .radiative-parameter-router em, .radiative-balance-scale > strong, .radiative-balance-scale > em { grid-column: auto; }
  .albedo-partition-board { grid-template-columns: 1fr; }
  .albedo-partition-board > strong, .albedo-partition-board > em, .albedo-partition-board > div { grid-column: auto; }
  .albedo-partition-board > div { min-height: 6.5rem; }
  .radiative-balance-scale article { transform: none; }
  [data-radiative-interception] .segmented-control, [data-radiative-albedo] .segmented-control, [data-radiative-spectrum] .segmented-control, [data-radiative-opacity] .segmented-control, [data-radiative-greenhouse] .segmented-control, [data-radiative-boundary] .segmented-control, [data-radiative-balance] .segmented-control, [data-radiative-parameters] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.photo-light-budget { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .72rem; margin: 1rem 0; }
.photo-light-budget > strong, .photo-light-budget > em { grid-column: 1 / -1; padding: .72rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#386b48,#4f587b); font-style: normal; font-weight: 850; text-align: center; }
.photo-light-budget > div { grid-column: 1 / -1; display: grid; grid-template-columns: 18fr 12fr 70fr; min-height: 8rem; overflow: hidden; border: 1px solid #8fb494; border-radius: 1rem; }
.photo-light-budget > div span, .photo-light-budget article { display: grid; gap: .3rem; min-width: 0; place-items: center; padding: .7rem; color: #294f37; background: #edf7ed; text-align: center; }
.photo-light-budget > div span:nth-child(1) { background: #dcebd7; }
.photo-light-budget > div span:nth-child(2) { background: #f4f0ce; }
.photo-light-budget > div span:nth-child(3) { color: #fff; background: linear-gradient(145deg,#4f855b,#386b48); }
.photo-light-budget article { min-height: 7rem; border: 1px solid #8fb494; border-radius: .9rem; }
.photo-spectrum-chart { overflow: hidden; margin: 1rem 0; border: 1px solid #8fb494; border-radius: 1rem; background: #fbfdf8; }
.photo-spectrum-chart svg { display: block; width: 100%; height: auto; }
.photo-spectrum-chart figcaption { padding: .74rem; color: #294f37; background: #edf7ed; font-weight: 800; text-align: center; }
.engelmann-evidence-board { display: grid; gap: .65rem; margin: 1rem 0; padding: .85rem; border: 1px solid #8fb494; border-radius: 1rem; background: #fbfdf8; }
.engelmann-spectrum, .engelmann-filament, .engelmann-bacteria { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border-radius: .72rem; }
.engelmann-spectrum span { min-width: 0; padding: .6rem .25rem; color: #fff; background: var(--engelmann-color,#5372a8); font-size: .8rem; font-weight: 850; text-align: center; }
.engelmann-spectrum span:nth-child(1) { --engelmann-color:#674d91; }.engelmann-spectrum span:nth-child(2) { --engelmann-color:#3f71ad; }.engelmann-spectrum span:nth-child(3) { --engelmann-color:#55945f; }.engelmann-spectrum span:nth-child(4) { --engelmann-color:#cf792f; }.engelmann-spectrum span:nth-child(5) { --engelmann-color:#ae4242; }
.engelmann-filament { grid-template-columns: repeat(6,1fr); padding: .55rem; border: 2px solid #5e8b52; border-radius: 2rem; background: #a9cb73; }
.engelmann-filament i { min-height: 2.2rem; border-right: 2px solid #739d57; }
.engelmann-filament i:last-child { border-right: 0; }
.engelmann-bacteria { align-items: center; color: #35405a; font-size: 1.35rem; letter-spacing: .16rem; text-align: center; }
.engelmann-evidence-board > strong, .engelmann-evidence-board > em { padding: .66rem; border-radius: .66rem; color: #fff; background: #386b48; font-style: normal; text-align: center; }
.engelmann-evidence-board > em { background: #4f587b; }
.photo-equation-ledger, .photo-coupling-map, .photo-productivity-ledger { display: grid; grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: .58rem; align-items: center; margin: 1rem 0; }
.photo-equation-ledger > strong, .photo-productivity-ledger > strong, .photo-equation-ledger > em, .photo-coupling-map > em, .photo-productivity-ledger > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #4f587b; font-style: normal; font-weight: 850; text-align: center; }
.photo-equation-ledger article, .photo-coupling-map article, .photo-coupling-map > strong, .photo-productivity-ledger article { display: grid; gap: .4rem; min-width: 0; min-height: 8rem; place-items: center; padding: .72rem; border: 1px solid #8fb494; border-radius: .9rem; color: #294f37; background: #edf7ed; text-align: center; }
.photo-coupling-map > strong { color: #fff; background: #4f855b; }
.photo-equation-ledger i, .photo-coupling-map i, .photo-productivity-ledger i { color: #d17d27; font-style: normal; font-weight: 900; text-align: center; }
.photo-equation-ledger math, .photo-productivity-ledger math, .nutrition-dashboard math { max-width: 100%; overflow-x: auto; }
.trophic-two-lane { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.trophic-two-lane > strong { display: grid; min-width: 0; min-height: 5.5rem; place-items: center; padding: .7rem; border: 1px solid #8fb494; border-radius: .86rem; color: #294f37; background: #edf7ed; text-align: center; }
.trophic-two-lane > i { color: #d17d27; font-style: normal; font-weight: 900; }
.trophic-lane, .trophic-two-lane > em { grid-column: 1 / -1; display: grid; grid-template-columns: 7rem 1fr; gap: .75rem; align-items: center; padding: .72rem; border-radius: .72rem; color: #294f37; background: #dcebd7; }
.trophic-lane--energy { color: #553f23; background: #fff0ce; }
.trophic-two-lane > em { display: block; color: #fff; background: #4f587b; font-style: normal; font-weight: 800; text-align: center; }
.nutrition-dashboard { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .68rem; margin: 1rem 0; }
.nutrition-dashboard > strong, .nutrition-dashboard > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #4f587b; font-style: normal; font-weight: 850; text-align: center; }
.nutrition-dashboard article { display: grid; gap: .38rem; min-width: 0; min-height: 8rem; place-items: center; padding: .7rem; border: 1px solid #8fb494; border-radius: .88rem; color: #294f37; background: #edf7ed; text-align: center; }
.nutrition-dashboard article:nth-of-type(2), .nutrition-dashboard article:nth-of-type(4) { background: #fff7df; }

@media (max-width: 640px) {
  .photo-light-budget, .photo-equation-ledger, .photo-coupling-map, .photo-productivity-ledger, .nutrition-dashboard { grid-template-columns: 1fr; }
  .trophic-two-lane { display: flex; flex-direction: column; align-items: stretch; }
  .photo-light-budget > strong, .photo-light-budget > em, .photo-light-budget > div, .photo-equation-ledger > strong, .photo-equation-ledger > em, .photo-coupling-map > em, .photo-productivity-ledger > strong, .photo-productivity-ledger > em, .trophic-lane, .trophic-two-lane > em, .nutrition-dashboard > strong, .nutrition-dashboard > em { grid-column: auto; }
  .photo-light-budget > div { grid-template-columns: 1fr; min-height: auto; }
  .photo-equation-ledger article, .photo-coupling-map article, .photo-coupling-map > strong, .photo-productivity-ledger article, .trophic-two-lane > strong, .nutrition-dashboard article { min-height: auto; }
  .photo-equation-ledger i, .photo-coupling-map i, .photo-productivity-ledger i { transform: rotate(90deg); }
  .trophic-two-lane > i { display: block; align-self: center; min-height: 1.2rem; line-height: 1; transform: rotate(90deg); }
  .trophic-lane { grid-template-columns: 1fr; text-align: center; }
  .engelmann-spectrum, .engelmann-bacteria { grid-template-columns: repeat(5,minmax(3.8rem,1fr)); overflow-x: auto; }
  [data-photo-light-budget] .segmented-control, [data-photo-spectrum] .segmented-control, [data-photo-engelmann] .segmented-control, [data-photo-equation] .segmented-control, [data-photo-coupling] .segmented-control, [data-photo-productivity] .segmented-control, [data-photo-trophic] .segmented-control, [data-photo-nutrition] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.energy-chain-passport, .calorific-value-bench, .energy-claim-audit { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.energy-chain-passport article, .energy-chain-passport > strong, .calorific-value-bench article, .calorific-value-bench > strong, .energy-claim-audit > span, .energy-claim-audit > strong, .energy-claim-audit > b { display: grid; gap: .38rem; min-width: 0; min-height: 7.5rem; place-items: center; padding: .72rem; border: 1px solid #b9a36f; border-radius: .88rem; color: #4f431f; background: #fff8df; text-align: center; }
.energy-chain-passport > strong, .energy-claim-audit > strong { color: #fff; background: #52617e; }
.energy-chain-passport > i, .calorific-value-bench > i, .energy-claim-audit > i { color: #d17d27; font-style: normal; font-weight: 900; text-align: center; }
.energy-chain-passport > em, .calorific-value-bench > em, .energy-claim-audit > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #52617e; font-style: normal; font-weight: 850; text-align: center; }
.energy-origin-map { overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: 1rem; background: #fffdf6; }
.energy-origin-map svg { display: block; width: 100%; height: auto; }
.energy-origin-map figcaption { padding: .72rem; color: #4f431f; background: #fff4cf; font-weight: 800; text-align: center; }
.energy-timescale-board { display: grid; gap: .7rem; margin: 1rem 0; }
.energy-timescale-board article { display: grid; grid-template-columns: 7rem 1fr 12rem; gap: .7rem; align-items: center; min-width: 0; padding: .72rem; border: 1px solid #b9a36f; border-radius: .85rem; color: #4f431f; background: #fffdf6; }
.energy-timescale-board article span { position: relative; z-index: 0; min-width: 0; padding: .62rem; overflow: hidden; border-radius: .55rem; background: #eef4e9; }
.energy-timescale-board article span::before { position: absolute; z-index: -1; inset: 0 auto 0 0; width: var(--energy-time); content: ""; background: #c8dfb9; }
.energy-timescale-board > strong { padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#52617e,#627447); text-align: center; }
.fossil-evidence-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.fossil-evidence-chain > span { display: grid; min-width: 0; min-height: 6.8rem; place-items: center; padding: .7rem; border: 1px solid #9b8a70; border-radius: .85rem; color: #4d402f; background: #f5eee2; text-align: center; }
.fossil-evidence-chain > i { color: #d17d27; font-style: normal; font-weight: 900; }
.fossil-evidence-chain > strong, .fossil-evidence-chain > em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #fff; background: #765f43; font-style: normal; text-align: center; }
.fossil-evidence-chain > em { background: #52617e; }
.biomass-carbon-ledger { display: grid; gap: .7rem; margin: 1rem 0; }
.biomass-carbon-ledger > strong, .biomass-carbon-ledger > em { padding: .72rem; border-radius: .68rem; color: #fff; background: #50784f; font-style: normal; font-weight: 850; text-align: center; }
.biomass-carbon-ledger > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.biomass-carbon-ledger article { display: grid; gap: .38rem; min-height: 8rem; place-items: center; padding: .72rem; border: 1px solid #8bac7f; border-radius: .9rem; color: #315335; background: #eef7ea; text-align: center; }
.biomass-carbon-ledger > em { background: #52617e; }
.calorific-value-bench { grid-template-columns: 1.15fr 1fr auto 1fr auto 1.35fr; }
.calorific-value-bench > strong { min-height: 6rem; color: #fff; background: #52617e; }
.calorific-value-bench math { max-width: 100%; overflow-x: auto; }
.energy-criteria-passport { display: grid; grid-template-columns: .8fr repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: .9rem; background: #b9a36f; }
.energy-criteria-passport > * { min-width: 0; padding: .68rem; color: #4f431f; background: #fffdf6; font-style: normal; text-align: center; }
.energy-criteria-passport > b, .energy-criteria-passport > strong { color: #fff; background: #52617e; }
.energy-criteria-passport > span { font-weight: 850; background: #fff0bd; text-align: left; }
.energy-criteria-passport > em { grid-column: 1 / -1; color: #fff; background: #627447; font-weight: 850; }
.energy-claim-audit { grid-template-columns: 1.15fr auto 1fr auto 1.1fr auto 1.1fr auto 1fr; }
.energy-claim-audit > span, .energy-claim-audit > strong, .energy-claim-audit > b { min-height: 6.5rem; }
.earth-evidence-wheel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.earth-evidence-wheel > strong, .earth-evidence-wheel > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; font-style: normal; }
.earth-evidence-wheel article { display: grid; gap: .35rem; min-height: 7.4rem; place-content: center; padding: .72rem; border: 1px solid #8bac7f; border-radius: 50% 50% .9rem .9rem; color: #315335; background: #eef7ea; text-align: center; }
.earth-evidence-wheel article b { color: #8c3f20; text-transform: uppercase; letter-spacing: .06em; }
.earth-evidence-wheel > em { background: #627447; font-weight: 850; }
.earth-model-stack { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; gap: .75rem; margin: 1rem 0; }
.earth-model-stack article { display: grid; place-content: center; gap: .35rem; min-height: 7rem; padding: .72rem; border: 2px solid #52617e; color: #34405d; background: #f7f8fc; text-align: center; }
.earth-model-stack__plane { border-radius: .35rem; }
.earth-model-stack__sphere { border-radius: 50%; }
.earth-model-stack__ellipsoid { border-radius: 50%; transform: scaleX(1.05) scaleY(.9); }
.earth-model-stack__ellipsoid > * { transform: scaleX(.95) scaleY(1.1); }
.earth-model-stack__geoid { border-radius: 54% 46% 58% 42% / 43% 57% 45% 55%; background: #edf5fb !important; }
.earth-model-stack > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.eratosthenes-shadow-lab, .earth-horizon-lab, .triangulation-chain-lab, .earth-coordinate-globe, .earth-route-comparator { display: grid; gap: .8rem; margin: 1rem 0; }
.eratosthenes-shadow-lab svg, .earth-horizon-lab svg, .triangulation-chain-lab svg, .earth-coordinate-globe svg, .earth-route-comparator svg { display: block; width: 100%; height: auto; max-height: 24rem; padding: .5rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.eratosthenes-shadow-lab > strong, .earth-horizon-lab > strong, .triangulation-chain-lab > strong { justify-self: center; padding: .7rem 1rem; border-radius: .72rem; color: #fff; background: #52617e; font-size: 1.08rem; }
.eratosthenes-shadow-lab > div, .earth-horizon-lab > div, .triangulation-chain-lab > div, .earth-route-comparator > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; align-items: center; text-align: center; }
.eratosthenes-shadow-lab > div > *, .earth-horizon-lab > div > *, .triangulation-chain-lab > div > *, .earth-route-comparator > div > * { min-width: 0; padding: .65rem; border: 1px solid #8bac7f; border-radius: .7rem; color: #315335; background: #eef7ea; font-style: normal; }
.eratosthenes-shadow-lab > em, .earth-horizon-lab > em, .triangulation-chain-lab > em, .earth-route-comparator > em { padding: .7rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.earth-radius-bench { display: grid; grid-template-columns: 1.35fr 1fr auto 1fr; gap: .7rem; align-items: stretch; margin: 1rem 0; }
.earth-radius-bench > strong, .earth-radius-bench article, .earth-radius-bench > i { display: grid; place-content: center; min-width: 0; padding: .78rem; border: 1px solid #b9a36f; border-radius: .8rem; text-align: center; }
.earth-radius-bench > strong { color: #fff; background: #52617e; }
.earth-radius-bench article { gap: .35rem; color: #5a481b; background: #fff7d9; }
.earth-radius-bench > i { border: 0; color: #c25a2b; font-style: normal; font-weight: 900; }
.earth-radius-bench > strong:nth-of-type(2), .earth-radius-bench > em { grid-column: 1 / -1; }
.earth-radius-bench > em { padding: .7rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.earth-coordinate-globe { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: center; }
.earth-coordinate-globe > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.earth-coordinate-globe article { display: grid; gap: .3rem; min-width: 0; padding: .72rem; border: 1px solid #8bac7f; border-radius: .72rem; color: #315335; background: #eef7ea; text-align: center; }
.earth-coordinate-globe > em { grid-column: 1 / -1; padding: .7rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.age-time-telescope { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .72rem; align-items: end; margin: 1rem 0; }
.age-time-telescope article, .age-time-telescope > strong { position: relative; display: grid; gap: .35rem; place-content: end center; min-height: 11rem; padding: .75rem; overflow: hidden; border: 1px solid #8da2b7; border-radius: .85rem; color: #34405d; background: #eef3f7; text-align: center; }
.age-time-telescope article::before, .age-time-telescope > strong::before { position: absolute; z-index: 0; inset: auto 0 0; height: var(--age-depth); content: ""; background: linear-gradient(0deg,#52617e,#b8ccd8); }
.age-time-telescope article > *, .age-time-telescope > strong > * { position: relative; z-index: 1; padding: .22rem .4rem; border-radius: .35rem; background: rgb(255 255 255 / .84); }
.age-time-telescope > strong { border-color: #b86c2b; background: #fff1df; }
.age-time-telescope > strong::before { background: linear-gradient(0deg,#8c3f20,#e0a357); }
.age-time-telescope > em { grid-column: 1 / -1; display: grid; gap: .25rem; padding: .75rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.age-time-telescope > em small { font-weight: 600; }
.age-evidence-passport { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: .9rem; background: #b9a36f; }
.age-evidence-passport > * { min-width: 0; padding: .7rem; color: #4c421f; background: #fffdf6; text-align: center; }
.age-evidence-passport > b { color: #fff; background: #52617e; text-transform: uppercase; letter-spacing: .04em; }
.age-evidence-passport > strong { color: #fff; background: #8c5a2f; }
.age-evidence-passport > em { grid-column: 1 / -1; color: #fff; background: #627447; font-style: normal; font-weight: 850; }
.buffon-cooling-lab { display: grid; grid-template-columns: minmax(0,1.3fr) 1fr auto 1fr; gap: .7rem; align-items: center; margin: 1rem 0; }
.buffon-cooling-lab > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.buffon-cooling-lab article { display: grid; gap: .45rem; min-height: 10rem; place-items: center; padding: .65rem; border: 1px solid #bd8257; border-radius: .85rem; color: #6a371e; background: #fff0df; text-align: center; }
.buffon-cooling-lab article i { width: var(--ball-size); height: var(--ball-size); border-radius: 50%; background: radial-gradient(circle at 35% 30%,#ffd37a,#c25027 68%,#71321f); box-shadow: 0 0 1rem rgb(194 80 39 / .28); }
.buffon-cooling-lab > strong, .buffon-cooling-lab > span { padding: .75rem; border-radius: .75rem; text-align: center; }
.buffon-cooling-lab > strong { color: #fff; background: #52617e; }
.buffon-cooling-lab > span { color: #8c3f20; font-weight: 900; }
.buffon-cooling-lab > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; font-style: normal; font-weight: 850; text-align: center; }
.sediment-archive-lab { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); gap: .9rem; align-items: stretch; margin: 1rem 0; }
.sediment-column { display: grid; overflow: hidden; border: 3px solid #765f43; border-radius: .7rem .7rem 1.25rem 1.25rem; background: #f5eee2; }
.sediment-column > * { display: grid; min-height: 3.2rem; place-items: center; padding: .55rem; color: #4d402f; border-bottom: 1px solid rgb(77 64 47 / .32); text-align: center; }
.sediment-column > span:nth-child(1) { background: #d8dfcb; }
.sediment-column > span:nth-child(2) { background: #f2d8a7; }
.sediment-column > i { border-block: 5px wavy #8c3f20; color: #fff; background: #8c5a2f; font-style: normal; font-weight: 850; }
.sediment-column > span:nth-child(4) { background: #dbc29e; }
.sediment-column > span:nth-child(5) { background: #a79b8a; }
.sediment-ledger { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; align-content: center; }
.sediment-ledger > strong, .sediment-ledger > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; }
.sediment-ledger article { display: grid; gap: .3rem; place-items: center; padding: .75rem; border: 1px solid #b9a36f; border-radius: .75rem; color: #4f431f; background: #fff7d9; text-align: center; }
.sediment-ledger > em { background: #627447; font-style: normal; font-weight: 850; }
.darwin-kelvin-debate { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; margin: 1rem 0; }
.darwin-kelvin-debate article { display: grid; gap: .55rem; min-height: 13rem; align-content: center; padding: .85rem; border: 2px solid #8bac7f; border-radius: 1rem; color: #315335; background: #eef7ea; text-align: center; }
.darwin-kelvin-debate article:last-of-type { border-color: #8da2b7; color: #34405d; background: #eef3f7; }
.darwin-kelvin-debate article b { text-transform: uppercase; letter-spacing: .04em; }
.darwin-kelvin-debate article span { padding: .45rem; border-radius: .45rem; background: rgb(255 255 255 / .72); }
.darwin-kelvin-debate > i { color: #8c3f20; font-style: normal; font-weight: 900; text-align: center; }
.darwin-kelvin-debate > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; font-style: normal; font-weight: 850; text-align: center; }
.kelvin-thermal-model { margin: 1rem 0; }
.kelvin-thermal-model svg { display: block; width: 100%; height: auto; max-height: 24rem; padding: .5rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.kelvin-thermal-model figcaption { padding: .72rem; border-radius: 0 0 .72rem .72rem; color: #fff; background: #52617e; text-align: center; font-weight: 800; }
.radiometric-double-role { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.radiometric-double-role > article { display: grid; grid-template-columns: 1fr auto 1fr; gap: .4rem; align-items: center; min-width: 0; padding: .72rem; border: 1px solid #8da2b7; border-radius: .85rem; color: #34405d; background: #eef3f7; text-align: center; }
.radiometric-double-role > article b, .radiometric-double-role > article small { grid-column: 1 / -1; }
.radiometric-double-role > figure { grid-column: 1 / -1; margin: 0; }
.radiometric-double-role svg { display: block; width: 100%; max-height: 18rem; padding: .45rem; border: 1px solid #b9a36f; border-radius: .85rem; background: #fffdf6; }
.radiometric-double-role figcaption { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; padding: .65rem; color: #4f431f; background: #fff7d9; }
.radiometric-double-role > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; font-style: normal; font-weight: 850; text-align: center; }
.meteorite-convergence { display: grid; gap: .75rem; margin: 1rem 0; }
.meteorite-convergence > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.meteorite-convergence article { display: grid; gap: .35rem; min-height: 9rem; place-content: center; padding: .7rem; border: 1px solid #8da2b7; border-radius: 50% 50% .85rem .85rem; color: #34405d; background: #eef3f7; text-align: center; }
.meteorite-convergence article:nth-child(4) { border-color: #bd8257; color: #6a371e; background: #fff0df; }
.meteorite-convergence > strong, .meteorite-convergence > em { display: grid; gap: .3rem; padding: .75rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; }
.meteorite-convergence > strong small { font-weight: 600; }
.meteorite-convergence > em { background: #627447; font-style: normal; font-weight: 850; }

.universe-sun, .universe-earth, .universe-moon, .universe-jupiter { display: inline-block; border-radius: 50%; }
.universe-sun { width: 3.5rem; height: 3.5rem; background: radial-gradient(circle at 35% 30%,#fff2a0,#ecaa2f 64%,#bf6827); box-shadow: 0 0 1.15rem rgb(236 170 47 / .48); }
.universe-earth { width: 3.1rem; height: 3.1rem; background: radial-gradient(circle at 35% 35%,#9edb9a 0 20%,#4c91b5 22% 63%,#255c7c 65%); }
.universe-moon { width: 2.4rem; height: 2.4rem; background: radial-gradient(circle at 35% 30%,#f3f0e8,#b9b8b1 68%,#777b82); }
.universe-jupiter { width: 4.5rem; height: 4.5rem; background: repeating-linear-gradient(0deg,#d7a875 0 .45rem,#f0d2aa .45rem .9rem,#9d6146 .9rem 1.12rem); }
.universe-frame-stage { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .72rem; align-items: center; margin: 1rem 0; }
.universe-frame-stage article { display: grid; gap: .4rem; min-height: 9rem; place-items: center; padding: .72rem; border: 1px solid #829bb0; border-radius: 1rem; color: #34405d; background: #eef3f7; text-align: center; }
.universe-frame-stage > strong, .universe-frame-stage > i { padding: .62rem; color: #fff; border-radius: .7rem; background: #52617e; text-align: center; }
.universe-frame-stage > i { color: #8c3f20; background: transparent; font-style: normal; font-weight: 900; }
.universe-frame-stage > em, .universe-model-ledger > em, .galileo-evidence-gate > em, .earth-orbit-track > em, .moon-phase-lab > em, .moon-sync-turntable > em, .habitable-zone-gate > em, .water-reserve-funnel > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.universe-model-ledger { display: grid; grid-template-columns: .75fr repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: .9rem; background: #b9a36f; }
.universe-model-ledger > * { min-width: 0; padding: .68rem; background: #fffdf6; text-align: center; }
.universe-model-ledger > span { color: #fff; background: #52617e; font-weight: 850; }
.universe-model-ledger > b { color: #6a371e; background: #fff0df; }
.universe-model-ledger > i { color: #34405d; font-style: normal; }
.universe-model-ledger > strong { color: #315335; background: #eef7ea; }
.galileo-evidence-gate { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .72rem; align-items: stretch; margin: 1rem 0; }
.galileo-evidence-gate article { grid-column: span 2; display: grid; gap: .55rem; min-height: 12rem; place-items: center; padding: .8rem; border: 1px solid #829bb0; border-radius: 1rem; color: #34405d; background: #eef3f7; text-align: center; }
.galileo-evidence-gate article > div { display: flex; gap: .5rem; align-items: center; justify-content: center; }
.moon-dot { width: .7rem; height: .7rem; border-radius: 50%; background: #8c7561; }
.venus-phases i { width: 2.3rem; height: 2.3rem; border: 2px solid #9b805b; border-radius: 50%; background: #e8d3a4; }
.venus-phases i:nth-child(1) { background: #3d4656; }
.venus-phases i:nth-child(2) { background: linear-gradient(90deg,#3d4656 50%,#e8d3a4 50%); }
.venus-phases i:nth-child(3) { background: radial-gradient(circle at 38% 50%,#e8d3a4 0 55%,#3d4656 57%); }
.galileo-evidence-gate > strong, .galileo-evidence-gate > span { padding: .68rem; border-radius: .72rem; text-align: center; }
.galileo-evidence-gate > strong { color: #fff; background: #52617e; }
.galileo-evidence-gate > span { color: #315335; border: 1px solid #8bac7f; background: #eef7ea; }
.earth-orbit-track, .moon-phase-lab, .moon-sync-turntable, .habitable-zone-gate, .water-reserve-funnel { display: grid; gap: .78rem; margin: 1rem 0; }
.earth-orbit-track svg, .moon-phase-lab svg { display: block; width: 100%; max-height: 25rem; padding: .4rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.earth-orbit-track > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; align-items: center; }
.earth-orbit-track > div > * { min-width: 0; padding: .58rem; border-radius: .65rem; color: #34405d; background: #eef3f7; text-align: center; font-style: normal; }
.earth-orbit-track > div > i { color: #8c3f20; background: transparent; font-weight: 900; }
.moon-phase-lab > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.moon-phase-lab article { display: grid; gap: .3rem; padding: .7rem; border: 1px solid #829bb0; border-radius: .75rem; color: #34405d; background: #eef3f7; text-align: center; }
.moon-sync-turntable > div { position: relative; min-height: 26rem; border: 1px solid #829bb0; border-radius: 50%; background: radial-gradient(circle,#edf5fb 0 18%,transparent 19%),#fffdf6; }
.moon-sync-turntable > div > .universe-earth { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.moon-position { position: absolute; display: grid; gap: .2rem; place-items: center; color: #34405d; text-align: center; }
.moon-position span { position: relative; width: 3rem; height: 3rem; border-radius: 50%; background: #c8c8c2; box-shadow: inset -1rem 0 #777b82; }
.moon-position span::after { position: absolute; top: 50%; left: .15rem; width: .75rem; height: .75rem; border-radius: 50%; content: ""; background: #c06b32; transform: translateY(-50%); }
.moon-position--top { top: 1rem; left: 50%; transform: translateX(-50%) rotate(90deg); }
.moon-position--top > * { transform: rotate(-90deg); }
.moon-position--right { top: 50%; right: 1rem; transform: translateY(-50%) rotate(180deg); }
.moon-position--right > * { transform: rotate(-180deg); }
.moon-position--bottom { bottom: 1rem; left: 50%; transform: translateX(-50%) rotate(270deg); }
.moon-position--bottom > * { transform: rotate(-270deg); }
.moon-position--left { top: 50%; left: 1rem; transform: translateY(-50%); }
.moon-sync-turntable > strong, .water-reserve-funnel > strong { justify-self: center; padding: .72rem 1rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; }
.habitable-zone-gate > div { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: .5rem; align-items: center; min-height: 12rem; padding: 1rem; border: 1px solid #829bb0; border-radius: 1rem; background: linear-gradient(90deg,#f6c281 0 30%,#b6d6a3 31% 67%,#bad4e4 68%); text-align: center; }
.habitable-zone-gate > div .universe-sun { grid-row: 1 / 3; justify-self: center; }
.habitable-zone-gate > div strong { grid-row: 1; grid-column: 2; color: #315335; }
.habitable-zone-gate > div .zone-too-hot { grid-column: 1; }
.habitable-zone-gate > div .zone-too-cold { grid-row: 2; grid-column: 3; }
.exo { width: 2.4rem; height: 2.4rem; justify-self: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%,#9bc48f,#4f8058); }
.exo--one { grid-row: 2; grid-column: 2; }
.exo--two { grid-row: 1; grid-column: 3; background: radial-gradient(circle at 35% 30%,#d5e5ef,#7096ad); }
.habitable-zone-gate ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; }
.habitable-zone-gate li { display: grid; gap: .32rem; place-items: center; min-width: 0; padding: .62rem; border: 1px solid #8bac7f; border-radius: .72rem; color: #315335; background: #eef7ea; text-align: center; }
.habitable-zone-gate li b { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; color: #fff; background: #627447; }
.water-reserve-funnel { justify-items: center; }
.water-reserve-funnel article { display: flex; width: var(--water-width); min-width: 13rem; gap: .8rem; align-items: center; justify-content: space-between; padding: .72rem; border: 1px solid #6793ae; border-radius: .72rem; color: #244f68; background: linear-gradient(90deg,#e8f4fa,#c7e3ef); }
.water-reserve-funnel article:nth-child(3), .water-reserve-funnel article:nth-child(4) { min-width: min(100%,21rem); }

.season-timescale { display: grid; grid-template-columns: repeat(7,auto); gap: .55rem; align-items: center; margin: 1rem 0; }
.season-timescale article { display: grid; gap: .3rem; min-width: 0; min-height: 7rem; place-content: center; padding: .7rem; border: 1px solid #829bb0; border-radius: 1rem; color: #34405d; background: #eef3f7; text-align: center; }
.season-timescale article b { color: #8c3f20; font-size: 1.2rem; }
.season-timescale > i { color: #8c3f20; font-style: normal; font-weight: 900; }
.season-timescale > em, .terminator-lab > em, .season-calendar-wheel > em, .daylight-latitude-board > em, .solar-height-bench > em, .season-hypothesis-audit > em, .season-lag-chart > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.terminator-lab { display: grid; grid-template-columns: 1.1fr repeat(2,minmax(0,1fr)); gap: .75rem; align-items: center; margin: 1rem 0; }
.terminator-lab article { display: grid; gap: .35rem; min-height: 8rem; place-content: center; padding: .75rem; border: 1px solid #829bb0; border-radius: .9rem; color: #34405d; background: #eef3f7; text-align: center; }
.heritage-season-globe { position: relative; width: min(100%,14rem); aspect-ratio: 1; justify-self: center; overflow: hidden; border: .32rem solid #dceaf1; border-radius: 50%; background: url("/modules/cycles-de-la-terre/Peters_projection,_white_&_grey.png") 0 50% / 250% 100%, #286b98; box-shadow: inset -2.4rem 0 2.4rem rgb(12 22 42 / .7), 0 .8rem 1.7rem rgb(32 57 75 / .2); animation: heritageSeasonRotate 16s linear infinite; transform: rotate(-23.4deg); }
.heritage-season-globe::before { position: absolute; inset: -8% 47% -8% -10%; z-index: 1; content: ""; background: linear-gradient(90deg,rgb(255 235 156 / .28),transparent); }
.heritage-season-globe::after { position: absolute; top: -9%; bottom: -9%; left: 50%; width: .18rem; z-index: 2; content: ""; border-radius: 1rem; background: #c06b32; box-shadow: 0 0 0 .1rem rgb(255 255 255 / .7); }
.heritage-season-globe span { position: absolute; inset: 49% 0 auto; z-index: 2; height: .12rem; background: rgb(255 255 255 / .7); }
@keyframes heritageSeasonRotate { to { background-position: 250% 50%; } }
.season-orbit-lab { overflow: hidden; }
.season-orbit-stage { position: relative; display: grid; min-height: 31rem; place-items: center; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: 1.2rem; background: radial-gradient(circle at center,#fff7d9 0 15%,transparent 15.5%),radial-gradient(circle at 25% 30%,rgb(255 255 255 / .92) 0 .12rem,transparent .15rem),radial-gradient(circle at 74% 64%,rgb(255 255 255 / .8) 0 .1rem,transparent .14rem),#1f2d47; background-size: auto,4.8rem 4.8rem,5.9rem 5.9rem,auto; }
.season-orbit-stage > .universe-sun { position: relative; z-index: 3; width: 4.4rem; height: 4.4rem; }
.season-orbit-ring { position: absolute; inset: 8% 5%; border: .18rem solid #8aa1b5; border-radius: 50%; box-shadow: 0 0 0 .08rem rgb(255 255 255 / .28); }
.season-orbit-ring article { --season-angle: 150deg; position: absolute; top: 50%; left: 50%; display: grid; width: 4.8rem; height: 4.8rem; place-items: center; transform: translate(-50%,-50%) rotate(var(--season-angle)) translateX(min(31vw,17rem)) rotate(calc(-1 * var(--season-angle))); transition: transform .35s ease; }
.season-orbit-ring article span { position: relative; display: block; width: 3.7rem; height: 3.7rem; border: .18rem solid #dceaf1; border-radius: 50%; background: url("/modules/cycles-de-la-terre/Peters_projection,_white_&_grey.png") 30% 50% / 250% 100%, #286b98; box-shadow: inset -1.15rem 0 1.25rem rgb(12 22 42 / .62), 0 .35rem .8rem rgb(0 0 0 / .35); }
.season-orbit-ring article span::after { position: absolute; top: -24%; bottom: -24%; left: 50%; width: .15rem; content: ""; border-radius: 1rem; background: #e8b36a; transform: translateX(-50%) rotate(-23.4deg); box-shadow: 0 0 0 .06rem rgb(34 44 63 / .6); }
.season-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: .8rem; align-items: end; margin: 1rem 0; }
.season-controls label { display: grid; gap: .35rem; color: #34405d; font-weight: 800; }
.season-controls input { width: 100%; accent-color: #b45e2d; }
.season-readout { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.season-readout article { display: grid; gap: .28rem; min-width: 0; padding: .68rem; border: 1px solid #829bb0; border-radius: .75rem; color: #34405d; background: #eef3f7; text-align: center; }
.season-readout strong { color: #8c3f20; }
.season-calendar-wheel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.season-calendar-wheel article { display: grid; gap: .4rem; min-height: 9rem; place-content: center; padding: .7rem; border: 1px solid #b9a36f; border-radius: 50% 50% .9rem .9rem; color: #34405d; background: #fffdf6; text-align: center; }
.season-calendar-wheel article:nth-child(2) { color: #6a371e; background: #fff0df; }
.season-calendar-wheel article:nth-child(4) { color: #244f68; background: #e8f4fa; }
.daylight-latitude-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.daylight-latitude-board article { position: relative; display: grid; grid-template-columns: auto 1fr; gap: .7rem; overflow: hidden; min-height: 5.5rem; align-items: center; padding: .8rem; border: 1px solid #829bb0; border-radius: .85rem; color: #fff; background: linear-gradient(90deg,#e7aa39 var(--day-share),#26344a 0); }
.daylight-latitude-board article::after { position: absolute; top: 0; bottom: 0; left: var(--day-share); width: .14rem; content: ""; background: #fff; }
.daylight-latitude-board article b, .daylight-latitude-board article span { position: relative; z-index: 1; text-shadow: 0 1px 2px rgb(0 0 0 / .7); }
.daylight-latitude-board article span { justify-self: end; text-align: right; }
.solar-height-bench { display: grid; gap: .8rem; margin: 1rem 0; }
.solar-height-bench > strong { justify-self: center; max-width: 100%; padding: .7rem 1rem; overflow-x: auto; border: 1px solid #b9a36f; border-radius: .72rem; color: #34405d; background: #fffdf6; }
.solar-height-bench > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.solar-beam { position: relative; display: grid; gap: .35rem; min-height: 11rem; align-content: end; overflow: hidden; padding: .85rem; border: 1px solid #829bb0; border-radius: .95rem; color: #34405d; background: #eef3f7; text-align: center; }
.solar-beam::before { position: absolute; top: .5rem; left: 50%; width: 2.8rem; height: 7.5rem; content: ""; background: linear-gradient(90deg,rgb(235 177 57 / .16),rgb(235 177 57 / .78),rgb(235 177 57 / .16)); transform-origin: 50% 100%; }
.solar-beam--high::before { transform: translateX(-50%); }
.solar-beam--low::before { transform: translateX(-50%) rotate(58deg); }
.solar-beam::after { position: absolute; right: 10%; bottom: 3rem; left: 10%; height: .24rem; content: ""; border-radius: 50%; background: #627447; }
.season-hypothesis-audit { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.season-hypothesis-audit article { display: grid; gap: .45rem; min-height: 9rem; place-content: center; padding: .8rem; border: 1px solid #bb765d; border-radius: .95rem; color: #6a371e; background: #fff0df; text-align: center; }
.season-hypothesis-audit article:nth-child(2) { border-color: #8bac7f; color: #315335; background: #eef7ea; }
.season-hypothesis-audit strong { padding-top: .4rem; border-top: 1px solid currentColor; }
.season-lag-chart { display: grid; gap: .75rem; margin: 1rem 0; }
.season-lag-chart svg { display: block; width: 100%; height: auto; padding: .45rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.season-lag-chart > strong { justify-self: center; max-width: 100%; padding: .7rem 1rem; overflow-x: auto; border-radius: .72rem; color: #fff; background: #52617e; }

.sound-wave-studio, .sound-period-ruler, .sound-harmonic-builder, .sound-timbre-fingerprint, .sound-decibel-ladder, .sound-string-workbench, .sound-interval-gate, .sound-scale-comparator { display: grid; gap: .75rem; margin: 1rem 0; }
.sound-wave-studio > em, .sound-period-ruler > em, .sound-harmonic-builder > em, .sound-timbre-fingerprint > em, .sound-decibel-ladder > em, .sound-string-workbench > em, .sound-interval-gate > em, .sound-scale-comparator > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.sound-wave-studio svg, .sound-period-ruler svg { display: block; width: 100%; height: auto; padding: .45rem; border: 1px solid #9a88ad; border-radius: .95rem; color: #34405d; background: linear-gradient(#fbf9ff,#f1edf7); }
.sound-axis { fill: none; stroke: #8a96a5; stroke-width: 2; }
.sound-wave { fill: none; stroke-width: 6; stroke-linecap: round; }
.sound-wave--pure { stroke: #4d7f9d; }
.sound-wave--composite { stroke: #9b5b83; }
.sound-wave-studio[data-sound-wave-mode="pure"] .sound-wave--composite, .sound-wave-studio[data-sound-wave-mode="composite"] .sound-wave--pure { opacity: .22; }
.sound-wave-studio > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: .75rem; align-items: end; }
.sound-wave-studio label { display: grid; gap: .32rem; color: #34405d; font-weight: 800; }
.sound-wave-studio input { width: 100%; accent-color: #8f527a; }
.sound-wave-studio > p { margin: 0; padding: .68rem; border: 1px solid #9a88ad; border-radius: .72rem; color: #523b61; background: #f6f0fa; text-align: center; font-weight: 800; }
.sound-period-ruler > strong, .sound-harmonic-builder > strong, .sound-scale-comparator > strong { justify-self: center; max-width: 100%; padding: .68rem 1rem; overflow-x: auto; border: 1px solid #b9a36f; border-radius: .72rem; color: #34405d; background: #fffdf6; }
.sound-period-ruler > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; }
.sound-period-ruler > div > * { padding: .6rem; border-radius: .65rem; color: #34405d; background: #eef3f7; text-align: center; font-style: normal; }
.sound-period-ruler > div > i { color: #8c3f20; background: transparent; font-weight: 900; }
.harmonic-bars { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .75rem; min-height: 17rem; align-items: end; padding: 1rem; border: 1px solid #829bb0; border-radius: .95rem; background: linear-gradient(to top,rgb(77 127 157 / .08) 1px,transparent 1px),#fff; background-size: 100% 25%; }
.harmonic-bars article { display: grid; height: var(--harmonic); min-height: 4.5rem; align-content: start; padding: .58rem .3rem; border-radius: .65rem .65rem .2rem .2rem; color: #fff; background: linear-gradient(#9b5b83,#52617e); text-align: center; }
.harmonic-bars article span { font-size: .76rem; }
.sound-timbre-fingerprint { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sound-timbre-fingerprint article { display: grid; gap: .45rem; min-width: 0; padding: .75rem; border: 1px solid #9a88ad; border-radius: .9rem; color: #34405d; background: #f6f0fa; text-align: center; }
.timbre-spectrum { display: flex; height: 10rem; gap: .65rem; align-items: end; justify-content: space-around; padding: .6rem; border-bottom: .18rem solid #52617e; }
.timbre-spectrum i { width: 12%; border-radius: .35rem .35rem 0 0; background: #4d7f9d; }
.timbre-spectrum--fork i:nth-child(1) { height: 92%; }.timbre-spectrum--fork i:nth-child(2) { height: 12%; }.timbre-spectrum--fork i:nth-child(3) { height: 5%; }.timbre-spectrum--fork i:nth-child(4) { height: 2%; }.timbre-spectrum--fork i:nth-child(5) { height: 1%; }
.timbre-spectrum--piano i:nth-child(1) { height: 84%; }.timbre-spectrum--piano i:nth-child(2) { height: 66%; }.timbre-spectrum--piano i:nth-child(3) { height: 47%; }.timbre-spectrum--piano i:nth-child(4) { height: 32%; }.timbre-spectrum--piano i:nth-child(5) { height: 19%; }
.sound-timbre-fingerprint > strong { grid-column: 1 / -1; justify-self: center; padding: .65rem 1rem; border-radius: .7rem; color: #fff; background: #52617e; }
.sound-decibel-ladder > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; align-items: end; }
.sound-decibel-ladder article { display: grid; gap: .32rem; min-height: calc(6rem + var(--step,0rem)); place-content: center; padding: .62rem; border: 1px solid #829bb0; border-radius: .8rem .8rem .2rem .2rem; color: #34405d; background: linear-gradient(#eef3f7,#dce8f0); text-align: center; }
.sound-decibel-ladder article:nth-child(2) { --step:1.4rem; }.sound-decibel-ladder article:nth-child(3) { --step:2.8rem; }.sound-decibel-ladder article:nth-child(4) { --step:4.2rem; }
.sound-decibel-ladder article strong { color: #8c3f20; }
.sound-decibel-ladder > p { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; justify-content: center; margin: 0; }
.sound-decibel-ladder > p > * { max-width: 100%; padding: .65rem; overflow-x: auto; border-radius: .7rem; color: #fff; background: #52617e; }
.sound-decibel-ladder > p i { color: #8c3f20; background: transparent; font-style: normal; font-weight: 900; }
.sound-string-workbench { grid-template-columns: repeat(2,minmax(0,1fr)); }
.string-case { display: grid; grid-template-columns: 1fr auto; gap: .45rem; align-items: center; padding: .75rem; border: 1px solid #b88862; border-radius: .9rem; color: #5c402c; background: #fff5e8; }
.string-case span { grid-column: 1 / -1; height: .34rem; border-radius: 1rem; background: #7a5740; box-shadow: 0 -.5rem 0 -.12rem #c68b52,0 .5rem 0 -.12rem #c68b52; }
.string-case--short span { width: 58%; justify-self: center; }
.string-case small { justify-self: end; }
.sound-string-workbench > div { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr auto); gap: .5rem; align-items: center; }
.sound-string-workbench > div > * { padding: .6rem; border-radius: .65rem; color: #34405d; background: #eef3f7; text-align: center; font-style: normal; }
.sound-string-workbench > div i { color: #fff; background: #52617e; font-weight: 900; }
.sound-interval-gate { grid-template-columns: repeat(5,auto); align-items: center; }
.sound-interval-gate article { display: grid; gap: .28rem; min-width: 7rem; padding: .75rem; border: 1px solid #9a88ad; border-radius: 50%; color: #523b61; background: #f6f0fa; text-align: center; }
.sound-interval-gate > i { color: #8c3f20; font-style: normal; font-weight: 900; text-align: center; }
.sound-interval-gate > strong { grid-column: 1 / -1; justify-self: center; max-width: 100%; padding: .68rem 1rem; overflow-x: auto; border-radius: .7rem; color: #fff; background: #52617e; }
.scale-keyboard { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .22rem; min-height: 11rem; align-items: end; padding: .75rem; border: 1px solid #9a88ad; border-radius: .95rem; background: #2a3346; }
.scale-keyboard i { display: grid; height: calc(4.8rem + var(--degree) * .34rem); min-width: 0; place-items: end center; padding: .35rem .1rem; border-radius: .35rem .35rem .15rem .15rem; color: #34405d; background: #f9f6ee; font-style: normal; box-shadow: inset 0 -.3rem #d8d1c3; }
.scale-keyboard i:nth-child(2), .scale-keyboard i:nth-child(4), .scale-keyboard i:nth-child(7), .scale-keyboard i:nth-child(9), .scale-keyboard i:nth-child(11) { color: #fff; background: #596177; box-shadow: inset 0 -.3rem #343b4d; }
.sound-scale-comparator > div:last-of-type { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.sound-scale-comparator article { display: grid; gap: .3rem; padding: .72rem; border: 1px solid #9a88ad; border-radius: .8rem; color: #523b61; background: #f6f0fa; text-align: center; }

.audio-digitizer, .audio-sampling-ruler, .audio-nyquist-gate, .audio-quantization-grid, .audio-binary-decoder, .audio-size-calculator, .audio-compression-audit, .audio-scenario-matrix { display: grid; gap: .78rem; margin: 1rem 0; }
.audio-digitizer > em, .audio-sampling-ruler > em, .audio-nyquist-gate > em, .audio-quantization-grid > em, .audio-binary-decoder > em, .audio-size-calculator > em, .audio-compression-audit > em, .audio-scenario-matrix > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #496b75; text-align: center; font-style: normal; font-weight: 850; }
.audio-digitizer svg { display: block; width: 100%; height: auto; padding: .4rem; border: 1px solid #78a0a7; border-radius: .95rem; background: repeating-linear-gradient(0deg,rgb(73 107 117 / .055) 0 1px,transparent 1px 38px),#f5faf9; }
.audio-digitizer__axis { fill: none; stroke: #778492; stroke-width: 2; }
.audio-digitizer__signal { fill: none; stroke: #4a6a49; stroke-width: 6; stroke-linecap: round; }
.digitizer-level { fill: none; stroke: #5c88a1; stroke-width: 1.4; stroke-dasharray: 5 7; opacity: .52; }
.digitizer-stem { fill: none; stroke: #c46d32; stroke-width: 2.5; }
.digitizer-sample { fill: #f7a631; stroke: #7e431e; stroke-width: 1.5; }
.digitizer-quantized { fill: #3f7897; stroke: #fff; stroke-width: 1.2; }
.audio-digitizer__controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.audio-digitizer__controls label { display: grid; grid-template-columns: 1fr auto; gap: .35rem .65rem; align-items: center; padding: .7rem; border: 1px solid #78a0a7; border-radius: .75rem; color: #334e58; background: #edf7f5; font-weight: 800; }
.audio-digitizer__controls input { grid-column: 1 / -1; width: 100%; accent-color: #c46d32; }
.audio-digitizer__controls output { padding: .2rem .45rem; border-radius: .4rem; color: #fff; background: #496b75; }
.audio-digitizer__chain { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.audio-digitizer__chain article { display: grid; gap: .3rem; min-width: 0; padding: .7rem; border: 1px solid #78a0a7; border-radius: .75rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-sampling-ruler > div { display: grid; grid-template-columns: repeat(7,auto); align-items: center; padding: .9rem; overflow-x: auto; border: 1px solid #78a0a7; border-radius: .85rem; color: #334e58; background: #f5faf9; }
.audio-sampling-ruler { min-width: 0; overflow-x: auto; }
.audio-sampling-ruler > div i { width: 100%; min-width: 2.5rem; height: .2rem; background: repeating-linear-gradient(90deg,#c46d32 0 2px,transparent 2px 7px); }
.audio-sampling-ruler > strong, .audio-nyquist-gate > strong, .audio-quantization-grid > strong, .audio-binary-decoder > strong, .audio-size-calculator > strong, .audio-compression-audit > strong { justify-self: center; max-width: 100%; padding: .68rem 1rem; overflow-x: auto; border: 1px solid #78a0a7; border-radius: .72rem; color: #334e58; background: #f5faf9; }
.audio-nyquist-gate { grid-template-columns: repeat(5,auto); align-items: center; }
.audio-nyquist-gate article, .audio-compression-audit article { display: grid; gap: .25rem; padding: .75rem; border: 1px solid #78a0a7; border-radius: .78rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-nyquist-gate > i, .audio-compression-audit > div > i, .audio-size-calculator i, .audio-binary-decoder > p i { color: #a35325; font-style: normal; font-weight: 950; }
.audio-nyquist-gate > strong, .audio-nyquist-gate > div { grid-column: 1 / -1; }
.alias-traces { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.alias-traces span { min-height: 4rem; display: grid; place-items: center; padding: .55rem; border-radius: .7rem; color: #fff; background: linear-gradient(135deg,#4a6a49,#496b75); text-align: center; }
.audio-quantization-grid > div { display: grid; gap: .18rem; min-height: 13rem; padding: .7rem; border: 1px solid #78a0a7; border-radius: .9rem; background: #f5faf9; }
.audio-quantization-grid > div i { display: flex; align-items: center; justify-content: flex-end; padding-right: .55rem; border-bottom: 2px solid rgb(63 120 151 / .65); color: #334e58; font-style: normal; }
.audio-quantization-grid > p { display: grid; grid-template-columns: repeat(6,auto); gap: .45rem; align-items: center; margin: 0; }
.audio-quantization-grid > p > * { padding: .55rem; border-radius: .55rem; background: #edf7f5; text-align: center; }
.audio-binary-decoder > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.audio-binary-decoder article { display: grid; gap: .3rem; padding: .75rem; border-radius: .75rem; color: #fff; background: #496b75; text-align: center; }
.audio-binary-decoder article b { font-size: 2rem; }
.audio-binary-decoder > p, .audio-compression-audit > div { display: grid; grid-template-columns: repeat(5,auto); gap: .5rem; align-items: center; justify-content: center; margin: 0; }
.audio-binary-decoder > p span { padding: .55rem; border-radius: .55rem; background: #edf7f5; }
.audio-size-calculator > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.audio-size-calculator article { display: grid; gap: .25rem; padding: .7rem; border: 1px solid #78a0a7; border-radius: .75rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-size-calculator > p { margin: 0; padding: .7rem; border-radius: .7rem; color: #fff; background: #496b75; text-align: center; }
.audio-compression-audit > p { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin: 0; }
.audio-compression-audit > p span { padding: .7rem; border: 1px solid #78a0a7; border-radius: .72rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-scenario-matrix { grid-template-columns: repeat(2,minmax(0,1fr)); }
.audio-scenario-matrix article { display: grid; gap: .35rem; min-height: 8.5rem; place-content: center; padding: .75rem; border: 1px solid #78a0a7; border-radius: .85rem; color: #334e58; background: linear-gradient(135deg,#f5faf9,#e4f1ee); text-align: center; }
.audio-scenario-matrix article strong { color: #8b4b27; }

.hearing-pathway, .hearing-audiogram, .hearing-tonotopy, .hearing-haircells, .hearing-brain, .hearing-risk, .hearing-attenuation, .hearing-router { display: grid; gap: .78rem; margin: 1rem 0; }
.hearing-pathway > em, .hearing-audiogram > em, .hearing-tonotopy > em, .hearing-haircells > em, .hearing-brain > em, .hearing-risk > em, .hearing-attenuation > em, .hearing-router > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #654b6e; text-align: center; font-style: normal; font-weight: 850; }
.hearing-pathway { grid-template-columns: repeat(7,auto); align-items: center; }
.hearing-pathway article { display: grid; gap: .3rem; min-width: 0; padding: .7rem; border: 1px solid #aa8bb2; border-radius: .85rem; color: #4e3857; background: #f8f1fa; text-align: center; }
.hearing-pathway > i, .hearing-router > i { color: #b65a3b; font-style: normal; font-weight: 950; }
.ear-icon { display: block; width: 3.2rem; height: 3.2rem; margin: auto; border: .34rem solid #8c668f; border-radius: 50% 58% 48% 55%; }
.ear-icon--outer { border-right-color: transparent; transform: rotate(-14deg); }
.ear-icon--middle { position: relative; border-radius: 50%; transform: scale(.75); box-shadow: .8rem 0 0 -.45rem #d69254,-.8rem 0 0 -.45rem #d69254; }
.ear-icon--cochlea { border-radius: 50%; box-shadow: inset 0 0 0 .35rem #f8f1fa,inset 0 0 0 .7rem #8c668f; }
.ear-icon--brain { border-style: dotted; border-width: .45rem; border-radius: 45% 55%; }
.hearing-audiogram svg { display: block; width: 100%; height: auto; padding: .45rem; border: 1px solid #aa8bb2; border-radius: .9rem; background: repeating-linear-gradient(0deg,rgb(101 75 110 / .07) 0 1px,transparent 1px 42px),#fcf9fd; }
.hearing-axis { fill: none; stroke: #6f7887; stroke-width: 3; }
.hearing-threshold { fill: none; stroke-width: 7; stroke-linecap: round; }
.hearing-threshold--reference { stroke: #4e8490; }.hearing-threshold--variant { stroke: #b65a3b; stroke-dasharray: 12 9; }
.hearing-audiogram > div { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.hearing-audiogram > div span { display: flex; gap: .4rem; align-items: center; }.hearing-audiogram > div i { width: 2.6rem; height: .35rem; background: #4e8490; }.hearing-audiogram > div span:last-child i { background: #b65a3b; }
.cochlea-spiral { position: relative; width: min(100%,32rem); aspect-ratio: 1.7; margin: auto; overflow: hidden; border: 1px solid #aa8bb2; border-radius: 50% 48% 44% 52%; background: radial-gradient(circle at 53% 52%,#fcf9fd 0 9%,#8c668f 10% 14%,#f3e7f6 15% 25%,#8c668f 26% 31%,#f3e7f6 32% 46%,#8c668f 47% 53%,#ead5ee 54%); }
.cochlea-zone { position: absolute; padding: .3rem .45rem; border-radius: .5rem; color: #fff; background: rgb(50 55 72 / .82); text-align: center; font-size: .82rem; font-weight: 850; }
.cochlea-zone--high { right: 5%; bottom: 11%; }.cochlea-zone--middle { left: 11%; top: 43%; }.cochlea-zone--low { left: 46%; top: 37%; }
.hearing-tonotopy > p, .hearing-brain > p { display: grid; grid-template-columns: repeat(5,auto); gap: .5rem; align-items: center; justify-content: center; margin: 0; }
.hearing-tonotopy > p > *, .hearing-brain > p > * { padding: .55rem; border-radius: .55rem; background: #f8f1fa; text-align: center; font-style: normal; }
.hearing-tonotopy > p i, .hearing-brain > p i { color: #b65a3b; background: transparent; font-weight: 950; }
.hearing-haircells { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hearing-haircells article { display: grid; gap: .55rem; padding: .75rem; border: 1px solid #aa8bb2; border-radius: .85rem; color: #4e3857; background: #f8f1fa; text-align: center; }
.haircell-field { display: grid; grid-template-columns: repeat(6,1fr); gap: .42rem; min-height: 10rem; align-items: end; padding: .7rem; border-radius: .7rem; background: #2f3546; }
.haircell-field i { position: relative; height: 4rem; border-radius: 50% 50% .4rem .4rem; background: linear-gradient(#dba0a4,#f2c4ab); }
.haircell-field i::before { position: absolute; top: -1.7rem; left: 50%; width: 2.2rem; height: 1.9rem; content: ""; background: repeating-linear-gradient(90deg,transparent 0 .25rem,#f4d8c6 .26rem .38rem); transform: translateX(-50%); }
.haircell-field--trauma i:nth-child(3n) { height: 2.4rem; transform: rotate(16deg); }.haircell-field i.is-missing { visibility: hidden; }

.science-method-lab{border-color:#326f8f;background:linear-gradient(145deg,#f4fbff,#eef5f2);box-shadow:inset .38rem 0 #1d8392}.science-method-lab__prompt{max-width:65ch}.science-method-lab__formula{display:inline-flex;align-items:center;min-height:3rem;margin:.35rem 0 1rem;padding:.65rem 1rem;border:1px solid #bed6df;border-radius:.85rem;background:#fff;color:#123f59;font-weight:800;box-shadow:0 .5rem 1.4rem rgba(22,73,94,.08)}.science-method-lab__tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:.45rem 0 1rem}.science-method-lab__tab{border:1px solid #9ebfca;border-radius:999px;padding:.58rem .88rem;background:#fff;color:#17445a;font:inherit;font-weight:750;cursor:pointer}.science-method-lab__tab:is(:hover,:focus-visible),.science-method-lab__tab.is-active{border-color:#176f83;background:#176f83;color:#fff}.science-method-lab__panels{min-height:9.5rem}.science-method-lab__panel{padding:1rem 1.05rem;border:1px solid #c6dce3;border-radius:1rem;background:rgba(255,255,255,.92)}.science-method-lab__panel>span{display:block;margin-bottom:.3rem;color:#377083;font-size:.74rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.science-method-lab__panel>strong{display:block;color:#102f43;font-size:1.06rem;line-height:1.45}.science-method-lab__panel p{margin:.75rem 0 0;color:#385669}.science-method-lab__conclusion{margin:1rem 0 0;padding:.8rem 1rem;border-radius:.85rem;background:#dceff1;color:#173f4c}@media(max-width:620px){.science-method-lab__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.science-method-lab__tab{border-radius:.75rem}.science-method-lab__panels{min-height:11rem}}
.brain-map { position: relative; width: min(100%,31rem); aspect-ratio: 1.8; margin: auto; border: .45rem solid #654b6e; border-radius: 48% 56% 45% 52%; background: radial-gradient(circle at 68% 38%,rgb(217 111 73 / .8) 0 8%,transparent 9%),radial-gradient(circle at 42% 60%,rgb(74 132 144 / .8) 0 11%,transparent 12%),repeating-radial-gradient(ellipse at center,#f8f1fa 0 1rem,#e3d1e7 1.05rem 1.2rem); }
.brain-map span { position: absolute; padding: .25rem .4rem; border-radius: .4rem; color: #fff; background: #383d50; font-size: .72rem; }.brain-map span:nth-of-type(1){right:12%;top:20%}.brain-map span:nth-of-type(2){left:15%;bottom:18%}.brain-map span:nth-of-type(3){left:42%;top:12%}.brain-map span:nth-of-type(4){right:26%;bottom:15%}
.hearing-risk > div:first-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.hearing-risk label { display: grid; grid-template-columns: 1fr auto; gap: .4rem .7rem; padding: .7rem; border: 1px solid #aa8bb2; border-radius: .75rem; color: #4e3857; background: #f8f1fa; font-weight: 800; }.hearing-risk input { grid-column: 1 / -1; width: 100%; accent-color: #b65a3b; }.hearing-risk output { padding: .2rem .42rem; border-radius: .4rem; color: #fff; background: #654b6e; }
.hearing-risk > strong, .hearing-attenuation > strong { justify-self: center; max-width: 100%; padding: .65rem 1rem; overflow-x: auto; border: 1px solid #aa8bb2; border-radius: .7rem; color: #4e3857; background: #fcf9fd; }
.hearing-dose-meter { position: relative; height: 3.2rem; overflow: hidden; border: 1px solid #8c668f; border-radius: 1.6rem; background: #e9e1ec; }
.hearing-dose-meter i { position: absolute; inset: 0 auto 0 0; width: 25%; background: linear-gradient(90deg,#4e8490,#88aa77); transition: width .2s; }.hearing-dose-meter i.is-over { background: linear-gradient(90deg,#d59145,#b3473c); }
.hearing-dose-meter span { position: relative; z-index: 1; display: grid; height: 100%; place-items: center; color: #2f3546; font-weight: 900; text-shadow: 0 1px #fff; }
.hearing-attenuation > div { display: grid; grid-template-columns: repeat(5,auto); gap: .55rem; align-items: center; justify-content: center; }.hearing-attenuation article { display: grid; gap: .25rem; padding: .7rem; border: 1px solid #aa8bb2; border-radius: .75rem; color: #4e3857; background: #f8f1fa; text-align: center; }.hearing-attenuation > div > i { color: #b65a3b; font-style: normal; font-weight: 950; }
.hearing-attenuation > p { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; margin: 0; }.hearing-attenuation > p span { padding: .6rem; border-radius: .55rem; color: #fff; background: #654b6e; text-align: center; }
.hearing-router { grid-template-columns: repeat(5,auto); align-items: center; }.hearing-router article { display: grid; gap: .35rem; min-height: 7rem; place-content: center; padding: .75rem; border: 1px solid #aa8bb2; border-radius: .8rem; color: #4e3857; background: #f8f1fa; text-align: center; }

/* Histoire littéraire : l’outil visuel conserve les chevauchements et le degré de preuve. */
[data-antique-oral], [data-antique-invocation], [data-antique-truth], [data-antique-plato], [data-antique-aristotle], [data-antique-orpheus], [data-antique-ovid], [data-antique-rewrite] { border-color: #b88462; background: linear-gradient(145deg,#fffaf1,#efe3d1); }
.antique-voice-chain, .antique-invocation, .antique-mimesis-workbench, .antique-orpheus-map, .antique-metamorphosis-ledger, .antique-rewrite-lens { display: grid; grid-template-columns: repeat(9,auto); gap: .55rem; align-items: center; }
.antique-voice-chain article, .antique-truth-gate article, .antique-mimesis-workbench article, .antique-orpheus-map article, .antique-rewrite-lens article { display: grid; gap: .3rem; min-height: 6.5rem; place-content: center; padding: .7rem; border: 1px solid #bd9675; border-radius: .85rem; color: #414252; background: #fffaf3; text-align: center; }
.antique-voice-chain b, .antique-truth-gate b, .antique-mimesis-workbench b, .antique-orpheus-map b, .antique-rewrite-lens b { color: #8e4b31; font-family: var(--serif); font-size: 1.05rem; }
.antique-voice-chain > i, .antique-mimesis-workbench > i, .antique-orpheus-map > i, .antique-rewrite-lens > i { color: #8e4b31; font-style: normal; font-weight: 900; text-align: center; }
.antique-invocation { grid-template-columns: repeat(7,auto); justify-content: center; }
.antique-invocation > span, .antique-invocation > strong { display: grid; min-width: 6rem; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #bd9675; border-radius: 50%; color: #493f4f; background: #fffaf3; text-align: center; }.antique-invocation > strong { color: #fff; background: #6f536e; }
.antique-invocation > i { color: #8e4b31; font-style: normal; font-size: .8rem; font-weight: 850; }.antique-invocation > em { grid-column: 1 / -1; text-align: center; }
.antique-truth-gate { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }.antique-truth-gate > strong { grid-column: 1 / -1; padding: .7rem; border-radius: .7rem; color: #fff; background: #526278; text-align: center; }
.antique-magnet-chain { display: grid; grid-template-columns: repeat(7,auto); gap: .5rem; align-items: center; justify-content: center; }.antique-magnet-chain > strong, .antique-magnet-chain > span { display: grid; min-width: 6rem; min-height: 5.5rem; place-items: center; padding: .6rem; border: 2px solid #9c6a4c; border-radius: 50% 50% 42% 42%; color: #493f4f; background: #fffaf3; text-align: center; }.antique-magnet-chain > strong { color: #fff; background: #6f536e; }.antique-magnet-chain > i { width: 2.2rem; height: .35rem; background: #b88462; box-shadow: 0 0 0 .2rem rgb(184 132 98 / .15); }.antique-magnet-chain > em { grid-column: 1 / -1; text-align: center; }
.antique-mimesis-workbench > strong { display: grid; min-height: 6.5rem; place-items: center; padding: .7rem; border-radius: .85rem; color: #fff; background: #526278; }
.antique-orpheus-map { grid-template-columns: repeat(5,minmax(0,1fr)); }.antique-orpheus-map article.is-underworld { color: #fff; background: #4a4355; }.antique-orpheus-map article.is-underworld b { color: #efc9a9; }
.antique-metamorphosis-ledger { grid-template-columns: repeat(5,minmax(0,1fr)); }.antique-metamorphosis-ledger > * { display: grid; min-height: 5.8rem; place-items: center; padding: .65rem; border-radius: .75rem; color: #443e4c; background: #fffaf3; text-align: center; font-style: normal; }.antique-metamorphosis-ledger > i { border: 1px dashed #a06a4e; }.antique-metamorphosis-ledger > strong { color: #fff; background: #8e4b31; }
.antique-rewrite-lens { grid-template-columns: 1fr auto 1fr auto 1fr; }.antique-rewrite-lens > strong { padding: .8rem; border-radius: 50%; color: #fff; background: #8e4b31; text-align: center; }

/* Fonctions poétiques : une constellation de preuves plutôt qu’une suite d’étiquettes. */
[data-poetry-function], [data-poetry-lyric], [data-poetry-memory], [data-poetry-engagement], [data-poetry-autonomy], [data-poetry-knowledge], [data-poetry-program], [data-poetry-analysis] { border-color: #78929a; background: linear-gradient(145deg,#fbf8f1,#e8f0ee); }
.poetry-function-compass, .poetry-lyric-relay, .poetry-memory-loop, .poetry-engagement-chain, .poetry-autonomy-balance, .poetry-knowledge-ladder, .poetry-program-workshops, .poetry-analysis-score { display: grid; gap: .6rem; align-items: center; }
.poetry-function-compass { grid-template-columns: repeat(5,minmax(0,1fr)); }
.poetry-function-compass article, .poetry-lyric-relay article, .poetry-autonomy-balance article, .poetry-knowledge-ladder article, .poetry-program-workshops article { display: grid; gap: .28rem; min-height: 6.8rem; place-content: center; padding: .7rem; border: 1px solid #8aa3a7; border-radius: .85rem; color: #3f4653; background: rgb(255 253 247 / .94); text-align: center; }
.poetry-function-compass article b, .poetry-lyric-relay b, .poetry-autonomy-balance b, .poetry-knowledge-ladder b, .poetry-program-workshops b { color: #7a3f51; font-family: var(--serif); font-size: 1.06rem; }
.poetry-function-compass > strong, .poetry-program-workshops > strong, .poetry-knowledge-ladder > strong { display: grid; min-height: 6.8rem; place-content: center; padding: .7rem; border-radius: .85rem; color: #fff; background: linear-gradient(135deg,#456f78,#694c67); text-align: center; }
.poetry-lyric-relay { grid-template-columns: 1fr auto 1.1fr auto 1fr; }.poetry-lyric-relay > strong { display: grid; gap: .3rem; min-height: 8rem; place-content: center; padding: .8rem; border-radius: 48% 52% 44% 56%; color: #fff; background: #694c67; text-align: center; }.poetry-lyric-relay > strong b { color: #fff; }.poetry-lyric-relay > i, .poetry-memory-loop > i, .poetry-engagement-chain > i, .poetry-autonomy-balance > i, .poetry-analysis-score > i { color: #9a5846; font-style: normal; font-weight: 950; text-align: center; }.poetry-lyric-relay > em { grid-column: 1 / -1; color: #53656c; text-align: center; }
.poetry-memory-loop, .poetry-engagement-chain { grid-template-columns: repeat(9,auto); justify-content: center; }.poetry-memory-loop > span, .poetry-engagement-chain > span, .poetry-analysis-score > span { display: grid; min-height: 5.4rem; place-items: center; padding: .65rem; border: 1px solid #8aa3a7; border-radius: .75rem; color: #3f4653; background: #fffdf7; text-align: center; font-weight: 820; }.poetry-memory-loop > strong, .poetry-engagement-chain > strong { display: grid; min-height: 6.2rem; place-items: center; padding: .8rem; border-radius: 50%; color: #fff; background: #456f78; text-align: center; }.poetry-memory-loop > em, .poetry-engagement-chain > em { grid-column: 1 / -1; color: #53656c; text-align: center; }
.poetry-autonomy-balance { grid-template-columns: 1fr auto 1.1fr auto 1fr; }.poetry-autonomy-balance > strong { display: grid; min-height: 8rem; place-items: center; padding: .85rem; border-radius: 50%; color: #fff; background: #7a3f51; text-align: center; }.poetry-autonomy-balance > em { grid-column: 1 / -1; color: #53656c; text-align: center; }
.poetry-knowledge-ladder { grid-template-columns: repeat(5,minmax(0,1fr)); align-items: end; }.poetry-knowledge-ladder article:nth-child(1){min-height:5.2rem}.poetry-knowledge-ladder article:nth-child(2){min-height:6.2rem}.poetry-knowledge-ladder article:nth-child(3){min-height:7.2rem}.poetry-knowledge-ladder article:nth-child(4){min-height:8.2rem}.poetry-knowledge-ladder article:nth-child(5){min-height:9.2rem}.poetry-knowledge-ladder article span { color: #456f78; font-weight: 950; }.poetry-knowledge-ladder > strong { grid-column: 1 / -1; min-height: auto; }
.poetry-program-workshops { grid-template-columns: repeat(3,minmax(0,1fr)); }.poetry-program-workshops article { position: relative; min-height: 9rem; overflow: hidden; }.poetry-program-workshops article::before { position: absolute; inset: .45rem .45rem auto; height: .35rem; border-radius: 999px; content: ""; background: linear-gradient(90deg,#456f78,#c48555,#7a3f51); }.poetry-program-workshops article span { color: #456f78; font-size: 1.03rem; font-weight: 900; }.poetry-program-workshops article small { color: #665762; }.poetry-program-workshops > strong { grid-column: 1 / -1; min-height: auto; }
.poetry-analysis-score { grid-template-columns: repeat(11,auto); justify-content: center; }.poetry-analysis-score > strong { display: grid; min-height: 6.4rem; place-items: center; padding: .8rem; border-radius: .85rem; color: #fff; background: #694c67; }.poetry-analysis-score > span { min-width: 5.5rem; }

/* Prosodie : compter reste visible, mais la voix et la syntaxe gardent la main. */
[data-prosody-unit], [data-prosody-schwa], [data-prosody-dieresis], [data-prosody-zone], [data-prosody-meter], [data-prosody-rhythm], [data-prosody-syntax], [data-prosody-reading] { border-color: #8c7a9b; background: linear-gradient(145deg,#fbf9ff,#edf1f7); }
.prosody-unit-passport, .prosody-reading-protocol { display: grid; grid-template-columns: repeat(9,auto); gap: .5rem; align-items: center; justify-content: center; }.prosody-unit-passport > span, .prosody-reading-protocol > span, .prosody-reading-protocol > strong { display: grid; min-height: 5.4rem; place-items: center; padding: .65rem; border: 1px solid #9b8cab; border-radius: .75rem; color: #493f58; background: #fff; text-align: center; font-weight: 850; }.prosody-unit-passport > strong, .prosody-reading-protocol > strong { color: #fff; background: #5d547d; }.prosody-unit-passport > i, .prosody-reading-protocol > i { color: #b45f4c; font-style: normal; font-weight: 950; }
.prosody-schwa-gate { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; align-items: center; }.prosody-schwa-gate > * { display: grid; min-height: 6rem; place-items: center; padding: .65rem; border-radius: .75rem; color: #493f58; background: #fff; text-align: center; font-style: normal; }.prosody-schwa-gate > strong { color: #fff; background: #5d547d; }.prosody-schwa-gate > i { border: 1px dashed #b45f4c; font-weight: 850; }
.prosody-vowel-switch { display: grid; grid-template-columns: 1fr auto 1fr; gap: .7rem; align-items: center; }.prosody-vowel-switch article { display: grid; grid-template-columns: 1fr auto; gap: .35rem; padding: .85rem; border: 1px solid #9b8cab; border-radius: .85rem; color: #493f58; background: #fff; }.prosody-vowel-switch article b { grid-column: 1 / -1; color: #77506b; font-family: var(--serif); font-size: 1.08rem; }.prosody-vowel-switch article strong { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; color: #fff; background: #5d547d; }.prosody-vowel-switch > i { color: #b45f4c; font-style: normal; font-size: 1.4rem; font-weight: 950; }.prosody-vowel-switch > em { grid-column: 1 / -1; color: #5c5968; text-align: center; }
.prosody-zone-counter { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .32rem; }.prosody-zone-counter > span { display: grid; min-height: 5rem; place-items: center; padding: .35rem; border: 1px solid #9b8cab; border-radius: .65rem; color: #493f58; background: #fff; font-family: var(--serif); font-size: 1.08rem; }.prosody-zone-counter > span:nth-last-of-type(-n+3) { border-color: #b45f4c; background: #fff1ed; }.prosody-zone-counter small { color: #77506b; font-family: var(--sans); font-size: .7rem; font-weight: 900; }.prosody-zone-counter > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#5d547d,#397480); text-align: center; }
.prosody-meter-atlas { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .55rem; align-items: end; }.prosody-meter-atlas article { display: grid; min-height: calc(3rem + var(--meter) * .34rem); place-content: end center; padding: .65rem; border: 1px solid #9b8cab; border-radius: .75rem .75rem .2rem .2rem; color: #493f58; background: linear-gradient(#fff,#e5e0ed); text-align: center; }.prosody-meter-atlas article b { color: #77506b; font-family: var(--serif); font-size: 1.45rem; }.prosody-meter-atlas > em { grid-column: 1 / -1; text-align: center; }
.prosody-rhythm-workbench { display: grid; gap: .75rem; }.prosody-rhythm-workbench > div { display: grid; grid-template-columns: 1fr auto 1fr; gap: .6rem; align-items: center; }.prosody-rhythm-workbench > div > * { padding: .75rem; border-radius: .7rem; color: #493f58; background: #fff; text-align: center; font-style: normal; }.prosody-rhythm-workbench > div > i { color: #fff; background: #b45f4c; font-weight: 900; }.prosody-rhythm-workbench > em { color: #5c5968; text-align: center; }
.prosody-syntax-router { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }.prosody-syntax-router article { display: grid; gap: .4rem; padding: .8rem; border: 1px solid #9b8cab; border-radius: .8rem; color: #493f58; background: #fff; }.prosody-syntax-router article span { color: #397480; font-family: ui-monospace,monospace; font-size: 1.2rem; letter-spacing: .05em; }.prosody-syntax-router > strong, .prosody-syntax-router > em { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; text-align: center; }.prosody-syntax-router > strong { color: #fff; background: #5d547d; }.prosody-syntax-router > em { color: #5c5968; }
/* Architecture poétique : les retours sonores deviennent un plan de lecture. */
[data-rhyme-sound], [data-rhyme-richness], [data-rhyme-scheme], [data-poem-stanza], [data-poem-syntax], [data-poem-fixed], [data-poem-open], [data-poem-analysis] { border-color: #80949e; background: linear-gradient(145deg,#fffdf7,#e9f0f1); }
.rhyme-ear-gate, .rhyme-phoneme-counter, .rhyme-return-map, .poem-stanza-plan, .poem-syntax-three, .poem-form-passports, .poem-open-page, .poem-analysis-ledger { display: grid; gap: .65rem; align-items: center; }
.rhyme-ear-gate { grid-template-columns: 1fr auto 1fr auto 1fr; }.rhyme-ear-gate article { display: grid; min-height: 6.6rem; place-content: center; padding: .75rem; border: 1px solid #8da5ac; border-radius: 45% 55% 50% 50%; color: #3d4d54; background: #fff; text-align: center; }.rhyme-ear-gate article b { color: #854f50; font-family: var(--serif); font-size: 1.35rem; }.rhyme-ear-gate > strong { display: grid; width: 4.6rem; height: 4.6rem; place-items: center; border-radius: 50%; color: #fff; background: #476f78; font-size: 1.2rem; }.rhyme-ear-gate > i { color: #b66c50; font-style: normal; font-weight: 950; }.rhyme-ear-gate > em { grid-column: 1 / -1; color: #52626a; text-align: center; }
.rhyme-phoneme-counter { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }.rhyme-phoneme-counter article { display: grid; grid-template-columns: auto 1fr; gap: .3rem .55rem; align-content: center; min-height: 8.2rem; padding: .75rem; border: 1px solid #8da5ac; border-radius: .85rem; color: #3d4d54; background: #fff; }.rhyme-phoneme-counter article strong { grid-row: 1 / 4; display: grid; width: 3rem; height: 3rem; place-items: center; align-self: center; border-radius: 50%; color: #fff; background: #476f78; }.rhyme-phoneme-counter article b { color: #854f50; font-family: var(--serif); }.rhyme-phoneme-counter article em { color: #476f78; font-style: normal; font-weight: 900; }.rhyme-phoneme-counter > p { grid-column: 1 / -1; margin: 0; color: #52626a; text-align: center; }
.rhyme-return-map { grid-template-columns: repeat(3,minmax(0,1fr)); }.rhyme-return-map article { display: grid; grid-template-columns: repeat(4,1fr); gap: .35rem; padding: .8rem; border: 1px solid #8da5ac; border-radius: .85rem; background: #fff; }.rhyme-return-map article b, .rhyme-return-map article em { grid-column: 1 / -1; color: #3d4d54; text-align: center; }.rhyme-return-map article b { font-family: var(--serif); font-size: 1.18rem; }.rhyme-return-map article em { font-size: .85rem; }.rhyme-return-map article span { display: grid; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; font-weight: 950; }.rhyme-return-map .is-a { background: #476f78; }.rhyme-return-map .is-b { background: #a85f4c; }
.poem-stanza-plan { grid-template-columns: 1.1fr auto .9fr auto .75fr; }.poem-stanza-plan article { display: grid; gap: .32rem; min-height: 9rem; align-content: center; padding: .75rem; border: 1px solid #8da5ac; border-radius: .85rem; background: #fff; }.poem-stanza-plan article b, .poem-stanza-plan article span { color: #3d4d54; text-align: center; }.poem-stanza-plan article i { height: .32rem; border-radius: 999px; background: linear-gradient(90deg,#476f78 0 72%,transparent 72%); }.poem-stanza-plan article:nth-of-type(2) i { background: linear-gradient(90deg,#a85f4c 0 58%,transparent 58%); }.poem-stanza-plan > strong { color: #854f50; font-size: .78rem; text-transform: uppercase; writing-mode: vertical-rl; }
.poem-syntax-three { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }.poem-syntax-three article { display: grid; gap: .45rem; align-content: start; padding: .8rem; border: 1px solid #8da5ac; border-radius: .85rem; color: #3d4d54; background: #fff; }.poem-syntax-three article b { color: #854f50; font-family: var(--serif); text-align: center; }.poem-syntax-three article p { min-height: 5.6rem; margin: 0; padding: .65rem; border-left: .2rem solid #476f78; font-family: var(--serif); line-height: 1.75; }.poem-syntax-three mark { padding: .08rem .18rem; color: inherit; background: #f5d8be; }.poem-syntax-three article span { color: #476f78; font-weight: 850; text-align: center; }
.poem-form-passports { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; }.poem-form-passports article { display: grid; gap: .38rem; min-height: 9.5rem; place-content: center; padding: .8rem; border: 1px solid #8da5ac; border-radius: 1rem .25rem 1rem .25rem; color: #3d4d54; background: #fff; text-align: center; }.poem-form-passports article b { color: #854f50; font-family: var(--serif); font-size: 1.15rem; }.poem-form-passports article strong { color: #476f78; }.poem-form-passports article span { font-size: .87rem; }
.poem-open-page { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }.poem-open-page article { min-height: 10rem; padding: .8rem; border: 1px solid #8da5ac; border-radius: .85rem; color: #3d4d54; background: #fff; }.poem-open-page article b { display: block; margin-bottom: .7rem; color: #854f50; font-family: var(--serif); text-align: center; }.poem-open-page article > i { display: block; width: var(--line); height: .34rem; margin: .58rem 0; border-radius: 999px; background: #476f78; }.poem-open-page article > p { height: 1.45rem; margin: .55rem 0; background: repeating-linear-gradient(180deg,#82969c 0 2px,transparent 2px 7px); }.poem-open-page article > div { display: grid; width: 7rem; grid-template-columns: repeat(3,1fr); gap: .35rem; margin: 1.1rem auto; transform: rotate(-9deg); }.poem-open-page article > div i { height: 1.45rem; border-radius: 50% 50% .25rem .25rem; background: #a85f4c; }.poem-open-page article > div i:nth-child(2), .poem-open-page article > div i:nth-child(4) { transform: translateY(1.1rem); }.poem-open-page > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#476f78,#854f50); text-align: center; }
.poem-analysis-ledger { grid-template-columns: repeat(9,auto); justify-content: center; }.poem-analysis-ledger > span, .poem-analysis-ledger > strong { display: grid; min-height: 5.8rem; place-items: center; padding: .7rem; border: 1px solid #8da5ac; border-radius: .75rem; color: #3d4d54; background: #fff; text-align: center; }.poem-analysis-ledger > strong { color: #fff; background: #476f78; }.poem-analysis-ledger > i { color: #a85f4c; font-style: normal; font-weight: 950; }

/* Formes libres : la page sert de partition mesurable. */
[data-free-unit], [data-free-linebreak], [data-free-recurrence], [data-free-syntax], [data-free-page], [data-prose-poem], [data-lineation], [data-free-program] { border-color: #79939a; background: linear-gradient(145deg,#fbfffd,#e9f2ef); }
.free-boundary-passport, .free-program-protocol, .poem-analysis-ledger { display: grid; grid-template-columns: repeat(9,auto); gap: .55rem; align-items: center; justify-content: center; }.free-boundary-passport > span, .free-boundary-passport > strong, .free-program-protocol > span, .free-program-protocol > strong { display: grid; min-height: 5.6rem; place-items: center; padding: .65rem; border: 1px solid #84a0a5; border-radius: .7rem; color: #3e5357; background: #fff; text-align: center; }.free-boundary-passport > strong, .free-program-protocol > strong { color: #fff; background: #426f69; }.free-boundary-passport > i, .free-program-protocol > i { color: #ad654d; font-style: normal; font-weight: 950; }
.free-linebreak-lab { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; align-items: center; }.free-linebreak-lab > p { margin: 0; padding: 1rem; border-left: .24rem solid #426f69; color: #3e5357; background: #fff; font-family: var(--serif); font-size: 1.08rem; line-height: 1.85; }.free-linebreak-lab mark { color: inherit; background: #f3dac8; }.free-linebreak-lab > div { display: grid; grid-template-columns: 1fr auto 1fr; gap: .4rem; align-items: center; }.free-linebreak-lab > div > * { padding: .65rem; border-radius: .65rem; color: #3e5357; background: #fff; text-align: center; font-style: normal; }.free-linebreak-lab > div b { grid-column: 1 / -1; color: #fff; background: #426f69; }
.free-recurrence-map { display: grid; gap: .55rem; padding: .9rem; border: 1px solid #84a0a5; border-radius: .8rem; background: #fff; }.free-recurrence-map > i { width: var(--free-line); height: .5rem; border-radius: 999px; background: #426f69; }.free-recurrence-map > i.is-break { background: #ad654d; }.free-recurrence-map > strong { color: #3e5357; text-align: center; }
.free-syntax-switch { display: grid; grid-template-columns: 1fr auto 1fr; gap: .7rem; align-items: center; }.free-syntax-switch > p, .free-syntax-switch > div { padding: .85rem; border: 1px solid #84a0a5; border-radius: .8rem; color: #3e5357; background: #fff; }.free-syntax-switch > p { margin: 0; font-family: var(--serif); line-height: 1.7; }.free-syntax-switch > i { color: #ad654d; font-style: normal; font-weight: 950; }.free-syntax-switch > div { display: grid; gap: .45rem; }.free-syntax-switch > div span { padding: .45rem; border-left: .2rem solid #426f69; }.free-syntax-switch > em { grid-column: 1 / -1; color: #53676b; text-align: center; }
.free-page-score { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .65rem; align-items: center; }.free-page-score article { display: grid; gap: .5rem; min-height: 7.8rem; align-content: center; padding: .75rem; border: 1px solid #84a0a5; border-radius: .8rem; background: #fff; }.free-page-score article i { height: .38rem; border-radius: 999px; background: #426f69; }.free-page-score article i:nth-child(2) { width: 68%; }.free-page-score article.is-shifted { padding-left: 2rem; }.free-page-score > strong { color: #ad654d; font-size: .75rem; text-transform: uppercase; writing-mode: vertical-rl; }.free-page-score > em { grid-column: 1 / -1; color: #53676b; text-align: center; }
.prose-poem-gate { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .6rem; align-items: center; }.prose-poem-gate article { display: grid; gap: .3rem; min-height: 7rem; place-content: center; padding: .75rem; border: 1px solid #84a0a5; border-radius: .8rem; color: #3e5357; background: #fff; text-align: center; }.prose-poem-gate article b { color: #8d4f49; font-family: var(--serif); }.prose-poem-gate > i { color: #ad654d; font-style: normal; font-weight: 950; }.prose-poem-gate > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; color: #fff; background: #426f69; text-align: center; }
.lineation-comparator { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; align-items: stretch; }.lineation-comparator article { padding: .8rem; border: 1px solid #84a0a5; border-radius: .8rem; color: #3e5357; background: #fff; }.lineation-comparator article b { display: block; margin-bottom: .5rem; color: #8d4f49; font-family: var(--serif); text-align: center; }.lineation-comparator article p { margin: 0; font-family: var(--serif); line-height: 1.75; }.lineation-comparator mark { color: inherit; background: #f3dac8; }.lineation-comparator > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; color: #fff; background: linear-gradient(90deg,#426f69,#8d4f49); text-align: center; }

/* XIXe poétique : tensions historiques, réseaux et voix en chevauchement. */
[data-xix-century], [data-xix-romantic], [data-xix-gaze], [data-xix-hugo], [data-xix-autonomy], [data-xix-baudelaire], [data-xix-symbol], [data-xix-rimbaud] { border-color: #9a816c; background: linear-gradient(145deg,#fffaf2,#f0e8df); }
.xix-force-map, .xix-romantic-relay, .xix-gaze-audit, .xix-hugo-roles, .xix-autonomy-balance, .xix-baudelaire-compass, .xix-symbol-network, .xix-rimbaud-workbench { display: grid; gap: .65rem; align-items: center; }
.xix-force-map { grid-template-columns: repeat(5,minmax(0,1fr)); }.xix-force-map article, .xix-romantic-relay article, .xix-hugo-roles article, .xix-autonomy-balance article, .xix-symbol-network article { display: grid; gap: .3rem; min-height: 6.8rem; place-content: center; padding: .7rem; border: 1px solid #ae9077; border-radius: .85rem; color: #493f3f; background: #fffdf8; text-align: center; }.xix-force-map article b, .xix-romantic-relay article b, .xix-hugo-roles article b, .xix-autonomy-balance article b, .xix-symbol-network article b { color: #8c4f3e; font-family: var(--serif); }.xix-force-map > strong, .xix-hugo-roles > strong, .xix-symbol-network > strong { display: grid; min-height: 6.8rem; place-items: center; padding: .7rem; border-radius: 50%; color: #fff; background: #5f5368; text-align: center; }
.xix-romantic-relay { grid-template-columns: 1fr auto 1fr auto 1fr; }.xix-romantic-relay > i, .xix-gaze-audit > i, .xix-autonomy-balance > i, .xix-rimbaud-workbench > i { color: #b46145; font-style: normal; font-weight: 950; }.xix-romantic-relay > strong, .xix-autonomy-balance > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; color: #fff; background: #5f5368; text-align: center; }
.xix-gaze-audit { grid-template-columns: repeat(9,auto); justify-content: center; }.xix-gaze-audit > span, .xix-gaze-audit > strong, .xix-rimbaud-workbench > span, .xix-rimbaud-workbench > strong { display: grid; min-height: 5.6rem; place-items: center; padding: .65rem; border: 1px solid #ae9077; border-radius: .75rem; color: #493f3f; background: #fffdf8; text-align: center; }.xix-gaze-audit > strong, .xix-rimbaud-workbench > strong { color: #fff; background: #8c4f3e; }
.xix-hugo-roles { grid-template-columns: repeat(5,minmax(0,1fr)); }.xix-autonomy-balance { grid-template-columns: 1fr auto 1fr auto 1fr; }
.xix-baudelaire-compass { grid-template-columns: 1fr 1fr 1.2fr 1fr 1fr; }.xix-baudelaire-compass > span { display: grid; min-height: 6.5rem; place-items: center; padding: .7rem; border: 1px solid #ae9077; border-radius: 50%; color: #493f3f; background: #fffdf8; text-align: center; }.xix-baudelaire-compass > strong { display: grid; min-height: 8rem; place-items: center; border-radius: 45% 55% 50% 50%; color: #fff; background: linear-gradient(135deg,#5f5368,#8c4f3e); text-align: center; }.xix-baudelaire-compass > i { grid-column: 1 / -1; color: #6d5c58; font-style: normal; text-align: center; }
.xix-symbol-network { grid-template-columns: repeat(5,minmax(0,1fr)); }.xix-symbol-network > em { grid-column: 1 / -1; color: #6d5c58; text-align: center; }
.xix-rimbaud-workbench { grid-template-columns: repeat(7,auto); justify-content: center; }.xix-rimbaud-workbench > em { grid-column: 1 / -1; color: #6d5c58; text-align: center; }

/* XXe-XXIe poétiques : une partition de médias, de circulations et d'ateliers. */
[data-xx-constellation], [data-xx-apollinaire], [data-xx-surreal], [data-xx-engagement], [data-xx-negritude], [data-xx-ponge], [data-xx-oulipo], [data-xx-dorion] { border-color: #708d91; background: linear-gradient(145deg,#f8fcfa,#e9f0ed); }
.xx-constellation, .xx-surreal-gate, .xx-circulation-map, .xx-negritude-network, .xx-ponge-strata, .xx-oulipo-generator, .xx-forest-resonance { display: grid; gap: .65rem; align-items: center; }
.xx-constellation, .xx-circulation-map, .xx-negritude-network { grid-template-columns: repeat(5,minmax(0,1fr)); }
.xx-constellation article, .xx-circulation-map article, .xx-negritude-network article, .xx-oulipo-generator article { display: grid; gap: .3rem; min-height: 7rem; place-content: center; padding: .72rem; border: 1px solid #84a1a4; border-radius: 1.1rem .35rem 1.1rem .35rem; color: #354f53; background: #fff; text-align: center; }
.xx-constellation article b, .xx-circulation-map article b, .xx-negritude-network article b, .xx-oulipo-generator article b { color: #a04f45; font-family: var(--serif); }
.xx-constellation > strong, .xx-circulation-map > strong, .xx-negritude-network > strong { display: grid; min-height: 8rem; place-items: center; padding: .75rem; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#3f6f70,#5c526f); text-align: center; }
.xx-constellation > em, .xx-circulation-map > em, .xx-negritude-network > em { grid-column: 1 / -1; color: #52696c; text-align: center; }
.xx-calligram-route { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; align-items: stretch; }
.xx-calligram-route__rain { position: relative; min-height: 13rem; overflow: hidden; border: 1px solid #84a1a4; border-radius: 42% 58% 45% 55%; background: radial-gradient(circle at 50% 55%,#fff 0 22%,#e4efeb 23% 100%); }
.xx-calligram-route__rain i { position: absolute; top: 1.1rem; left: calc(12% + (var(--rain-index, 0) * 17%)); width: .18rem; height: 9.8rem; border-radius: 999px; background: repeating-linear-gradient(180deg,#3f6f70 0 .45rem,transparent .45rem .85rem); transform: rotate(calc(-12deg + var(--rain-index, 0) * 6deg)); }
.xx-calligram-route__rain i:nth-child(1) { --rain-index:0; }.xx-calligram-route__rain i:nth-child(2) { --rain-index:1; }.xx-calligram-route__rain i:nth-child(3) { --rain-index:2; }.xx-calligram-route__rain i:nth-child(4) { --rain-index:3; }.xx-calligram-route__rain i:nth-child(5) { --rain-index:4; }
.xx-calligram-route__rain span { position: absolute; bottom: 1rem; left: 50%; padding: .45rem .75rem; border-radius: 999px; color: #fff; background: #a04f45; transform: translateX(-50%); }
.xx-calligram-route__paths { display: grid; grid-template-columns: auto 1fr; gap: .55rem; align-content: center; padding: .9rem; border: 1px solid #84a1a4; border-radius: .9rem; background: #fff; }
.xx-calligram-route__paths b { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; color: #fff; background: #3f6f70; }.xx-calligram-route__paths span { align-self: center; color: #354f53; }.xx-calligram-route__paths strong { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; color: #fff; background: #5c526f; text-align: center; }
.xx-surreal-gate { grid-template-columns: repeat(9,auto); justify-content: center; }.xx-surreal-gate > span, .xx-surreal-gate > strong { display: grid; min-height: 5.8rem; place-items: center; padding: .65rem; border: 1px solid #84a1a4; border-radius: .75rem; color: #354f53; background: #fff; text-align: center; }.xx-surreal-gate > strong { color: #fff; background: #3f6f70; }.xx-surreal-gate > i { color: #a04f45; font-style: normal; font-weight: 950; }.xx-surreal-gate > em { grid-column: 1 / -1; color: #52696c; text-align: center; }
.xx-ponge-strata { width: min(100%,42rem); margin-inline: auto; }.xx-ponge-strata > span, .xx-ponge-strata > strong { padding: .65rem 1rem; border: 1px solid #84a1a4; border-radius: 999px; color: #354f53; background: #fff; text-align: center; }.xx-ponge-strata > span:nth-child(2) { margin-inline: 5%; }.xx-ponge-strata > span:nth-child(3) { margin-inline: 10%; }.xx-ponge-strata > span:nth-child(4) { margin-inline: 15%; }.xx-ponge-strata > strong { margin-inline: 20%; color: #fff; background: #3f6f70; }.xx-ponge-strata > em { color: #52696c; text-align: center; }
.xx-oulipo-generator { grid-template-columns: 1fr auto 1fr auto 1fr; }.xx-oulipo-generator > i { color: #a04f45; font-style: normal; font-size: 1.35rem; font-weight: 950; }.xx-oulipo-generator > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; color: #fff; background: linear-gradient(90deg,#3f6f70,#5c526f); text-align: center; }
.xx-forest-resonance { grid-template-columns: repeat(5,minmax(0,1fr)); min-height: 15rem; padding: 1rem; border-radius: 50%; background: radial-gradient(circle,#fff 0 18%,#dcebe4 19% 37%,#b9d2c8 38% 55%,#6f9b8a 56% 72%,#3f6f70 73% 100%); }.xx-forest-resonance > span, .xx-forest-resonance > strong { display: grid; min-height: 4.5rem; place-items: center; padding: .55rem; border-radius: 50%; color: #354f53; background: rgb(255 255 255 / .88); text-align: center; }.xx-forest-resonance > strong { color: #fff; background: #a04f45; }.xx-forest-resonance > em { grid-column: 1 / -1; padding: .5rem; border-radius: 999px; color: #fff; background: rgb(47 75 72 / .8); text-align: center; }

/* Littérature d'idées : positions, preuves, voix et trajectoires éditoriales. */
[data-ideas-domain], [data-ideas-position], [data-ideas-argument], [data-ideas-address], [data-ideas-explicit], [data-ideas-circulation], [data-ideas-program], [data-ideas-analysis] { border-color: #91806b; background: linear-gradient(145deg,#fffdf7,#f1ece2); }
.ideas-domain-map, .ideas-position-compass, .ideas-proof-bridge, .ideas-rhetoric-triangle, .ideas-voice-corridor, .ideas-publication-route, .ideas-program-prism, .ideas-analysis-chain { display: grid; gap: .65rem; align-items: center; }
.ideas-domain-map { grid-template-columns: repeat(5,minmax(0,1fr)); }.ideas-domain-map article, .ideas-program-prism article { display: grid; gap: .3rem; min-height: 7rem; place-content: center; padding: .72rem; border: 1px solid #ae9677; border-radius: .4rem 1.15rem .4rem 1.15rem; color: #4e473f; background: #fff; text-align: center; }.ideas-domain-map article b, .ideas-program-prism article b { color: #8c4a3f; font-family: var(--serif); }.ideas-domain-map > strong { display: grid; min-height: 8rem; place-items: center; padding: .75rem; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#5a4d64,#8c4a3f); text-align: center; }.ideas-domain-map > em { grid-column: 1 / -1; color: #6a5e50; text-align: center; }
.ideas-position-compass, .ideas-voice-corridor, .ideas-publication-route, .ideas-analysis-chain { grid-template-columns: repeat(9,auto); justify-content: center; }.ideas-position-compass > span, .ideas-position-compass > strong, .ideas-voice-corridor > span, .ideas-voice-corridor > strong, .ideas-publication-route > span, .ideas-publication-route > strong, .ideas-analysis-chain > span, .ideas-analysis-chain > strong { display: grid; min-height: 5.8rem; place-items: center; padding: .65rem; border: 1px solid #ae9677; border-radius: .75rem; color: #4e473f; background: #fff; text-align: center; }.ideas-position-compass > strong, .ideas-voice-corridor > strong, .ideas-publication-route > strong, .ideas-analysis-chain > strong { color: #fff; background: #5a4d64; }.ideas-position-compass > i, .ideas-voice-corridor > i, .ideas-publication-route > i, .ideas-analysis-chain > i { color: #ad5b49; font-style: normal; font-weight: 950; }.ideas-voice-corridor > em, .ideas-publication-route > em { grid-column: 1 / -1; color: #6a5e50; text-align: center; }
.ideas-proof-bridge { grid-template-columns: repeat(5,minmax(0,1fr)); padding-top: 2rem; }.ideas-proof-bridge > span, .ideas-proof-bridge > strong { display: grid; min-height: 6rem; place-items: center; padding: .65rem; border: 1px solid #ae9677; color: #4e473f; background: #fff; text-align: center; }.ideas-proof-bridge > span { border-radius: .75rem; }.ideas-proof-bridge > strong { position: relative; min-height: 8rem; margin-top: -2rem; border: 0; border-radius: 50% 50% .7rem .7rem; color: #fff; background: #8c4a3f; }.ideas-proof-bridge > strong::before { position: absolute; top: 49%; right: 100%; width: 100%; height: .35rem; background: #8c4a3f; content: ""; }.ideas-proof-bridge > strong::after { position: absolute; top: 49%; left: 100%; width: 100%; height: .35rem; background: #8c4a3f; content: ""; }.ideas-proof-bridge > em { grid-column: 1 / -1; color: #6a5e50; text-align: center; }
.ideas-rhetoric-triangle { position: relative; min-height: 17rem; grid-template-columns: repeat(3,1fr); grid-template-rows: 1fr auto; padding: 1rem 8%; }.ideas-rhetoric-triangle::before { position: absolute; inset: 2.8rem 20% 4.5rem; border-right: .3rem solid #b99d7d; border-bottom: .3rem solid #b99d7d; transform: rotate(45deg); content: ""; }.ideas-rhetoric-triangle > span { z-index: 1; display: grid; min-height: 6rem; place-items: center; padding: .65rem; border: 1px solid #ae9677; border-radius: 50%; color: #4e473f; background: #fff; text-align: center; }.ideas-rhetoric-triangle > span:nth-child(2) { transform: translateY(4rem); }.ideas-rhetoric-triangle > span small { color: #8c4a3f; }.ideas-rhetoric-triangle > strong { z-index: 1; grid-column: 1 / -1; justify-self: center; padding: .6rem 1rem; border-radius: 999px; color: #fff; background: #5a4d64; }.ideas-rhetoric-triangle > em { z-index: 1; grid-column: 1 / -1; color: #6a5e50; text-align: center; }
.ideas-program-prism { grid-template-columns: repeat(3,minmax(0,1fr)); }.ideas-program-prism article:nth-child(1) { border-top: .35rem solid #8c4a3f; }.ideas-program-prism article:nth-child(2) { border-top: .35rem solid #5a4d64; }.ideas-program-prism article:nth-child(3) { border-top: .35rem solid #49706d; }.ideas-program-prism > strong { grid-column: 1 / -1; padding: .7rem; clip-path: polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%); color: #fff; background: linear-gradient(90deg,#8c4a3f,#5a4d64,#49706d); text-align: center; }

/* Renaissance : folio, atelier typographique, réseaux et critique des sources. */
[data-renaissance-period], [data-renaissance-print], [data-renaissance-antique], [data-renaissance-language], [data-renaissance-religion], [data-renaissance-encounter], [data-renaissance-laboetie], [data-renaissance-method] { border-color: #9d8055; background: linear-gradient(145deg,#fffdf5,#f2ead8); box-shadow: inset .35rem 0 #7b3f35; }
.renaissance-overlap-map, .renaissance-print-workbench, .renaissance-distance-lab, .renaissance-project-table, .renaissance-conflict-map, .renaissance-gaze-audit, .renaissance-liberty-chain, .renaissance-passport { display: grid; gap: .65rem; align-items: center; }
.renaissance-overlap-map { position: relative; min-height: 17rem; grid-template-columns: repeat(12,1fr); grid-template-rows: repeat(4,2.8rem) auto; padding: 1rem; border: 1px solid #b99b70; border-radius: .75rem; background: repeating-linear-gradient(90deg,transparent 0 calc(8.333% - 1px),rgb(96 73 50 / .11) calc(8.333% - 1px) 8.333%),#fffdf7; }.renaissance-overlap-map > span { display: grid; min-height: 2.4rem; place-items: center; padding: .35rem .6rem; border-radius: 999px; color: #fff; text-align: center; font-weight: 800; }.renaissance-overlap-map .is-long { grid-column: 1 / 10; background: #6f6555; }.renaissance-overlap-map .is-early { grid-column: 2 / 7; background: #7e6045; }.renaissance-overlap-map .is-core { grid-column: 4 / 11; background: #7b3f35; }.renaissance-overlap-map .is-late { grid-column: 6 / 13; background: #456b61; }.renaissance-overlap-map > strong { grid-column: 1 / -1; padding: .65rem; color: #5b4130; text-align: center; }
.renaissance-print-workbench { grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; }.renaissance-print-workbench article { display: grid; min-height: 7.5rem; place-content: center; padding: .7rem; border: 1px solid #a78659; border-radius: .25rem; color: #493c31; background: #fffdf7; text-align: center; box-shadow: .3rem .35rem 0 #dfceb0; }.renaissance-print-workbench article b { color: #7b3f35; font-family: var(--serif); }.renaissance-print-workbench article.is-sheet { border: .35rem double #7b3f35; }.renaissance-print-workbench > i { color: #7b3f35; font-style: normal; font-size: 1.3rem; font-weight: 950; }
.renaissance-distance-lab { grid-template-columns: 1fr 1.2fr 1fr; }.renaissance-distance-lab article { display: grid; min-height: 8rem; place-content: center; padding: .75rem; border: 1px solid #a78659; color: #493c31; background: #fffdf7; text-align: center; }.renaissance-distance-lab article:first-child { border-radius: .4rem 0 0 1.3rem; }.renaissance-distance-lab article:nth-child(3) { border-radius: 0 1.3rem .4rem 0; }.renaissance-distance-lab div { display: grid; grid-template-columns: repeat(4,1fr); gap: .25rem; }.renaissance-distance-lab div i { height: .8rem; background: #c7ad80; transform: skewY(-16deg); }.renaissance-distance-lab div i:nth-child(2), .renaissance-distance-lab div i:nth-child(4) { background: #7b3f35; transform: skewY(16deg); }.renaissance-distance-lab > strong { grid-column: 1 / -1; padding: .6rem; border-radius: 999px; color: #fff; background: #456b61; text-align: center; }
.renaissance-project-table { grid-template-columns: repeat(4,minmax(0,1fr)); }.renaissance-project-table article { display: grid; min-height: 7rem; place-content: center; padding: .65rem; border-top: .35rem solid #7b3f35; color: #493c31; background: #fffdf7; text-align: center; }.renaissance-project-table article:nth-child(even) { border-color: #456b61; }.renaissance-project-table article b { color: #7b3f35; font-family: var(--serif); }.renaissance-project-table > strong { grid-column: 1 / -1; padding: .65rem; border: 1px dashed #8d6d49; color: #5b4130; text-align: center; }
.renaissance-conflict-map, .renaissance-gaze-audit { grid-template-columns: repeat(9,auto); justify-content: center; }.renaissance-conflict-map > span, .renaissance-conflict-map > strong, .renaissance-gaze-audit > span, .renaissance-gaze-audit > strong { display: grid; min-height: 6.2rem; place-items: center; padding: .65rem; border: 1px solid #a78659; border-radius: .65rem; color: #493c31; background: #fffdf7; text-align: center; }.renaissance-conflict-map > strong, .renaissance-gaze-audit > strong { color: #fff; background: #7b3f35; }.renaissance-conflict-map > i, .renaissance-gaze-audit > i { color: #456b61; font-style: normal; font-weight: 950; }.renaissance-conflict-map > em, .renaissance-gaze-audit > em { grid-column: 1 / -1; color: #5f5245; text-align: center; }
.renaissance-liberty-chain { grid-template-columns: 1fr auto 1fr auto 1fr; }.renaissance-liberty-chain article, .renaissance-liberty-chain > strong { display: grid; min-height: 8rem; place-content: center; padding: .8rem; border: 1px solid #a78659; border-radius: 50% 50% .65rem .65rem; color: #493c31; background: #fffdf7; text-align: center; }.renaissance-liberty-chain article b { color: #7b3f35; font-family: var(--serif); }.renaissance-liberty-chain > strong { color: #fff; background: #456b61; }.renaissance-liberty-chain > i { color: #7b3f35; font-style: normal; font-size: 1.35rem; font-weight: 950; }.renaissance-liberty-chain > em { grid-column: 1 / -1; color: #5f5245; text-align: center; }
.renaissance-passport { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 1rem; border: .35rem double #9d8055; background: #fffdf7; }.renaissance-passport > span, .renaissance-passport > strong { display: grid; min-height: 5.5rem; place-items: center; padding: .6rem; border-bottom: 1px solid #c6ad87; color: #493c31; text-align: center; }.renaissance-passport > strong { color: #fff; background: #7b3f35; }.renaissance-passport > em { grid-column: 1 / -1; color: #5f5245; text-align: center; }

/* XVIIe siècle : cabinet expérimental, papiers, scène et ciel dialogué. */
[data-seventeenth-century], [data-seventeenth-science], [data-seventeenth-fragments], [data-seventeenth-pascal], [data-seventeenth-politics], [data-seventeenth-moralists], [data-seventeenth-moliere], [data-seventeenth-fontenelle] { border-color: #6f859a; background: linear-gradient(145deg,#f8fbff,#e9edf3); box-shadow: inset .35rem 0 #9b633d; }
.seventeenth-constellation, .seventeenth-mercury-lab, .seventeenth-fragment-table, .seventeenth-apology-route, .seventeenth-politics-ledger, .seventeenth-moral-lenses, .seventeenth-stage, .seventeenth-night-dialogue { display: grid; gap: .65rem; align-items: center; }
.seventeenth-constellation { grid-template-columns: repeat(5,minmax(0,1fr)); padding: 1rem; border-radius: 1rem; background: radial-gradient(circle at center,#294966 0 15%,#172e46 16% 100%); }.seventeenth-constellation article, .seventeenth-constellation > strong { display: grid; min-height: 7rem; place-content: center; padding: .7rem; border: 1px solid #93adbd; border-radius: 50%; color: #253e53; background: #f8fbff; text-align: center; }.seventeenth-constellation article b { color: #9b633d; font-family: var(--serif); }.seventeenth-constellation > strong { color: #fff; background: #9b633d; }.seventeenth-constellation > em { grid-column: 1 / -1; color: #dce8ef; text-align: center; }
.seventeenth-mercury-lab { grid-template-columns: .65fr 1fr 1.5fr; min-height: 15rem; padding: 1rem; border: 1px solid #7892a6; border-radius: .8rem; background: linear-gradient(180deg,#dce9f1,#f8fbff); }.mercury-tube { position: relative; width: 4.5rem; height: 12rem; justify-self: center; border: .45rem solid #526d82; border-top: 0; border-radius: 0 0 2rem 2rem; background: #fff; }.mercury-tube i { position: absolute; inset: 35% .55rem .45rem; border-radius: .4rem 0 1.2rem 1.2rem; background: linear-gradient(90deg,#83929d,#cbd2d7,#6c7a84); }.mercury-tube span { position: absolute; top: 48%; left: 115%; color: #4a6072; }.altitude-scale { display: grid; gap: .3rem; text-align: center; }.altitude-scale span { padding: .4rem; border-bottom: 1px solid #7892a6; color: #354f63; }.altitude-scale b { color: #9b633d; }.seventeenth-mercury-lab article { display: grid; gap: .4rem; padding: .85rem; border: 1px solid #7892a6; border-radius: .7rem; color: #354f63; background: #fff; text-align: center; }.seventeenth-mercury-lab article strong { padding: .5rem; color: #fff; background: #9b633d; }.seventeenth-mercury-lab > em { grid-column: 1 / -1; color: #4a6072; text-align: center; }
.seventeenth-fragment-table { position: relative; min-height: 17rem; grid-template-columns: repeat(4,1fr); padding: 1rem; border: .55rem solid #684833; border-radius: .3rem; background: repeating-linear-gradient(90deg,#8b633f 0 1px,transparent 1px 25%),linear-gradient(#c99e6b,#b47f4e); }.seventeenth-fragment-table > span { display: grid; min-height: 7rem; place-items: center; padding: .6rem; color: #3f352c; background: #fffbe9; box-shadow: .25rem .35rem .4rem rgb(43 31 24 / .25); transform: rotate(var(--turn)); text-align: center; font-family: var(--serif); }.seventeenth-fragment-table > strong { grid-column: 2 / 4; padding: .65rem; border-radius: 999px; color: #fff; background: #27465f; text-align: center; }.seventeenth-fragment-table > em { grid-column: 1 / -1; padding: .5rem; color: #fff; background: rgb(65 42 28 / .72); text-align: center; }
.seventeenth-apology-route { grid-template-columns: repeat(9,auto); justify-content: center; }.seventeenth-apology-route > span, .seventeenth-apology-route > strong { display: grid; min-height: 6.5rem; place-items: center; padding: .65rem; border: 1px solid #7892a6; border-radius: .7rem; color: #354f63; background: #f8fbff; text-align: center; }.seventeenth-apology-route > strong { color: #fff; background: #27465f; }.seventeenth-apology-route > i { color: #9b633d; font-style: normal; font-weight: 950; }.seventeenth-apology-route > em { grid-column: 1 / -1; color: #4a6072; text-align: center; }
.seventeenth-politics-ledger { grid-template-columns: 1fr .55fr 1fr; }.seventeenth-politics-ledger article { display: grid; gap: .6rem; min-height: 13rem; align-content: center; padding: 1rem; border: 1px solid #7892a6; border-radius: .8rem; color: #354f63; background: #f8fbff; text-align: center; }.seventeenth-politics-ledger article h4 { margin: 0; color: #9b633d; font-family: var(--serif); font-size: 1.25rem; }.seventeenth-politics-ledger article b { padding: .5rem; color: #fff; background: #27465f; }.seventeenth-politics-ledger > strong { display: grid; min-height: 8rem; place-items: center; border-radius: 50%; color: #fff; background: #9b633d; text-align: center; }.seventeenth-politics-ledger > p { grid-column: 1 / -1; margin: 0; color: #4a6072; text-align: center; }
.seventeenth-moral-lenses { grid-template-columns: repeat(4,minmax(0,1fr)); }.seventeenth-moral-lenses article { display: grid; min-height: 8rem; place-content: center; padding: .7rem; border: .25rem double #7892a6; border-radius: 50% 50% .6rem .6rem; color: #354f63; background: #f8fbff; text-align: center; }.seventeenth-moral-lenses article b { color: #9b633d; font-family: var(--serif); }.seventeenth-moral-lenses > strong { grid-column: 1 / -1; padding: .65rem; color: #fff; background: linear-gradient(90deg,#27465f,#9b633d); text-align: center; }
.seventeenth-stage { position: relative; min-height: 18rem; grid-template-columns: .5fr 2fr .5fr; padding: 1rem; overflow: hidden; border-radius: .8rem; background: linear-gradient(180deg,#182d40 0 72%,#8b6749 73% 100%); }.stage-curtain { align-self: stretch; background: repeating-linear-gradient(90deg,#6f2430,#9e3b44 35%,#5d1c29 70%); }.stage-curtain.is-left { border-radius: 0 0 100% 0; }.stage-curtain.is-right { border-radius: 0 0 0 100%; }.seventeenth-stage article { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: .5rem; align-items: center; }.seventeenth-stage article > span, .seventeenth-stage article > strong { display: grid; min-height: 6rem; place-items: center; padding: .55rem; border-radius: 50%; color: #2f4558; background: #f8fbff; text-align: center; }.seventeenth-stage article > strong { color: #fff; background: #9b633d; }.seventeenth-stage > p { grid-column: 1 / -1; margin: 0; color: #fff; text-align: center; }.seventeenth-stage > p i { padding-inline: .5rem; font-style: normal; }.seventeenth-stage > em { grid-column: 1 / -1; color: #f0dfc8; text-align: center; }
.seventeenth-night-dialogue { position: relative; min-height: 18rem; grid-template-rows: 1.3fr 1fr auto; padding: 1rem; overflow: hidden; border-radius: 1rem; background: radial-gradient(circle at 75% 15%,#f1dc9a 0 2.5rem,transparent 2.6rem),linear-gradient(180deg,#102a48,#234d68 65%,#315e51); }.night-sky { position: relative; min-height: 7rem; }.night-sky i { position: absolute; width: .45rem; height: .45rem; border-radius: 50%; background: #fff3bf; box-shadow: 0 0 .6rem #fff; }.night-sky i:nth-child(1){left:8%;top:20%}.night-sky i:nth-child(2){left:25%;top:55%}.night-sky i:nth-child(3){left:48%;top:18%}.night-sky i:nth-child(4){left:67%;top:48%}.night-sky i:nth-child(5){left:90%;top:22%}.night-sky b { position: absolute; left: 50%; top: 38%; color: #fff; transform: translateX(-50%); }.seventeenth-night-dialogue article { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: .6rem; align-items: center; }.seventeenth-night-dialogue article > span, .seventeenth-night-dialogue article > strong { display: grid; min-height: 5rem; place-items: center; padding: .6rem; border-radius: 999px; color: #2f4558; background: #f8fbff; text-align: center; }.seventeenth-night-dialogue article > strong { color: #fff; background: #9b633d; }.seventeenth-night-dialogue > em { color: #e8f1f3; text-align: center; }

/* XVIIIe siècle : réseau des Lumières, imprimerie, cabinet et correspondance. */
[data-eighteenth-lights], [data-eighteenth-circulation], [data-eighteenth-encyclopedia], [data-eighteenth-montesquieu], [data-eighteenth-voltaire], [data-eighteenth-rousseau], [data-eighteenth-graffigny], [data-eighteenth-method] { border-color: #b7984f; background: linear-gradient(145deg,#fffdf3,#f4ead0); box-shadow: inset .35rem 0 #2e6570; }
.eighteenth-lights-map, .eighteenth-print-route, .eighteenth-cabinet, .eighteenth-powers-mirror, .eighteenth-voltaire-desk, .eighteenth-rousseau-balance, .eighteenth-quipu-letters, .eighteenth-analysis-press { display: grid; gap: .65rem; align-items: center; }
.eighteenth-lights-map { grid-template-columns: repeat(5,minmax(0,1fr)); padding: 1rem; border-radius: 1rem; background: radial-gradient(circle at center,#e8c75f 0 9%,#72592d 10% 11%,#203f4a 12% 100%); }.eighteenth-lights-map article, .eighteenth-lights-map > strong { display: grid; min-height: 7rem; place-content: center; padding: .7rem; border: 1px solid #d7c27d; border-radius: 50% 50% .8rem .8rem; color: #26444d; background: #fffdf3; text-align: center; }.eighteenth-lights-map article b { color: #8a592e; font-family: var(--serif); }.eighteenth-lights-map > strong { color: #fff; background: #a56f2f; box-shadow: 0 0 2rem #f1d66e; }.eighteenth-lights-map > em { grid-column: 1 / -1; color: #f6eccb; text-align: center; }
.eighteenth-print-route { grid-template-columns: repeat(9,auto); justify-content: center; padding: 1rem; border: .3rem double #9b7b3a; background: repeating-linear-gradient(0deg,#fffaf0 0 1.7rem,#eee2c8 1.75rem); }.eighteenth-print-route > span, .eighteenth-print-route > strong { display: grid; min-height: 6.5rem; place-items: center; padding: .65rem; border: 1px solid #aa8a49; border-radius: .25rem; color: #493b2d; background: #fffdf6; text-align: center; box-shadow: .25rem .3rem 0 #d7c396; }.eighteenth-print-route > strong { color: #fff; background: #9a4938; }.eighteenth-print-route > i { color: #2e6570; font-style: normal; font-weight: 950; }.eighteenth-print-route > em { grid-column: 1 / -1; color: #695638; text-align: center; }
.eighteenth-cabinet { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 1rem; border-radius: .8rem; background: linear-gradient(90deg,#6c482c,#9b7449 3%,#ebdab5 3.2% 96.8%,#9b7449 97%,#6c482c); }.eighteenth-cabinet article { display: grid; gap: .35rem; min-height: 11rem; place-content: center; padding: .8rem; border: .28rem double #8a632f; color: #493b2d; background: #fffdf3; text-align: center; }.eighteenth-cabinet article b { color: #8f4c32; font-family: var(--serif); }.eighteenth-cabinet article small { color: #2e6570; }.eighteenth-cabinet .is-plate { grid-template-columns: repeat(3,1fr); }.eighteenth-cabinet .is-plate b, .eighteenth-cabinet .is-plate span { grid-column: 1 / -1; }.eighteenth-cabinet .is-plate i { min-height: 3rem; border: 1px solid #927343; background: repeating-linear-gradient(45deg,#d3bd8d 0 .2rem,#fff9e8 .2rem .45rem); }.eighteenth-cabinet > strong { grid-column: 1 / -1; padding: .65rem; color: #fff; background: #2e6570; text-align: center; }
.eighteenth-powers-mirror { grid-template-columns: 1fr .7fr 1fr; }.eighteenth-powers-mirror article { display: grid; gap: .4rem; min-height: 10rem; place-content: center; padding: .8rem; border: 1px solid #b18d4d; border-radius: 2rem .5rem; color: #493b2d; background: #fffdf3; text-align: center; }.eighteenth-powers-mirror article b { color: #8f4c32; font-family: var(--serif); }.eighteenth-powers-mirror article em { color: #2e6570; }.mirror-pane { display: grid; min-height: 13rem; place-content: center; border: .55rem double #9b7b3a; border-radius: 50% 50% .5rem .5rem; color: #fff; background: linear-gradient(135deg,#466f78,#dce8e5,#7ca0a1); text-align: center; font-weight: 900; }.eighteenth-powers-mirror > strong { grid-column: 1 / -1; padding: .65rem; color: #fff; background: linear-gradient(90deg,#8f4c32,#2e6570); text-align: center; }
.eighteenth-voltaire-desk { grid-template-columns: repeat(5,minmax(0,1fr)); padding: 1rem; border-radius: .8rem; background: #4b3328; }.eighteenth-voltaire-desk > span, .eighteenth-voltaire-desk > strong { display: grid; min-height: 7rem; place-items: center; padding: .65rem; border-radius: .35rem; color: #493b2d; background: #fff9e9; text-align: center; transform: rotate(-1.5deg); box-shadow: .25rem .35rem 0 rgb(20 12 8 / .3); }.eighteenth-voltaire-desk > span:nth-child(even) { transform: rotate(1.5deg); }.eighteenth-voltaire-desk > strong { color: #fff; background: #9a4938; transform: none; }.eighteenth-voltaire-desk .is-mask { border-radius: 50% 50% .35rem .35rem; }.eighteenth-voltaire-desk .is-case { border-bottom: .35rem solid #2e6570; }.eighteenth-voltaire-desk > em { grid-column: 1 / -1; color: #f5e7c9; text-align: center; }
.eighteenth-rousseau-balance { grid-template-columns: 1fr .9fr 1fr; min-height: 15rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(180deg,#dce8de,#f8f3de); }.eighteenth-rousseau-balance article { display: grid; min-height: 8rem; place-content: center; padding: .75rem; border: 1px solid #6d8d79; border-radius: 0 0 45% 45%; color: #35483d; background: #fffdf3; text-align: center; }.eighteenth-rousseau-balance article b { color: #8f4c32; font-family: var(--serif); }.eighteenth-rousseau-balance > div { display: grid; align-self: stretch; grid-template-rows: 1fr auto; place-items: center; }.eighteenth-rousseau-balance > div i { width: .25rem; height: 100%; background: #9b7b3a; }.eighteenth-rousseau-balance > div strong { padding: .65rem; border-radius: 50%; color: #fff; background: #2e6570; text-align: center; }.eighteenth-rousseau-balance > em { grid-column: 1 / -1; color: #536759; text-align: center; }
.eighteenth-quipu-letters { grid-template-columns: .65fr 1.6fr .8fr; padding: 1rem; border-radius: 1rem; background: linear-gradient(120deg,#9d5f39,#d7ab6d 35%,#f5e9cf 35% 70%,#8ca5a2 70%); }.quipu { display: flex; min-height: 13rem; align-items: flex-start; justify-content: space-around; border-top: .55rem solid #6f3929; }.quipu i { width: .25rem; height: var(--len,8rem); background: repeating-linear-gradient(180deg,#f0d35c 0 .65rem,#a93f32 .65rem 1rem); }.quipu i:nth-child(2){--len:11rem}.quipu i:nth-child(3){--len:7rem}.quipu i:nth-child(4){--len:12rem}.quipu i:nth-child(5){--len:9rem}.eighteenth-quipu-letters article { display: grid; gap: .45rem; padding: .9rem; border: .3rem double #9b7b3a; color: #493b2d; background: #fffdf3; text-align: center; }.eighteenth-quipu-letters article b { color: #8f4c32; font-family: var(--serif); }.eighteenth-quipu-letters article strong { padding: .55rem; color: #fff; background: #2e6570; }.salon-window { display: grid; min-height: 12rem; place-content: center; border: .5rem double #f5e4be; border-radius: 50% 50% 0 0; color: #fff; background: linear-gradient(180deg,#527d82,#b6d0cd); text-align: center; font-weight: 900; }.eighteenth-quipu-letters > em { grid-column: 1 / -1; padding: .45rem; color: #fff; background: rgb(63 45 33 / .7); text-align: center; }
.eighteenth-analysis-press { grid-template-columns: repeat(10,auto); justify-content: center; padding: 1rem; border: .35rem solid #5e4331; background: #e4cf9f; }.eighteenth-analysis-press > span, .eighteenth-analysis-press > strong { display: grid; min-height: 5.8rem; place-items: center; padding: .6rem; border: 1px solid #8f703b; color: #493b2d; background: #fffdf3; text-align: center; }.eighteenth-analysis-press > strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #2e6570; }.eighteenth-analysis-press > i { color: #9a4938; font-style: normal; font-weight: 950; }.eighteenth-analysis-press > em { grid-column: 1 / -1; color: #5d4932; text-align: center; }

/* Argumentation directe : encre, architecture de thèse, preuve et tribune. */
[data-direct-responsibility], [data-direct-situation], [data-direct-architecture], [data-direct-reasoning], [data-direct-evidence], [data-direct-address], [data-direct-genres], [data-direct-laboetie] { border-color: #886b79; background: linear-gradient(145deg,#fffafb,#eee7eb); box-shadow: inset .35rem 0 #b14f3c; }
.direct-voice-gauge, .direct-situation-map, .direct-thesis-building, .direct-proof-bridge, .direct-evidence-bench, .direct-address-rostrum, .direct-genre-passports, .direct-laboetie-tribune { display: grid; gap: .65rem; align-items: center; }
.direct-voice-gauge, .direct-situation-map, .direct-laboetie-tribune { grid-template-columns: repeat(9,auto); justify-content: center; padding: 1rem; border: 1px solid #a88896; border-radius: .8rem; background: #fffaf7; }.direct-voice-gauge > span, .direct-voice-gauge > strong, .direct-situation-map > span, .direct-situation-map > strong, .direct-laboetie-tribune > span, .direct-laboetie-tribune > strong { display: grid; min-height: 6.3rem; place-items: center; padding: .65rem; border: 1px solid #9a7b88; border-radius: .5rem; color: #4b3b43; background: #fff; text-align: center; }.direct-voice-gauge > strong, .direct-situation-map > strong, .direct-laboetie-tribune > strong { color: #fff; background: #6a4254; }.direct-voice-gauge > i, .direct-situation-map > i, .direct-laboetie-tribune > i { color: #b14f3c; font-style: normal; font-weight: 950; }.direct-voice-gauge > em, .direct-situation-map > em, .direct-laboetie-tribune > em { grid-column: 1 / -1; color: #68505c; text-align: center; }
.direct-thesis-building { grid-template-columns: repeat(4,minmax(0,1fr)); padding: 1rem; border-radius: .8rem; background: linear-gradient(180deg,#e9dce1,#c4abb6); }.direct-thesis-building > strong { grid-column: 1 / -1; padding: .7rem; border-radius: .25rem .25rem 1rem 1rem; color: #fff; background: #6a4254; text-align: center; }.direct-thesis-building article { display: grid; min-height: 7rem; place-content: center; padding: .7rem; border: 1px solid #967383; color: #4b3b43; background: #fffaf7; text-align: center; box-shadow: inset 0 -.35rem #b14f3c; }.direct-thesis-building article b { color: #6a4254; font-family: var(--serif); }.direct-thesis-building article:nth-of-type(2) { box-shadow: inset 0 -.35rem #a98738; }.direct-thesis-building article:nth-of-type(3) { box-shadow: inset 0 -.35rem #3b7080; }.direct-thesis-building > em { grid-column: 1 / -1; color: #57434d; text-align: center; }
.direct-proof-bridge { grid-template-columns: 1fr 1fr 1.5fr 1fr; padding: 1rem; border-radius: 1rem; background: linear-gradient(180deg,#dfe8ea 0 55%,#7d6a60 56% 100%); }.direct-proof-bridge > span, .direct-proof-bridge > strong { display: grid; min-height: 7rem; place-items: center; padding: .65rem; border-radius: .7rem; color: #4b3b43; background: #fffaf7; text-align: center; }.direct-proof-bridge > strong { color: #fff; background: #6a4254; }.direct-proof-bridge > div { display: grid; min-height: 10rem; grid-template-rows: auto 1fr; padding: .7rem; border-radius: 4rem 4rem 0 0; color: #fff; background: #3b7080; text-align: center; }.direct-proof-bridge > div b { align-self: center; }.direct-proof-bridge > div i { border: .35rem solid #fffaf7; border-top: 0; }.direct-proof-bridge > em { grid-column: 1 / -1; padding: .45rem; color: #fff; background: rgb(72 46 56 / .75); text-align: center; }
.direct-evidence-bench { grid-template-columns: repeat(5,minmax(0,1fr)); padding: 1rem; border: .3rem double #8e6b7b; background: #fffaf7; }.direct-evidence-bench article { display: grid; min-height: 8rem; place-content: center; padding: .65rem; border: 1px solid #a88896; border-radius: 50% 50% .45rem .45rem; color: #4b3b43; background: #fff; text-align: center; }.direct-evidence-bench article b { color: #b14f3c; font-family: var(--serif); }.direct-evidence-bench > strong { grid-column: 1 / -1; padding: .65rem; color: #fff; background: linear-gradient(90deg,#6a4254,#3b7080); text-align: center; }
.direct-address-rostrum { grid-template-columns: repeat(3,1fr); min-height: 17rem; padding: 1rem; border-radius: 1rem; background: radial-gradient(circle at 50% 30%,#f3d7a1 0 12%,transparent 13%),linear-gradient(180deg,#263d4d 0 67%,#795c4e 68% 100%); }.direct-address-rostrum > span { display: grid; min-height: 7rem; place-content: center; padding: .7rem; border: 1px solid #d8b789; border-radius: 50%; color: #4b3b43; background: #fffaf7; text-align: center; }.direct-address-rostrum > span b { color: #b14f3c; font-family: var(--serif); }.direct-address-rostrum > strong { grid-column: 1 / -1; justify-self: center; padding: .8rem 1.4rem; border-radius: .5rem .5rem 0 0; color: #fff; background: #6a4254; text-align: center; }.direct-address-rostrum > em { grid-column: 1 / -1; color: #f5e4cb; text-align: center; }
.direct-genre-passports { grid-template-columns: repeat(4,minmax(0,1fr)); padding: 1rem; border-radius: .8rem; background: #e9dce1; }.direct-genre-passports article { display: grid; min-height: 8rem; place-content: center; padding: .7rem; border: .25rem double #8e6b7b; color: #4b3b43; background: #fffaf7; text-align: center; }.direct-genre-passports article b { color: #6a4254; font-family: var(--serif); }.direct-genre-passports article:nth-child(even) { border-color: #3b7080; }.direct-genre-passports > strong { grid-column: 1 / -1; padding: .65rem; color: #fff; background: #b14f3c; text-align: center; }
.direct-laboetie-tribune { grid-template-columns: repeat(9,auto); background: linear-gradient(180deg,#fffaf7,#e6d3c4); }.direct-laboetie-tribune > span small, .direct-laboetie-tribune > strong small { display: block; color: #876977; }.direct-laboetie-tribune > strong small { color: #f3d7c7; }
[data-dialogue-device], [data-dialogue-moves], [data-dialogue-uptake], [data-dialogue-power], [data-dialogue-trajectories], [data-dialogue-audiences], [data-dialogue-forms], [data-dialogue-fontenelle] { border-color: #647889; background: linear-gradient(145deg,#fbfdff,#e7edf2); box-shadow: inset .35rem 0 #d17a3a; }
.dialogue-levels-stage, .dialogue-turn-tags, .dialogue-uptake-relay, .dialogue-power-table, .dialogue-position-tracks, .dialogue-audience-prism, .dialogue-form-passports, .dialogue-fontenelle-salon { display: grid; gap: .7rem; align-items: center; padding: 1rem; border-radius: 1rem; color: #263b4a; }
.dialogue-levels-stage { grid-template-columns: minmax(7rem,.7fr) minmax(18rem,2fr) minmax(8rem,.8fr); background: linear-gradient(180deg,#dbe7ef,#96aebd); }.dialogue-levels-stage > strong { display: grid; min-height: 7rem; place-items: center; padding: .7rem; border: .2rem double #607887; border-radius: 50%; background: #fffaf1; text-align: center; }.dialogue-levels-stage > div { display: grid; gap: .55rem; padding: .8rem; border: 1px solid #607887; border-radius: .8rem; background: #f8fbfd; text-align: center; }.dialogue-levels-stage > div section { display: grid; grid-template-columns: 1fr auto 1fr; gap: .45rem; align-items: center; }.dialogue-levels-stage > div span { padding: .75rem; border-radius: .55rem; color: #fff; background: #365e73; }.dialogue-levels-stage > div i { color: #d17a3a; font-style: normal; font-weight: 950; }.dialogue-levels-stage > div em { color: #607887; }
.dialogue-turn-tags { grid-template-columns: repeat(5,minmax(0,1fr)); background: repeating-linear-gradient(0deg,#f8fbfd 0 2.15rem,#dbe7ef 2.2rem 2.25rem); }.dialogue-turn-tags span { position: relative; min-height: 7.5rem; padding: 1rem .65rem 2.2rem; border: 1px solid #8ea3b0; border-radius: 1rem 1rem 1rem .2rem; background: #fff; text-align: center; }.dialogue-turn-tags span::after { position: absolute; bottom: -.65rem; left: .75rem; width: 1rem; height: 1rem; border-left: 1px solid #8ea3b0; background: #fff; content: ""; transform: skewY(-45deg); }.dialogue-turn-tags b { position: absolute; right: .35rem; bottom: .35rem; left: .35rem; padding: .3rem; border-radius: .3rem; color: #fff; background: #365e73; font-family: var(--sans); font-size: .78rem; }
.dialogue-uptake-relay { grid-template-columns: 1fr auto 1fr; background: linear-gradient(90deg,#edf4f7 0 49%,#b9cbd5 49% 51%,#edf4f7 51%); }.dialogue-uptake-relay article { display: grid; min-height: 9rem; place-content: center; padding: .8rem; border: 1px solid #6e8999; border-radius: 1.3rem; background: #fff; text-align: center; }.dialogue-uptake-relay article b { color: #d17a3a; }.dialogue-uptake-relay > i { padding: .5rem; border-radius: 50%; color: #fff; background: #365e73; font-style: normal; font-weight: 900; }.dialogue-uptake-relay > strong { grid-column: 1 / -1; padding: .55rem; color: #fff; background: #8f4e38; text-align: center; }
.dialogue-power-table { grid-template-columns: 1.15fr repeat(5,1fr); background: #263b4a; }.dialogue-power-table > strong, .dialogue-power-table > span { display: grid; min-height: 7.5rem; place-content: center; padding: .6rem; border: 1px solid #8ea3b0; border-radius: .45rem; background: #f8fbfd; text-align: center; }.dialogue-power-table > strong { color: #fff; background: #d17a3a; }.dialogue-power-table > span b { color: #365e73; font-family: var(--serif); }.dialogue-power-table > em { grid-column: 1 / -1; color: #dce8ee; text-align: center; }
.dialogue-position-tracks { grid-template-columns: auto repeat(5,1fr) auto; min-height: 12rem; background: linear-gradient(180deg,#f8fbfd 0 48%,#7893a2 49% 52%,#f8fbfd 53%); }.dialogue-position-tracks > span, .dialogue-position-tracks > strong { padding: .65rem; border-radius: .65rem; color: #fff; background: #263b4a; text-align: center; }.dialogue-position-tracks > i { display: grid; min-height: 5.5rem; place-items: center; padding: .5rem; border-radius: 50% 50% .5rem .5rem; background: #fff; font-style: normal; font-weight: 800; text-align: center; box-shadow: 0 .25rem .65rem rgb(31 58 74 / .18); }.dialogue-position-tracks .is-stable { border-bottom: .45rem solid #547761; }.dialogue-position-tracks .is-nuanced { border-bottom: .45rem solid #a88535; }.dialogue-position-tracks .is-reversed { border-bottom: .45rem solid #9b5248; }.dialogue-position-tracks .is-displaced { border-bottom: .45rem solid #5e7498; }.dialogue-position-tracks .is-open { border-bottom: .45rem dotted #6f6185; }.dialogue-position-tracks small { color: #dce8ee; }
.dialogue-audience-prism { grid-template-columns: .8fr repeat(3,1fr); min-height: 15rem; background: conic-gradient(from 225deg at 18% 50%,#f5c278,#f8fbfd,#a9c3d2,#f8fbfd,#f5c278); }.dialogue-audience-prism > strong { padding: 1rem; border-radius: 50%; color: #fff; background: #8f4e38; text-align: center; }.dialogue-audience-prism > span { display: grid; min-height: 8rem; place-content: center; padding: .7rem; border: 1px solid #6e8999; border-radius: 50%; background: rgb(255 255 255 / .9); text-align: center; }.dialogue-audience-prism small { color: #607887; }.dialogue-audience-prism > em { grid-column: 1 / -1; padding: .45rem; color: #fff; background: rgb(38 59 74 / .82); text-align: center; }
.dialogue-form-passports { grid-template-columns: repeat(4,minmax(0,1fr)); background: #dbe7ef; }.dialogue-form-passports article { display: grid; min-height: 8rem; place-content: center; padding: .75rem; border: .22rem double #607887; border-radius: .45rem; background: #fffaf1; text-align: center; }.dialogue-form-passports article b { color: #8f4e38; font-family: var(--serif); }.dialogue-form-passports article:nth-child(even) { border-color: #d17a3a; }.dialogue-form-passports > strong { grid-column: 1 / -1; padding: .65rem; color: #fff; background: #365e73; text-align: center; }
.dialogue-fontenelle-salon { position: relative; grid-template-columns: 1fr auto 1fr; min-height: 18rem; overflow: hidden; background: radial-gradient(circle at 72% 18%,#f6e9bb 0 5%,transparent 5.5%),linear-gradient(180deg,#102a43 0 68%,#546b5b 69% 100%); }.dialogue-fontenelle-salon .stars { position: absolute; top: 1rem; right: 10%; left: 10%; color: #f6e9bb; font-size: 1.6rem; letter-spacing: 2rem; text-align: center; }.dialogue-fontenelle-salon > span { z-index: 1; display: grid; min-height: 8rem; place-content: center; padding: .75rem; border: 1px solid #f0dba0; border-radius: 50%; color: #263b4a; background: #fffaf1; text-align: center; }.dialogue-fontenelle-salon > span small { color: #607887; }.dialogue-fontenelle-salon > i { z-index: 1; color: #f6e9bb; font-size: 2rem; font-style: normal; }.dialogue-fontenelle-salon > strong { z-index: 1; grid-column: 1 / -1; justify-self: center; padding: .65rem 1.2rem; color: #fff; background: #8f4e38; }.dialogue-fontenelle-salon > em { z-index: 1; grid-column: 1 / -1; color: #f6e9bb; text-align: center; }

[data-narrative-experiment], [data-narrative-causality], [data-narrative-information], [data-narrative-character], [data-narrative-allegory], [data-narrative-fable], [data-narrative-worlds], [data-narrative-candide] { border-color:#7c7653; background:linear-gradient(145deg,#fffdf4,#eee9d5); box-shadow:inset .35rem 0 #a95342; }
.narrative-lab-bench,.narrative-causal-track,.narrative-camera-map,.narrative-character-file,.narrative-allegory-bridge,.narrative-fable-scale,.narrative-world-model,.narrative-candide-route { display:grid; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#3f3b29; }
.narrative-lab-bench,.narrative-causal-track,.narrative-candide-route { grid-template-columns:repeat(9,auto); justify-content:center; background:linear-gradient(180deg,#fffdf4,#d8cfaa); }.narrative-lab-bench span,.narrative-lab-bench strong,.narrative-causal-track span,.narrative-causal-track strong,.narrative-candide-route span,.narrative-candide-route strong { padding:.75rem; border:1px solid #8d8560; border-radius:.6rem; background:#fff; text-align:center; }.narrative-lab-bench strong,.narrative-causal-track strong,.narrative-candide-route strong { color:#fff; background:#5f6545; }.narrative-lab-bench i,.narrative-causal-track i,.narrative-candide-route i { color:#a95342; font-style:normal; font-weight:950; }.narrative-causal-track em { grid-column:1/-1; text-align:center; }
.narrative-camera-map,.narrative-character-file { grid-template-columns:repeat(5,1fr); background:#d9e0d2; }.narrative-camera-map span,.narrative-character-file span { display:grid; min-height:7rem; place-content:center; padding:.7rem; border:1px solid #788267; border-radius:50% 50% .55rem .55rem; background:#fffdf4; text-align:center; }.narrative-camera-map > strong,.narrative-character-file > strong { grid-column:1/-1; padding:.6rem; color:#fff; background:#5f6545; text-align:center; }.narrative-camera-map small { color:#7c7653; }
.narrative-allegory-bridge { grid-template-columns:1fr 1.2fr 1fr; background:linear-gradient(180deg,#d9e5e3 0 58%,#817563 59%); }.narrative-allegory-bridge > span { padding:1rem; border-radius:50%; background:#fffdf4; text-align:center; }.narrative-allegory-bridge > div { display:grid; min-height:8rem; place-content:center; border:.35rem solid #fffdf4; border-top:0; color:#fff; background:#557479; text-align:center; }.narrative-allegory-bridge > div i { font-style:normal; }.narrative-allegory-bridge > strong { grid-column:1/-1; color:#fff; text-align:center; }
.narrative-fable-scale { grid-template-columns:1fr auto 1fr; min-height:14rem; background:linear-gradient(90deg,#ebe2c5 0 49%,#7b6d52 49% 51%,#ebe2c5 51%); }.narrative-fable-scale > span { display:grid; min-height:8rem; place-content:center; padding:.8rem; border:.25rem double #7c7653; border-radius:1rem; background:#fff; text-align:center; }.narrative-fable-scale > i { font-size:2rem; font-style:normal; }.narrative-fable-scale > strong { grid-column:1/-1; padding:.6rem; color:#fff; background:#a95342; text-align:center; }
.narrative-world-model { grid-template-columns:repeat(4,1fr); background:linear-gradient(180deg,#45616b 0 28%,#c9d6cf 29%); }.narrative-world-model > strong,.narrative-world-model > em { grid-column:1/-1; padding:.65rem; color:#fff; text-align:center; }.narrative-world-model > span { min-height:7rem; padding:.8rem; border-radius:.4rem .4rem 1.4rem 1.4rem; background:#fffdf4; text-align:center; }.narrative-world-model > em { background:#5f6545; }
[data-story-history], [data-story-homer], [data-story-epic], [data-story-roland], [data-story-romanz], [data-story-arthurian], [data-story-manuscript], [data-story-renaissance] { border-color:#806e55; background:linear-gradient(145deg,#fffdf8,#efe4d4); box-shadow:inset .35rem 0 #9c4f3f; }
.story-layered-timeline,.story-homer-chain,.story-epic-arena,.story-roland-dossiers,.story-romanz-workbench,.story-arthurian-map,.story-manuscript-page,.story-renaissance-press { display:grid; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#3f342c; }
.story-layered-timeline { grid-template-columns:repeat(3,1fr); background:repeating-linear-gradient(180deg,#f8f0df 0 3.2rem,#d3b991 3.25rem 3.4rem); }.story-layered-timeline span,.story-layered-timeline i { padding:.7rem; border:1px solid #9a7e5b; border-radius:.5rem; background:#fff; text-align:center; }.story-layered-timeline i { color:#6d4b3c; font-style:normal; }.story-layered-timeline strong { grid-column:1/-1; padding:.6rem; color:#fff; background:#5d493b; text-align:center; }
.story-homer-chain,.story-romanz-workbench { grid-template-columns:repeat(7,auto); justify-content:center; background:linear-gradient(180deg,#d9e5e6,#b5cbc9); }.story-homer-chain span,.story-homer-chain strong,.story-romanz-workbench span,.story-romanz-workbench strong { padding:.8rem; border:1px solid #6f8584; border-radius:.65rem; background:#fffdf8; text-align:center; }.story-homer-chain strong,.story-romanz-workbench strong { color:#fff; background:#466765; }.story-homer-chain i,.story-romanz-workbench i { color:#9c4f3f; font-style:normal; font-weight:950; }.story-homer-chain small,.story-romanz-workbench small { color:#806e55; }
.story-epic-arena { grid-template-columns:repeat(5,1fr); min-height:15rem; background:radial-gradient(circle at 50% 50%,#d8bc77 0 14%,transparent 15%),linear-gradient(180deg,#384e58 0 68%,#8b7659 69%); }.story-epic-arena span,.story-epic-arena strong { display:grid; min-height:7rem; place-content:center; padding:.65rem; border:1px solid #d8bc77; border-radius:50%; background:#fffdf8; text-align:center; }.story-epic-arena strong { color:#fff; background:#8a493d; }.story-epic-arena em { grid-column:1/-1; color:#fff4d7; text-align:center; }
.story-roland-dossiers { grid-template-columns:repeat(3,1fr) 1.3fr; background:#d8c4aa; }.story-roland-dossiers article { display:grid; min-height:8rem; place-content:center; padding:.7rem; border:.2rem double #755d46; background:#fffdf8; text-align:center; }.story-roland-dossiers article b { color:#9c4f3f; font-family:var(--serif); }.story-roland-dossiers strong { padding:1rem; color:#fff; background:#5d493b; text-align:center; }.story-roland-dossiers small { color:#eed9bd; }
.story-arthurian-map { grid-template-columns:repeat(3,1fr); background:linear-gradient(135deg,#e4ece5,#b7c9b9); }.story-arthurian-map span,.story-arthurian-map strong { padding:.8rem; border:1px solid #718274; border-radius:2rem .5rem; background:#fffdf8; text-align:center; }.story-arthurian-map strong { color:#fff; background:#536f5d; }.story-arthurian-map em { grid-column:1/-1; text-align:center; }
.story-manuscript-page { grid-template-columns:.35fr 1.65fr; padding:1.2rem; border:.45rem double #7f6546; border-radius:.25rem; background:#f2dfb9; }.story-manuscript-page aside { writing-mode:vertical-rl; color:#9c4f3f; font-family:var(--serif); }.story-manuscript-page > div { display:grid; gap:.65rem; padding:1rem; border-left:.25rem solid #9c4f3f; background:repeating-linear-gradient(180deg,transparent 0 1.8rem,rgb(104 79 52 / .18) 1.85rem 1.9rem); }.story-manuscript-page figure { min-height:6rem; margin:0; padding:1rem; border:.2rem solid #b78c48; background:#d8e1d1; text-align:center; }.story-manuscript-page > strong { grid-column:1/-1; color:#5d493b; text-align:center; }
.story-renaissance-press { grid-template-columns:1fr auto 1fr auto 1fr; min-height:15rem; background:linear-gradient(180deg,#4a5d58 0 70%,#806647 71%); }.story-renaissance-press > div,.story-renaissance-press > strong { display:grid; min-height:8rem; place-content:center; padding:.8rem; border:.2rem double #c69e5c; background:#fffdf8; text-align:center; }.story-renaissance-press > strong { color:#fff; background:#8a493d; }.story-renaissance-press > i { color:#f2dfb9; font-size:1.6rem; font-style:normal; }.story-renaissance-press small { color:#f2dfb9; }
[data-seventeenth-story-ecosystem], [data-seventeenth-story-network], [data-seventeenth-story-tendre], [data-seventeenth-story-comic], [data-seventeenth-story-double-time], [data-seventeenth-story-information], [data-seventeenth-story-interiority], [data-seventeenth-story-perrault] { border-color:#745d74; background:linear-gradient(145deg,#fffdf9,#eee4ed); box-shadow:inset .35rem 0 #9a4f58; }
.seventeenth-story-library,.seventeenth-story-circuit,.seventeenth-tendre-map,.seventeenth-comic-stage,.seventeenth-double-time,.seventeenth-information-web,.seventeenth-decision-path,.seventeenth-perrault-table { display:grid; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#3f3341; }
.seventeenth-story-library { grid-template-columns:repeat(5,1fr); background:linear-gradient(180deg,#ded0b8 0 20%,#765440 21% 24%,#eee2cc 25% 45%,#765440 46% 49%,#dac9ae 50% 70%,#765440 71% 74%,#eee2cc 75%); }.seventeenth-story-library article { display:grid; min-height:7.5rem; place-content:center; padding:.65rem; border:.15rem double #7f6049; background:#fffdf8; text-align:center; }.seventeenth-story-library article:nth-child(even) { transform:translateY(.8rem); }.seventeenth-story-library strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#57404f; text-align:center; }.seventeenth-story-library small { color:#eadfea; }
.seventeenth-story-circuit,.seventeenth-decision-path { grid-template-columns:repeat(9,auto); justify-content:center; background:linear-gradient(135deg,#d9e1dc,#b9c8c0); }.seventeenth-story-circuit span,.seventeenth-story-circuit strong,.seventeenth-decision-path span,.seventeenth-decision-path strong { padding:.85rem; border:1px solid #657a70; border-radius:.7rem; background:#fffdf9; text-align:center; }.seventeenth-story-circuit strong,.seventeenth-decision-path strong { color:#fff; background:#5a4354; }.seventeenth-story-circuit i,.seventeenth-decision-path i,.seventeenth-perrault-table > i { color:#9a4f58; font-style:normal; font-weight:950; }.seventeenth-story-circuit small { color:#6e606e; }.seventeenth-decision-path em { grid-column:1/-1; text-align:center; }
.seventeenth-tendre-map { position:relative; grid-template-columns:repeat(3,1fr); min-height:18rem; overflow:hidden; background:radial-gradient(ellipse at 50% 120%,#a8c6cf 0 30%,transparent 31%),linear-gradient(140deg,#e8e0c8,#c9dccd); }.seventeenth-tendre-map::before { content:""; position:absolute; inset:18% 12%; border:3px dotted rgb(120 79 93 / .55); border-radius:50% 35%; transform:rotate(-8deg); }.seventeenth-tendre-map span,.seventeenth-tendre-map strong { z-index:1; padding:.75rem; border:1px solid #826c66; border-radius:50%; background:#fffdf8; text-align:center; }.seventeenth-tendre-map strong { color:#fff; background:#8b4e5b; }.seventeenth-tendre-map .is-risk { background:#eee0dd; }.seventeenth-tendre-map em { z-index:1; grid-column:1/-1; text-align:center; }
.seventeenth-comic-stage { grid-template-columns:1fr auto 1.15fr auto 1fr; min-height:16rem; border:.55rem solid #6e3f4b; border-top-width:1.5rem; background:linear-gradient(90deg,#8d3947 0 8%,#d9c79e 8% 92%,#8d3947 92%); }.seventeenth-comic-stage article,.seventeenth-comic-stage strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:1px solid #765941; border-radius:.65rem; background:#fffdf8; text-align:center; }.seventeenth-comic-stage strong { color:#fff; background:#57404f; }.seventeenth-comic-stage > i { font-size:1.5rem; font-style:normal; }.seventeenth-comic-stage em { grid-column:1/-1; text-align:center; }
.seventeenth-double-time { grid-template-columns:1fr .55fr 1fr; background:linear-gradient(90deg,#d3c6aa 0 48%,#b7c9c7 52%); }.seventeenth-double-time article { display:grid; min-height:10rem; place-content:center; padding:1rem; border:.2rem double #755b55; background:#fffdf8; text-align:center; }.seventeenth-double-time > div { display:grid; min-height:8rem; place-content:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#855261,#465e63); text-align:center; }.seventeenth-double-time > strong { grid-column:1/-1; text-align:center; }
.seventeenth-information-web { position:relative; grid-template-columns:repeat(3,1fr); min-height:18rem; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgb(133 82 97 / .22) 0 27%,transparent 28%),#dce5e3; }.seventeenth-information-web::before,.seventeenth-information-web::after { content:""; position:absolute; inset:20% 8%; border:2px solid rgb(82 101 102 / .38); transform:rotate(12deg); }.seventeenth-information-web::after { transform:rotate(-12deg); }.seventeenth-information-web span,.seventeenth-information-web strong { z-index:1; padding:.75rem; border:1px solid #6c7778; border-radius:1.5rem; background:#fffdf8; text-align:center; }.seventeenth-information-web strong { color:#fff; background:#674755; }.seventeenth-information-web em { z-index:1; grid-column:1/-1; text-align:center; }
.seventeenth-perrault-table { grid-template-columns:1fr auto 1fr auto 1.1fr auto 1fr; min-height:15rem; background:linear-gradient(180deg,#d6c29b 0 70%,#806044 71%); }.seventeenth-perrault-table article,.seventeenth-perrault-table strong { display:grid; min-height:8rem; place-content:center; padding:.7rem; border:.2rem double #7c6041; background:#fffdf8; text-align:center; }.seventeenth-perrault-table strong { color:#fff; background:#854c59; }.seventeenth-perrault-table em { grid-column:1/-1; color:#fff5de; text-align:center; }
[data-eighteenth-story-ecosystem], [data-eighteenth-story-manon], [data-eighteenth-story-letters], [data-eighteenth-story-marianne], [data-eighteenth-story-nights], [data-eighteenth-story-children], [data-eighteenth-story-rhythm], [data-eighteenth-story-autobiography] { border-color:#3f6971; background:linear-gradient(145deg,#fffdf7,#e3eeeb); box-shadow:inset .35rem 0 #c47737; }
.eighteenth-story-library,.eighteenth-manon-stage,.eighteenth-letter-network,.eighteenth-marianne-mirror,.eighteenth-nights-desk,.eighteenth-children-room,.eighteenth-rhythm-comparator,.eighteenth-autobiography-file { display:grid; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#31464b; }
.eighteenth-story-library { grid-template-columns:repeat(5,1fr); background:linear-gradient(180deg,#ded1b5 0 22%,#72523c 23% 27%,#eadfc8 28% 50%,#72523c 51% 55%,#ded1b5 56%); }.eighteenth-story-library article { display:grid; min-height:7.5rem; place-content:center; padding:.65rem; border:.15rem double #7d6047; background:#fffdf8; text-align:center; }.eighteenth-story-library article:nth-child(even) { transform:translateY(.75rem); }.eighteenth-story-library strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#315a63; text-align:center; }.eighteenth-story-library small { color:#e4f0ed; }
.eighteenth-manon-stage { grid-template-columns:1fr auto 1fr auto 1.15fr auto 1fr; background:linear-gradient(180deg,#d8e6e2 0 72%,#806647 73%); }.eighteenth-manon-stage article,.eighteenth-manon-stage strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:.15rem double #526f70; background:#fffdf8; text-align:center; }.eighteenth-manon-stage strong { color:#fff; background:#9a563f; }.eighteenth-manon-stage i,.eighteenth-nights-desk > i,.eighteenth-children-room > i,.eighteenth-autobiography-file > i { color:#b66331; font-style:normal; font-weight:950; }.eighteenth-manon-stage em,.eighteenth-nights-desk em,.eighteenth-children-room em,.eighteenth-autobiography-file em { grid-column:1/-1; text-align:center; }
.eighteenth-letter-network { position:relative; grid-template-columns:repeat(5,1fr); min-height:18rem; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgb(196 119 55 / .25) 0 25%,transparent 26%),#dce9e7; }.eighteenth-letter-network::before,.eighteenth-letter-network::after { content:""; position:absolute; inset:20% 8%; border:2px solid rgb(63 105 113 / .35); transform:rotate(10deg); }.eighteenth-letter-network::after { transform:rotate(-10deg); }.eighteenth-letter-network span,.eighteenth-letter-network strong { z-index:1; padding:.8rem; border:1px solid #66858a; border-radius:.55rem; background:#fffdf8; text-align:center; }.eighteenth-letter-network strong { color:#fff; background:#315a63; }.eighteenth-letter-network em { z-index:1; grid-column:1/-1; text-align:center; }
.eighteenth-marianne-mirror { grid-template-columns:1fr .55fr 1fr; background:linear-gradient(90deg,#dec7a7 0 47%,#c7dfe0 53%); }.eighteenth-marianne-mirror article { display:grid; min-height:10rem; place-content:center; padding:1rem; border:.18rem double #78614f; background:#fffdf8; text-align:center; }.eighteenth-marianne-mirror > div { display:grid; min-height:8rem; place-content:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#a56042,#315a63); text-align:center; }.eighteenth-marianne-mirror > strong { grid-column:1/-1; padding:.75rem; text-align:center; }
.eighteenth-nights-desk { grid-template-columns:1fr auto 1fr auto 1.15fr auto 1fr; min-height:16rem; background:linear-gradient(135deg,#243e54,#7b4f61); }.eighteenth-nights-desk article,.eighteenth-nights-desk strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:.15rem double #d8ad63; background:#fffaf0; text-align:center; }.eighteenth-nights-desk strong { color:#fff; background:#a35d35; }.eighteenth-nights-desk em { color:#fff0cd; }
.eighteenth-children-room { grid-template-columns:1fr auto 1fr auto 1.2fr; min-height:16rem; border:.45rem solid #6a7f6b; background:linear-gradient(180deg,#dce9df 0 72%,#a9825e 73%); }.eighteenth-children-room article,.eighteenth-children-room strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:1px solid #6b806f; border-radius:1rem .35rem; background:#fffdf8; text-align:center; }.eighteenth-children-room strong { color:#fff; background:#486c61; }
.eighteenth-rhythm-comparator { grid-template-columns:1fr auto 1fr; background:linear-gradient(90deg,#e6d5b6 0 48%,#d2e3e3 52%); }.eighteenth-rhythm-comparator article { display:grid; min-height:11rem; place-content:center; gap:.45rem; padding:1rem; border:.18rem double #6d6455; background:#fffdf8; text-align:center; }.eighteenth-rhythm-comparator article strong { padding:.35rem .7rem; border-radius:999px; color:#fff; background:#a55a39; }.eighteenth-rhythm-comparator > i { color:#315a63; font-style:normal; font-weight:950; }.eighteenth-rhythm-comparator em { grid-column:1/-1; text-align:center; }
.eighteenth-autobiography-file { grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr; background:repeating-linear-gradient(180deg,#f5ead2 0 2.35rem,#ddcba8 2.4rem 2.45rem); }.eighteenth-autobiography-file article,.eighteenth-autobiography-file strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:.15rem double #79644c; background:rgb(255 253 248 / .94); text-align:center; }.eighteenth-autobiography-file strong { color:#fff; background:#315a63; }
[data-nineteenth-narrative-ecosystem], [data-nineteenth-narrative-feuilleton], [data-nineteenth-narrative-city], [data-nineteenth-narrative-balzac], [data-nineteenth-narrative-flaubert], [data-nineteenth-narrative-zola], [data-nineteenth-narrative-program], [data-nineteenth-narrative-horla] { border-color:#664f47; background:linear-gradient(145deg,#fffdf7,#ece5dc); box-shadow:inset .35rem 0 #9d3f35; }
.nineteenth-narrative-library,.nineteenth-feuilleton-page,.nineteenth-city-map,.nineteenth-balzac-network,.nineteenth-flaubert-desk,.nineteenth-zola-workbench,.nineteenth-program-building,.nineteenth-horla-ledger { display:grid; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#3f3735; }
.nineteenth-narrative-library { grid-template-columns:repeat(5,1fr); background:linear-gradient(180deg,#d8c6a7 0 21%,#664a38 22% 26%,#e9dbc1 27% 48%,#664a38 49% 53%,#d8c6a7 54%); }.nineteenth-narrative-library article { display:grid; min-height:7.5rem; place-content:center; padding:.65rem; border:.15rem double #765641; background:#fffdf8; text-align:center; }.nineteenth-narrative-library article:nth-child(even) { transform:translateY(.75rem); }.nineteenth-narrative-library strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#4a5758; text-align:center; }.nineteenth-narrative-library small { color:#e5efeb; }
.nineteenth-feuilleton-page { grid-template-columns:1fr; padding:1.15rem; border:.35rem double #4d463f; border-radius:.2rem; background:#f2e7cc; }.nineteenth-feuilleton-page header { display:flex; justify-content:space-between; padding:.65rem; border-bottom:.25rem double #4d463f; }.nineteenth-feuilleton-page header b { font-family:var(--serif); font-size:1.5rem; letter-spacing:.12em; }.nineteenth-feuilleton-page main { display:grid; min-height:8rem; grid-template-columns:repeat(3,1fr); gap:.45rem; }.nineteenth-feuilleton-page main i { padding:.7rem; border-right:1px solid #8d7d68; background:repeating-linear-gradient(180deg,transparent 0 1rem,rgb(75 62 47 / .18) 1.04rem 1.08rem); font-style:normal; text-align:center; }.nineteenth-feuilleton-page footer { display:grid; grid-template-columns:.35fr 1.65fr; gap:.75rem; padding:.8rem; border-top:.32rem solid #4d463f; background:#fffaf0; }.nineteenth-feuilleton-page footer strong { color:#8d3e34; font-family:var(--serif); letter-spacing:.08em; }
.nineteenth-city-map { position:relative; grid-template-columns:repeat(3,1fr); min-height:19rem; overflow:hidden; background:linear-gradient(180deg,#b8c5c3 0 30%,#d9c8ae 31% 68%,#6a5950 69%); }.nineteenth-city-map::before { content:""; position:absolute; inset:18% 7%; border:3px dashed rgb(94 55 48 / .42); transform:rotate(-7deg); }.nineteenth-city-map span,.nineteenth-city-map strong { z-index:1; padding:.8rem; border:1px solid #725d51; border-radius:.45rem; background:#fffdf8; text-align:center; }.nineteenth-city-map strong { color:#fff; background:#93443c; }.nineteenth-city-map .is-high { transform:translateY(-1rem); }.nineteenth-city-map .is-low { transform:translateY(1rem); color:#fff; background:#4d4746; }.nineteenth-city-map em { z-index:1; grid-column:1/-1; color:#fff4df; text-align:center; }
.nineteenth-balzac-network { grid-template-columns:1fr auto 1fr auto 1.15fr auto 1fr auto 1fr; min-height:16rem; background:radial-gradient(circle at 50% 50%,rgb(157 63 53 / .18) 0 22%,transparent 23%),#d8e0dc; }.nineteenth-balzac-network article,.nineteenth-balzac-network strong { display:grid; min-height:7.5rem; place-content:center; padding:.7rem; border:.15rem double #566c68; background:#fffdf8; text-align:center; }.nineteenth-balzac-network strong { color:#fff; background:#93443c; }.nineteenth-balzac-network > i,.nineteenth-flaubert-desk > i { color:#9d3f35; font-style:normal; font-weight:950; }
.nineteenth-flaubert-desk { grid-template-columns:1fr auto 1fr auto 1.2fr auto 1fr; background:repeating-linear-gradient(180deg,#f6ecd7 0 2rem,#ddccb0 2.04rem 2.09rem); }.nineteenth-flaubert-desk span,.nineteenth-flaubert-desk strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:.15rem double #7a6652; background:rgb(255 253 248 / .94); text-align:center; }.nineteenth-flaubert-desk strong { color:#fff; background:#4a5758; }.nineteenth-flaubert-desk em { grid-column:1/-1; text-align:center; }
.nineteenth-zola-workbench { grid-template-columns:repeat(5,1fr); background:linear-gradient(180deg,#c7d1c8 0 70%,#78634f 71%); }.nineteenth-zola-workbench article,.nineteenth-zola-workbench strong { display:grid; min-height:8rem; place-content:center; padding:.75rem; border:1px solid #68766d; background:#fffdf8; text-align:center; }.nineteenth-zola-workbench strong { color:#fff; background:#93443c; }.nineteenth-zola-workbench em { grid-column:1/-1; color:#fff3dd; text-align:center; }
.nineteenth-program-building { grid-template-columns:1fr .7fr 1fr; min-height:17rem; background:linear-gradient(90deg,#d8c5a8 0 48%,#c9d7d5 52%); }.nineteenth-program-building article { display:grid; min-height:10rem; place-content:center; padding:.9rem; border:.18rem double #725e4f; background:#fffdf8; text-align:center; }.nineteenth-program-building > div { display:grid; gap:.25rem; }.nineteenth-program-building > div span { padding:.45rem; border:1px solid #74574d; background:#fff9ef; text-align:center; }.nineteenth-program-building > strong { grid-column:1/-1; padding:.7rem; color:#fff; background:#4a5758; text-align:center; }
.nineteenth-horla-ledger { grid-template-columns:.55fr 1.2fr 1fr 1fr 1fr; background:#2f3b46; }.nineteenth-horla-ledger b,.nineteenth-horla-ledger span { padding:.6rem; border-bottom:1px solid rgb(255 255 255 / .22); color:#eef2ed; text-align:center; }.nineteenth-horla-ledger b { color:#ffd7a2; text-transform:uppercase; }.nineteenth-horla-ledger strong { grid-column:1/-1; padding:.75rem; color:#2f3b46; background:#f0dbc0; text-align:center; }
[data-twentieth-narrative-constellation], [data-twentieth-narrative-proust], [data-twentieth-narrative-gide], [data-twentieth-narrative-celine], [data-twentieth-narrative-new-novel], [data-twentieth-narrative-contracts], [data-twentieth-narrative-schwarzbart], [data-twentieth-narrative-contemporary] { border-color:#5b637b; background:linear-gradient(145deg,#fffdf8,#e7e9f1); box-shadow:inset .35rem 0 #835777; }
.twentieth-narrative-constellation,.twentieth-proust-circuit,.twentieth-gide-architecture,.twentieth-celine-bench,.twentieth-new-novel-map,.twentieth-contract-ledger,.twentieth-schwarzbart-weave,.twentieth-contemporary-passport { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#343949; }
.twentieth-narrative-constellation > *,.twentieth-proust-circuit > *,.twentieth-gide-architecture > *,.twentieth-celine-bench > *,.twentieth-new-novel-map > *,.twentieth-contract-ledger > *,.twentieth-schwarzbart-weave > *,.twentieth-contemporary-passport > * { min-width:0; overflow-wrap:anywhere; }
.twentieth-narrative-constellation { grid-template-columns:repeat(5,1fr); background:linear-gradient(180deg,#cfd7df 0 24%,#5a6072 25% 29%,#e8ddd7 30% 53%,#5a6072 54% 58%,#cfd7df 59%); }.twentieth-narrative-constellation article { display:grid; min-height:8rem; place-content:center; padding:.7rem; border:.15rem double #656a7a; background:#fffdf8; text-align:center; }.twentieth-narrative-constellation article:nth-child(even) { transform:translateY(.75rem); }.twentieth-narrative-constellation strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#73526d; text-align:center; }
.twentieth-proust-circuit { grid-template-columns:1fr auto 1fr auto 1.1fr auto 1fr auto 1fr; background:radial-gradient(circle at 50% 50%,rgb(131 87 119 / .2) 0 23%,transparent 24%),#dfe6e8; }.twentieth-proust-circuit span,.twentieth-proust-circuit strong { display:grid; min-height:7.5rem; place-content:center; padding:.7rem; border:1px solid #65727a; border-radius:50%; background:#fffdf8; text-align:center; }.twentieth-proust-circuit strong { color:#fff; background:#75556f; }.twentieth-proust-circuit i { color:#835777; font-style:normal; font-weight:950; }.twentieth-proust-circuit em { grid-column:1/-1; text-align:center; }
.twentieth-gide-architecture { grid-template-columns:1fr auto 1.55fr; min-height:18rem; background:repeating-linear-gradient(180deg,#f3eadb 0 2.2rem,#d9c8ae 2.24rem 2.3rem); }.twentieth-gide-architecture > article,.twentieth-gide-architecture > strong { display:grid; min-height:10rem; place-content:center; padding:.8rem; border:.18rem double #76624f; background:#fffdf8; text-align:center; }.twentieth-gide-architecture > strong { color:#fff; background:#4f5d70; }.twentieth-gide-architecture > i { color:#8d4e6d; font-style:normal; font-weight:950; }.twentieth-gide-architecture > div { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; grid-column:3; }.twentieth-gide-architecture > div span,.twentieth-gide-architecture > div article { padding:.55rem; border:1px solid #7a7180; background:#fffdf8; text-align:center; }.twentieth-gide-architecture > div article { grid-column:1/-1; background:#ebe0e8; }.twentieth-gide-architecture > em { grid-column:1/-1; text-align:center; }
.twentieth-celine-bench { grid-template-columns:repeat(5,1fr); background:#30343d; }.twentieth-celine-bench b,.twentieth-celine-bench span { padding:.65rem; border-bottom:1px solid rgb(255 255 255 / .22); color:#f1eee8; text-align:center; }.twentieth-celine-bench b { color:#f2c899; text-transform:uppercase; }.twentieth-celine-bench strong { grid-column:1/-1; padding:.75rem; color:#30343d; background:#e9d9c7; text-align:center; }
.twentieth-new-novel-map { position:relative; grid-template-columns:repeat(2,1fr); min-height:18rem; overflow:hidden; background:linear-gradient(135deg,#d8e3e5,#e8dbe3); }.twentieth-new-novel-map::before { content:""; position:absolute; inset:12% 14%; border:3px solid rgb(91 99 123 / .24); transform:rotate(7deg); }.twentieth-new-novel-map article,.twentieth-new-novel-map strong { z-index:1; display:grid; min-height:6.5rem; place-content:center; padding:.75rem; border:1px solid #6a7081; background:#fffdf8; text-align:center; }.twentieth-new-novel-map article:nth-child(2),.twentieth-new-novel-map article:nth-child(3) { transform:translateX(.8rem); }.twentieth-new-novel-map strong { grid-column:1/-1; color:#fff; background:#72536c; }
.twentieth-contract-ledger { grid-template-columns:.7fr 1.15fr 1.15fr; background:#415064; }.twentieth-contract-ledger b,.twentieth-contract-ledger span { padding:.65rem; border-bottom:1px solid rgb(255 255 255 / .2); color:#f3f0ea; text-align:center; }.twentieth-contract-ledger b { color:#ffd49d; text-transform:uppercase; }.twentieth-contract-ledger strong { grid-column:1/-1; padding:.75rem; color:#354151; background:#f2dfc6; text-align:center; }
.twentieth-schwarzbart-weave { grid-template-columns:.72fr 1.28fr; min-height:18rem; background:linear-gradient(145deg,#456459,#c38a4a); }.twentieth-schwarzbart-weave aside { display:grid; gap:.35rem; }.twentieth-schwarzbart-weave aside b,.twentieth-schwarzbart-weave aside strong { padding:.7rem; border-radius:.4rem; background:#fffaf0; text-align:center; }.twentieth-schwarzbart-weave aside strong { color:#fff; background:#774c62; }.twentieth-schwarzbart-weave main { display:grid; min-height:13rem; grid-template-columns:repeat(2,1fr); gap:.35rem; padding:.45rem; background:repeating-linear-gradient(0deg,transparent 0 2.35rem,rgb(255 255 255 / .35) 2.4rem 2.48rem),repeating-linear-gradient(90deg,#d8b77f 0 24%,#6b6f5a 25% 27%,#e4cab0 28% 49%,#73566d 50% 52%); }.twentieth-schwarzbart-weave main span { display:grid; min-height:5.7rem; place-content:center; padding:.55rem; border:1px solid rgb(53 57 73 / .35); background:rgb(255 253 248 / .88); text-align:center; }.twentieth-schwarzbart-weave em { grid-column:1/-1; color:#fff8e9; text-align:center; }
.twentieth-contemporary-passport { grid-template-columns:repeat(3,1fr); background:linear-gradient(135deg,#d9e3e4,#e7d9e1); }.twentieth-contemporary-passport span { display:grid; min-height:7.5rem; place-content:center; padding:.7rem; border:1px solid #6b7182; border-radius:.8rem; background:#fffdf8; text-align:center; }.twentieth-contemporary-passport strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#4d5c70; text-align:center; }
[data-narrative-techniques-planes], [data-narrative-techniques-identity], [data-narrative-techniques-focalization], [data-narrative-techniques-time], [data-narrative-techniques-speech], [data-narrative-techniques-description], [data-narrative-techniques-character], [data-narrative-techniques-analysis] { border-color:#765d51; background:linear-gradient(145deg,#fffdf8,#eee5da); box-shadow:inset .35rem 0 #a95d3f; }
.narrative-three-deck,.narrative-identity-firewall,.narrative-focalization-map,.narrative-time-console,.narrative-speech-transformer,.narrative-description-lens,.narrative-character-board,.narrative-analysis-chain { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#303c4b; }.narrative-three-deck > *,.narrative-identity-firewall > *,.narrative-focalization-map > *,.narrative-time-console > *,.narrative-speech-transformer > *,.narrative-description-lens > *,.narrative-character-board > *,.narrative-analysis-chain > * { min-width:0; overflow-wrap:anywhere; }
.narrative-three-deck { grid-template-columns:repeat(3,minmax(0,1fr)); background:linear-gradient(180deg,#e5d3b8,#bd8062); }.narrative-three-deck article { min-height:9rem; padding:.8rem; border:.18rem double #725b4c; background:#fffdf8; text-align:center; }.narrative-three-deck article:nth-child(2) { transform:translateY(.8rem); }.narrative-three-deck article b,.narrative-three-deck article span { display:block; margin:.4rem; }.narrative-three-deck strong { grid-column:1/-1; padding:.7rem; color:#fff; background:#34495a; text-align:center; }
.narrative-identity-firewall { grid-template-columns:1fr auto 1fr auto 1fr; background:repeating-linear-gradient(135deg,#e2d1bb 0 1.2rem,#d5c1aa 1.2rem 2.4rem); }.narrative-identity-firewall article { min-height:9rem; padding:.75rem; border:2px solid #75584d; background:#fffdf8; text-align:center; }.narrative-identity-firewall article b,.narrative-identity-firewall article span { display:block; margin:.45rem; }.narrative-identity-firewall i { color:#a54e38; font-size:1.6rem; font-style:normal; font-weight:950; }.narrative-identity-firewall strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#405362; text-align:center; }
.narrative-focalization-map { grid-template-columns:.8fr 1.2fr; background:radial-gradient(circle at 68% 50%,rgb(237 188 107 / .45) 0 18%,transparent 19%),#374957; }.narrative-focalization-map aside { display:grid; gap:.5rem; }.narrative-focalization-map aside span,.narrative-focalization-map aside strong { padding:.65rem; border-radius:.6rem; background:#fffdf8; text-align:center; }.narrative-focalization-map aside strong { color:#fff; background:#a5533c; }.narrative-focalization-map main { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; padding:1rem; clip-path:polygon(0 50%,100% 0,100% 100%); background:rgb(255 248 224 / .92); }.narrative-focalization-map main b { grid-column:1/-1; padding:1rem 2.5rem; text-align:center; }.narrative-focalization-map main span { padding:.65rem; border:1px solid #8d7862; background:#fffdf8; text-align:center; }
.narrative-time-console { grid-template-columns:repeat(3,minmax(0,1fr)); background:#263845; }.narrative-time-console article { min-height:8rem; padding:.8rem; border:1px solid #d1a66b; border-radius:.6rem; color:#f6efe4; background:#354d5d; text-align:center; }.narrative-time-console article b,.narrative-time-console article span { display:block; margin:.45rem; }.narrative-time-console strong { grid-column:1/-1; padding:.8rem; color:#313b48; background:#f1d8ac; text-align:center; }
.narrative-speech-transformer { grid-template-columns:1.15fr auto 1fr auto 1fr auto .85fr; background:linear-gradient(135deg,#d4e1df,#edd7c5); }.narrative-speech-transformer span,.narrative-speech-transformer strong { min-height:7.5rem; padding:.75rem; border:1px solid #66777c; border-radius:1rem; background:#fffdf8; text-align:center; display:grid; place-content:center; }.narrative-speech-transformer strong { color:#fff; background:#9b543f; }.narrative-speech-transformer i { color:#9b543f; font-style:normal; font-weight:950; }.narrative-speech-transformer em { grid-column:1/-1; text-align:center; }
.narrative-description-lens { grid-template-columns:1.2fr auto 1fr; background:linear-gradient(90deg,#485a63 0 48%,#e7d8c2 49%); }.narrative-description-lens > div { display:grid; min-height:12rem; align-content:center; gap:.4rem; padding:.8rem; color:#f6f0e7; background:linear-gradient(145deg,#263741,#586b73); }.narrative-description-lens > div span,.narrative-description-lens > div b { padding:.55rem; border-bottom:1px solid rgb(255 255 255 / .3); }.narrative-description-lens > div b { color:#ffd49e; }.narrative-description-lens > strong { font-size:3rem; }.narrative-description-lens article { min-height:9rem; padding:.8rem; border:.18rem double #795d4c; background:#fffdf8; text-align:center; }.narrative-description-lens article b,.narrative-description-lens article span { display:block; margin:.45rem; }.narrative-description-lens em { grid-column:1/-1; color:#fff; text-align:center; }
.narrative-character-board { grid-template-columns:.8fr 1fr 1.2fr .8fr; background:#405463; }.narrative-character-board b,.narrative-character-board span { padding:.6rem; border-bottom:1px solid rgb(255 255 255 / .22); color:#f5efe6; text-align:center; }.narrative-character-board b { color:#ffd09a; }.narrative-character-board strong { grid-column:1/-1; padding:.75rem; color:#32424e; background:#edd7b9; text-align:center; }
.narrative-analysis-chain { grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr auto 1fr; background:linear-gradient(180deg,#d6e1df,#e8d4c0); }.narrative-analysis-chain span,.narrative-analysis-chain strong { min-height:7.8rem; padding:.65rem; border:1px solid #68767a; border-radius:.7rem; background:#fffdf8; text-align:center; display:grid; place-content:center; }.narrative-analysis-chain strong { color:#fff; background:#9b523c; }.narrative-analysis-chain i { color:#9b523c; font-style:normal; font-weight:950; }
[data-character-name-passport], [data-character-evidence-file], [data-character-action-engine], [data-character-relation-network], [data-character-hero-balance], [data-character-mirror-choices], [data-character-balzac-zola], [data-character-transformation-route] { border-color:#506f68; background:linear-gradient(145deg,#fffdf8,#dfe9e4); box-shadow:inset .35rem 0 #b06b3d; }
.character-name-passport,.character-evidence-file,.character-action-engine,.character-relation-network,.character-hero-balance,.character-mirror-choices,.character-balzac-zola,.character-transformation-route { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#2f3e48; }.character-name-passport > *,.character-evidence-file > *,.character-action-engine > *,.character-relation-network > *,.character-hero-balance > *,.character-mirror-choices > *,.character-balzac-zola > *,.character-transformation-route > * { min-width:0; overflow-wrap:anywhere; }
.character-name-passport { grid-template-columns:1.15fr repeat(4,1fr); background:linear-gradient(135deg,#d6c29f,#e6ddd0); }.character-name-passport span,.character-name-passport strong { min-height:7.2rem; padding:.7rem; border:1px solid #756653; background:#fffdf8; text-align:center; display:grid; place-content:center; }.character-name-passport strong { color:#fff; background:#3f655d; font-size:1.2rem; }.character-name-passport em { grid-column:1/-1; text-align:center; }
.character-evidence-file { grid-template-columns:.9fr 1fr 1fr 1fr; background:#344e52; }.character-evidence-file b,.character-evidence-file span { padding:.65rem; border-bottom:1px solid rgb(255 255 255 / .25); color:#f8f3e9; text-align:center; }.character-evidence-file b { color:#ffd39f; }.character-evidence-file strong { grid-column:1/-1; padding:.75rem; color:#344e52; background:#eed9bb; text-align:center; }
.character-action-engine,.character-transformation-route { grid-template-columns:1fr auto 1fr auto 1fr auto 1.1fr auto 1fr; background:linear-gradient(180deg,#d9e6df,#e9d5bd); }.character-action-engine span,.character-action-engine strong,.character-transformation-route span,.character-transformation-route strong { min-height:7.7rem; padding:.65rem; border:1px solid #60766f; border-radius:.7rem; background:#fffdf8; text-align:center; display:grid; place-content:center; }.character-action-engine strong,.character-transformation-route strong { color:#fff; background:#a85d3e; }.character-action-engine i,.character-transformation-route i { color:#a85d3e; font-style:normal; font-weight:950; }
.character-relation-network { position:relative; grid-template-columns:repeat(2,minmax(0,1fr)); background:radial-gradient(circle at 50% 50%,rgb(255 220 157 / .48) 0 16%,transparent 17%),#3d5b5c; }.character-relation-network article { min-height:7.3rem; padding:.75rem; border:1px solid #c9b484; border-radius:50%; background:#fffdf8; text-align:center; }.character-relation-network article b,.character-relation-network article span { display:block; margin:.35rem; }.character-relation-network strong { grid-column:1/-1; padding:.75rem; color:#344d4e; background:#efd8b8; text-align:center; }
.character-hero-balance { grid-template-columns:1fr auto 1fr auto 1fr; background:linear-gradient(90deg,#d5e0dd,#ead3b9); }.character-hero-balance span { min-height:8rem; padding:.75rem; border:1px solid #64766f; background:#fffdf8; text-align:center; display:grid; place-content:center; }.character-hero-balance strong { color:#a7573c; font-size:1.4rem; }.character-hero-balance em { grid-column:1/-1; text-align:center; }
.character-mirror-choices { grid-template-columns:1fr auto 1fr; background:linear-gradient(90deg,#dfe8e3 0 49%,#ead8c1 51%); }.character-mirror-choices article { min-height:12rem; padding:.8rem; border:.18rem double #5d716b; background:#fffdf8; text-align:center; }.character-mirror-choices article b,.character-mirror-choices article span,.character-mirror-choices article strong { display:block; margin:.5rem; }.character-mirror-choices > i { color:#a6573e; font-size:2rem; font-style:normal; }.character-mirror-choices em { grid-column:1/-1; text-align:center; }
.character-balzac-zola { grid-template-columns:repeat(2,minmax(0,1fr)); background:#344b55; }.character-balzac-zola article { min-height:13rem; padding:.85rem; border:.15rem double #d2b37f; background:#fffdf8; text-align:center; }.character-balzac-zola article b,.character-balzac-zola article span,.character-balzac-zola article strong { display:block; margin:.55rem; }.character-balzac-zola article strong { padding:.6rem; color:#fff; background:#4b6d64; }.character-balzac-zola em { grid-column:1/-1; color:#fff2dc; text-align:center; }
[data-narrative-genre-atlas], [data-narrative-genre-autobiography], [data-narrative-genre-journal], [data-narrative-genre-memoir], [data-narrative-genre-novel], [data-narrative-genre-short], [data-narrative-genre-truth], [data-narrative-genre-passport] { border-color:#675984; background:linear-gradient(145deg,#fffdf8,#e7e0ef); box-shadow:inset .35rem 0 #7d5a91; }
.genre-atlas,.genre-autobiography-pact,.genre-journal-calendar,.genre-memoir-chain,.genre-novel-container,.genre-short-prism,.genre-truth-spectrum,.genre-classification-passport { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#34354a; }.genre-atlas > *,.genre-autobiography-pact > *,.genre-journal-calendar > *,.genre-memoir-chain > *,.genre-novel-container > *,.genre-short-prism > *,.genre-truth-spectrum > *,.genre-classification-passport > * { min-width:0; overflow-wrap:anywhere; }
.genre-atlas,.genre-truth-spectrum { grid-template-columns:repeat(5,minmax(0,1fr)); background:linear-gradient(180deg,#d9d2e5,#726887); }.genre-atlas span,.genre-truth-spectrum span { min-height:7rem; padding:.65rem; border:1px solid #6f6680; background:#fffdf8; text-align:center; display:grid; place-content:center; }.genre-atlas strong,.genre-truth-spectrum strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#50465f; text-align:center; }
.genre-autobiography-pact { grid-template-columns:1fr auto 1fr auto 1fr; background:repeating-linear-gradient(135deg,#e4d9c7 0 1rem,#d7c9b4 1rem 2rem); }.genre-autobiography-pact span { min-height:8rem; padding:.75rem; border:.18rem double #705e71; background:#fffdf8; text-align:center; display:grid; place-content:center; }.genre-autobiography-pact i { color:#7d4e87; font-style:normal; font-weight:950; }.genre-autobiography-pact strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#564b67; text-align:center; }
.genre-journal-calendar { grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; background:#3f4258; }.genre-journal-calendar span,.genre-journal-calendar strong { min-height:7.5rem; padding:.7rem; border:1px solid #b9a6c6; background:#fffdf8; text-align:center; display:grid; place-content:center; }.genre-journal-calendar strong { color:#fff; background:#7f5d88; }.genre-journal-calendar i { color:#f1cd93; font-style:normal; font-weight:950; }
.genre-memoir-chain,.genre-balzac-zola { grid-template-columns:repeat(2,minmax(0,1fr)); }.genre-memoir-chain { background:#4b5265; }.genre-memoir-chain article { min-height:10rem; padding:.8rem; border:.15rem double #c9ad7d; background:#fffdf8; text-align:center; }.genre-memoir-chain article b,.genre-memoir-chain article span { display:block; margin:.5rem; }.genre-memoir-chain strong { grid-column:1/-1; padding:.7rem; color:#fff; text-align:center; }
.genre-novel-container { grid-template-columns:1.2fr repeat(5,1fr); background:radial-gradient(circle at 15% 50%,rgb(255 218 151 / .45),transparent 25%),#4a425a; }.genre-novel-container span,.genre-novel-container strong { min-height:7rem; padding:.65rem; border:1px solid #766c82; background:#fffdf8; text-align:center; display:grid; place-content:center; }.genre-novel-container strong { color:#fff; background:#805d8a; }.genre-novel-container em { grid-column:1/-1; color:#fff; text-align:center; }
.genre-short-prism { grid-template-columns:repeat(4,minmax(0,1fr)); background:linear-gradient(135deg,#d6e1df,#e4d4e8); }.genre-short-prism span,.genre-short-prism strong { min-height:8rem; padding:.7rem; border:1px solid #6c6478; background:#fffdf8; text-align:center; display:grid; place-content:center; }.genre-short-prism strong { color:#fff; background:#74527d; }
.genre-classification-passport { grid-template-columns:1fr 1fr 1.2fr; background:#4b465d; }.genre-classification-passport b,.genre-classification-passport span { padding:.65rem; border-bottom:1px solid rgb(255 255 255 / .22); color:#f7f1e8; text-align:center; }.genre-classification-passport b { color:#f1cb91; }.genre-classification-passport strong { grid-column:1/-1; padding:.75rem; color:#453e52; background:#ead9be; text-align:center; }
[data-theatre-layer-stack], [data-theatre-page-score], [data-theatre-variant-bench], [data-theatre-control-room], [data-theatre-tradition-map], [data-theatre-genre-mixer], [data-theatre-audience-geometry], [data-theatre-program-current] { border-color:#795642; background:linear-gradient(145deg,#fffdf8,#eee0d3); box-shadow:inset .35rem 0 #b04d36; }
.theatre-layer-stack,.theatre-page-score,.theatre-variant-bench,.theatre-control-room,.theatre-tradition-map,.theatre-genre-mixer,.theatre-audience-geometry,.theatre-program-dossier { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#343a43; }.theatre-layer-stack > *,.theatre-page-score > *,.theatre-variant-bench > *,.theatre-control-room > *,.theatre-tradition-map > *,.theatre-genre-mixer > *,.theatre-audience-geometry > *,.theatre-program-dossier > * { min-width:0; overflow-wrap:anywhere; }
.theatre-layer-stack { grid-template-columns:repeat(5,minmax(0,1fr)); align-items:end; background:linear-gradient(180deg,#1f2631 0 34%,#7c604d 35% 42%,#d4b28c 43%); }.theatre-layer-stack span,.theatre-layer-stack strong { min-height:6rem; padding:.65rem; border:1px solid #775f4e; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-layer-stack span:nth-child(2){min-height:7.5rem}.theatre-layer-stack span:nth-child(3){min-height:9rem}.theatre-layer-stack strong{min-height:11rem;color:#fff;background:#a74d38}
.theatre-page-score { grid-template-columns:repeat(5,minmax(0,1fr)); background:#303744; }.theatre-page-score b,.theatre-page-score span { padding:.65rem; border-bottom:1px solid rgb(255 255 255 / .23); color:#f6efe5; text-align:center; }.theatre-page-score b { color:#ffd094; }.theatre-page-score strong { grid-column:1/-1; padding:.75rem; color:#303744; background:#efd5af; text-align:center; }
.theatre-variant-bench { grid-template-columns:repeat(3,minmax(0,1fr)); background:linear-gradient(135deg,#d9e0dc,#ead6c4); }.theatre-variant-bench article { min-height:10rem; padding:.8rem; border:.16rem double #6d5d52; background:#fffdf8; text-align:center; }.theatre-variant-bench article b,.theatre-variant-bench article span { display:block; margin:.5rem; }.theatre-variant-bench strong { grid-column:1/-1; padding:.7rem; color:#fff; background:#46565e; text-align:center; }
.theatre-control-room { grid-template-columns:repeat(5,minmax(0,1fr)); background:#263541; }.theatre-control-room span { min-height:8rem; padding:.65rem; border:1px solid #c49a65; color:#f8f1e6; background:#394d59; text-align:center; display:grid; place-content:center; }.theatre-control-room strong { grid-column:1/-1; padding:.75rem; color:#303944; background:#f0d09d; text-align:center; }
.theatre-tradition-map { grid-template-columns:1fr auto 1fr auto 1fr auto 1.1fr auto 1fr; background:repeating-linear-gradient(90deg,#d9c4a4 0 14%,#b99069 14% 15%); }.theatre-tradition-map span,.theatre-tradition-map strong { min-height:7.5rem; padding:.65rem; border:1px solid #6b594a; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-tradition-map strong { color:#fff; background:#9b4e39; }.theatre-tradition-map i { color:#9b4e39; font-style:normal; font-weight:950; }
.theatre-genre-mixer { grid-template-columns:1fr auto 1fr; background:linear-gradient(90deg,#efd7a8,#d7dce3); }.theatre-genre-mixer article { min-height:10rem; padding:.8rem; border:.17rem double #6b5d52; background:#fffdf8; text-align:center; }.theatre-genre-mixer article b,.theatre-genre-mixer article span { display:block; margin:.5rem; }.theatre-genre-mixer > strong { color:#a54936; font-size:2rem; }.theatre-genre-mixer em { grid-column:1/-1; text-align:center; }
.theatre-audience-geometry { grid-template-columns:1fr auto 1fr 1.2fr auto 1.2fr; background:linear-gradient(180deg,#d9c5ac 0 54%,#29333e 55%); }.theatre-audience-geometry span,.theatre-audience-geometry strong { min-height:8rem; padding:.7rem; border:1px solid #6c5b4e; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-audience-geometry strong { color:#fff; background:#a8513b; }.theatre-audience-geometry i { color:#a8513b; font-style:normal; font-weight:950; }.theatre-audience-geometry em { grid-column:1/-1; color:#fff; text-align:center; }
.theatre-program-dossier { grid-template-columns:repeat(3,minmax(0,1fr)); background:#35414d; }.theatre-program-dossier article { min-height:10rem; padding:.8rem; border:1px solid #d3a972; background:#fffdf8; text-align:center; }.theatre-program-dossier article b,.theatre-program-dossier article span { display:block; margin:.5rem; }.theatre-program-dossier strong { grid-column:1/-1; padding:.75rem; color:#33404b; background:#f0d2a4; text-align:center; }
[data-theatre-collective-credits], [data-theatre-decision-loop], [data-theatre-rehearsal-ledger], [data-theatre-scenography-matrix], [data-theatre-costume-workshop], [data-theatre-sound-score], [data-theatre-cue-conduct], [data-theatre-collective-dossier] { border-color:#4c626e; background:linear-gradient(145deg,#fffdf8,#dce7e8); box-shadow:inset .35rem 0 #d07b3f; }
.theatre-collective-credits,.theatre-decision-loop,.theatre-rehearsal-ledger,.theatre-scenography-matrix,.theatre-costume-workshop,.theatre-sound-score,.theatre-cue-conduct,.theatre-collective-dossier { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#2f3b46; }.theatre-collective-credits > *,.theatre-decision-loop > *,.theatre-rehearsal-ledger > *,.theatre-scenography-matrix > *,.theatre-costume-workshop > *,.theatre-sound-score > *,.theatre-cue-conduct > *,.theatre-collective-dossier > * { min-width:0; overflow-wrap:anywhere; }
.theatre-collective-credits { grid-template-columns:repeat(5,minmax(0,1fr)); background:radial-gradient(circle at 50% 100%,rgb(244 180 91 / .38),transparent 36%),#314654; }.theatre-collective-credits article { min-height:9.5rem; padding:.7rem; border:1px solid #d0a66e; border-radius:50% 50% .8rem .8rem; background:#fffdf8; text-align:center; }.theatre-collective-credits article:nth-child(even){transform:translateY(.8rem)}.theatre-collective-credits article b,.theatre-collective-credits article span { display:block; margin:.45rem; }.theatre-collective-credits strong { grid-column:1/-1; padding:.75rem; color:#324652; background:#f1d4a4; text-align:center; }
.theatre-decision-loop,.theatre-cue-conduct { grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr auto 1fr; background:linear-gradient(180deg,#d9e7e5,#ead6bd); }.theatre-decision-loop span,.theatre-decision-loop strong,.theatre-cue-conduct span,.theatre-cue-conduct strong { min-height:7.5rem; padding:.65rem; border:1px solid #597078; border-radius:.75rem; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-decision-loop strong,.theatre-cue-conduct strong { color:#fff; background:#af5a3d; }.theatre-decision-loop i,.theatre-cue-conduct i { color:#af5a3d; font-style:normal; font-weight:950; }.theatre-decision-loop em,.theatre-cue-conduct em { grid-column:1/-1; text-align:center; }
.theatre-rehearsal-ledger,.theatre-sound-score { grid-template-columns:repeat(5,minmax(0,1fr)); background:#344955; }.theatre-rehearsal-ledger b,.theatre-rehearsal-ledger span,.theatre-sound-score b,.theatre-sound-score span { padding:.65rem; border-bottom:1px solid rgb(255 255 255 / .24); color:#f8f2e8; text-align:center; }.theatre-rehearsal-ledger b,.theatre-sound-score b { color:#ffd19a; }.theatre-rehearsal-ledger strong,.theatre-sound-score strong { grid-column:1/-1; padding:.75rem; color:#314652; background:#f0d4aa; text-align:center; }
.theatre-scenography-matrix,.theatre-collective-dossier { grid-template-columns:repeat(4,minmax(0,1fr)); background:linear-gradient(135deg,#d7e1df,#ead5c0); }.theatre-scenography-matrix article,.theatre-collective-dossier article { min-height:10rem; padding:.8rem; border:.16rem double #64747a; background:#fffdf8; text-align:center; }.theatre-scenography-matrix article b,.theatre-scenography-matrix article span,.theatre-collective-dossier article b,.theatre-collective-dossier article span { display:block; margin:.5rem; }.theatre-scenography-matrix strong,.theatre-collective-dossier strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#4a626b; text-align:center; }
.theatre-costume-workshop { grid-template-columns:repeat(5,minmax(0,1fr)); background:repeating-linear-gradient(135deg,#dfcfba 0 1.4rem,#c8ddd9 1.4rem 2.8rem); }.theatre-costume-workshop span,.theatre-costume-workshop strong { min-height:8.5rem; padding:.7rem; border:.16rem double #6b6570; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-costume-workshop strong { color:#fff; background:#a75443; }.theatre-costume-workshop em { grid-column:1/-1; text-align:center; }
[data-theatre-history-strata], [data-theatre-greek-festival], [data-theatre-aristotle-workbench], [data-theatre-roman-route], [data-theatre-continuity-bridge], [data-theatre-medieval-atlas], [data-theatre-renaissance-workshop], [data-theatre-history-genealogy] { border-color:#6e5c78; background:linear-gradient(145deg,#fffdf8,#e8e0d2); box-shadow:inset .35rem 0 #9b653e; }
.theatre-history-strata,.theatre-greek-festival,.theatre-aristotle-workbench,.theatre-roman-route,.theatre-continuity-bridge,.theatre-medieval-atlas,.theatre-renaissance-workshop,.theatre-history-genealogy { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#383744; }.theatre-history-strata > *,.theatre-greek-festival > *,.theatre-aristotle-workbench > *,.theatre-roman-route > *,.theatre-continuity-bridge > *,.theatre-medieval-atlas > *,.theatre-renaissance-workshop > *,.theatre-history-genealogy > * { min-width:0; overflow-wrap:anywhere; }
.theatre-history-strata,.theatre-medieval-atlas { grid-template-columns:repeat(5,minmax(0,1fr)); background:linear-gradient(180deg,#403b50,#b99b73); }.theatre-history-strata span,.theatre-history-strata strong,.theatre-medieval-atlas span { min-height:8rem; padding:.65rem; border:1px solid #746477; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-history-strata strong { color:#fff; background:#8e503d; }.theatre-history-strata em,.theatre-medieval-atlas strong { grid-column:1/-1; padding:.7rem; color:#fff; text-align:center; }.theatre-medieval-atlas strong { background:#4d485c; }
.theatre-greek-festival,.theatre-roman-route,.theatre-renaissance-workshop,.theatre-history-genealogy { grid-template-columns:1fr auto 1fr auto 1.15fr auto 1fr auto 1fr; background:linear-gradient(180deg,#ded6c4,#e8dfce); }.theatre-greek-festival span,.theatre-greek-festival strong,.theatre-roman-route span,.theatre-roman-route strong,.theatre-renaissance-workshop span,.theatre-renaissance-workshop strong,.theatre-history-genealogy span,.theatre-history-genealogy strong { min-height:7.8rem; padding:.65rem; border:.14rem double #77636a; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-greek-festival strong,.theatre-roman-route strong,.theatre-renaissance-workshop strong,.theatre-history-genealogy strong { color:#fff; background:#815166; }.theatre-greek-festival i,.theatre-roman-route i,.theatre-renaissance-workshop i,.theatre-history-genealogy i { color:#98553c; font-style:normal; font-weight:950; }.theatre-greek-festival em,.theatre-roman-route em,.theatre-renaissance-workshop em,.theatre-history-genealogy em { grid-column:1/-1; text-align:center; }
.theatre-aristotle-workbench { grid-template-columns:repeat(4,minmax(0,1fr)); background:#3e3c4e; }.theatre-aristotle-workbench article { min-height:10.5rem; padding:.8rem; border:1px solid #c8a879; background:#fffdf8; text-align:center; }.theatre-aristotle-workbench article b,.theatre-aristotle-workbench article span { display:block; margin:.5rem; }.theatre-aristotle-workbench strong { grid-column:1/-1; padding:.75rem; color:#3d3a49; background:#efd4a6; text-align:center; }
.theatre-continuity-bridge { grid-template-columns:1fr auto 1.2fr auto 1fr; background:linear-gradient(90deg,#c9b18f,#e6ddcb 48%,#b69b78); }.theatre-continuity-bridge article { min-height:10rem; padding:.8rem; border:.17rem double #705f5b; background:#fffdf8; text-align:center; }.theatre-continuity-bridge article b,.theatre-continuity-bridge article span { display:block; margin:.5rem; }.theatre-continuity-bridge > i { color:#8d513d; font-size:1.6rem; font-style:normal; }.theatre-continuity-bridge strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#554b60; text-align:center; }
[data-theatre-seventeenth-ecosystem], [data-theatre-seventeenth-labels], [data-theatre-seventeenth-illusion], [data-theatre-seventeenth-rules], [data-theatre-seventeenth-genres], [data-theatre-seventeenth-liar], [data-theatre-seventeenth-authors], [data-theatre-seventeenth-program] { border-color:#624d66; background:linear-gradient(145deg,#fffdf8,#e7d8c4); box-shadow:inset .35rem 0 #bc603c; }
.theatre-seventeenth-board,.theatre-seventeenth-labels { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#373341; }.theatre-seventeenth-board { grid-template-columns:repeat(5,minmax(0,1fr)); background:linear-gradient(135deg,#3e3448,#76534c); }.theatre-seventeenth-board span,.theatre-seventeenth-board strong { min-height:8rem; padding:.65rem; border:1px solid #bd9a72; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-seventeenth-board strong { color:#fff; background:#a64d3c; }.theatre-seventeenth-labels { grid-template-columns:1fr 1.2fr 1fr; background:linear-gradient(90deg,#dbc1a5,#d8d2df); }.theatre-seventeenth-labels article,.theatre-seventeenth-labels strong { min-height:10rem; padding:.8rem; border:.16rem double #69576d; background:#fffdf8; text-align:center; }.theatre-seventeenth-labels article b,.theatre-seventeenth-labels article span { display:block; margin:.5rem; }.theatre-seventeenth-labels strong { color:#fff; background:#5a465f; display:grid; place-content:center; }
[data-theatre-eighteenth-ecosystem], [data-theatre-eighteenth-tragedy], [data-theatre-eighteenth-marivaux], [data-theatre-eighteenth-marivaudage], [data-theatre-eighteenth-drama], [data-theatre-eighteenth-fair], [data-theatre-eighteenth-figaro], [data-theatre-eighteenth-dossier] { border-color:#536d68; background:linear-gradient(145deg,#fffdf8,#dce8df); box-shadow:inset .35rem 0 #d28a3d; }
.theatre-eighteenth-board { display:grid; min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#30403f; background:radial-gradient(circle at 50% 50%,rgb(255 211 136 / .42),transparent 30%),#3c5858; }.theatre-eighteenth-board > * { min-width:0; overflow-wrap:anywhere; }.theatre-eighteenth-board span,.theatre-eighteenth-board strong { min-height:8.5rem; padding:.7rem; border:.15rem double #8a745c; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-eighteenth-board strong { color:#fff; background:#b35f3f; }
[data-theatre-nineteenth-ecosystem], [data-theatre-nineteenth-romantic], [data-theatre-nineteenth-hernani], [data-theatre-nineteenth-melodrama], [data-theatre-nineteenth-boulevard], [data-theatre-nineteenth-comparator], [data-theatre-nineteenth-ubu], [data-theatre-nineteenth-musset] { border-color:#6b536d; background:linear-gradient(145deg,#fffdf8,#eee2d4); box-shadow:inset .35rem 0 #a43e39; }
.theatre-nineteenth-city,.theatre-nineteenth-romantic,.theatre-nineteenth-dossier,.theatre-nineteenth-score,.theatre-nineteenth-boulevard,.theatre-nineteenth-comparator,.theatre-nineteenth-ubu,.theatre-nineteenth-musset { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#372f3c; }.theatre-nineteenth-city > *,.theatre-nineteenth-romantic > *,.theatre-nineteenth-dossier > *,.theatre-nineteenth-score > *,.theatre-nineteenth-boulevard > *,.theatre-nineteenth-comparator > *,.theatre-nineteenth-ubu > *,.theatre-nineteenth-musset > * { min-width:0; overflow-wrap:anywhere; }
.theatre-nineteenth-city { grid-template-columns:1fr auto 1fr; background:linear-gradient(155deg,#3f3145,#76523f); }.theatre-nineteenth-city span,.theatre-nineteenth-city strong { min-height:6.4rem; padding:.7rem; border:1px solid #c9a170; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-nineteenth-city strong { grid-column:1/-1; min-height:auto; color:#fff; background:#9f413c; }.theatre-nineteenth-city i { color:#f4d9ad; font-style:normal; font-weight:950; text-align:center; }
.theatre-nineteenth-romantic { grid-template-columns:1fr auto 1fr auto 1fr; background:linear-gradient(90deg,#d8c4ab,#c8b6ca); }.theatre-nineteenth-romantic article { min-height:9rem; padding:.75rem; border:.15rem double #65536b; background:#fffdf8; text-align:center; }.theatre-nineteenth-romantic article b,.theatre-nineteenth-romantic article span { display:block; margin:.45rem; }.theatre-nineteenth-romantic i { color:#983f36; font-style:normal; font-size:1.4rem; font-weight:950; }.theatre-nineteenth-romantic strong { grid-column:1/-1; padding:.7rem; color:#fff; background:#59435d; text-align:center; }
.theatre-nineteenth-dossier { grid-template-columns:repeat(4,minmax(0,1fr)); background:#46384d; }.theatre-nineteenth-dossier article { min-height:8.5rem; padding:.75rem; border-top:.35rem solid #a9473d; background:#fffdf8; text-align:center; }.theatre-nineteenth-dossier article b,.theatre-nineteenth-dossier article span { display:block; margin:.45rem; }.theatre-nineteenth-dossier strong { grid-column:1/-1; padding:.72rem; color:#3a3040; background:#ecd0a5; text-align:center; }
.theatre-nineteenth-score { grid-template-columns:1fr auto 1fr auto 1.35fr auto 1fr auto 1fr; background:repeating-linear-gradient(180deg,#f7eddc 0 1.55rem,#c8ad91 1.55rem 1.62rem); }.theatre-nineteenth-score span,.theatre-nineteenth-score strong { min-height:7.6rem; padding:.65rem; border:.14rem double #704e57; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-nineteenth-score strong { color:#fff; background:#a4423c; }.theatre-nineteenth-score i { color:#5c3c61; font-style:normal; font-size:1.5rem; font-weight:950; }
.theatre-nineteenth-boulevard { grid-template-columns:.75fr 1fr 1.35fr 1fr .75fr; background:linear-gradient(180deg,#6d4850,#2f2935); }.theatre-nineteenth-boulevard .door { min-height:11rem; border:.5rem double #d3ad76; border-bottom-width:1rem; color:#fff; background:#70453c; text-align:center; display:grid; place-content:center; }.theatre-nineteenth-boulevard article,.theatre-nineteenth-boulevard strong { min-height:8rem; padding:.72rem; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-nineteenth-boulevard article b,.theatre-nineteenth-boulevard article span { display:block; margin:.4rem; }.theatre-nineteenth-boulevard strong { color:#fff; background:#9c3f3a; }
.theatre-nineteenth-comparator { grid-template-columns:1fr .85fr 1fr; background:linear-gradient(90deg,#b7aa91 0 49.5%,#3e3a4d 50.5% 100%); }.theatre-nineteenth-comparator article,.theatre-nineteenth-comparator strong { min-height:11rem; padding:.85rem; border:.16rem double #755d62; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-nineteenth-comparator article b,.theatre-nineteenth-comparator article span { display:block; margin:.5rem; }.theatre-nineteenth-comparator strong { color:#fff; background:#843e46; }
.theatre-nineteenth-ubu { grid-template-columns:repeat(5,minmax(0,1fr)); background:repeating-conic-gradient(from 15deg,#3a303f 0 10deg,#8e3e3a 10deg 20deg); }.theatre-nineteenth-ubu span,.theatre-nineteenth-ubu strong { min-height:8.6rem; padding:.7rem; border:.2rem solid #2c2630; color:#2f2933; background:#f6e4ad; text-align:center; display:grid; place-content:center; transform:rotate(-1.5deg); }.theatre-nineteenth-ubu span:nth-child(even) { transform:rotate(1.5deg); }.theatre-nineteenth-ubu strong { color:#fff; background:#7a3140; font-size:1.05rem; transform:rotate(0); }
.theatre-nineteenth-musset { grid-template-columns:1fr .8fr 1fr; background:radial-gradient(circle at center,#ecd09c 0 12%,transparent 12.5%),linear-gradient(135deg,#4b3b55,#9a5549); }.theatre-nineteenth-musset article,.theatre-nineteenth-musset i,.theatre-nineteenth-musset strong,.theatre-nineteenth-musset em { padding:.75rem; text-align:center; }.theatre-nineteenth-musset article { min-height:9rem; border:.15rem double #765769; background:#fffdf8; }.theatre-nineteenth-musset article b,.theatre-nineteenth-musset article span { display:block; margin:.45rem; }.theatre-nineteenth-musset i { color:#fff4db; font-style:normal; font-weight:950; }.theatre-nineteenth-musset strong,.theatre-nineteenth-musset em { grid-column:1/-1; color:#fff; background:#8d3e44; }.theatre-nineteenth-musset em { background:#3d3347; }
[data-theatre-modern-ecosystem], [data-theatre-modern-poetic], [data-theatre-modern-engagement], [data-theatre-modern-absurd], [data-theatre-modern-media], [data-theatre-modern-triptych], [data-theatre-modern-hybrid], [data-theatre-modern-sarraute] { border-color:#315e6d; background:linear-gradient(145deg,#fbfbf7,#dcebed); box-shadow:inset .35rem 0 #d1563f; }
.theatre-modern-network,.theatre-modern-score,.theatre-modern-arena,.theatre-modern-absurd,.theatre-modern-studio,.theatre-modern-triptych,.theatre-modern-console,.theatre-modern-sarraute { display:grid; min-width:0; gap:.65rem; align-items:center; padding:1rem; border-radius:1rem; color:#263b45; }.theatre-modern-network > *,.theatre-modern-score > *,.theatre-modern-arena > *,.theatre-modern-absurd > *,.theatre-modern-studio > *,.theatre-modern-triptych > *,.theatre-modern-console > *,.theatre-modern-sarraute > * { min-width:0; overflow-wrap:anywhere; }
.theatre-modern-network { grid-template-columns:1fr auto 1fr; background:radial-gradient(circle at center,#d34f3f 0 12%,transparent 12.5%),#1d4e5d; }.theatre-modern-network span,.theatre-modern-network strong { min-height:6.6rem; padding:.7rem; border:.13rem solid #85b6bd; background:#fbfbf7; text-align:center; display:grid; place-content:center; }.theatre-modern-network strong { grid-column:1/-1; min-height:auto; color:#fff; background:#c3483b; }.theatre-modern-network i { color:#f5d49d; font-style:normal; font-weight:950; text-align:center; }
.theatre-modern-score { grid-template-columns:1fr auto 1fr auto 1.3fr auto 1fr auto 1fr; background:repeating-linear-gradient(180deg,#f8f5e8 0 1.5rem,#a6c3c7 1.5rem 1.58rem); }.theatre-modern-score span,.theatre-modern-score strong { min-height:7.5rem; padding:.65rem; border:.12rem solid #3f6875; background:#fffdf8; text-align:center; display:grid; place-content:center; }.theatre-modern-score strong { color:#fff; background:#b8473d; }.theatre-modern-score i { color:#1e5968; font-style:italic; font-weight:850; text-align:center; }
.theatre-modern-arena { grid-template-columns:repeat(5,minmax(0,1fr)); background:linear-gradient(135deg,#1d4b5c,#332f45); }.theatre-modern-arena article,.theatre-modern-arena strong { min-height:9rem; padding:.7rem; border:.12rem solid #89b5bc; background:#fbfbf7; text-align:center; display:grid; place-content:center; }.theatre-modern-arena article b,.theatre-modern-arena article span { display:block; margin:.42rem; }.theatre-modern-arena strong { color:#fff; background:#b8443c; }
.theatre-modern-absurd { grid-template-columns:1fr 1.2fr 1fr; background:repeating-conic-gradient(from 30deg,#d7e7e6 0 12deg,#f1d9bc 12deg 24deg); }.theatre-modern-absurd article,.theatre-modern-absurd strong { min-height:10rem; padding:.8rem; border:.17rem double #446774; background:#fbfbf7; text-align:center; display:grid; place-content:center; }.theatre-modern-absurd article b,.theatre-modern-absurd article span { display:block; margin:.48rem; }.theatre-modern-absurd strong { color:#fff; background:#344957; }.theatre-modern-absurd em { grid-column:1/-1; padding:.7rem; color:#fff; background:#bd493c; text-align:center; }
.theatre-modern-studio { grid-template-columns:1fr auto 1fr auto 1fr; background:linear-gradient(180deg,#183f50,#101b2a); }.theatre-modern-studio span,.theatre-modern-studio strong { min-height:8rem; padding:.75rem; border:.12rem solid #7fb4c1; color:#243b46; background:#fbfbf7; text-align:center; display:grid; place-content:center; }.theatre-modern-studio span small { display:block; margin-top:.45rem; }.theatre-modern-studio i { color:#f0c77f; font-size:1.5rem; font-style:normal; }.theatre-modern-studio strong { grid-column:1/-1; min-height:auto; color:#fff; background:#b4473d; }
.theatre-modern-triptych { grid-template-columns:repeat(3,minmax(0,1fr)); background:linear-gradient(90deg,#a8c8c9,#e7cfad,#b7b0cc); }.theatre-modern-triptych article { min-height:11rem; padding:.8rem; border:.13rem solid #355c68; background:#fbfbf7; text-align:center; display:grid; place-content:center; }.theatre-modern-triptych article b,.theatre-modern-triptych article span { display:block; margin:.48rem; }.theatre-modern-triptych strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#284c5c; text-align:center; }
.theatre-modern-console { grid-template-columns:repeat(5,minmax(0,1fr)); background:#183d4c; }.theatre-modern-console span { min-height:7.5rem; padding:.65rem; border-radius:50%; color:#183d4c; background:#f3d59f; text-align:center; display:grid; place-content:center; box-shadow:inset 0 0 0 .35rem #fffdf8; }.theatre-modern-console strong,.theatre-modern-console em { grid-column:1/-1; padding:.75rem; color:#fff; background:#bd493e; text-align:center; }.theatre-modern-console em { background:#2d5867; }
.theatre-modern-sarraute { grid-template-columns:1fr .7fr 1fr; background:repeating-linear-gradient(90deg,#dcecee 0 1px,transparent 1px 1.8rem),#193c4c; }.theatre-modern-sarraute article { min-height:11rem; padding:.8rem; border:.13rem solid #8ab6bf; background:#fbfbf7; text-align:center; }.theatre-modern-sarraute article b,.theatre-modern-sarraute article span,.theatre-modern-sarraute article small { display:block; margin:.48rem; }.theatre-modern-sarraute .wave { color:#c1483d; font-size:2rem; letter-spacing:.2rem; }.theatre-modern-sarraute i { color:#f5d49d; font-style:normal; font-weight:950; text-align:center; }.theatre-modern-sarraute strong { grid-column:1/-1; padding:.75rem; color:#fff; background:#bd493e; text-align:center; }
[data-literary-label], [data-literary-timeline], [data-literary-early], [data-literary-xixe], [data-literary-modern], [data-literary-evidence], [data-literary-program], [data-literary-paragraph] { border-color: #aa8a66; background: linear-gradient(145deg,#fffdf8,#f4eadc); }
.literary-coordinate-map, .literary-problem-wheel, .literary-response-network, .literary-evidence-scale, .literary-program-compass, .literary-paragraph-chain { display: grid; gap: .65rem; }
.literary-coordinate-map { grid-template-columns: repeat(5,minmax(0,1fr)); }
.literary-coordinate-map article, .literary-problem-wheel article, .literary-response-network article, .literary-evidence-scale article, .literary-program-compass article, .literary-paragraph-chain article { display: grid; gap: .28rem; min-height: 6.7rem; align-content: center; padding: .72rem; border: 1px solid #bea07c; border-radius: .8rem; color: #3f3b4d; background: rgb(255 253 248 / .92); text-align: center; }
.literary-coordinate-map b, .literary-problem-wheel b, .literary-response-network b, .literary-evidence-scale b, .literary-program-compass b, .literary-paragraph-chain b { color: #8b4d30; font-family: var(--serif); font-size: 1.04rem; }
.literary-coordinate-map > strong, .literary-problem-wheel > strong, .literary-evidence-scale > strong, .literary-program-compass > strong { grid-column: 1 / -1; padding: .7rem; border-radius: .7rem; color: #fff; background: #514559; text-align: center; }
.literary-timeline { display: grid; gap: .7rem; overflow-x: auto; padding-bottom: .25rem; }
.literary-timeline__centuries, .literary-timeline__tracks { display: grid; min-width: 47rem; grid-template-columns: repeat(6,1fr); }
.literary-timeline__centuries span { padding: .5rem; border-left: 1px solid #bea07c; color: #65566d; font-weight: 850; text-align: center; }
.literary-timeline__tracks { position: relative; min-height: 21rem; grid-template-rows: repeat(5,3.35rem); border: 1px solid #c9ad8d; border-radius: .8rem; background: repeating-linear-gradient(90deg,transparent 0 calc(16.666% - 1px),rgb(101 75 70 / .15) calc(16.666% - 1px) 16.666%),#fffdf8; }
.literary-timeline__tracks i { position: absolute; z-index: 1; left: calc((var(--start) - 1) * 16.666%); display: grid; width: calc(var(--span) * 16.666%); min-height: 2.45rem; place-items: center; padding: .35rem .55rem; border-radius: 999px; color: #fff; background: linear-gradient(100deg,#8b4d30,#5f4c68); box-shadow: 0 .3rem .7rem rgb(65 50 53 / .14); font-style: normal; font-weight: 850; text-align: center; }
.literary-timeline__tracks i:nth-child(1), .literary-timeline__tracks i:nth-child(4), .literary-timeline__tracks i:nth-child(9) { top: .6rem; }.literary-timeline__tracks i:nth-child(2), .literary-timeline__tracks i:nth-child(5), .literary-timeline__tracks i:nth-child(10) { top: 4.25rem; }.literary-timeline__tracks i:nth-child(3), .literary-timeline__tracks i:nth-child(6) { top: 7.9rem; }.literary-timeline__tracks i:nth-child(7) { top: 11.55rem; }.literary-timeline__tracks i:nth-child(8) { top: 15.2rem; }
.literary-timeline > em, .literary-response-network > em, .literary-collective-meter > em { color: #665a62; text-align: center; }
.literary-problem-wheel { grid-template-columns: repeat(4,minmax(0,1fr)); }
.literary-problem-wheel article { min-height: 7.5rem; border-radius: 50% 50% .8rem .8rem; }
.literary-response-network { grid-template-columns: repeat(5,minmax(0,1fr)); }
.literary-response-network article:nth-child(odd) { transform: translateY(.65rem); }.literary-response-network > em { grid-column: 1 / -1; margin-top: .5rem; }
.literary-collective-meter { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; align-items: stretch; }
.literary-collective-meter span { display: grid; min-height: 5.2rem; place-items: center; padding: .55rem; border: 1px solid #bea07c; border-radius: .7rem; color: #4c4453; background: #fffdf8; text-align: center; font-weight: 800; }
.literary-collective-meter span:nth-child(5) { border-style: dashed; background: #f6e7df; }
.literary-collective-meter i { grid-column: 1 / -1; height: .8rem; border-radius: 999px; background: linear-gradient(90deg,#d5b07e,#8b4d30 68%,#7d6a86); }
.literary-collective-meter > em { grid-column: 1 / -1; }
.literary-evidence-scale { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; }
.literary-evidence-scale article:nth-child(1) { min-height: 4.8rem; }.literary-evidence-scale article:nth-child(2) { min-height: 6.2rem; }.literary-evidence-scale article:nth-child(3) { min-height: 7.6rem; }.literary-evidence-scale article:nth-child(4) { min-height: 9rem; border-color: #8b4d30; }
.literary-evidence-scale article b { font-family: var(--sans); font-size: .88rem; text-transform: uppercase; letter-spacing: .06em; }
.literary-program-compass { grid-template-columns: repeat(2,minmax(0,1fr)); }.literary-program-compass article { min-height: 7.5rem; }.literary-program-compass article:nth-child(1), .literary-program-compass article:nth-child(4) { background: #f5e6dd; }.literary-program-compass article:nth-child(2), .literary-program-compass article:nth-child(3) { background: #f1ebf4; }
.literary-paragraph-chain { grid-template-columns: repeat(9,auto); align-items: center; }.literary-paragraph-chain article { min-width: 7rem; min-height: 6rem; }.literary-paragraph-chain > i { color: #8b4d30; font-style: normal; font-size: 1.4rem; font-weight: 950; }

@media (max-width: 640px) {
  .energy-chain-passport, .calorific-value-bench, .energy-claim-audit, .fossil-evidence-chain { grid-template-columns: 1fr; }
  .energy-chain-passport > em, .calorific-value-bench > em, .energy-claim-audit > em, .fossil-evidence-chain > strong, .fossil-evidence-chain > em { grid-column: auto; }
  .energy-chain-passport article, .energy-chain-passport > strong, .calorific-value-bench article, .calorific-value-bench > strong, .energy-claim-audit > span, .energy-claim-audit > strong, .energy-claim-audit > b, .fossil-evidence-chain > span { min-height: auto; }
  .energy-chain-passport > i, .calorific-value-bench > i, .energy-claim-audit > i, .fossil-evidence-chain > i { transform: rotate(90deg); }
  .energy-timescale-board article { grid-template-columns: 1fr; }
  .biomass-carbon-ledger > div { grid-template-columns: 1fr; }
  .energy-criteria-passport { grid-template-columns: .72fr repeat(3,minmax(0,1fr)); overflow: hidden; font-size: .72rem; }
  .energy-criteria-passport > * { padding: .42rem .28rem; overflow-wrap: anywhere; hyphens: auto; }
  .earth-evidence-wheel, .earth-model-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .earth-evidence-wheel article { min-height: 6.5rem; }
  .earth-model-stack__ellipsoid, .earth-model-stack__ellipsoid > * { transform: none; }
  .earth-radius-bench, .earth-coordinate-globe { grid-template-columns: 1fr; }
  .earth-radius-bench > strong:nth-of-type(2), .earth-radius-bench > em, .earth-coordinate-globe > em { grid-column: auto; }
  .eratosthenes-shadow-lab > div, .earth-horizon-lab > div, .triangulation-chain-lab > div, .earth-route-comparator > div { grid-template-columns: 1fr; }
  .eratosthenes-shadow-lab > div > i, .triangulation-chain-lab > div > i { transform: rotate(90deg); }
  .earth-coordinate-globe > div { grid-template-columns: 1fr; }
  [data-earth-evidence] .segmented-control, [data-earth-model] .segmented-control, [data-earth-eratosthenes] .segmented-control, [data-earth-radius] .segmented-control, [data-earth-horizon] .segmented-control, [data-earth-triangulation] .segmented-control, [data-earth-coordinate] .segmented-control, [data-earth-route] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .age-time-telescope, .meteorite-convergence > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .age-time-telescope article, .age-time-telescope > strong { min-height: 8.5rem; }
  .age-evidence-passport { grid-template-columns: 1fr; }
  .age-evidence-passport > em, .age-time-telescope > em { grid-column: auto; }
  .buffon-cooling-lab, .sediment-archive-lab, .darwin-kelvin-debate, .radiometric-double-role { grid-template-columns: 1fr; }
  .buffon-cooling-lab > em, .darwin-kelvin-debate > em, .radiometric-double-role > figure, .radiometric-double-role > em { grid-column: auto; }
  .buffon-cooling-lab > span, .darwin-kelvin-debate > i { transform: rotate(90deg); }
  .radiometric-double-role > article { grid-template-columns: 1fr; }
  .radiometric-double-role > article b, .radiometric-double-role > article small { grid-column: auto; }
  [data-age-scale] .segmented-control, [data-age-passport] .segmented-control, [data-age-buffon] .segmented-control, [data-age-sediment] .segmented-control, [data-age-debate] .segmented-control, [data-age-kelvin] .segmented-control, [data-age-radio] .segmented-control, [data-age-convergence] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .universe-frame-stage, .galileo-evidence-gate, .moon-phase-lab > div, .earth-orbit-track > div, .habitable-zone-gate ol { grid-template-columns: 1fr; }
  .universe-frame-stage > em, .galileo-evidence-gate article, .galileo-evidence-gate > em, .earth-orbit-track > em, .moon-phase-lab > em, .habitable-zone-gate > em, .water-reserve-funnel > em { grid-column: auto; }
  .universe-frame-stage > i, .earth-orbit-track > div > i { transform: rotate(90deg); }
  .universe-model-ledger { grid-template-columns: .72fr repeat(3,minmax(0,1fr)); font-size: .72rem; }
  .universe-model-ledger > * { padding: .42rem .24rem; overflow-wrap: anywhere; hyphens: auto; }
  .galileo-evidence-gate article { min-height: 9rem; }
  .moon-sync-turntable > div { min-height: 20rem; }
  .habitable-zone-gate > div { min-height: 10rem; padding: .5rem; font-size: .78rem; }
  .water-reserve-funnel article { width: 100%; min-width: 0; }
  [data-universe-frame] .segmented-control, [data-universe-model] .segmented-control, [data-universe-galileo] .segmented-control, [data-universe-orbit] .segmented-control, [data-universe-phase] .segmented-control, [data-universe-sync] .segmented-control, [data-universe-habitable] .segmented-control, [data-universe-water] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .season-timescale, .terminator-lab, .season-controls, .season-readout, .season-calendar-wheel, .daylight-latitude-board, .solar-height-bench > div, .season-hypothesis-audit { grid-template-columns: 1fr; }
  .season-timescale > em, .terminator-lab > em, .season-calendar-wheel > em, .daylight-latitude-board > em, .season-hypothesis-audit > em { grid-column: auto; }
  .season-timescale > i { transform: rotate(90deg); text-align: center; }
  .season-timescale article, .terminator-lab article, .season-calendar-wheel article, .season-hypothesis-audit article { min-height: auto; }
  .season-orbit-stage { min-height: 20rem; }
  .season-orbit-ring { inset: 13% 6%; }
  .season-orbit-ring article { transform: translate(-50%,-50%) rotate(var(--season-angle)) translateX(min(34vw,8.2rem)) rotate(calc(-1 * var(--season-angle))); }
  .season-controls .button { width: 100%; }
  .season-lag-chart svg { min-width: 34rem; }
  .season-lag-chart { overflow-x: auto; }
  [data-season-cycle] .segmented-control, [data-season-terminator] .segmented-control, [data-season-calendar] .segmented-control, [data-season-daylight] .segmented-control, [data-season-height] .segmented-control, [data-season-distance] .segmented-control, [data-season-lag] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sound-wave-studio > div, .sound-period-ruler > div, .sound-timbre-fingerprint, .sound-decibel-ladder > div, .sound-string-workbench, .sound-string-workbench > div, .sound-interval-gate, .sound-scale-comparator > div:last-of-type { grid-template-columns: 1fr; }
  .sound-timbre-fingerprint > strong, .sound-string-workbench > div, .sound-interval-gate > strong, .sound-wave-studio > em, .sound-period-ruler > em, .sound-harmonic-builder > em, .sound-timbre-fingerprint > em, .sound-decibel-ladder > em, .sound-string-workbench > em, .sound-interval-gate > em, .sound-scale-comparator > em { grid-column: auto; }
  .sound-period-ruler > div > i, .sound-interval-gate > i { transform: rotate(90deg); }
  .sound-decibel-ladder article { min-height: auto; }
  .sound-string-workbench > div { grid-template-columns: 1fr 1fr; }
  .sound-interval-gate article { min-width: 0; width: 100%; border-radius: .8rem; }
  .scale-keyboard { gap: .1rem; padding: .4rem; }
  .scale-keyboard i { font-size: .68rem; }
  [data-sound-wave] .segmented-control, [data-sound-period] .segmented-control, [data-sound-harmonic] .segmented-control, [data-sound-timbre] .segmented-control, [data-sound-decibel] .segmented-control, [data-sound-string] .segmented-control, [data-sound-interval] .segmented-control, [data-sound-scale] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .audio-digitizer__controls, .audio-digitizer__chain, .audio-nyquist-gate, .alias-traces, .audio-binary-decoder > div, .audio-binary-decoder > p, .audio-size-calculator > div, .audio-compression-audit > div, .audio-compression-audit > p, .audio-scenario-matrix { grid-template-columns: 1fr; }
  .audio-digitizer > em, .audio-nyquist-gate > strong, .audio-nyquist-gate > div, .audio-scenario-matrix > em { grid-column: auto; }
  .audio-nyquist-gate > i, .audio-compression-audit > div > i, .audio-binary-decoder > p i { transform: rotate(90deg); text-align: center; }
  .audio-quantization-grid > p { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .audio-sampling-ruler > div { min-width: 34rem; }
  [data-audio-sampling] .segmented-control, [data-audio-nyquist] .segmented-control, [data-audio-quantization] .segmented-control, [data-audio-binary] .segmented-control, [data-audio-size] .segmented-control, [data-audio-compression] .segmented-control, [data-audio-scenario] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hearing-pathway, .hearing-haircells, .hearing-tonotopy > p, .hearing-brain > p, .hearing-risk > div:first-child, .hearing-attenuation > div, .hearing-attenuation > p, .hearing-router { grid-template-columns: 1fr; }
  .hearing-pathway > em, .hearing-haircells > em, .hearing-router > em { grid-column: auto; }
  .hearing-pathway > i, .hearing-tonotopy > p i, .hearing-brain > p i, .hearing-attenuation > div > i, .hearing-router > i { transform: rotate(90deg); text-align: center; }
  [data-hearing-pathway] .segmented-control, [data-hearing-audiogram] .segmented-control, [data-hearing-tonotopy] .segmented-control, [data-hearing-haircells] .segmented-control, [data-hearing-brain] .segmented-control, [data-hearing-attenuation] .segmented-control, [data-hearing-router] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .literary-coordinate-map, .literary-problem-wheel, .literary-response-network, .literary-collective-meter, .literary-evidence-scale, .literary-program-compass, .literary-paragraph-chain { grid-template-columns: 1fr; }
  .literary-coordinate-map > strong, .literary-problem-wheel > strong, .literary-response-network > em, .literary-collective-meter i, .literary-collective-meter > em, .literary-evidence-scale > strong, .literary-program-compass > strong { grid-column: auto; }
  .literary-response-network article:nth-child(odd) { transform: none; }
  .literary-evidence-scale article:nth-child(n), .literary-coordinate-map article, .literary-problem-wheel article, .literary-response-network article, .literary-program-compass article, .literary-paragraph-chain article { min-height: auto; }
  .literary-paragraph-chain > i { transform: rotate(90deg); text-align: center; }
  [data-literary-label] .segmented-control, [data-literary-timeline] .segmented-control, [data-literary-early] .segmented-control, [data-literary-xixe] .segmented-control, [data-literary-modern] .segmented-control, [data-literary-evidence] .segmented-control, [data-literary-program] .segmented-control, [data-literary-paragraph] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .antique-voice-chain, .antique-invocation, .antique-truth-gate, .antique-magnet-chain, .antique-mimesis-workbench, .antique-orpheus-map, .antique-metamorphosis-ledger, .antique-rewrite-lens { grid-template-columns: 1fr; }
  .antique-invocation > em, .antique-truth-gate > strong, .antique-magnet-chain > em { grid-column: auto; }
  .antique-voice-chain > i, .antique-mimesis-workbench > i, .antique-orpheus-map > i, .antique-rewrite-lens > i, .antique-invocation > i { transform: rotate(90deg); text-align: center; }
  .antique-magnet-chain > i { width: .35rem; height: 2rem; justify-self: center; }
  [data-antique-oral] .segmented-control, [data-antique-invocation] .segmented-control, [data-antique-truth] .segmented-control, [data-antique-plato] .segmented-control, [data-antique-aristotle] .segmented-control, [data-antique-orpheus] .segmented-control, [data-antique-ovid] .segmented-control, [data-antique-rewrite] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .poetry-function-compass, .poetry-lyric-relay, .poetry-memory-loop, .poetry-engagement-chain, .poetry-autonomy-balance, .poetry-knowledge-ladder, .poetry-program-workshops, .poetry-analysis-score { grid-template-columns: 1fr; }
  .poetry-lyric-relay > em, .poetry-memory-loop > em, .poetry-engagement-chain > em, .poetry-autonomy-balance > em, .poetry-knowledge-ladder > strong, .poetry-program-workshops > strong { grid-column: auto; }
  .poetry-lyric-relay > i, .poetry-memory-loop > i, .poetry-engagement-chain > i, .poetry-autonomy-balance > i, .poetry-analysis-score > i { transform: rotate(90deg); }
  .poetry-function-compass article, .poetry-function-compass > strong, .poetry-lyric-relay article, .poetry-lyric-relay > strong, .poetry-memory-loop > span, .poetry-memory-loop > strong, .poetry-engagement-chain > span, .poetry-engagement-chain > strong, .poetry-autonomy-balance article, .poetry-autonomy-balance > strong, .poetry-knowledge-ladder article:nth-child(n), .poetry-program-workshops article, .poetry-analysis-score > span, .poetry-analysis-score > strong { min-width: 0; min-height: auto; }
  [data-poetry-function] .segmented-control, [data-poetry-lyric] .segmented-control, [data-poetry-memory] .segmented-control, [data-poetry-engagement] .segmented-control, [data-poetry-autonomy] .segmented-control, [data-poetry-knowledge] .segmented-control, [data-poetry-program] .segmented-control, [data-poetry-analysis] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .prosody-unit-passport, .prosody-reading-protocol, .prosody-schwa-gate, .prosody-vowel-switch, .prosody-meter-atlas, .prosody-rhythm-workbench > div, .prosody-syntax-router { grid-template-columns: 1fr; }
  .prosody-unit-passport > i, .prosody-reading-protocol > i, .prosody-vowel-switch > i { transform: rotate(90deg); text-align: center; }
  .prosody-vowel-switch > em, .prosody-meter-atlas > em, .prosody-syntax-router > strong, .prosody-syntax-router > em { grid-column: auto; }
  .prosody-zone-counter { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .prosody-zone-counter > strong { grid-column: 1 / -1; }
  .prosody-unit-passport > span, .prosody-unit-passport > strong, .prosody-reading-protocol > span, .prosody-reading-protocol > strong, .prosody-schwa-gate > *, .prosody-meter-atlas article { min-height: auto; }
  [data-prosody-unit] .segmented-control, [data-prosody-schwa] .segmented-control, [data-prosody-dieresis] .segmented-control, [data-prosody-zone] .segmented-control, [data-prosody-meter] .segmented-control, [data-prosody-rhythm] .segmented-control, [data-prosody-syntax] .segmented-control, [data-prosody-reading] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rhyme-ear-gate, .rhyme-phoneme-counter, .rhyme-return-map, .poem-stanza-plan, .poem-syntax-three, .poem-form-passports, .poem-open-page, .poem-analysis-ledger { grid-template-columns: 1fr; }
  .rhyme-ear-gate > i, .poem-analysis-ledger > i { transform: rotate(90deg); text-align: center; }
  .rhyme-ear-gate > strong { justify-self: center; }
  .rhyme-ear-gate > em, .rhyme-phoneme-counter > p, .poem-open-page > strong { grid-column: auto; }
  .poem-stanza-plan > strong { writing-mode: horizontal-tb; text-align: center; }
  .rhyme-phoneme-counter article, .poem-stanza-plan article, .poem-syntax-three article, .poem-form-passports article, .poem-open-page article, .poem-analysis-ledger > span, .poem-analysis-ledger > strong { min-height: auto; }
  [data-rhyme-sound] .segmented-control, [data-rhyme-richness] .segmented-control, [data-rhyme-scheme] .segmented-control, [data-poem-stanza] .segmented-control, [data-poem-syntax] .segmented-control, [data-poem-fixed] .segmented-control, [data-poem-open] .segmented-control, [data-poem-analysis] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .free-boundary-passport, .free-program-protocol, .free-linebreak-lab, .free-syntax-switch, .free-page-score, .prose-poem-gate, .lineation-comparator { grid-template-columns: 1fr; }
  .free-boundary-passport > i, .free-program-protocol > i, .free-syntax-switch > i, .prose-poem-gate > i { transform: rotate(90deg); text-align: center; }
  .free-syntax-switch > em, .free-page-score > em, .prose-poem-gate > strong, .lineation-comparator > strong { grid-column: auto; }
  .free-page-score > strong { writing-mode: horizontal-tb; text-align: center; }
  .free-boundary-passport > span, .free-boundary-passport > strong, .free-program-protocol > span, .free-program-protocol > strong, .free-page-score article, .prose-poem-gate article { min-height: auto; }
  [data-free-unit] .segmented-control, [data-free-linebreak] .segmented-control, [data-free-recurrence] .segmented-control, [data-free-syntax] .segmented-control, [data-free-page] .segmented-control, [data-prose-poem] .segmented-control, [data-lineation] .segmented-control, [data-free-program] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .xix-force-map, .xix-romantic-relay, .xix-gaze-audit, .xix-hugo-roles, .xix-autonomy-balance, .xix-baudelaire-compass, .xix-symbol-network, .xix-rimbaud-workbench { grid-template-columns: 1fr; }
  .xix-romantic-relay > i, .xix-gaze-audit > i, .xix-autonomy-balance > i, .xix-rimbaud-workbench > i { transform: rotate(90deg); text-align: center; }
  .xix-romantic-relay > strong, .xix-autonomy-balance > strong, .xix-baudelaire-compass > i, .xix-symbol-network > em, .xix-rimbaud-workbench > em { grid-column: auto; }
  .xix-force-map article, .xix-force-map > strong, .xix-romantic-relay article, .xix-gaze-audit > span, .xix-gaze-audit > strong, .xix-hugo-roles article, .xix-hugo-roles > strong, .xix-autonomy-balance article, .xix-baudelaire-compass > span, .xix-baudelaire-compass > strong, .xix-symbol-network article, .xix-symbol-network > strong, .xix-rimbaud-workbench > span, .xix-rimbaud-workbench > strong { min-height: auto; }
  [data-xix-century] .segmented-control, [data-xix-romantic] .segmented-control, [data-xix-gaze] .segmented-control, [data-xix-hugo] .segmented-control, [data-xix-autonomy] .segmented-control, [data-xix-baudelaire] .segmented-control, [data-xix-symbol] .segmented-control, [data-xix-rimbaud] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .xx-constellation, .xx-calligram-route, .xx-surreal-gate, .xx-circulation-map, .xx-negritude-network, .xx-oulipo-generator, .xx-forest-resonance { grid-template-columns: 1fr; }
  .xx-surreal-gate > i, .xx-oulipo-generator > i { transform: rotate(90deg); text-align: center; }
  .xx-constellation > em, .xx-calligram-route__paths strong, .xx-surreal-gate > em, .xx-circulation-map > em, .xx-negritude-network > em, .xx-oulipo-generator > strong, .xx-forest-resonance > em { grid-column: auto; }
  .xx-constellation article, .xx-constellation > strong, .xx-circulation-map article, .xx-circulation-map > strong, .xx-negritude-network article, .xx-negritude-network > strong, .xx-surreal-gate > span, .xx-surreal-gate > strong, .xx-oulipo-generator article, .xx-forest-resonance > span, .xx-forest-resonance > strong { min-height: auto; }
  .xx-forest-resonance { border-radius: 1rem; background: linear-gradient(180deg,#dcebe4,#6f9b8a); }
  [data-xx-constellation] .segmented-control, [data-xx-apollinaire] .segmented-control, [data-xx-surreal] .segmented-control, [data-xx-engagement] .segmented-control, [data-xx-negritude] .segmented-control, [data-xx-ponge] .segmented-control, [data-xx-oulipo] .segmented-control, [data-xx-dorion] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ideas-domain-map, .ideas-position-compass, .ideas-proof-bridge, .ideas-rhetoric-triangle, .ideas-voice-corridor, .ideas-publication-route, .ideas-program-prism, .ideas-analysis-chain { grid-template-columns: 1fr; }
  .ideas-position-compass > i, .ideas-voice-corridor > i, .ideas-publication-route > i, .ideas-analysis-chain > i { transform: rotate(90deg); text-align: center; }
  .ideas-domain-map > em, .ideas-proof-bridge > em, .ideas-rhetoric-triangle > strong, .ideas-rhetoric-triangle > em, .ideas-voice-corridor > em, .ideas-publication-route > em, .ideas-program-prism > strong { grid-column: auto; }
  .ideas-domain-map article, .ideas-domain-map > strong, .ideas-position-compass > span, .ideas-position-compass > strong, .ideas-proof-bridge > span, .ideas-proof-bridge > strong, .ideas-rhetoric-triangle > span, .ideas-voice-corridor > span, .ideas-voice-corridor > strong, .ideas-publication-route > span, .ideas-publication-route > strong, .ideas-program-prism article, .ideas-analysis-chain > span, .ideas-analysis-chain > strong { min-height: auto; }
  .ideas-proof-bridge { padding-top: 0; }.ideas-proof-bridge > strong { margin-top: 0; border-radius: .75rem; }.ideas-proof-bridge > strong::before, .ideas-proof-bridge > strong::after, .ideas-rhetoric-triangle::before { display: none; }
  .ideas-rhetoric-triangle { min-height: auto; grid-template-rows: none; padding: 0; }.ideas-rhetoric-triangle > span:nth-child(2) { transform: none; }
  [data-ideas-domain] .segmented-control, [data-ideas-position] .segmented-control, [data-ideas-argument] .segmented-control, [data-ideas-address] .segmented-control, [data-ideas-explicit] .segmented-control, [data-ideas-circulation] .segmented-control, [data-ideas-program] .segmented-control, [data-ideas-analysis] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .renaissance-overlap-map, .renaissance-print-workbench, .renaissance-distance-lab, .renaissance-project-table, .renaissance-conflict-map, .renaissance-gaze-audit, .renaissance-liberty-chain, .renaissance-passport { grid-template-columns: 1fr; }
  .renaissance-overlap-map { min-height: auto; grid-template-rows: none; background: #fffdf7; }.renaissance-overlap-map .is-long, .renaissance-overlap-map .is-early, .renaissance-overlap-map .is-core, .renaissance-overlap-map .is-late, .renaissance-overlap-map > strong, .renaissance-distance-lab > strong, .renaissance-project-table > strong, .renaissance-conflict-map > em, .renaissance-gaze-audit > em, .renaissance-liberty-chain > em, .renaissance-passport > em { grid-column: auto; }
  .renaissance-print-workbench > i, .renaissance-conflict-map > i, .renaissance-gaze-audit > i, .renaissance-liberty-chain > i { transform: rotate(90deg); text-align: center; }.renaissance-print-workbench article, .renaissance-distance-lab article, .renaissance-project-table article, .renaissance-conflict-map > span, .renaissance-conflict-map > strong, .renaissance-gaze-audit > span, .renaissance-gaze-audit > strong, .renaissance-liberty-chain article, .renaissance-liberty-chain > strong, .renaissance-passport > span, .renaissance-passport > strong { min-height: auto; }
  .renaissance-distance-lab div { min-height: 3rem; transform: rotate(90deg); }.renaissance-distance-lab article:first-child, .renaissance-distance-lab article:nth-child(3) { border-radius: .65rem; }
  [data-renaissance-period] .segmented-control, [data-renaissance-print] .segmented-control, [data-renaissance-antique] .segmented-control, [data-renaissance-language] .segmented-control, [data-renaissance-religion] .segmented-control, [data-renaissance-encounter] .segmented-control, [data-renaissance-laboetie] .segmented-control, [data-renaissance-method] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .seventeenth-constellation, .seventeenth-mercury-lab, .seventeenth-fragment-table, .seventeenth-apology-route, .seventeenth-politics-ledger, .seventeenth-moral-lenses, .seventeenth-stage, .seventeenth-night-dialogue, .seventeenth-stage article, .seventeenth-night-dialogue article { grid-template-columns: 1fr; }
  .seventeenth-constellation article, .seventeenth-constellation > strong, .seventeenth-mercury-lab article, .seventeenth-apology-route > span, .seventeenth-apology-route > strong, .seventeenth-politics-ledger article, .seventeenth-politics-ledger > strong, .seventeenth-moral-lenses article, .seventeenth-stage article > span, .seventeenth-stage article > strong, .seventeenth-night-dialogue article > span, .seventeenth-night-dialogue article > strong { min-height: auto; border-radius: .7rem; }
  .seventeenth-constellation > em, .seventeenth-mercury-lab > em, .seventeenth-fragment-table > strong, .seventeenth-fragment-table > em, .seventeenth-apology-route > em, .seventeenth-politics-ledger > p, .seventeenth-moral-lenses > strong, .seventeenth-stage > p, .seventeenth-stage > em { grid-column: auto; }
  .seventeenth-fragment-table { grid-template-columns: repeat(2,1fr); }.seventeenth-apology-route > i { transform: rotate(90deg); text-align: center; }.seventeenth-stage { grid-template-columns: .22fr 1fr .22fr; }.seventeenth-stage article { grid-column: 2; }.seventeenth-night-dialogue article { grid-column: 1; }.seventeenth-stage > p, .seventeenth-stage > em { grid-column: 1 / -1; }
  [data-seventeenth-century] .segmented-control, [data-seventeenth-science] .segmented-control, [data-seventeenth-fragments] .segmented-control, [data-seventeenth-pascal] .segmented-control, [data-seventeenth-politics] .segmented-control, [data-seventeenth-moralists] .segmented-control, [data-seventeenth-moliere] .segmented-control, [data-seventeenth-fontenelle] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eighteenth-lights-map, .eighteenth-print-route, .eighteenth-cabinet, .eighteenth-powers-mirror, .eighteenth-voltaire-desk, .eighteenth-rousseau-balance, .eighteenth-quipu-letters, .eighteenth-analysis-press { grid-template-columns: 1fr; }
  .eighteenth-lights-map article, .eighteenth-lights-map > strong, .eighteenth-print-route > span, .eighteenth-print-route > strong, .eighteenth-cabinet article, .eighteenth-powers-mirror article, .eighteenth-voltaire-desk > span, .eighteenth-voltaire-desk > strong, .eighteenth-rousseau-balance article, .eighteenth-analysis-press > span { min-height: auto; border-radius: .7rem; transform: none; }
  .eighteenth-lights-map > em, .eighteenth-print-route > em, .eighteenth-cabinet > strong, .eighteenth-powers-mirror > strong, .eighteenth-voltaire-desk > em, .eighteenth-rousseau-balance > em, .eighteenth-quipu-letters > em, .eighteenth-analysis-press > strong, .eighteenth-analysis-press > em { grid-column: auto; }
  .eighteenth-print-route > i, .eighteenth-analysis-press > i { transform: rotate(90deg); text-align: center; }.eighteenth-cabinet .is-plate { grid-template-columns: repeat(3,1fr); }.eighteenth-rousseau-balance > div { min-height: 7rem; }.quipu { min-height: 8rem; }.quipu i { height: min(var(--len,8rem),7rem); }.salon-window { min-height: 7rem; border-radius: .7rem; }
  [data-eighteenth-lights] .segmented-control, [data-eighteenth-circulation] .segmented-control, [data-eighteenth-encyclopedia] .segmented-control, [data-eighteenth-montesquieu] .segmented-control, [data-eighteenth-voltaire] .segmented-control, [data-eighteenth-rousseau] .segmented-control, [data-eighteenth-graffigny] .segmented-control, [data-eighteenth-method] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .direct-voice-gauge, .direct-situation-map, .direct-thesis-building, .direct-proof-bridge, .direct-evidence-bench, .direct-address-rostrum, .direct-genre-passports, .direct-laboetie-tribune { grid-template-columns: 1fr; }
  .direct-voice-gauge > span, .direct-voice-gauge > strong, .direct-situation-map > span, .direct-situation-map > strong, .direct-laboetie-tribune > span, .direct-laboetie-tribune > strong, .direct-thesis-building article, .direct-proof-bridge > span, .direct-proof-bridge > strong, .direct-evidence-bench article, .direct-address-rostrum > span, .direct-genre-passports article { min-height: auto; border-radius: .7rem; }
  .direct-voice-gauge > i, .direct-situation-map > i, .direct-laboetie-tribune > i { transform: rotate(90deg); text-align: center; }.direct-voice-gauge > em, .direct-situation-map > em, .direct-laboetie-tribune > em, .direct-thesis-building > strong, .direct-thesis-building > em, .direct-proof-bridge > em, .direct-evidence-bench > strong, .direct-address-rostrum > strong, .direct-address-rostrum > em, .direct-genre-passports > strong { grid-column: auto; }.direct-proof-bridge > div { min-height: 7rem; }.direct-address-rostrum > strong { justify-self: stretch; }
  [data-direct-responsibility] .segmented-control, [data-direct-situation] .segmented-control, [data-direct-architecture] .segmented-control, [data-direct-reasoning] .segmented-control, [data-direct-evidence] .segmented-control, [data-direct-address] .segmented-control, [data-direct-genres] .segmented-control, [data-direct-laboetie] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dialogue-levels-stage, .dialogue-turn-tags, .dialogue-uptake-relay, .dialogue-power-table, .dialogue-position-tracks, .dialogue-audience-prism, .dialogue-form-passports, .dialogue-fontenelle-salon { grid-template-columns: 1fr; }
  .dialogue-levels-stage > strong, .dialogue-levels-stage > div span, .dialogue-turn-tags span, .dialogue-uptake-relay article, .dialogue-power-table > strong, .dialogue-power-table > span, .dialogue-position-tracks > i, .dialogue-position-tracks > span, .dialogue-position-tracks > strong, .dialogue-audience-prism > strong, .dialogue-audience-prism > span, .dialogue-form-passports article, .dialogue-fontenelle-salon > span { min-height: auto; border-radius: .7rem; }
  .dialogue-levels-stage > div section { grid-template-columns: 1fr; }.dialogue-levels-stage > div section i, .dialogue-fontenelle-salon > i { transform: rotate(90deg); text-align: center; }.dialogue-uptake-relay > strong, .dialogue-power-table > em, .dialogue-audience-prism > em, .dialogue-form-passports > strong, .dialogue-fontenelle-salon > strong, .dialogue-fontenelle-salon > em { grid-column: auto; }.dialogue-position-tracks { background: #dbe7ef; }.dialogue-fontenelle-salon .stars { position: static; letter-spacing: .8rem; }.dialogue-fontenelle-salon { overflow: visible; }
  [data-dialogue-device] .segmented-control, [data-dialogue-moves] .segmented-control, [data-dialogue-uptake] .segmented-control, [data-dialogue-power] .segmented-control, [data-dialogue-trajectories] .segmented-control, [data-dialogue-audiences] .segmented-control, [data-dialogue-forms] .segmented-control, [data-dialogue-fontenelle] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .narrative-lab-bench,.narrative-causal-track,.narrative-camera-map,.narrative-character-file,.narrative-allegory-bridge,.narrative-fable-scale,.narrative-world-model,.narrative-candide-route { grid-template-columns:1fr; }.narrative-lab-bench i,.narrative-causal-track i,.narrative-candide-route i,.narrative-fable-scale > i { transform:rotate(90deg); text-align:center; }.narrative-causal-track em,.narrative-camera-map > strong,.narrative-character-file > strong,.narrative-allegory-bridge > strong,.narrative-fable-scale > strong,.narrative-world-model > strong,.narrative-world-model > em { grid-column:auto; }.narrative-camera-map span,.narrative-character-file span,.narrative-fable-scale > span,.narrative-world-model > span { min-height:auto; border-radius:.7rem; }
  [data-narrative-experiment] .segmented-control,[data-narrative-causality] .segmented-control,[data-narrative-information] .segmented-control,[data-narrative-character] .segmented-control,[data-narrative-allegory] .segmented-control,[data-narrative-fable] .segmented-control,[data-narrative-worlds] .segmented-control,[data-narrative-candide] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .story-layered-timeline,.story-homer-chain,.story-epic-arena,.story-roland-dossiers,.story-romanz-workbench,.story-arthurian-map,.story-manuscript-page,.story-renaissance-press { grid-template-columns:1fr; }.story-layered-timeline strong,.story-epic-arena em,.story-arthurian-map em,.story-manuscript-page > strong { grid-column:auto; }.story-homer-chain i,.story-romanz-workbench i,.story-renaissance-press > i { transform:rotate(90deg); text-align:center; }.story-epic-arena span,.story-epic-arena strong,.story-roland-dossiers article,.story-roland-dossiers strong,.story-manuscript-page figure,.story-renaissance-press > div,.story-renaissance-press > strong { min-height:auto; border-radius:.7rem; }.story-manuscript-page aside { writing-mode:horizontal-tb; text-align:center; }
  [data-story-history] .segmented-control,[data-story-homer] .segmented-control,[data-story-epic] .segmented-control,[data-story-roland] .segmented-control,[data-story-romanz] .segmented-control,[data-story-arthurian] .segmented-control,[data-story-manuscript] .segmented-control,[data-story-renaissance] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seventeenth-story-library,.seventeenth-story-circuit,.seventeenth-tendre-map,.seventeenth-comic-stage,.seventeenth-double-time,.seventeenth-information-web,.seventeenth-decision-path,.seventeenth-perrault-table { grid-template-columns:1fr; }
  .seventeenth-story-library article,.seventeenth-story-library article:nth-child(even),.seventeenth-story-library strong,.seventeenth-story-circuit span,.seventeenth-story-circuit strong,.seventeenth-tendre-map span,.seventeenth-tendre-map strong,.seventeenth-comic-stage article,.seventeenth-comic-stage strong,.seventeenth-double-time article,.seventeenth-information-web span,.seventeenth-information-web strong,.seventeenth-decision-path span,.seventeenth-decision-path strong,.seventeenth-perrault-table article,.seventeenth-perrault-table strong { min-height:auto; transform:none; border-radius:.7rem; }
  .seventeenth-story-library strong,.seventeenth-decision-path em,.seventeenth-tendre-map em,.seventeenth-comic-stage em,.seventeenth-double-time > strong,.seventeenth-information-web em,.seventeenth-perrault-table em { grid-column:auto; }
  .seventeenth-story-circuit i,.seventeenth-comic-stage > i,.seventeenth-decision-path i,.seventeenth-perrault-table > i { transform:rotate(90deg); text-align:center; }
  .seventeenth-tendre-map,.seventeenth-information-web { min-height:auto; overflow:visible; }.seventeenth-tendre-map::before,.seventeenth-information-web::before,.seventeenth-information-web::after { display:none; }
  .seventeenth-double-time > div { min-height:5rem; border-radius:.7rem; }
  [data-seventeenth-story-ecosystem] .segmented-control,[data-seventeenth-story-network] .segmented-control,[data-seventeenth-story-tendre] .segmented-control,[data-seventeenth-story-comic] .segmented-control,[data-seventeenth-story-double-time] .segmented-control,[data-seventeenth-story-information] .segmented-control,[data-seventeenth-story-interiority] .segmented-control,[data-seventeenth-story-perrault] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eighteenth-story-library,.eighteenth-manon-stage,.eighteenth-letter-network,.eighteenth-marianne-mirror,.eighteenth-nights-desk,.eighteenth-children-room,.eighteenth-rhythm-comparator,.eighteenth-autobiography-file { grid-template-columns:1fr; min-height:auto; overflow:visible; }
  .eighteenth-story-library article,.eighteenth-story-library article:nth-child(even),.eighteenth-story-library strong,.eighteenth-manon-stage article,.eighteenth-manon-stage strong,.eighteenth-letter-network span,.eighteenth-letter-network strong,.eighteenth-marianne-mirror article,.eighteenth-nights-desk article,.eighteenth-nights-desk strong,.eighteenth-children-room article,.eighteenth-children-room strong,.eighteenth-rhythm-comparator article,.eighteenth-autobiography-file article,.eighteenth-autobiography-file strong { min-height:auto; transform:none; border-radius:.7rem; }
  .eighteenth-story-library strong,.eighteenth-manon-stage em,.eighteenth-letter-network em,.eighteenth-marianne-mirror > strong,.eighteenth-nights-desk em,.eighteenth-children-room em,.eighteenth-rhythm-comparator em,.eighteenth-autobiography-file em { grid-column:auto; }
  .eighteenth-manon-stage > i,.eighteenth-nights-desk > i,.eighteenth-children-room > i,.eighteenth-autobiography-file > i { transform:rotate(90deg); text-align:center; }.eighteenth-letter-network::before,.eighteenth-letter-network::after { display:none; }.eighteenth-marianne-mirror > div { min-height:5rem; border-radius:.7rem; }
  [data-eighteenth-story-ecosystem] .segmented-control,[data-eighteenth-story-manon] .segmented-control,[data-eighteenth-story-letters] .segmented-control,[data-eighteenth-story-marianne] .segmented-control,[data-eighteenth-story-nights] .segmented-control,[data-eighteenth-story-children] .segmented-control,[data-eighteenth-story-rhythm] .segmented-control,[data-eighteenth-story-autobiography] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nineteenth-narrative-library,.nineteenth-feuilleton-page main,.nineteenth-feuilleton-page footer,.nineteenth-city-map,.nineteenth-balzac-network,.nineteenth-flaubert-desk,.nineteenth-zola-workbench,.nineteenth-program-building,.nineteenth-horla-ledger { grid-template-columns:1fr; min-height:auto; overflow:visible; }
  .nineteenth-narrative-library article,.nineteenth-narrative-library article:nth-child(even),.nineteenth-narrative-library strong,.nineteenth-city-map span,.nineteenth-city-map strong,.nineteenth-city-map .is-high,.nineteenth-city-map .is-low,.nineteenth-balzac-network article,.nineteenth-balzac-network strong,.nineteenth-flaubert-desk span,.nineteenth-flaubert-desk strong,.nineteenth-zola-workbench article,.nineteenth-zola-workbench strong,.nineteenth-program-building article { min-height:auto; transform:none; border-radius:.7rem; }
  .nineteenth-narrative-library strong,.nineteenth-city-map em,.nineteenth-flaubert-desk em,.nineteenth-zola-workbench em,.nineteenth-program-building > strong,.nineteenth-horla-ledger strong { grid-column:auto; }.nineteenth-city-map::before { display:none; }.nineteenth-balzac-network > i,.nineteenth-flaubert-desk > i { transform:rotate(90deg); text-align:center; }.nineteenth-program-building > div { grid-template-columns:repeat(3,1fr); }
  [data-nineteenth-narrative-ecosystem] .segmented-control,[data-nineteenth-narrative-feuilleton] .segmented-control,[data-nineteenth-narrative-city] .segmented-control,[data-nineteenth-narrative-balzac] .segmented-control,[data-nineteenth-narrative-flaubert] .segmented-control,[data-nineteenth-narrative-zola] .segmented-control,[data-nineteenth-narrative-program] .segmented-control,[data-nineteenth-narrative-horla] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .twentieth-narrative-constellation,.twentieth-proust-circuit,.twentieth-gide-architecture,.twentieth-celine-bench,.twentieth-new-novel-map,.twentieth-contract-ledger,.twentieth-schwarzbart-weave,.twentieth-contemporary-passport { grid-template-columns:1fr; min-height:auto; overflow:visible; }
  .twentieth-narrative-constellation article,.twentieth-narrative-constellation article:nth-child(even),.twentieth-proust-circuit span,.twentieth-proust-circuit strong,.twentieth-gide-architecture > article,.twentieth-gide-architecture > strong,.twentieth-new-novel-map article,.twentieth-new-novel-map article:nth-child(2),.twentieth-new-novel-map article:nth-child(3),.twentieth-new-novel-map strong,.twentieth-contemporary-passport span { min-height:auto; transform:none; border-radius:.7rem; }
  .twentieth-narrative-constellation strong,.twentieth-proust-circuit em,.twentieth-gide-architecture > div,.twentieth-gide-architecture > em,.twentieth-celine-bench strong,.twentieth-new-novel-map strong,.twentieth-contract-ledger strong,.twentieth-schwarzbart-weave em,.twentieth-contemporary-passport strong { grid-column:auto; }.twentieth-proust-circuit i,.twentieth-gide-architecture > i { transform:rotate(90deg); text-align:center; }.twentieth-new-novel-map::before { display:none; }.twentieth-gide-architecture > div,.twentieth-schwarzbart-weave main { grid-template-columns:repeat(2,minmax(0,1fr)); }.twentieth-celine-bench,.twentieth-contract-ledger { grid-template-columns:1fr; }.twentieth-celine-bench strong,.twentieth-contract-ledger strong { grid-column:auto; }
  [data-twentieth-narrative-constellation] .segmented-control,[data-twentieth-narrative-proust] .segmented-control,[data-twentieth-narrative-gide] .segmented-control,[data-twentieth-narrative-celine] .segmented-control,[data-twentieth-narrative-new-novel] .segmented-control,[data-twentieth-narrative-contracts] .segmented-control,[data-twentieth-narrative-schwarzbart] .segmented-control,[data-twentieth-narrative-contemporary] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .narrative-three-deck,.narrative-identity-firewall,.narrative-focalization-map,.narrative-time-console,.narrative-speech-transformer,.narrative-description-lens,.narrative-character-board,.narrative-analysis-chain { grid-template-columns:1fr; min-height:auto; overflow:visible; }
  .narrative-three-deck article,.narrative-three-deck article:nth-child(2),.narrative-identity-firewall article,.narrative-time-console article,.narrative-speech-transformer span,.narrative-speech-transformer strong,.narrative-description-lens article,.narrative-analysis-chain span,.narrative-analysis-chain strong { min-height:auto; transform:none; }
  .narrative-three-deck strong,.narrative-identity-firewall strong,.narrative-focalization-map main b,.narrative-time-console strong,.narrative-speech-transformer em,.narrative-description-lens em,.narrative-character-board strong { grid-column:auto; }.narrative-identity-firewall i,.narrative-speech-transformer i,.narrative-analysis-chain i { transform:rotate(90deg); text-align:center; }.narrative-focalization-map main { grid-template-columns:1fr; clip-path:none; }.narrative-character-board { grid-template-columns:repeat(2,minmax(0,1fr)); }.narrative-character-board strong { grid-column:1/-1; }
  [data-narrative-techniques-planes] .segmented-control,[data-narrative-techniques-identity] .segmented-control,[data-narrative-techniques-focalization] .segmented-control,[data-narrative-techniques-time] .segmented-control,[data-narrative-techniques-speech] .segmented-control,[data-narrative-techniques-description] .segmented-control,[data-narrative-techniques-character] .segmented-control,[data-narrative-techniques-analysis] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .character-name-passport,.character-evidence-file,.character-action-engine,.character-relation-network,.character-hero-balance,.character-mirror-choices,.character-balzac-zola,.character-transformation-route { grid-template-columns:1fr; min-height:auto; overflow:visible; }
  .character-name-passport span,.character-name-passport strong,.character-action-engine span,.character-action-engine strong,.character-transformation-route span,.character-transformation-route strong,.character-hero-balance span,.character-mirror-choices article,.character-balzac-zola article { min-height:auto; }.character-name-passport em,.character-evidence-file strong,.character-relation-network strong,.character-hero-balance em,.character-mirror-choices em,.character-balzac-zola em { grid-column:auto; }.character-action-engine i,.character-transformation-route i,.character-mirror-choices > i { transform:rotate(90deg); text-align:center; }.character-evidence-file { grid-template-columns:repeat(2,minmax(0,1fr)); }.character-evidence-file strong { grid-column:1/-1; }
  [data-character-name-passport] .segmented-control,[data-character-evidence-file] .segmented-control,[data-character-action-engine] .segmented-control,[data-character-relation-network] .segmented-control,[data-character-hero-balance] .segmented-control,[data-character-mirror-choices] .segmented-control,[data-character-balzac-zola] .segmented-control,[data-character-transformation-route] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .genre-atlas,.genre-autobiography-pact,.genre-journal-calendar,.genre-memoir-chain,.genre-novel-container,.genre-short-prism,.genre-truth-spectrum,.genre-classification-passport { grid-template-columns:1fr; min-height:auto; overflow:visible; }.genre-atlas span,.genre-truth-spectrum span,.genre-autobiography-pact span,.genre-journal-calendar span,.genre-journal-calendar strong,.genre-memoir-chain article,.genre-novel-container span,.genre-novel-container strong,.genre-short-prism span,.genre-short-prism strong { min-height:auto; }.genre-atlas strong,.genre-truth-spectrum strong,.genre-autobiography-pact strong,.genre-memoir-chain strong,.genre-novel-container em,.genre-classification-passport strong { grid-column:auto; }.genre-autobiography-pact i,.genre-journal-calendar i { transform:rotate(90deg); text-align:center; }.genre-classification-passport { grid-template-columns:repeat(2,minmax(0,1fr)); }.genre-classification-passport strong { grid-column:1/-1; }
  [data-narrative-genre-atlas] .segmented-control,[data-narrative-genre-autobiography] .segmented-control,[data-narrative-genre-journal] .segmented-control,[data-narrative-genre-memoir] .segmented-control,[data-narrative-genre-novel] .segmented-control,[data-narrative-genre-short] .segmented-control,[data-narrative-genre-truth] .segmented-control,[data-narrative-genre-passport] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-layer-stack,.theatre-page-score,.theatre-variant-bench,.theatre-control-room,.theatre-tradition-map,.theatre-genre-mixer,.theatre-audience-geometry,.theatre-program-dossier { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-layer-stack span,.theatre-layer-stack span:nth-child(2),.theatre-layer-stack span:nth-child(3),.theatre-layer-stack strong,.theatre-variant-bench article,.theatre-control-room span,.theatre-tradition-map span,.theatre-tradition-map strong,.theatre-genre-mixer article,.theatre-audience-geometry span,.theatre-audience-geometry strong,.theatre-program-dossier article { min-height:auto; }.theatre-page-score strong,.theatre-variant-bench strong,.theatre-control-room strong,.theatre-genre-mixer em,.theatre-audience-geometry em,.theatre-program-dossier strong { grid-column:auto; }.theatre-tradition-map i,.theatre-genre-mixer > strong,.theatre-audience-geometry i { transform:rotate(90deg); text-align:center; }.theatre-page-score { grid-template-columns:repeat(2,minmax(0,1fr)); }.theatre-page-score strong { grid-column:1/-1; }
  [data-theatre-layer-stack] .segmented-control,[data-theatre-page-score] .segmented-control,[data-theatre-variant-bench] .segmented-control,[data-theatre-control-room] .segmented-control,[data-theatre-tradition-map] .segmented-control,[data-theatre-genre-mixer] .segmented-control,[data-theatre-audience-geometry] .segmented-control,[data-theatre-program-current] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-collective-credits,.theatre-decision-loop,.theatre-rehearsal-ledger,.theatre-scenography-matrix,.theatre-costume-workshop,.theatre-sound-score,.theatre-cue-conduct,.theatre-collective-dossier { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-collective-credits article,.theatre-collective-credits article:nth-child(even),.theatre-decision-loop span,.theatre-decision-loop strong,.theatre-scenography-matrix article,.theatre-costume-workshop span,.theatre-costume-workshop strong,.theatre-cue-conduct span,.theatre-cue-conduct strong,.theatre-collective-dossier article { min-height:auto; transform:none; }.theatre-collective-credits strong,.theatre-decision-loop em,.theatre-rehearsal-ledger strong,.theatre-scenography-matrix strong,.theatre-costume-workshop em,.theatre-sound-score strong,.theatre-cue-conduct em,.theatre-collective-dossier strong { grid-column:auto; }.theatre-decision-loop i,.theatre-cue-conduct i { transform:rotate(90deg); text-align:center; }.theatre-rehearsal-ledger,.theatre-sound-score { grid-template-columns:repeat(2,minmax(0,1fr)); }.theatre-rehearsal-ledger strong,.theatre-sound-score strong { grid-column:1/-1; }
  [data-theatre-collective-credits] .segmented-control,[data-theatre-decision-loop] .segmented-control,[data-theatre-rehearsal-ledger] .segmented-control,[data-theatre-scenography-matrix] .segmented-control,[data-theatre-costume-workshop] .segmented-control,[data-theatre-sound-score] .segmented-control,[data-theatre-cue-conduct] .segmented-control,[data-theatre-collective-dossier] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-history-strata,.theatre-greek-festival,.theatre-aristotle-workbench,.theatre-roman-route,.theatre-continuity-bridge,.theatre-medieval-atlas,.theatre-renaissance-workshop,.theatre-history-genealogy { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-history-strata span,.theatre-history-strata strong,.theatre-greek-festival span,.theatre-greek-festival strong,.theatre-aristotle-workbench article,.theatre-roman-route span,.theatre-roman-route strong,.theatre-continuity-bridge article,.theatre-medieval-atlas span,.theatre-renaissance-workshop span,.theatre-renaissance-workshop strong,.theatre-history-genealogy span,.theatre-history-genealogy strong { min-height:auto; }.theatre-history-strata em,.theatre-greek-festival em,.theatre-aristotle-workbench strong,.theatre-roman-route em,.theatre-continuity-bridge strong,.theatre-medieval-atlas strong,.theatre-renaissance-workshop em,.theatre-history-genealogy em { grid-column:auto; }.theatre-greek-festival i,.theatre-roman-route i,.theatre-continuity-bridge > i,.theatre-renaissance-workshop i,.theatre-history-genealogy i { transform:rotate(90deg); text-align:center; }
  [data-theatre-history-strata] .segmented-control,[data-theatre-greek-festival] .segmented-control,[data-theatre-aristotle-workbench] .segmented-control,[data-theatre-roman-route] .segmented-control,[data-theatre-continuity-bridge] .segmented-control,[data-theatre-medieval-atlas] .segmented-control,[data-theatre-renaissance-workshop] .segmented-control,[data-theatre-history-genealogy] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-seventeenth-board,.theatre-seventeenth-labels { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-seventeenth-board span,.theatre-seventeenth-board strong,.theatre-seventeenth-labels article,.theatre-seventeenth-labels strong { min-height:auto; }
  [data-theatre-seventeenth-ecosystem] .segmented-control,[data-theatre-seventeenth-labels] .segmented-control,[data-theatre-seventeenth-illusion] .segmented-control,[data-theatre-seventeenth-rules] .segmented-control,[data-theatre-seventeenth-genres] .segmented-control,[data-theatre-seventeenth-liar] .segmented-control,[data-theatre-seventeenth-authors] .segmented-control,[data-theatre-seventeenth-program] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-eighteenth-board { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-eighteenth-board span,.theatre-eighteenth-board strong { min-height:auto; }
  [data-theatre-eighteenth-ecosystem] .segmented-control,[data-theatre-eighteenth-tragedy] .segmented-control,[data-theatre-eighteenth-marivaux] .segmented-control,[data-theatre-eighteenth-marivaudage] .segmented-control,[data-theatre-eighteenth-drama] .segmented-control,[data-theatre-eighteenth-fair] .segmented-control,[data-theatre-eighteenth-figaro] .segmented-control,[data-theatre-eighteenth-dossier] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-nineteenth-city,.theatre-nineteenth-romantic,.theatre-nineteenth-dossier,.theatre-nineteenth-score,.theatre-nineteenth-boulevard,.theatre-nineteenth-comparator,.theatre-nineteenth-ubu,.theatre-nineteenth-musset { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-nineteenth-city span,.theatre-nineteenth-city strong,.theatre-nineteenth-romantic article,.theatre-nineteenth-dossier article,.theatre-nineteenth-score span,.theatre-nineteenth-score strong,.theatre-nineteenth-boulevard .door,.theatre-nineteenth-boulevard article,.theatre-nineteenth-boulevard strong,.theatre-nineteenth-comparator article,.theatre-nineteenth-comparator strong,.theatre-nineteenth-ubu span,.theatre-nineteenth-ubu strong,.theatre-nineteenth-musset article { min-height:auto; transform:none; }.theatre-nineteenth-city strong,.theatre-nineteenth-romantic strong,.theatre-nineteenth-dossier strong,.theatre-nineteenth-musset strong,.theatre-nineteenth-musset em { grid-column:auto; }.theatre-nineteenth-city i,.theatre-nineteenth-romantic i,.theatre-nineteenth-score i { transform:rotate(90deg); text-align:center; }
  [data-theatre-nineteenth-ecosystem] .segmented-control,[data-theatre-nineteenth-romantic] .segmented-control,[data-theatre-nineteenth-hernani] .segmented-control,[data-theatre-nineteenth-melodrama] .segmented-control,[data-theatre-nineteenth-boulevard] .segmented-control,[data-theatre-nineteenth-comparator] .segmented-control,[data-theatre-nineteenth-ubu] .segmented-control,[data-theatre-nineteenth-musset] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theatre-modern-network,.theatre-modern-score,.theatre-modern-arena,.theatre-modern-absurd,.theatre-modern-studio,.theatre-modern-triptych,.theatre-modern-console,.theatre-modern-sarraute { grid-template-columns:1fr; min-height:auto; overflow:visible; }.theatre-modern-network span,.theatre-modern-network strong,.theatre-modern-score span,.theatre-modern-score strong,.theatre-modern-arena article,.theatre-modern-arena strong,.theatre-modern-absurd article,.theatre-modern-absurd strong,.theatre-modern-studio span,.theatre-modern-studio strong,.theatre-modern-triptych article,.theatre-modern-console span,.theatre-modern-sarraute article { min-height:auto; }.theatre-modern-network strong,.theatre-modern-absurd em,.theatre-modern-studio strong,.theatre-modern-triptych strong,.theatre-modern-console strong,.theatre-modern-console em,.theatre-modern-sarraute strong { grid-column:auto; }.theatre-modern-network i,.theatre-modern-score i,.theatre-modern-studio i { transform:rotate(90deg); text-align:center; }.theatre-modern-console span { border-radius:1rem; }
  [data-theatre-modern-ecosystem] .segmented-control,[data-theatre-modern-poetic] .segmented-control,[data-theatre-modern-engagement] .segmented-control,[data-theatre-modern-absurd] .segmented-control,[data-theatre-modern-media] .segmented-control,[data-theatre-modern-triptych] .segmented-control,[data-theatre-modern-hybrid] .segmented-control,[data-theatre-modern-sarraute] .segmented-control { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-energy-chain-passport] .segmented-control, [data-energy-origin] .segmented-control, [data-energy-timescale] .segmented-control, [data-energy-fossil-evidence] .segmented-control, [data-energy-biomass] .segmented-control, [data-energy-calorific] .segmented-control, [data-energy-passport] .segmented-control, [data-energy-claim] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
