/* ── src/css/35-sections.css (le parcours en orbites) ── */
.tbl-fiche { position: fixed; z-index: 9; left: 0; top: 0; width: 18.75rem; padding: .75rem 1.125rem; border: 1px solid var(--line); border-radius: var(--r-card); pointer-events: none; opacity: 0; transition: opacity var(--dur-respond) ease; display: grid; grid-template-columns: auto 1fr; gap: .375rem .75rem; }
.tbl-fiche.on { opacity: 1; }
.tbl-fiche .sym { grid-row: 1 / 3; font: italic 400 2rem/1 var(--font-serif); align-self: center; } .tbl-fiche .t { font: 500 .8125rem/1.2 var(--font-sans); } .tbl-fiche .t small { display: block; margin-top: .375rem; } .tbl-fiche p { margin: 0; }
.pc-fig { position: relative; width: min(var(--s10), 100%); margin: 1.125rem auto 0; padding: .75rem 0; }
.pc-fig > i, .rub-frame > i { position: absolute; border: 1px solid var(--line-strong); pointer-events: none; }
:is(.pc-fig, .rub-frame) > .tl { left: 0; top: 0; border-right: 0; border-bottom: 0; } :is(.pc-fig, .rub-frame) > .tr { right: 0; top: 0; border-left: 0; border-bottom: 0; } :is(.pc-fig, .rub-frame) > .bl { left: 0; bottom: 0; border-right: 0; border-top: 0; } :is(.pc-fig, .rub-frame) > .br { right: 0; bottom: 0; border-left: 0; border-top: 0; }
.pc-svg { display: block; width: 100%; height: auto; overflow: hidden; } .pc-v { display: none; }
.pc-axis { stroke: var(--line-strong); stroke-width: 1; } .pc-tick { font: 300 var(--fs-data) var(--font-sans); fill: var(--ink-3); letter-spacing: .08em; }
.pc-orb { fill: none; stroke: var(--line); stroke-width: 1; } .pc-dash { stroke-dasharray: 2 5; stroke-linecap: round; } .pc-ol { font: italic 400 .75rem var(--font-serif); fill: var(--ink-3); letter-spacing: .04em; }
.pc-sun { fill: var(--ink); } .pc-sl { font: italic 400 1.125rem var(--font-serif); fill: var(--paper); letter-spacing: .1em; } .pc-ss { font: 500 var(--fs-label) var(--font-sans); letter-spacing: .14em; text-transform: uppercase; fill: var(--paper); opacity: .8; }
.pc-sat { fill: var(--ink); } .pc-sat-o { fill: none; stroke: var(--line-strong); stroke-width: 1; stroke-dasharray: 2 5; stroke-linecap: round; }
.pc-node { cursor: pointer; outline: none; } .pc-c { fill: var(--paper); stroke: var(--ink); stroke-width: 1; transition: stroke-width var(--dur-respond) ease; }
.pc-disc { fill: #fff; opacity: 0; transition: opacity var(--dur-open) ease; pointer-events: none; } .pc-dg { mix-blend-mode: difference; }
.pc-node:hover .pc-disc, .pc-node.on .pc-disc { opacity: 1; } .pc-node:hover .pc-c, .pc-node.on .pc-c { stroke-width: 1.5; }
.pc-ld { stroke: var(--line-strong); stroke-width: 1; } .pc-lab { font: 500 var(--fs-label) var(--font-sans); letter-spacing: .14em; text-transform: uppercase; fill: var(--ink); } .pc-lab2 { font: 400 var(--fs-mark) var(--font-sans); fill: var(--ink-3); }
.pc-hit { fill: transparent; stroke: none; pointer-events: all; }
@media (max-width: 760px) { .pc-h { display: none; } .pc-v { display: block; } }
@media (prefers-reduced-motion: reduce) { .pc-c, .pc-disc { transition: none; } }
@keyframes pc-pop { from { opacity: 0; scale: .3; } }
@keyframes pc-orb { from { opacity: 0; scale: .94; } }
@keyframes pc-fade { from { opacity: 0; } }
@keyframes pc-draw { from { stroke-dashoffset: 1; } }
.pc-sun, .pc-pl, .pc-orb, .pc-sat-o, .pc-sat { transform-box: fill-box; transform-origin: center; }
.pc-axis-main { stroke-dasharray: 1; }
.pc-svg:not(.pc-in) > *, .tbl-grid:not(.tbl-in) .tbl-el { opacity: 0; }
.pc-in .pc-axis-main { animation: pc-draw 900ms var(--ease-out) var(--d, 0ms) backwards; }
.pc-in .pc-sun { animation: pc-pop 800ms var(--ease-out) var(--d, 0ms) backwards; }
.pc-in .pc-pl { animation: pc-pop 520ms var(--ease-out) var(--d, 0ms) backwards; }
.pc-in .pc-node :is(.pc-ld, .pc-lab, .pc-lab2) { animation: pc-fade var(--dur-plan) ease calc(var(--d, 0ms) + 180ms) backwards; }
.pc-mk { fill: none; stroke: #fff; stroke-width: 12; stroke-dasharray: 1; }
.pc-in .pc-mk { animation: pc-draw 700ms cubic-bezier(.45, 0, .25, 1) var(--d, 0ms) backwards; }
.pc-in :is(.pc-tick, .pc-ol, .pc-sl, .pc-ss, .pc-axis:not(.pc-axis-main)), .pc-in > .pc-lab, .pc-in > .pc-lab2 { animation: pc-fade var(--dur-plan) ease var(--d, 0ms) backwards; }
@keyframes pc-show { from { opacity: 0; } to { opacity: 1; } }
.pc-in .pc-sat { animation: pc-show 1ms linear var(--d, 0ms) backwards; }
.pc-still * { animation: none !important; } /* v146 : un dessin reconstruit à l'écran (le cadre a changé de taille) ne rejoue pas son entrée */
@media (prefers-reduced-motion: reduce) { .pc-in *, .tbl-in .tbl-el { animation: none !important; } }
