@keyframes cyb-rotation { to { transform: rotate(1turn); } }
@keyframes cyb-defilement { to { transform: translateX(-50%); } }
@keyframes cyb-rayures { to { background-position: 1.5rem 0; } }
@keyframes cyb-voyant { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
@keyframes cyb-reflet { from { transform: translateX(-110%); } to { transform: translateX(110%); } }
@keyframes cyb-pulsation-critique { 0%, 100% { box-shadow: 0 0 0 0 var(--cyb-lueur-signal); } 50% { box-shadow: 0 0 1.25rem 0.125rem var(--cyb-lueur-signal); } }
@keyframes cyb-onde { from { transform: scale(0.6); opacity: 0.9; } to { transform: scale(2.4); opacity: 0; } }
@keyframes cyb-meridien { from { transform: scaleX(1); } to { transform: scaleX(-1); } }
@keyframes cyb-remplit { from { --cyb-niveau: 0; } }
@keyframes cyb-oscillo { to { -webkit-mask-position: 5rem 50%, -8.5rem 50%; mask-position: 5rem 50%, -8.5rem 50%; } }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; color-scheme: light; background: var(--cyb-papier); }
html[data-theme="sombre"] { color-scheme: dark; }
body {
  margin: 0; min-width: 20rem; background: transparent; color: var(--cyb-encre);
  font-family: var(--cyb-corps); font-size: var(--cyb-corps-taille);
  line-height: var(--cyb-corps-interligne); overflow-wrap: break-word; overflow-x: clip;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; }
h1, h2, h3, h4 { line-height: var(--cyb-titre-interligne); text-wrap: balance; }
p, li, dd { text-wrap: pretty; }
::selection { background: var(--cyb-selection); color: var(--cyb-encre); }
abbr[title] { text-decoration: none; }
code { font-family: var(--cyb-mono); font-size: 0.9375em; }
a { color: var(--cyb-accent); text-decoration-thickness: 1px; text-underline-offset: 0.2em; transition: color var(--cyb-reaction), text-shadow var(--cyb-reaction); }
a:hover { color: var(--cyb-accent-survol); text-decoration-thickness: 2px; text-shadow: 0 0 0.75rem var(--cyb-lueur); }
:focus-visible, .cyb-etat-focus { outline: var(--cyb-focus-trait) solid var(--cyb-focus); outline-offset: var(--cyb-focus-recul); }
.cyb-bandeau-edition, .cyb-depeche, .cyb-module, .cyb-panneau, .cyb-fuite, .cyb-acteur, .cyb-entree, .cyb-etape, .cyb-guide, .cyb-planche-carte, .cyb-trame, .cyb-chiffre, .cyb-specimen-cadre, .cyb-avis, .cyb-bouton-second, .cyb-bascule-theme, .cyb-bascule-mouvement, .cyb-alphabet-lien, .cyb-pagination-lien, .cyb-rubriques a {
  --cyb-equerre-image: linear-gradient(var(--cyb-equerre), var(--cyb-equerre));
  --cyb-equerres: var(--cyb-equerre-image), var(--cyb-equerre-image), var(--cyb-equerre-image), var(--cyb-equerre-image), var(--cyb-equerre-image), var(--cyb-equerre-image), var(--cyb-equerre-image), var(--cyb-equerre-image);
  --cyb-equerres-tailles: var(--cyb-equerre-longueur) var(--cyb-equerre-trait), var(--cyb-equerre-trait) var(--cyb-equerre-longueur), var(--cyb-equerre-longueur) var(--cyb-equerre-trait), var(--cyb-equerre-trait) var(--cyb-equerre-longueur), var(--cyb-equerre-longueur) var(--cyb-equerre-trait), var(--cyb-equerre-trait) var(--cyb-equerre-longueur), var(--cyb-equerre-longueur) var(--cyb-equerre-trait), var(--cyb-equerre-trait) var(--cyb-equerre-longueur);
  --cyb-equerres-positions: 0 0, 0 0, 100% 0, 100% 0, 0 100%, 0 100%, 100% 100%, 100% 100%;
  background-image: var(--cyb-equerres);
  background-size: var(--cyb-equerres-tailles);
  background-position: var(--cyb-equerres-positions);
  background-repeat: no-repeat;
}
.cyb-alphabet-lien, .cyb-pagination-lien, .cyb-bascule-theme, .cyb-bascule-mouvement, .cyb-rubriques a, .cyb-bouton-second { --cyb-equerre-longueur: 0.4375rem; }
.cyb-lecteur-ecran { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cyb-evitement { position: absolute; z-index: 20; left: var(--cyb-retrait); top: -10rem; padding: var(--cyb-ecart) var(--cyb-marge); background: var(--cyb-accent); color: var(--cyb-accent-texte); font-weight: var(--cyb-titre-graisse); }
.cyb-evitement:focus { top: var(--cyb-retrait); color: var(--cyb-accent-texte); }
.cyb-console { min-height: 100vh; display: flex; flex-direction: column; }
.cyb-salle { flex: 1 0 auto; }
.cyb-ecran { width: 100%; max-width: var(--cyb-ecran-largeur); margin-inline: auto; padding-inline: var(--cyb-marge); }
.cyb-pupitre { display: grid; gap: var(--cyb-palier); padding-block: var(--cyb-gouttiere) var(--cyb-souffle); }
.cyb-travee { display: grid; gap: var(--cyb-palier); }
.cyb-travee-fil, .cyb-canal { display: grid; gap: var(--cyb-gouttiere); align-content: start; min-width: 0; }
.cyb-pile { display: grid; gap: var(--cyb-marge); align-content: start; min-width: 0; }
.cyb-pile-titre { gap: var(--cyb-ecart); }
.cyb-pile-sections { gap: var(--cyb-palier); }
.cyb-rangee { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-ecart); }
.cyb-casier { list-style: none; display: grid; gap: var(--cyb-marge); grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
@media (min-width: 48rem) {
.cyb-ecran { padding-inline: var(--cyb-palier); } 
}
@media (min-width: 64rem) {
.cyb-travee { grid-template-columns: minmax(0, 1fr) var(--cyb-canal-largeur); gap: var(--cyb-souffle); } 
}
.cyb-surtitre { display: inline-flex; align-items: center; gap: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); color: var(--cyb-accent); }
.cyb-titre-page { font-size: var(--cyb-titre-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: -0.015em; max-width: 48rem; text-shadow: 0 0 2rem var(--cyb-lueur); }
.cyb-chapo { font-size: var(--cyb-chapo-taille); color: var(--cyb-estompe); max-width: var(--cyb-lecture-largeur); }
.cyb-section-entete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--cyb-ecart) var(--cyb-marge); }
.cyb-section-titre { display: flex; align-items: center; gap: var(--cyb-retrait); font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); color: var(--cyb-encre); }
.cyb-section-titre::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; background: var(--cyb-accent); transform: rotate(45deg); box-shadow: 0 0 0.5rem var(--cyb-lueur); }
.cyb-estompe { color: var(--cyb-estompe); font-size: var(--cyb-legende-taille); }
.cyb-forme { display: inline-block; flex: none; width: 0.6875rem; height: 0.6875rem; background: currentColor; }
.cyb-forme-octogone { clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%); }
.cyb-forme-triangle { width: 0.8125rem; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.cyb-forme-losange { width: 0.8125rem; height: 0.8125rem; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.cyb-forme-cercle { border-radius: 50%; }
.cyb-forme-eclair { width: 0.625rem; height: 0.8125rem; background: var(--cyb-kev-signe); clip-path: polygon(62% 0, 6% 58%, 44% 58%, 32% 100%, 94% 40%, 56% 40%); animation: cyb-voyant var(--cyb-pulsation) ease-in-out infinite; }
.cyb-forme-coche { width: 0.8125rem; height: 0.6875rem; clip-path: polygon(0 52%, 16% 36%, 38% 58%, 84% 6%, 100% 22%, 38% 92%); }
.cyb-forme-anneau { background: transparent; border: 2px solid currentColor; border-radius: 50%; }
.cyb-forme-quart { border-radius: 0 100% 0 0; }
.cyb-marque a { display: inline-flex; align-items: center; color: var(--cyb-encre); text-decoration: none; font-family: var(--cyb-mono); font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: -0.02em; line-height: 1; }
.cyb-marque a:hover { color: var(--cyb-encre); text-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-bandeau:not(.cyb-bandeau-edition) { position: relative; z-index: 5; background: var(--cyb-panneau); border-bottom: 1px solid var(--cyb-filet); box-shadow: 0 0 2rem var(--cyb-lueur); }
.cyb-bandeau:not(.cyb-bandeau-edition) > .cyb-ecran { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "marque outils" "navigation navigation"; align-items: center; gap: var(--cyb-ecart) var(--cyb-marge); padding-block: var(--cyb-retrait); }
.cyb-bandeau:not(.cyb-bandeau-edition) > .cyb-ecran > .cyb-marque { grid-area: marque; }
.cyb-rubriques { grid-area: navigation; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.cyb-rubriques a { flex: none; white-space: nowrap; }
.cyb-rubriques ul { list-style: none; display: flex; flex-wrap: nowrap; gap: var(--cyb-interstice); counter-reset: cyb-nav; }
.cyb-rubriques ul > li { counter-increment: cyb-nav; }
.cyb-rubriques a { --cyb-equerre: transparent; display: inline-flex; align-items: center; gap: 0.375rem; min-height: var(--cyb-cible); padding: 0 var(--cyb-retrait); border: 1px solid transparent; color: var(--cyb-estompe); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-libelle-graisse); text-decoration: none; }
.cyb-rubriques a::before { content: counter(cyb-nav, decimal-leading-zero); display: none; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-accent); }
.cyb-rubriques a:hover, .cyb-rubriques a.cyb-etat-survol { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-trame); color: var(--cyb-encre); text-shadow: none; }
.cyb-rubriques a[aria-current], .cyb-rubriques a.cyb-etat-actif { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-phosphore); border-color: var(--cyb-filet-appuye); color: var(--cyb-accent-survol); box-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-bandeau-outils { grid-area: outils; display: flex; align-items: center; gap: var(--cyb-ecart); }
.cyb-horloge { display: inline-flex; align-items: center; gap: 0.375rem; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-estompe); white-space: nowrap; }
.cyb-horloge::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--cyb-accent); box-shadow: 0 0 0.5rem var(--cyb-accent); animation: cyb-voyant var(--cyb-pulsation) ease-in-out infinite; }
.cyb-horloge-lieu { text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); margin-inline-end: 0.25em; }
.cyb-horloge-heure { color: var(--cyb-encre); font-variant-numeric: tabular-nums; }
.cyb-bascule-theme, .cyb-bascule-mouvement { --cyb-equerre: var(--cyb-filet-appuye); position: relative; display: inline-flex; align-items: center; justify-content: center; gap: var(--cyb-ecart); min-width: var(--cyb-cible); min-height: var(--cyb-cible); padding: 0 var(--cyb-retrait); border: 1px solid var(--cyb-filet); background-color: var(--cyb-panneau); color: var(--cyb-encre); font: inherit; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); cursor: pointer; }
.cyb-bascule-theme:hover, .cyb-bascule-theme.cyb-etat-survol, .cyb-bascule-mouvement:hover, .cyb-bascule-mouvement.cyb-etat-survol { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-trame); box-shadow: 0 0 0.875rem var(--cyb-lueur); }
.cyb-bascule-theme:active, .cyb-bascule-theme.cyb-etat-actif, .cyb-bascule-theme[aria-pressed="true"], .cyb-bascule-mouvement:has(.cyb-bascule-mouvement-case:checked), .cyb-bascule-mouvement.cyb-etat-actif { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-phosphore); border-color: var(--cyb-filet-appuye); color: var(--cyb-accent-survol); }
.cyb-bascule-theme:disabled { --cyb-equerre: transparent; background-color: var(--cyb-inerte-fond); border-color: var(--cyb-inerte-fond); color: var(--cyb-inerte-texte); cursor: not-allowed; box-shadow: none; }
.cyb-bascule-mouvement:has(.cyb-bascule-mouvement-case:focus-visible) { outline: var(--cyb-focus-trait) solid var(--cyb-focus); outline-offset: var(--cyb-focus-recul); }
.cyb-bascule-mouvement-case { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cyb-bascule-theme-icone { width: 1rem; height: 1rem; border-radius: 50%; border: 1px solid currentColor; background: linear-gradient(90deg, currentColor 0 50%, transparent 50% 100%); }
.cyb-bascule-mouvement-icone { width: 0.75rem; height: 0.875rem; background: linear-gradient(90deg, currentColor 0 35%, transparent 35% 65%, currentColor 65% 100%); }
.cyb-bascule-mouvement:has(.cyb-bascule-mouvement-case:checked) .cyb-bascule-mouvement-icone { background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.cyb-bascule-theme-texte, .cyb-bascule-mouvement-texte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 29.99rem) {
.cyb-horloge-lieu { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); } 
}
@media (min-width: 48rem) {
.cyb-rubriques a { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-rubriques a::before { display: inline; }

}
@media (min-width: 64rem) {
.cyb-bandeau:not(.cyb-bandeau-edition) { position: sticky; top: 0; }
.cyb-bandeau:not(.cyb-bandeau-edition) > .cyb-ecran { gap: var(--cyb-gouttiere); }
.cyb-rubriques ul { justify-content: safe center; }

}
.cyb-poste { position: relative; background: var(--cyb-trame); border-bottom: 1px solid var(--cyb-filet); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-estompe); }
.cyb-poste:focus-visible { outline-offset: calc(var(--cyb-focus-trait) * -1); }
.cyb-poste-cadre { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--cyb-marge); min-height: 2.25rem; }
.cyb-poste-etat { display: inline-flex; align-items: center; gap: var(--cyb-ecart); color: var(--cyb-accent); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); white-space: nowrap; }
.cyb-poste-voyant { position: relative; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--cyb-accent); box-shadow: 0 0 0.5rem var(--cyb-accent); }
.cyb-poste-voyant::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--cyb-accent); animation: cyb-onde var(--cyb-pulsation) ease-out infinite; }
.cyb-telex { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.cyb-telex-rail { display: flex; width: max-content; animation: cyb-defilement var(--cyb-defilement) linear infinite; }
.cyb-poste:hover .cyb-telex-rail, .cyb-poste:focus-within .cyb-telex-rail { animation-play-state: paused; }
.cyb-telex-bande { display: flex; gap: var(--cyb-palier); padding-inline-end: var(--cyb-palier); white-space: nowrap; }
.cyb-telex-donnee { display: inline-flex; gap: var(--cyb-ecart); }
.cyb-telex-cle { color: var(--cyb-encre); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-telex-alerte .cyb-telex-cle { color: var(--cyb-signal-encre); }
.cyb-bandeau-edition { --cyb-equerre: var(--cyb-aube-encre); position: relative; isolation: isolate; overflow: hidden; display: grid; gap: var(--cyb-retrait); padding: var(--cyb-gouttiere); border: 1px solid var(--cyb-filet); background-color: var(--cyb-aube-fond); color: var(--cyb-encre); }
.cyb-bandeau-speciale { --cyb-equerre: var(--cyb-signal-encre); background-color: var(--cyb-signal-voile); }
.cyb-bandeau-edition::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(-45deg, var(--cyb-rayure) 25%, transparent 25% 50%, var(--cyb-rayure) 50% 75%, transparent 75%); background-size: 1.5rem 1.5rem; animation: cyb-rayures 3s linear infinite; }
.cyb-bandeau-edition::after { content: ""; position: absolute; z-index: -1; top: 50%; right: -7rem; width: 18rem; height: 18rem; margin-top: -9rem; border-radius: 50%; border: 1px dashed var(--cyb-grille-appuyee); background: conic-gradient(from 0deg, transparent 0 300deg, var(--cyb-faisceau) 360deg), repeating-radial-gradient(circle, transparent 0 2.9rem, var(--cyb-grille-appuyee) 2.9rem 3rem); animation: cyb-rotation 10s linear infinite; }
.cyb-bandeau-surtitre { display: inline-flex; align-items: center; gap: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); color: var(--cyb-aube-encre); }
.cyb-bandeau-speciale .cyb-bandeau-surtitre { color: var(--cyb-signal-encre); }
.cyb-bandeau-astre { flex: none; width: 1.125rem; height: 0.5625rem; border-radius: 1.125rem 1.125rem 0 0; background: currentColor; box-shadow: 0 0 0.75rem currentColor; }
.cyb-bandeau-speciale .cyb-bandeau-astre { width: 0.75rem; height: 0.75rem; border-radius: 50%; background: transparent; border: 2px solid currentColor; }
.cyb-bandeau-titre { font-size: var(--cyb-titre-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: -0.02em; text-shadow: 0 0 2rem var(--cyb-lueur); }
.cyb-bandeau-meta { display: flex; flex-wrap: wrap; gap: var(--cyb-ecart) var(--cyb-retrait); }
.cyb-bandeau-donnee { display: grid; gap: 0.125rem; min-width: 7rem; padding: var(--cyb-ecart) var(--cyb-retrait); border: 1px solid var(--cyb-filet); background: var(--cyb-panneau); }
.cyb-bandeau-donnee dt { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-bandeau-donnee dd { font-family: var(--cyb-mono); font-size: var(--cyb-section-taille); font-weight: var(--cyb-titre-graisse); line-height: 1.1; font-variant-numeric: tabular-nums; }
@media (min-width: 48rem) {
.cyb-bandeau-edition { padding: var(--cyb-palier); } 
}
.cyb-bulletin { list-style: none; display: grid; gap: var(--cyb-retrait); }
.cyb-depeche { --cyb-equerre: var(--cyb-filet-appuye); position: relative; overflow: hidden; display: grid; gap: var(--cyb-retrait); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); transition: box-shadow var(--cyb-reaction), border-color var(--cyb-reaction); }
.cyb-depeche::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 35%, var(--cyb-reflet) 50%, transparent 65%); transform: translateX(-110%); }
.cyb-depeche:hover::after, .cyb-depeche.cyb-etat-survol::after { animation: cyb-reflet 1.1s ease-out 1; }
.cyb-depeche-alerte { --cyb-equerre: var(--cyb-signal); background-color: var(--cyb-signal-voile); background-image: var(--cyb-equerres), repeating-linear-gradient(-45deg, var(--cyb-signal-rayure) 0 0.625rem, transparent 0.625rem 1.25rem); border-color: var(--cyb-signal-filet); animation: cyb-pulsation-critique var(--cyb-pulsation) ease-in-out infinite; }
.cyb-depeche:hover, .cyb-depeche.cyb-etat-survol, .cyb-depeche:focus-within { --cyb-equerre: var(--cyb-accent); border-color: var(--cyb-filet-appuye); box-shadow: 0 0 1.5rem var(--cyb-lueur); }
.cyb-depeche-alerte:hover, .cyb-depeche-alerte.cyb-etat-survol, .cyb-depeche-alerte:focus-within { --cyb-equerre: var(--cyb-signal); border-color: var(--cyb-signal); }
.cyb-depeche-etiquettes { display: flex; flex-wrap: wrap; gap: var(--cyb-ecart); }
.cyb-depeche-titre { font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-depeche-lien { color: var(--cyb-encre); text-decoration: none; }
.cyb-depeche-lien:hover, .cyb-depeche.cyb-etat-survol .cyb-depeche-lien { color: var(--cyb-accent); text-decoration: underline; text-decoration-thickness: 2px; }
.cyb-depeche-extrait { max-width: var(--cyb-lecture-largeur); }
.cyb-depeche-libelle { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-accent); }
.cyb-depeche-pied { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-ecart) var(--cyb-marge); padding-top: var(--cyb-retrait); border-top: 1px dashed var(--cyb-filet); }
.cyb-depeche-suite { margin-inline-start: auto; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-depeche-suite::after { content: " \2192"; content: " \2192" / ""; }
.cyb-compte-sources { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
@media (min-width: 48rem) {
.cyb-depeche { padding: var(--cyb-gouttiere); } 
}
.cyb-etiquette { display: inline-flex; align-items: center; gap: 0.375rem; min-height: 1.625rem; padding: 0.125rem 0.5rem; border: 1px solid transparent; border-radius: var(--cyb-rayon); background: var(--cyb-trame); color: var(--cyb-encre); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: 0.04em; line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cyb-etiquette-code { font-weight: var(--cyb-titre-graisse); }
.cyb-etiquette-cle { font-weight: 400; }
.cyb-etiquette-critique { background: var(--cyb-signal); color: var(--cyb-signal-texte); animation: cyb-pulsation-critique var(--cyb-pulsation) ease-in-out infinite; }
.cyb-etiquette-haute { background: var(--cyb-veille); color: var(--cyb-veille-texte); box-shadow: 0 0 0.75rem var(--cyb-lueur-veille); }
.cyb-etiquette-moyenne { background: var(--cyb-vigilance); color: var(--cyb-vigilance-texte); }
.cyb-etiquette-info { background: var(--cyb-repos); color: var(--cyb-repos-texte); }
.cyb-etiquette-neutre.cyb-etiquette-critique, .cyb-etiquette-cvss-critique, .cyb-etiquette-epss-eleve { background: var(--cyb-signal-doux); color: var(--cyb-signal-encre); border-color: var(--cyb-signal-filet); animation: none; box-shadow: none; }
.cyb-etiquette-neutre.cyb-etiquette-haute, .cyb-etiquette-cvss-haute { background: var(--cyb-veille-doux); color: var(--cyb-veille-encre); box-shadow: none; }
.cyb-etiquette-neutre.cyb-etiquette-moyenne, .cyb-etiquette-cvss-moyenne, .cyb-etiquette-epss-moyen { background: var(--cyb-vigilance-doux); color: var(--cyb-vigilance-encre); }
.cyb-etiquette-neutre.cyb-etiquette-info, .cyb-etiquette-cvss-faible { background: var(--cyb-repos-doux); color: var(--cyb-repos-encre); }
.cyb-etiquette-epss-faible { background: var(--cyb-trame); color: var(--cyb-encre); }
.cyb-etiquette-kev { background: var(--cyb-kev-fond); color: var(--cyb-kev-texte); border-color: var(--cyb-kev-signe); box-shadow: 0 0 0.75rem var(--cyb-lueur-signal); }
.cyb-etiquette-confirmee { background: var(--cyb-encre); color: var(--cyb-panneau); }
.cyb-etiquette-revendiquee { background: var(--cyb-panneau); color: var(--cyb-encre); border: 1px dashed var(--cyb-filet-appuye); }
.cyb-etiquette-corrige { background: var(--cyb-succes-fond); color: var(--cyb-succes-encre); }
.cyb-pastille { display: inline-flex; align-items: center; gap: 0.375rem; min-height: 1.75rem; padding: 0.125rem 0.625rem; border: 1px solid var(--cyb-filet-appuye); border-radius: var(--cyb-pastille-rayon); background: var(--cyb-panneau); color: var(--cyb-encre); font-size: var(--cyb-note-taille); font-weight: var(--cyb-libelle-graisse); line-height: 1.2; text-decoration: none; }
a.cyb-pastille:hover { border-color: var(--cyb-accent); color: var(--cyb-accent-survol); box-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-pastille-territoire { font-family: var(--cyb-mono); font-weight: var(--cyb-titre-graisse); letter-spacing: 0.06em; }
.cyb-pastille-sensible { background: var(--cyb-signal-doux); border-color: var(--cyb-signal-filet); color: var(--cyb-signal-encre); }
.cyb-pastille-neutre { border-color: transparent; background: var(--cyb-trame); font-family: var(--cyb-mono); text-transform: uppercase; letter-spacing: 0.04em; }
.cyb-liste-pastilles { list-style: none; display: flex; flex-wrap: wrap; gap: var(--cyb-ecart); }
.cyb-module { --cyb-equerre: var(--cyb-accent); position: relative; display: grid; gap: var(--cyb-marge); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); min-width: 0; box-shadow: 0 0 2rem var(--cyb-lueur-repos); }
.cyb-clair { --cyb-equerre: var(--cyb-aube); background-color: var(--cyb-clair-fond); box-shadow: none; }
.cyb-module-entete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cyb-ecart) var(--cyb-marge); padding-bottom: var(--cyb-retrait); border-bottom: 1px dashed var(--cyb-filet); }
.cyb-module-titre { display: flex; align-items: center; gap: var(--cyb-retrait); font-family: var(--cyb-mono); font-size: var(--cyb-chapo-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-module-ordre { position: relative; display: inline-grid; place-items: center; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--cyb-accent); color: var(--cyb-accent-texte); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); box-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-module-ordre::after { content: ""; position: absolute; inset: -0.3125rem; border-radius: 50%; border: 1px dashed var(--cyb-accent); animation: cyb-rotation 12s linear infinite; }
.cyb-clair .cyb-module-ordre { background: var(--cyb-aube-encre); color: var(--cyb-clair-fond); box-shadow: none; }
.cyb-clair .cyb-module-ordre::after { border-color: var(--cyb-aube-encre); }
.cyb-lectorat { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
@media (min-width: 48rem) {
.cyb-module { padding: var(--cyb-gouttiere); } 
}
.cyb-cartouche { display: grid; }
.cyb-cartouche > div { display: grid; gap: var(--cyb-interstice); padding-block: var(--cyb-retrait); border-top: 1px solid var(--cyb-filet); min-width: 0; }
.cyb-cartouche > div:first-child { border-top: 0; padding-top: 0; }
.cyb-cartouche dt { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-accent); }
.cyb-cartouche dd { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-ecart); min-width: 0; }
@media (min-width: 40rem) {
.cyb-cartouche > div { grid-template-columns: 11rem minmax(0, 1fr); gap: var(--cyb-marge); align-items: baseline; } 
}
.cyb-identifiant { display: inline-block; max-width: 100%; padding: 0.125rem 0.375rem; border: 1px solid transparent; border-radius: var(--cyb-rayon); background: var(--cyb-trame); color: var(--cyb-encre); font-family: var(--cyb-mono); font-size: 0.9375em; overflow-wrap: anywhere; }
.cyb-identifiant-copiable { border-style: dashed; border-color: var(--cyb-filet-appuye); cursor: copy; -webkit-user-select: all; user-select: all; transition: box-shadow var(--cyb-reaction), background-color var(--cyb-reaction); }
.cyb-identifiant-copiable:hover, .cyb-identifiant-copiable.cyb-etat-survol { background: var(--cyb-phosphore); border-color: var(--cyb-accent); box-shadow: 0 0 0.875rem var(--cyb-lueur); }
.cyb-identifiant-copiable:active, .cyb-identifiant-copiable.cyb-etat-actif { background: var(--cyb-selection); border-style: solid; }
.cyb-identifiant-long { font-size: var(--cyb-note-taille); }
.cyb-versions { list-style: none; display: flex; flex-wrap: wrap; gap: 0.375rem; }
.cyb-version { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.125rem 0.5rem; border-radius: var(--cyb-rayon); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-version-touchee { background: var(--cyb-signal-doux); color: var(--cyb-signal-encre); }
.cyb-version-corrigee { background: var(--cyb-succes-fond); color: var(--cyb-succes-encre); }
.cyb-clair-phrases { list-style: none; display: grid; gap: var(--cyb-marge); }
.cyb-clair-phrase { display: grid; gap: var(--cyb-interstice); max-width: var(--cyb-lecture-largeur); }
.cyb-clair-question { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-aube-encre); }
.cyb-clair-texte { font-size: var(--cyb-chapo-taille); }
.cyb-terme { color: inherit; text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--cyb-accent); text-decoration-thickness: 2px; text-underline-offset: 0.25em; cursor: help; }
.cyb-terme:hover, .cyb-terme.cyb-etat-survol { color: var(--cyb-accent-survol); text-decoration-style: solid; text-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-terme:active, .cyb-terme.cyb-etat-actif { color: var(--cyb-accent-presse); }
.cyb-sources { list-style: none; display: grid; }
.cyb-source { display: grid; gap: var(--cyb-interstice); padding-block: var(--cyb-retrait); border-top: 1px solid var(--cyb-filet); min-width: 0; }
.cyb-source:first-child { border-top: 0; padding-top: 0; }
.cyb-source-acteur { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-ecart); font-weight: var(--cyb-titre-graisse); }
.cyb-source-titre { min-width: 0; }
.cyb-source-date { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-estompe); }
@media (min-width: 40rem) {
.cyb-source { grid-template-columns: 12rem minmax(0, 1fr) auto; align-items: baseline; gap: var(--cyb-marge); } 
}
.cyb-lien-sortant { color: var(--cyb-accent); font-weight: var(--cyb-libelle-graisse); }
.cyb-lien-sortant::after { content: "\2197"; content: "\2197" / ""; display: inline-block; margin-inline-start: 0.25em; font-weight: 400; }
.cyb-lien-sortant:hover, .cyb-lien-sortant.cyb-etat-survol { color: var(--cyb-accent-survol); text-decoration-thickness: 2px; text-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-lien-sortant:active, .cyb-lien-sortant.cyb-etat-actif { color: var(--cyb-accent-presse); }
.cyb-lien-sortant[aria-disabled="true"] { color: var(--cyb-inerte-texte); pointer-events: none; text-decoration-style: dotted; }
.cyb-domaine { display: block; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-estompe); }
.cyb-fiche-entete { display: grid; gap: var(--cyb-retrait); }
.cyb-fiche-titre { font-size: var(--cyb-titre-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: -0.015em; max-width: 48rem; text-shadow: 0 0 2rem var(--cyb-lueur); }
.cyb-fiche-meta { display: flex; flex-wrap: wrap; gap: var(--cyb-interstice) var(--cyb-marge); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: 0.04em; color: var(--cyb-estompe); }
.cyb-fiche-illustration { margin: var(--cyb-marge) 0 0; max-width: 48rem; }
.cyb-fiche-illustration picture { display: block; }
.cyb-fiche-illustration img { display: block; width: 100%; height: auto; border: 1px solid var(--cyb-filet); border-radius: var(--cyb-rayon); background-color: var(--cyb-trame); }
.cyb-chiffre { --cyb-equerre: var(--cyb-accent); position: relative; overflow: hidden; display: grid; gap: var(--cyb-interstice); padding: var(--cyb-gouttiere); border: 1px solid var(--cyb-filet); background-color: var(--cyb-panneau); }
.cyb-chiffre::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(var(--cyb-grille) 1px, transparent 1px), linear-gradient(90deg, var(--cyb-grille) 1px, transparent 1px); background-size: 1rem 1rem; }
.cyb-chiffre-valeur { position: relative; font-family: var(--cyb-mono); font-size: var(--cyb-une-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: -0.04em; line-height: 1.05; font-variant-numeric: tabular-nums; color: var(--cyb-encre); text-shadow: 0 0 1.75rem var(--cyb-lueur); }
.cyb-chiffre-libelle { position: relative; font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-chiffre-note { position: relative; font-size: var(--cyb-legende-taille); color: var(--cyb-estompe); }
.cyb-fuite { --cyb-equerre: var(--cyb-filet-appuye); display: grid; gap: var(--cyb-ecart); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); }
.cyb-fuite:hover, .cyb-fuite.cyb-etat-survol, .cyb-fuite:focus-within { --cyb-equerre: var(--cyb-accent); border-color: var(--cyb-filet-appuye); box-shadow: 0 0 1.25rem var(--cyb-lueur); }
.cyb-fuite-titre { font-size: var(--cyb-chapo-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-fuite-lien { color: var(--cyb-encre); text-decoration: none; }
.cyb-fuite-lien:hover, .cyb-fuite.cyb-etat-survol .cyb-fuite-lien { color: var(--cyb-accent); text-decoration: underline; }
.cyb-fuite-chiffre { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--cyb-ecart); }
.cyb-fuite-nombre { font-family: var(--cyb-mono); font-size: var(--cyb-section-taille); font-weight: var(--cyb-titre-graisse); font-variant-numeric: tabular-nums; text-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-fuite-unite { font-size: var(--cyb-legende-taille); color: var(--cyb-estompe); }
.cyb-date { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-estompe); }
.cyb-alphabet { list-style: none; display: flex; flex-wrap: wrap; gap: var(--cyb-interstice); }
.cyb-alphabet-lien { --cyb-equerre: transparent; display: inline-grid; place-items: center; min-width: var(--cyb-cible); min-height: var(--cyb-cible); border: 1px solid var(--cyb-filet); background-color: var(--cyb-panneau); color: var(--cyb-encre); font-family: var(--cyb-mono); font-weight: var(--cyb-titre-graisse); text-decoration: none; }
.cyb-alphabet-lien:hover, .cyb-alphabet-lien.cyb-etat-survol { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-trame); border-color: var(--cyb-filet-appuye); color: var(--cyb-encre); box-shadow: 0 0 0.875rem var(--cyb-lueur); }
.cyb-alphabet-lien[aria-current="true"], .cyb-alphabet-lien.cyb-etat-actif { --cyb-equerre: var(--cyb-accent-texte); background-color: var(--cyb-accent); border-color: var(--cyb-accent); color: var(--cyb-accent-texte); box-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-alphabet-lien-vide { background-color: var(--cyb-inerte-fond); border-color: var(--cyb-inerte-fond); color: var(--cyb-inerte-texte); }
.cyb-lexique { display: grid; gap: var(--cyb-retrait); }
.cyb-lexique-lettre { display: flex; align-items: center; gap: var(--cyb-retrait); padding-top: var(--cyb-marge); font-family: var(--cyb-mono); font-size: var(--cyb-section-taille); font-weight: var(--cyb-titre-graisse); color: var(--cyb-accent); text-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-lexique-lettre::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--cyb-filet-appuye), transparent); }
.cyb-entree { --cyb-equerre: var(--cyb-filet-appuye); display: grid; gap: var(--cyb-ecart); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); scroll-margin-top: 6rem; }
.cyb-entree:target, .cyb-entree.cyb-etat-cible { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-phosphore); border-color: var(--cyb-accent); box-shadow: 0 0 1.5rem var(--cyb-lueur); }
.cyb-entree-terme { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--cyb-interstice) var(--cyb-retrait); font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-entree-variante { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: 400; color: var(--cyb-estompe); text-transform: uppercase; letter-spacing: 0.04em; }
.cyb-entree-definition { max-width: var(--cyb-lecture-largeur); }
.cyb-entree-voir { font-size: var(--cyb-legende-taille); color: var(--cyb-estompe); }
.cyb-etapes { list-style: none; counter-reset: etape; display: grid; gap: var(--cyb-retrait); }
.cyb-etape { --cyb-equerre: var(--cyb-filet-appuye); counter-increment: etape; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--cyb-retrait); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); }
.cyb-etape::before { content: counter(etape, decimal-leading-zero); display: grid; place-items: center; width: 2.5rem; height: 2.75rem; background: var(--cyb-accent); color: var(--cyb-accent-texte); font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.cyb-etape-corps { display: grid; gap: var(--cyb-ecart); min-width: 0; }
.cyb-etape-titre { font-size: var(--cyb-chapo-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-frise { --cyb-frise-date-largeur: 10rem; list-style: none; display: grid; gap: var(--cyb-retrait); }
.cyb-frise-fait { display: grid; gap: var(--cyb-interstice) var(--cyb-retrait); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); scroll-margin-top: 6rem; }
.cyb-frise-date { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); color: var(--cyb-estompe); }
.cyb-frise-evenement { min-width: 0; }
@media (min-width: 40rem) { .cyb-frise-fait { grid-template-columns: var(--cyb-frise-date-largeur) minmax(0, 1fr); } }
.cyb-guide { --cyb-equerre: var(--cyb-filet-appuye); display: grid; gap: var(--cyb-interstice); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); color: var(--cyb-encre); text-decoration: none; transition: box-shadow var(--cyb-reaction); }
.cyb-guide:hover, .cyb-guide.cyb-etat-survol { --cyb-equerre: var(--cyb-accent); color: var(--cyb-encre); background-color: var(--cyb-trame); border-color: var(--cyb-filet-appuye); box-shadow: 0 0 1.25rem var(--cyb-lueur); text-shadow: none; }
.cyb-guide-surtitre { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); color: var(--cyb-accent); }
.cyb-guide-titre { font-size: var(--cyb-chapo-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-guide:hover .cyb-guide-titre, .cyb-guide.cyb-etat-survol .cyb-guide-titre { text-decoration: underline; }
.cyb-guide-texte { font-size: var(--cyb-legende-taille); color: var(--cyb-estompe); }
.cyb-acteur { --cyb-equerre: var(--cyb-filet-appuye); display: grid; gap: var(--cyb-ecart); align-content: start; padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); transition: box-shadow var(--cyb-reaction); }
.cyb-acteur:hover, .cyb-acteur.cyb-etat-survol, .cyb-acteur:focus-within { --cyb-equerre: var(--cyb-accent); border-color: var(--cyb-filet-appuye); box-shadow: 0 0 1.25rem var(--cyb-lueur); }
.cyb-acteur-nom { font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-acteur-description { color: var(--cyb-estompe); }
.cyb-flux { display: inline-flex; align-items: center; gap: var(--cyb-ecart); min-height: 2rem; color: var(--cyb-encre); font-size: var(--cyb-legende-taille); }
.cyb-flux:hover, .cyb-flux.cyb-etat-survol { color: var(--cyb-accent-survol); text-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-flux .cyb-forme { color: var(--cyb-aube-encre); }
.cyb-lien { color: var(--cyb-accent); }
.cyb-lien:hover, .cyb-lien.cyb-etat-survol { color: var(--cyb-accent-survol); text-decoration-thickness: 2px; text-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-lien:active, .cyb-lien.cyb-etat-actif { color: var(--cyb-accent-presse); }
.cyb-lien[aria-disabled="true"] { color: var(--cyb-inerte-texte); text-decoration-style: dotted; cursor: not-allowed; pointer-events: none; }
.cyb-bouton { --cyb-bouton-fond: var(--cyb-accent); display: inline-flex; align-items: center; justify-content: center; gap: var(--cyb-ecart); min-height: var(--cyb-cible); padding: var(--cyb-ecart) var(--cyb-gouttiere); border: 1px solid transparent; background: linear-gradient(135deg, transparent var(--cyb-chanfrein), var(--cyb-bouton-fond) var(--cyb-chanfrein)) top / 100% 51% no-repeat, linear-gradient(-45deg, transparent var(--cyb-chanfrein), var(--cyb-bouton-fond) var(--cyb-chanfrein)) bottom / 100% 51% no-repeat; color: var(--cyb-accent-texte); font: inherit; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); line-height: 1.2; text-decoration: none; cursor: pointer; transition: filter var(--cyb-reaction); }
.cyb-bouton:hover, .cyb-bouton.cyb-etat-survol { --cyb-bouton-fond: var(--cyb-accent-survol); color: var(--cyb-accent-texte); text-decoration: none; text-shadow: none; filter: drop-shadow(0 0 0.5rem var(--cyb-lueur)); }
.cyb-bouton:active, .cyb-bouton.cyb-etat-actif { --cyb-bouton-fond: var(--cyb-accent-presse); color: var(--cyb-accent-texte); filter: none; }
.cyb-bouton-second { --cyb-equerre: var(--cyb-accent); background: none; background-color: transparent; background-image: var(--cyb-equerres); background-size: var(--cyb-equerres-tailles); background-position: var(--cyb-equerres-positions); background-repeat: no-repeat; border-color: var(--cyb-filet-appuye); color: var(--cyb-accent); }
.cyb-bouton-second:hover, .cyb-bouton-second.cyb-etat-survol { background-color: var(--cyb-phosphore); border-color: var(--cyb-accent); color: var(--cyb-accent-survol); }
.cyb-bouton-second:active, .cyb-bouton-second.cyb-etat-actif { background-color: var(--cyb-selection); border-color: var(--cyb-accent); color: var(--cyb-encre); }
.cyb-bouton-texte { background: transparent; border-color: transparent; color: var(--cyb-accent); }
.cyb-bouton-texte:hover, .cyb-bouton-texte.cyb-etat-survol { background: var(--cyb-trame); color: var(--cyb-accent-survol); filter: none; }
.cyb-bouton-texte:active, .cyb-bouton-texte.cyb-etat-actif { background: var(--cyb-phosphore); color: var(--cyb-accent-survol); }
.cyb-bouton:disabled, .cyb-bouton[aria-disabled="true"] { --cyb-bouton-fond: var(--cyb-inerte-fond); --cyb-equerre: transparent; background-color: transparent; border-color: transparent; color: var(--cyb-inerte-texte); cursor: not-allowed; pointer-events: none; filter: none; }
.cyb-bouton-second:disabled, .cyb-bouton-texte:disabled { background-color: var(--cyb-inerte-fond); }
.cyb-bouton-ligne { min-height: 2.25rem; padding: var(--cyb-interstice) var(--cyb-retrait); --cyb-chanfrein: 0.375rem; }
.cyb-recherche { display: grid; gap: var(--cyb-ecart); }
.cyb-recherche-libelle { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-accent); }
.cyb-recherche-rangee { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--cyb-ecart); }
.cyb-saisie { width: 100%; min-height: var(--cyb-cible); padding: var(--cyb-ecart) var(--cyb-retrait); border: 1px solid var(--cyb-filet-appuye); border-radius: 0; background: var(--cyb-panneau); color: var(--cyb-encre); font: inherit; font-family: var(--cyb-mono); font-size: 1rem; caret-color: var(--cyb-accent); }
.cyb-saisie::placeholder { color: var(--cyb-estompe); opacity: 1; }
.cyb-saisie:hover, .cyb-saisie.cyb-etat-survol { border-color: var(--cyb-accent); box-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-saisie:focus, .cyb-saisie.cyb-etat-focus { border-color: var(--cyb-accent); outline: var(--cyb-focus-trait) solid var(--cyb-focus); outline-offset: var(--cyb-focus-recul); box-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-saisie:disabled { background: var(--cyb-inerte-fond); border-color: var(--cyb-inerte-fond); color: var(--cyb-inerte-texte); cursor: not-allowed; box-shadow: none; }
.cyb-saisie:disabled::placeholder { color: var(--cyb-inerte-texte); }
.cyb-aide { font-size: var(--cyb-legende-taille); color: var(--cyb-estompe); }
.cyb-pagination-liste { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-interstice); }
.cyb-pagination-lien { --cyb-equerre: transparent; display: inline-grid; place-items: center; min-width: var(--cyb-cible); min-height: var(--cyb-cible); padding: 0 var(--cyb-retrait); border: 1px solid var(--cyb-filet); background-color: var(--cyb-panneau); color: var(--cyb-encre); font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); font-variant-numeric: tabular-nums; text-decoration: none; }
.cyb-pagination-lien:hover, .cyb-pagination-lien.cyb-etat-survol { --cyb-equerre: var(--cyb-accent); background-color: var(--cyb-trame); border-color: var(--cyb-filet-appuye); color: var(--cyb-encre); box-shadow: 0 0 0.875rem var(--cyb-lueur); text-shadow: none; }
.cyb-pagination-lien[aria-current="page"], .cyb-pagination-lien.cyb-etat-actif { --cyb-equerre: var(--cyb-accent-texte); background-color: var(--cyb-accent); border-color: var(--cyb-accent); color: var(--cyb-accent-texte); box-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-pagination-lien[aria-disabled="true"] { background-color: var(--cyb-inerte-fond); border-color: var(--cyb-inerte-fond); color: var(--cyb-inerte-texte); pointer-events: none; box-shadow: none; }
.cyb-pagination-ellipse { padding: 0 var(--cyb-ecart); color: var(--cyb-estompe); font-family: var(--cyb-mono); }
.cyb-ariane { min-width: 0; }
.cyb-ariane ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-interstice) var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: 0.04em; color: var(--cyb-estompe); }
.cyb-ariane li { display: inline-flex; align-items: center; gap: var(--cyb-ecart); min-width: 0; }
.cyb-ariane a { color: var(--cyb-estompe); }
.cyb-ariane a:hover, .cyb-ariane a.cyb-etat-survol { color: var(--cyb-accent-survol); }
.cyb-ariane a[aria-current="page"] { color: var(--cyb-encre); font-weight: var(--cyb-titre-graisse); text-decoration: none; }
.cyb-filtres { list-style: none; display: inline-flex; flex-wrap: wrap; gap: var(--cyb-interstice); padding: var(--cyb-interstice); border: 1px solid var(--cyb-filet); background: var(--cyb-trame); max-width: 100%; }
.cyb-filtre { display: inline-flex; align-items: center; gap: var(--cyb-ecart); min-height: var(--cyb-cible); padding: 0 var(--cyb-retrait); border: 1px solid transparent; color: var(--cyb-estompe); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); text-decoration: none; }
.cyb-filtre:hover, .cyb-filtre.cyb-etat-survol { background: var(--cyb-panneau); color: var(--cyb-encre); text-shadow: none; }
.cyb-filtre[aria-pressed="true"], .cyb-filtre[aria-current], .cyb-filtre.cyb-etat-actif { background: var(--cyb-phosphore); border-color: var(--cyb-accent); color: var(--cyb-accent-survol); box-shadow: 0 0 1rem var(--cyb-lueur); }
.cyb-filtre[aria-disabled="true"] { color: var(--cyb-inerte-texte); pointer-events: none; text-decoration: line-through; }
.cyb-filtre-compte { font-weight: 400; }
/* La Base : le filtre par nature est un jeu de boutons que base.js met en place ; sans script la barre reste masquée et toutes les entrées se lisent. */
button.cyb-filtre { background: none; cursor: pointer; }
.cyb-acteur[hidden] { display: none; }
.cyb-acteur-logo { --cyb-logo-largeur: 6rem; display: block; flex: none; inline-size: var(--cyb-logo-largeur); block-size: var(--cyb-logo-largeur); border: 1px solid var(--cyb-filet); border-radius: var(--cyb-rayon); object-fit: contain; }
.cyb-acteur-monogramme { display: grid; place-items: center; background: var(--cyb-trame); color: var(--cyb-estompe); font-family: var(--cyb-mono); font-size: var(--cyb-section-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: var(--cyb-console-chasse); }
.cyb-acteur-logo-fiche.cyb-acteur-monogramme { font-size: var(--cyb-une-taille); }
.cyb-acteur-logo-fiche { --cyb-logo-largeur: 16rem; }
.cyb-avis { --cyb-equerre: var(--cyb-repos); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--cyb-retrait); padding: var(--cyb-marge); border: 1px solid var(--cyb-filet); color: var(--cyb-encre); }
.cyb-avis-info { background-color: var(--cyb-repos-doux); }
.cyb-avis-veille { --cyb-equerre: var(--cyb-veille); background-color: var(--cyb-veille-doux); background-image: var(--cyb-equerres), repeating-linear-gradient(-45deg, var(--cyb-veille-rayure) 0 0.5rem, transparent 0.5rem 1rem); }
.cyb-alerte { --cyb-equerre: var(--cyb-signal); background-color: var(--cyb-signal-doux); border-color: var(--cyb-signal-filet); animation: cyb-pulsation-critique var(--cyb-pulsation) ease-in-out infinite; }
.cyb-avis-icone { display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); line-height: 1; }
.cyb-avis-info .cyb-avis-icone { background: var(--cyb-repos); color: var(--cyb-repos-texte); }
.cyb-avis-veille .cyb-avis-icone { width: 1.75rem; padding-top: 0.3rem; border-radius: 0; background: var(--cyb-veille-encre); color: var(--cyb-veille-doux); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.cyb-alerte .cyb-avis-icone { border-radius: 0; background: var(--cyb-signal); color: var(--cyb-signal-texte); clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%); }
.cyb-avis-corps { display: grid; gap: var(--cyb-interstice); }
.cyb-avis-titre { font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: 0.04em; }
.cyb-trame { --cyb-equerre: var(--cyb-accent); padding: 0 var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); }
.cyb-tableau { width: 100%; border-collapse: collapse; font-size: var(--cyb-legende-taille); }
.cyb-tableau thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.cyb-tableau tr { display: grid; gap: var(--cyb-interstice); padding-block: var(--cyb-retrait); border-top: 1px solid var(--cyb-filet); }
.cyb-tableau tbody tr:first-child { border-top: 0; }
.cyb-tableau td { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--cyb-retrait); align-items: baseline; }
.cyb-tableau td::before { content: attr(data-libelle); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: 0.04em; color: var(--cyb-accent); }
.cyb-tableau-technique { font-family: var(--cyb-mono); font-variant-numeric: tabular-nums; }
@media (min-width: 48rem) {
.cyb-trame { padding: 0; }
.cyb-tableau thead { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
.cyb-tableau tr { display: table-row; padding: 0; border-top: 0; }
.cyb-tableau th, .cyb-tableau td { display: table-cell; padding: var(--cyb-retrait) var(--cyb-marge); text-align: left; vertical-align: baseline; border-top: 1px solid var(--cyb-filet); }
.cyb-tableau thead th { border-top: 0; background: var(--cyb-trame); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-accent); }
.cyb-tableau td::before { content: none; }
.cyb-tableau tbody tr:hover, .cyb-tableau tbody tr.cyb-etat-survol { background: var(--cyb-phosphore); }

}
.cyb-panneau { --cyb-equerre: var(--cyb-filet-appuye); display: grid; gap: var(--cyb-retrait); padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); min-width: 0; }
.cyb-panneau-titre { display: flex; align-items: center; gap: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); color: var(--cyb-accent); }
.cyb-panneau-titre::before { content: ""; flex: none; width: 0.375rem; height: 0.375rem; background: currentColor; box-shadow: 0 0 0.5rem var(--cyb-lueur); }
.cyb-liste-liens { list-style: none; display: grid; }
.cyb-liste-liens-element { display: grid; gap: var(--cyb-interstice); padding-block: var(--cyb-retrait); border-top: 1px dashed var(--cyb-filet); }
.cyb-liste-liens-element:first-child { border-top: 0; padding-top: 0; }
.cyb-liste-liens-lien { color: var(--cyb-encre); font-weight: var(--cyb-libelle-graisse); text-decoration: none; }
.cyb-liste-liens-lien:hover { color: var(--cyb-accent); text-decoration: underline; }
.cyb-decompte { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cyb-ecart); }
.cyb-decompte-element { display: flex; align-items: center; justify-content: space-between; gap: var(--cyb-ecart); padding: var(--cyb-ecart); border: 1px solid var(--cyb-filet); background: var(--cyb-trame); }
.cyb-decompte-nombre { font-family: var(--cyb-mono); font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); text-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-groupe { display: grid; gap: var(--cyb-retrait); }
.cyb-groupe-titre { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-retrait); font-size: var(--cyb-chapo-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-groupe-titre::after { content: ""; flex: 1 1 4rem; height: 1px; background: linear-gradient(90deg, var(--cyb-filet-appuye), transparent); }
.cyb-groupe-compte { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: 400; text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-planche-sommaire { list-style: none; display: flex; flex-wrap: wrap; gap: var(--cyb-ecart); }
.cyb-planche-section { display: grid; gap: var(--cyb-marge); padding-top: var(--cyb-palier); border-top: 1px dashed var(--cyb-filet); scroll-margin-top: 6rem; }
.cyb-planche-titre { display: flex; align-items: baseline; gap: var(--cyb-retrait); font-size: var(--cyb-section-taille); font-weight: var(--cyb-titre-graisse); }
.cyb-planche-numero { font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); color: var(--cyb-accent); text-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-planche-description { color: var(--cyb-estompe); max-width: var(--cyb-lecture-largeur); }
.cyb-specimens { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--cyb-marge) var(--cyb-gouttiere); }
.cyb-specimen { display: grid; gap: var(--cyb-ecart); justify-items: start; min-width: 0; }
.cyb-specimen-plein { flex: 1 1 100%; justify-items: stretch; }
.cyb-specimen-demi { flex: 1 1 20rem; justify-items: stretch; }
.cyb-specimen-legende { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: 0.04em; color: var(--cyb-estompe); }
.cyb-specimen-cadre { --cyb-equerre: var(--cyb-accent); padding: var(--cyb-interstice); border: 1px solid var(--cyb-filet); }
.cyb-planche-carte { --cyb-equerre: var(--cyb-filet-appuye); display: grid; gap: var(--cyb-retrait); align-content: start; padding: var(--cyb-marge); background-color: var(--cyb-panneau); border: 1px solid var(--cyb-filet); }
.cyb-planche-carte:hover, .cyb-planche-carte:focus-within { --cyb-equerre: var(--cyb-accent); box-shadow: 0 0 1.25rem var(--cyb-lueur); }
.cyb-planche-carte-titre { font-size: var(--cyb-chapo-taille); font-weight: var(--cyb-titre-graisse); }
@media (forced-colors: active) {
.cyb-bouton { border-color: ButtonText; background: ButtonFace; color: ButtonText; }
.cyb-etiquette, .cyb-forme, .cyb-module-ordre, .cyb-etape::before { forced-color-adjust: none; }

}
.cyb-groupe-titre::after, .cyb-lexique-lettre::after { height: 0.5rem; background: linear-gradient(var(--cyb-filet-appuye), var(--cyb-filet-appuye)) 0 100% / 100% 1px no-repeat, repeating-linear-gradient(90deg, var(--cyb-filet-appuye) 0 1px, transparent 1px 0.5rem) 0 100% / 100% 0.25rem no-repeat, repeating-linear-gradient(90deg, var(--cyb-accent) 0 1px, transparent 1px 2.5rem) 0 100% / 100% 0.5rem no-repeat; -webkit-mask-image: linear-gradient(90deg, #000 55%, transparent); mask-image: linear-gradient(90deg, #000 55%, transparent); }
.cyb-bandeau-surtitre::after { content: "22\00B0 16\2032 S \00B7 166\00B0 27\2032 E"; content: "22\00B0 16\2032 S \00B7 166\00B0 27\2032 E" / ""; font-weight: 400; letter-spacing: 0.04em; margin-inline-start: var(--cyb-ecart); }
@property --cyb-niveau { syntax: "<number>"; inherits: true; initial-value: 0; }
.cyb-niveau-0 { --cyb-niveau: 0; }
.cyb-niveau-1 { --cyb-niveau: 0.01; }
.cyb-niveau-2 { --cyb-niveau: 0.02; }
.cyb-niveau-3 { --cyb-niveau: 0.03; }
.cyb-niveau-4 { --cyb-niveau: 0.04; }
.cyb-niveau-5 { --cyb-niveau: 0.05; }
.cyb-niveau-6 { --cyb-niveau: 0.06; }
.cyb-niveau-7 { --cyb-niveau: 0.07; }
.cyb-niveau-8 { --cyb-niveau: 0.08; }
.cyb-niveau-9 { --cyb-niveau: 0.09; }
.cyb-niveau-10 { --cyb-niveau: 0.1; }
.cyb-niveau-11 { --cyb-niveau: 0.11; }
.cyb-niveau-12 { --cyb-niveau: 0.12; }
.cyb-niveau-13 { --cyb-niveau: 0.13; }
.cyb-niveau-14 { --cyb-niveau: 0.14; }
.cyb-niveau-15 { --cyb-niveau: 0.15; }
.cyb-niveau-16 { --cyb-niveau: 0.16; }
.cyb-niveau-17 { --cyb-niveau: 0.17; }
.cyb-niveau-18 { --cyb-niveau: 0.18; }
.cyb-niveau-19 { --cyb-niveau: 0.19; }
.cyb-niveau-20 { --cyb-niveau: 0.2; }
.cyb-niveau-21 { --cyb-niveau: 0.21; }
.cyb-niveau-22 { --cyb-niveau: 0.22; }
.cyb-niveau-23 { --cyb-niveau: 0.23; }
.cyb-niveau-24 { --cyb-niveau: 0.24; }
.cyb-niveau-25 { --cyb-niveau: 0.25; }
.cyb-niveau-26 { --cyb-niveau: 0.26; }
.cyb-niveau-27 { --cyb-niveau: 0.27; }
.cyb-niveau-28 { --cyb-niveau: 0.28; }
.cyb-niveau-29 { --cyb-niveau: 0.29; }
.cyb-niveau-30 { --cyb-niveau: 0.3; }
.cyb-niveau-31 { --cyb-niveau: 0.31; }
.cyb-niveau-32 { --cyb-niveau: 0.32; }
.cyb-niveau-33 { --cyb-niveau: 0.33; }
.cyb-niveau-34 { --cyb-niveau: 0.34; }
.cyb-niveau-35 { --cyb-niveau: 0.35; }
.cyb-niveau-36 { --cyb-niveau: 0.36; }
.cyb-niveau-37 { --cyb-niveau: 0.37; }
.cyb-niveau-38 { --cyb-niveau: 0.38; }
.cyb-niveau-39 { --cyb-niveau: 0.39; }
.cyb-niveau-40 { --cyb-niveau: 0.4; }
.cyb-niveau-41 { --cyb-niveau: 0.41; }
.cyb-niveau-42 { --cyb-niveau: 0.42; }
.cyb-niveau-43 { --cyb-niveau: 0.43; }
.cyb-niveau-44 { --cyb-niveau: 0.44; }
.cyb-niveau-45 { --cyb-niveau: 0.45; }
.cyb-niveau-46 { --cyb-niveau: 0.46; }
.cyb-niveau-47 { --cyb-niveau: 0.47; }
.cyb-niveau-48 { --cyb-niveau: 0.48; }
.cyb-niveau-49 { --cyb-niveau: 0.49; }
.cyb-niveau-50 { --cyb-niveau: 0.5; }
.cyb-niveau-51 { --cyb-niveau: 0.51; }
.cyb-niveau-52 { --cyb-niveau: 0.52; }
.cyb-niveau-53 { --cyb-niveau: 0.53; }
.cyb-niveau-54 { --cyb-niveau: 0.54; }
.cyb-niveau-55 { --cyb-niveau: 0.55; }
.cyb-niveau-56 { --cyb-niveau: 0.56; }
.cyb-niveau-57 { --cyb-niveau: 0.57; }
.cyb-niveau-58 { --cyb-niveau: 0.58; }
.cyb-niveau-59 { --cyb-niveau: 0.59; }
.cyb-niveau-60 { --cyb-niveau: 0.6; }
.cyb-niveau-61 { --cyb-niveau: 0.61; }
.cyb-niveau-62 { --cyb-niveau: 0.62; }
.cyb-niveau-63 { --cyb-niveau: 0.63; }
.cyb-niveau-64 { --cyb-niveau: 0.64; }
.cyb-niveau-65 { --cyb-niveau: 0.65; }
.cyb-niveau-66 { --cyb-niveau: 0.66; }
.cyb-niveau-67 { --cyb-niveau: 0.67; }
.cyb-niveau-68 { --cyb-niveau: 0.68; }
.cyb-niveau-69 { --cyb-niveau: 0.69; }
.cyb-niveau-70 { --cyb-niveau: 0.7; }
.cyb-niveau-71 { --cyb-niveau: 0.71; }
.cyb-niveau-72 { --cyb-niveau: 0.72; }
.cyb-niveau-73 { --cyb-niveau: 0.73; }
.cyb-niveau-74 { --cyb-niveau: 0.74; }
.cyb-niveau-75 { --cyb-niveau: 0.75; }
.cyb-niveau-76 { --cyb-niveau: 0.76; }
.cyb-niveau-77 { --cyb-niveau: 0.77; }
.cyb-niveau-78 { --cyb-niveau: 0.78; }
.cyb-niveau-79 { --cyb-niveau: 0.79; }
.cyb-niveau-80 { --cyb-niveau: 0.8; }
.cyb-niveau-81 { --cyb-niveau: 0.81; }
.cyb-niveau-82 { --cyb-niveau: 0.82; }
.cyb-niveau-83 { --cyb-niveau: 0.83; }
.cyb-niveau-84 { --cyb-niveau: 0.84; }
.cyb-niveau-85 { --cyb-niveau: 0.85; }
.cyb-niveau-86 { --cyb-niveau: 0.86; }
.cyb-niveau-87 { --cyb-niveau: 0.87; }
.cyb-niveau-88 { --cyb-niveau: 0.88; }
.cyb-niveau-89 { --cyb-niveau: 0.89; }
.cyb-niveau-90 { --cyb-niveau: 0.9; }
.cyb-niveau-91 { --cyb-niveau: 0.91; }
.cyb-niveau-92 { --cyb-niveau: 0.92; }
.cyb-niveau-93 { --cyb-niveau: 0.93; }
.cyb-niveau-94 { --cyb-niveau: 0.94; }
.cyb-niveau-95 { --cyb-niveau: 0.95; }
.cyb-niveau-96 { --cyb-niveau: 0.96; }
.cyb-niveau-97 { --cyb-niveau: 0.97; }
.cyb-niveau-98 { --cyb-niveau: 0.98; }
.cyb-niveau-99 { --cyb-niveau: 0.99; }
.cyb-niveau-100 { --cyb-niveau: 1; }
.cyb-jauge { --cyb-jauge: var(--cyb-accent); --cyb-jauge-taille: 5.5rem; --cyb-jauge-anneau: 0.4375rem; position: relative; flex: none; display: flex; align-items: baseline; justify-content: center; gap: 0.125rem; width: var(--cyb-jauge-taille); height: var(--cyb-jauge-taille); padding-top: calc(var(--cyb-jauge-taille) * 0.36); border-radius: 50%; line-height: 1; }
.cyb-jauge::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 225deg, var(--cyb-jauge) 0 calc(var(--cyb-niveau) * 270deg), var(--cyb-filet) 0 270deg, transparent 0); -webkit-mask: radial-gradient(closest-side, transparent calc(100% - var(--cyb-jauge-anneau) - 1px), #000 calc(100% - var(--cyb-jauge-anneau)) calc(100% - 1px), transparent 100%); mask: radial-gradient(closest-side, transparent calc(100% - var(--cyb-jauge-anneau) - 1px), #000 calc(100% - var(--cyb-jauge-anneau)) calc(100% - 1px), transparent 100%); filter: drop-shadow(0 0 0.375rem var(--cyb-lueur-jauge, transparent)); animation: cyb-remplit 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.cyb-jauge::after { content: ""; position: absolute; inset: calc(var(--cyb-jauge-anneau) + 0.25rem); border-radius: 50%; background: repeating-conic-gradient(from 225deg, var(--cyb-filet-appuye) 0 1.2deg, transparent 1.2deg 13.5deg); -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 0.3125rem), #000 calc(100% - 0.3rem)), conic-gradient(from 225deg, #000 0 270.5deg, transparent 0); -webkit-mask-composite: source-in; mask: radial-gradient(closest-side, transparent calc(100% - 0.3125rem), #000 calc(100% - 0.3rem)), conic-gradient(from 225deg, #000 0 270.5deg, transparent 0); mask-composite: intersect; }
.cyb-jauge-valeur { position: relative; font-family: var(--cyb-mono); font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); font-variant-numeric: tabular-nums; letter-spacing: -0.03em; color: var(--cyb-encre); }
.cyb-jauge-unite { position: relative; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-estompe); }
.cyb-jauge-libelle { position: absolute; left: 50%; bottom: 0.25rem; transform: translateX(-50%); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); white-space: nowrap; }
.cyb-jauge-fiche { --cyb-jauge-taille: 8.5rem; --cyb-jauge-anneau: 0.625rem; }
.cyb-jauge-fiche .cyb-jauge-valeur { font-size: var(--cyb-titre-taille); }
.cyb-jauge-depeche { --cyb-jauge-taille: 4.25rem; --cyb-jauge-anneau: 0.3125rem; padding-top: 1.375rem; }
.cyb-jauge-depeche .cyb-jauge-valeur { font-size: var(--cyb-chapo-taille); }
.cyb-jauge-depeche .cyb-jauge-libelle { bottom: 0; }
.cyb-jauge-critique, .cyb-cran-alerte { --cyb-jauge: var(--cyb-signal); --cyb-lueur-jauge: var(--cyb-lueur-signal); }
.cyb-jauge-haute, .cyb-cran-veille { --cyb-jauge: var(--cyb-veille); --cyb-lueur-jauge: var(--cyb-lueur-veille); }
.cyb-jauge-moyenne { --cyb-jauge: var(--cyb-vigilance); }
.cyb-jauge-info, .cyb-cran-repos { --cyb-jauge: var(--cyb-repos); --cyb-lueur-jauge: var(--cyb-lueur-repos); }
.cyb-mesure { display: grid; gap: var(--cyb-interstice); flex: 1 1 10rem; min-width: 8rem; }
.cyb-mesure-entete { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-mesure-valeur { color: var(--cyb-encre); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); font-variant-numeric: tabular-nums; }
:where(.cyb-cran:empty) { --cyb-jauge: var(--cyb-accent); height: 0.75rem; background: linear-gradient(90deg, var(--cyb-jauge) 0 calc(var(--cyb-niveau) * 100%), var(--cyb-filet) 0); -webkit-mask: repeating-linear-gradient(90deg, #000 0 calc(5% - 2px), transparent calc(5% - 2px) 5%); mask: repeating-linear-gradient(90deg, #000 0 calc(5% - 2px), transparent calc(5% - 2px) 5%); animation: cyb-remplit 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.cyb-voyant { display: inline-flex; align-items: center; gap: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-voyant::before { content: ""; flex: none; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--cyb-filet-appuye); box-shadow: 0 0 0 2px var(--cyb-panneau), 0 0 0 3px var(--cyb-filet-appuye); }
.cyb-voyant-actif { color: var(--cyb-accent); }
.cyb-voyant-actif::before { background: var(--cyb-accent); box-shadow: 0 0 0 2px var(--cyb-panneau), 0 0 0 3px var(--cyb-accent), 0 0 0.625rem var(--cyb-lueur); }
.cyb-voyant-critique { color: var(--cyb-signal-encre); }
.cyb-voyant-critique::before { background: var(--cyb-signal); box-shadow: 0 0 0 2px var(--cyb-panneau), 0 0 0 3px var(--cyb-signal), 0 0 0.75rem var(--cyb-lueur-signal); animation: cyb-voyant var(--cyb-pulsation) ease-in-out infinite; }
.cyb-oscillo { position: relative; height: 3rem; overflow: hidden; border: 1px solid var(--cyb-filet); background: linear-gradient(var(--cyb-grille), var(--cyb-grille)) 0 50% / 100% 1px no-repeat, repeating-linear-gradient(90deg, transparent 0 calc(2rem - 1px), var(--cyb-grille) calc(2rem - 1px) 2rem), var(--cyb-trame); }
.cyb-oscillo::before { content: ""; position: absolute; inset: 0.375rem 0.5rem; background: repeating-linear-gradient(90deg, var(--cyb-accent) 0 2px, transparent 2px 5px); -webkit-mask: radial-gradient(ellipse 50% 50% at 50% 50%, #000 30%, transparent 75%) 0 50% / 5rem 100% repeat-x, radial-gradient(ellipse 50% 40% at 50% 50%, #000 20%, transparent 70%) 0 50% / 8.5rem 100% repeat-x; mask: radial-gradient(ellipse 50% 50% at 50% 50%, #000 30%, transparent 75%) 0 50% / 5rem 100% repeat-x, radial-gradient(ellipse 50% 40% at 50% 50%, #000 20%, transparent 70%) 0 50% / 8.5rem 100% repeat-x; animation: cyb-oscillo 4s linear infinite; }
.cyb-oscillo-critique::before { background: repeating-linear-gradient(90deg, var(--cyb-signal) 0 2px, transparent 2px 5px); animation-duration: 1.8s; }
.cyb-hexagones { display: inline-flex; gap: 2px; vertical-align: middle; }
.cyb-hex { display: inline-block; width: 0.6875rem; height: 0.75rem; background: var(--cyb-filet); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.cyb-hex-allume { background: var(--cyb-accent); }
.cyb-compte-sources { display: inline-flex; align-items: center; gap: var(--cyb-ecart); }
.cyb-depeche-mesures { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-retrait) var(--cyb-gouttiere); padding: var(--cyb-ecart) var(--cyb-retrait); border: 1px dashed var(--cyb-filet); background: var(--cyb-trame); }
.cyb-tableau-bord { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); align-items: center; justify-items: center; gap: var(--cyb-marge); padding: var(--cyb-marge); border: 1px dashed var(--cyb-filet); background-color: var(--cyb-trame); background-image: linear-gradient(var(--cyb-grille) 1px, transparent 1px), linear-gradient(90deg, var(--cyb-grille) 1px, transparent 1px); background-size: 1rem 1rem; }
.cyb-tableau-bord-etat { display: grid; gap: var(--cyb-ecart); justify-self: stretch; grid-column: 1 / -1; }
@media (min-width: 40rem) {
.cyb-tableau-bord { grid-template-columns: auto auto minmax(0, 1fr); justify-items: start; }
.cyb-tableau-bord-etat { grid-column: auto; } 
}
.cyb-bandeau-instruments { display: grid; gap: var(--cyb-ecart); max-width: 32rem; }
body { counter-reset: cyb-module; }
.cyb-module { counter-increment: cyb-module; }
.cyb-module::after { content: "MOD-" counter(cyb-module, decimal-leading-zero) " \00B7 CyberBase"; content: "MOD-" counter(cyb-module, decimal-leading-zero) " \00B7 CyberBase" / ""; position: absolute; right: var(--cyb-retrait); bottom: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); letter-spacing: var(--cyb-console-chasse); color: var(--cyb-filet-appuye); }
.cyb-module { padding-bottom: calc(var(--cyb-gouttiere) + 0.5rem); }
.cyb-module-titre { padding: 0.375rem 1.5rem 0.375rem 0.75rem; background: var(--cyb-phosphore); color: var(--cyb-accent-survol); clip-path: polygon(0 0, calc(100% - 0.875rem) 0, 100% 100%, 0 100%); }
.cyb-clair .cyb-module-titre { background: var(--cyb-aube-fond); color: var(--cyb-aube-encre); }
.cyb-panneau-titre { padding: 0.25rem 1.25rem 0.25rem 0.5rem; margin-inline-start: calc(var(--cyb-marge) * -1); margin-top: calc(var(--cyb-marge) * -1); justify-self: start; background: var(--cyb-trame); clip-path: polygon(0 0, calc(100% - 0.75rem) 0, 100% 100%, 0 100%); }
.cyb-chiffre::after { content: ""; position: absolute; top: 50%; right: -2.5rem; width: 10rem; height: 10rem; margin-top: -5rem; border-radius: 50%; border: 1px dashed var(--cyb-filet-appuye); background: repeating-conic-gradient(var(--cyb-filet-appuye) 0 1deg, transparent 1deg 10deg), radial-gradient(circle, var(--cyb-accent) 0 0.1875rem, transparent 0.25rem); -webkit-mask: radial-gradient(closest-side, #000 0 0.3rem, transparent 0.35rem calc(100% - 0.75rem), #000 calc(100% - 0.7rem)); mask: radial-gradient(closest-side, #000 0 0.3rem, transparent 0.35rem calc(100% - 0.75rem), #000 calc(100% - 0.7rem)); animation: cyb-rotation 30s linear infinite; pointer-events: none; }
.cyb-piste-cadre { position: relative; overflow: hidden; aspect-ratio: 16 / 10; border: 1px solid var(--cyb-filet); background: var(--cyb-papier); }
.cyb-piste-apercu { position: absolute; top: 0; left: 0; width: 400%; height: 400%; border: 0; transform: scale(0.25); transform-origin: 0 0; pointer-events: none; }
.cyb-globe-cadre { overflow-x: clip; display: grid; gap: var(--cyb-retrait); }
.cyb-globe { position: relative; width: min(80%, 17rem); aspect-ratio: 1; margin-inline: auto; }
.cyb-globe-couronne { position: absolute; inset: 0; border-radius: 50%; background: repeating-conic-gradient(var(--cyb-filet-appuye) 0 0.6deg, transparent 0.6deg 4deg); -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 0.75rem), #000 calc(100% - 0.7rem) calc(100% - 0.25rem), transparent calc(100% - 0.2rem)); mask: radial-gradient(closest-side, transparent calc(100% - 0.75rem), #000 calc(100% - 0.7rem) calc(100% - 0.25rem), transparent calc(100% - 0.2rem)); animation: cyb-rotation 80s linear infinite; }
.cyb-globe-sphere { position: absolute; inset: 14%; border-radius: 50%; border: 1px solid var(--cyb-accent); background: repeating-linear-gradient(0deg, transparent 0 calc(12.5% - 1px), var(--cyb-grille-appuyee) calc(12.5% - 1px) 12.5%), radial-gradient(circle at 34% 30%, var(--cyb-phosphore), var(--cyb-panneau) 72%); box-shadow: 0 0 2rem var(--cyb-lueur); }
.cyb-globe-meridien { position: absolute; inset: 14%; border-radius: 50%; border: 1px solid var(--cyb-grille-appuyee); animation: cyb-meridien 10s ease-in-out infinite alternate; }
.cyb-globe-meridien-2 { animation-delay: -3.3s; }
.cyb-globe-meridien-3 { animation-delay: -6.6s; border-color: var(--cyb-accent); }
.cyb-globe-orbite { position: absolute; inset: 4% -10%; border-radius: 50%; border: 1px dashed var(--cyb-filet-appuye); transform: rotate(-28deg); }
.cyb-globe-cible { position: absolute; width: 0.75rem; height: 0.75rem; margin: -0.375rem; border-radius: 50%; background: var(--cyb-signal); box-shadow: 0 0 0 0.25rem var(--cyb-lueur-signal), 0 0 1rem var(--cyb-lueur-signal); }
.cyb-globe-cible::after { content: ""; position: absolute; inset: -0.5rem; border-radius: 50%; border: 1px solid var(--cyb-signal); animation: cyb-onde var(--cyb-pulsation) ease-out infinite; }
.cyb-globe-cible-nc { left: 70%; top: 66%; }
.cyb-globe-cible-fr { left: 40%; top: 30%; }
.cyb-globe-legendes { list-style: none; display: flex; justify-content: space-between; gap: var(--cyb-retrait); }
.cyb-globe-legende { display: grid; gap: 0.125rem; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-globe-legende-code { display: inline-flex; align-items: center; gap: var(--cyb-ecart); font-size: var(--cyb-section-taille); font-weight: var(--cyb-titre-graisse); color: var(--cyb-encre); }
.cyb-globe-legende-code::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--cyb-signal); box-shadow: 0 0 0.5rem var(--cyb-lueur-signal); }
.cyb-ruche { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, 4.75rem); grid-auto-rows: 5.4rem; row-gap: 3rem; padding: 0 1.5rem 2.75rem 0; }
.cyb-ruche-cellule { position: relative; isolation: isolate; display: grid; place-items: center; width: 6.25rem; height: 5.4rem; padding: 0 0.875rem; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); background: var(--cyb-filet-appuye); color: var(--cyb-encre); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); line-height: 1.15; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.cyb-ruche-cellule::before { content: ""; position: absolute; inset: 1px; z-index: -1; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); background: var(--cyb-trame); }
.cyb-ruche-cellule:nth-child(even) { transform: translateY(50%); }
.cyb-ruche-cellule-allumee { background: var(--cyb-accent); color: var(--cyb-accent-survol); }
.cyb-ruche-cellule-allumee::before { background: var(--cyb-phosphore); }
.cyb-ruche-cellule-alerte { background: var(--cyb-signal); color: var(--cyb-signal-encre); }
.cyb-ruche-cellule-alerte::before { background: var(--cyb-signal-doux); }
.cyb-ruche-cellule-vide { background: var(--cyb-filet); }
.cyb-ruche-cellule-vide::before { background: var(--cyb-papier); }
.cyb-curseurs { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cyb-ecart); }
.cyb-curseur { display: grid; justify-items: center; gap: 0.375rem; font-family: var(--cyb-mono); }
.cyb-curseur-valeur { font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); font-variant-numeric: tabular-nums; }
.cyb-curseur-rail { --cyb-jauge: var(--cyb-accent); position: relative; width: 1.5rem; height: 8rem; background: linear-gradient(var(--cyb-filet), var(--cyb-filet)) 50% 0 / 0.375rem 100% no-repeat, repeating-linear-gradient(0deg, var(--cyb-filet-appuye) 0 1px, transparent 1px 1rem) 0 0 / 0.3125rem 100% no-repeat, repeating-linear-gradient(0deg, var(--cyb-filet-appuye) 0 1px, transparent 1px 1rem) 100% 0 / 0.3125rem 100% no-repeat; }
.cyb-curseur-rail::before { content: ""; position: absolute; left: 50%; bottom: 0; width: 0.375rem; height: calc(var(--cyb-niveau) * 100%); margin-left: -0.1875rem; background: var(--cyb-jauge); box-shadow: 0 0 0.75rem var(--cyb-lueur-jauge, transparent); animation: cyb-remplit 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.cyb-curseur-rail::after { content: ""; position: absolute; left: 50%; bottom: calc(var(--cyb-niveau) * 100%); width: 1.25rem; height: 0.625rem; margin: 0 0 -0.3125rem -0.625rem; background: var(--cyb-panneau); border: 2px solid var(--cyb-jauge); animation: cyb-remplit 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.cyb-curseur-rail-critique { --cyb-jauge: var(--cyb-signal); --cyb-lueur-jauge: var(--cyb-lueur-signal); }
.cyb-curseur-rail-haute { --cyb-jauge: var(--cyb-veille); --cyb-lueur-jauge: var(--cyb-lueur-veille); }
.cyb-curseur-rail-moyenne { --cyb-jauge: var(--cyb-vigilance); }
.cyb-curseur-rail-info { --cyb-jauge: var(--cyb-repos); --cyb-lueur-jauge: var(--cyb-lueur-repos); }
.cyb-curseur-libelle { font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; color: var(--cyb-estompe); }
.cyb-touches { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr)); gap: 0.375rem; }
.cyb-touche { display: grid; gap: 0.125rem; min-height: 3.5rem; padding: var(--cyb-ecart) var(--cyb-retrait); border: 1px solid var(--cyb-filet-appuye); background: linear-gradient(225deg, var(--cyb-accent) 0 0.5rem, transparent 0.5rem), var(--cyb-panneau); color: var(--cyb-encre); font-family: var(--cyb-mono); text-decoration: none; transition: box-shadow var(--cyb-reaction); }
.cyb-touche-code { font-size: var(--cyb-intertitre-taille); font-weight: var(--cyb-titre-graisse); line-height: 1; color: var(--cyb-accent); }
.cyb-touche-libelle { font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-touche:hover, .cyb-touche.cyb-etat-survol { background: linear-gradient(225deg, var(--cyb-accent) 0 0.5rem, transparent 0.5rem), var(--cyb-phosphore); border-color: var(--cyb-accent); color: var(--cyb-encre); box-shadow: 0 0 1rem var(--cyb-lueur); text-shadow: none; }
.cyb-touche:active, .cyb-touche.cyb-etat-actif, .cyb-touche[aria-current] { background: var(--cyb-accent); border-color: var(--cyb-accent); }
.cyb-touche:active .cyb-touche-code, .cyb-touche.cyb-etat-actif .cyb-touche-code, .cyb-touche[aria-current] .cyb-touche-code, .cyb-touche:active .cyb-touche-libelle, .cyb-touche.cyb-etat-actif .cyb-touche-libelle, .cyb-touche[aria-current] .cyb-touche-libelle { color: var(--cyb-accent-texte); }
.cyb-touche[aria-disabled="true"] { background: var(--cyb-inerte-fond); border-color: var(--cyb-inerte-fond); pointer-events: none; }
.cyb-touche[aria-disabled="true"] .cyb-touche-code, .cyb-touche[aria-disabled="true"] .cyb-touche-libelle { color: var(--cyb-inerte-texte); }
.cyb-plaque { position: relative; display: inline-flex; align-items: center; justify-self: start; gap: var(--cyb-retrait); margin-inline: 0.75rem; padding: var(--cyb-ecart) var(--cyb-gouttiere); background: var(--cyb-signal); color: var(--cyb-signal-texte); font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); text-decoration: none; box-shadow: 0 0 1.5rem var(--cyb-lueur-signal); }
.cyb-plaque::before, .cyb-plaque::after { content: ""; position: absolute; top: -0.375rem; bottom: -0.375rem; width: 0.5rem; background: linear-gradient(var(--cyb-signal), var(--cyb-signal)) 0 0 / 100% 1px no-repeat, linear-gradient(var(--cyb-signal), var(--cyb-signal)) 0 100% / 100% 1px no-repeat; }
.cyb-plaque::before { left: -0.75rem; background-image: linear-gradient(var(--cyb-signal), var(--cyb-signal)), linear-gradient(var(--cyb-signal), var(--cyb-signal)), linear-gradient(var(--cyb-signal), var(--cyb-signal)); background-size: 100% 1px, 100% 1px, 1px 100%; background-position: 0 0, 0 100%, 0 0; }
.cyb-plaque::after { right: -0.75rem; background-image: linear-gradient(var(--cyb-signal), var(--cyb-signal)), linear-gradient(var(--cyb-signal), var(--cyb-signal)), linear-gradient(var(--cyb-signal), var(--cyb-signal)); background-size: 100% 1px, 100% 1px, 1px 100%; background-position: 0 0, 0 100%, 100% 0; }
a.cyb-plaque:hover, .cyb-plaque.cyb-etat-survol { color: var(--cyb-signal-texte); box-shadow: 0 0 2.5rem var(--cyb-lueur-signal); text-shadow: none; text-decoration: underline; }
.cyb-plaque-voyant { width: 0.625rem; height: 0.625rem; background: currentColor; animation: cyb-voyant 1.3s steps(1) infinite; }
.cyb-plaque-ref { display: inline-flex; flex-wrap: wrap; align-items: center; justify-self: start; gap: var(--cyb-retrait); padding: var(--cyb-ecart) var(--cyb-retrait); border: 1px dashed var(--cyb-filet-appuye); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-plaque-code { display: inline-block; width: 7rem; height: 1.75rem; background: repeating-linear-gradient(90deg, var(--cyb-encre) 0 2px, transparent 2px 4px, var(--cyb-encre) 4px 5px, transparent 5px 8px, var(--cyb-encre) 8px 11px, transparent 11px 12px, var(--cyb-encre) 12px 13px, transparent 13px 16px, var(--cyb-encre) 16px 19px, transparent 19px 21px); }

@media (prefers-color-scheme: dark) { html:not([data-theme]) { color-scheme: dark; } }
/* Ancres : défilement doux (coupé sous prefers-reduced-motion, voir plus bas) ; toute cible s'arrête sous le bandeau.
   Le bandeau ne colle au haut de l'écran qu'à partir de 64rem : en dessous, il ne cache rien. */
:root { --cyb-bandeau-hauteur: 0rem; --cyb-alphabet-hauteur: 0rem; }
@media (min-width: 64rem) { :root { --cyb-bandeau-hauteur: calc(2 * var(--cyb-marge) + 4.25rem + var(--cyb-cible) + var(--cyb-ecart) + 1px); } }
html { scroll-behavior: smooth; }
/* Quand habillage/js/ancres.js est là, c'est lui qui défile vers une ancre, avec sa propre courbe. */
html[data-defilement] { scroll-behavior: auto; }
[id] { scroll-margin-top: calc(var(--cyb-bandeau-hauteur) + var(--cyb-alphabet-hauteur) + var(--cyb-marge)); }

.cyb-marque { margin: 0; display: flex; align-items: center; min-width: 0; }
.cyb-marque a { position: relative; gap: var(--cyb-ecart); min-height: var(--cyb-cible); }
.cyb-marque a::before { content: ""; flex: none; width: 1.5rem; height: 1.5rem; border: 1px solid var(--cyb-accent); border-radius: 50%; background: radial-gradient(circle, var(--cyb-accent) 0 14%, transparent 15%), repeating-radial-gradient(circle, transparent 0 0.3rem, var(--cyb-grille-appuyee) 0.3rem 0.35rem); box-shadow: 0 0 0.75rem var(--cyb-lueur); }
.cyb-marque a::after { content: ""; position: absolute; left: 0; top: 50%; width: 1.5rem; height: 1.5rem; margin-top: -0.75rem; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0 280deg, var(--cyb-accent) 360deg); opacity: 0.7; animation: cyb-rotation 3.2s linear infinite; }

.cyb-rubriques a, .cyb-rubriques a:hover, .cyb-rubriques a.cyb-etat-survol, .cyb-rubriques a[aria-current], .cyb-rubriques a.cyb-etat-actif { background-image: none; }
.cyb-rubriques a { background-color: var(--cyb-panneau); color: var(--cyb-estompe); }
.cyb-rubriques a:hover, .cyb-rubriques a.cyb-etat-survol { background-color: var(--cyb-trame); color: var(--cyb-encre); border-color: var(--cyb-filet); }
.cyb-rubriques a[aria-current], .cyb-rubriques a.cyb-etat-actif { background-color: var(--cyb-phosphore); color: var(--cyb-accent-survol); }

.cyb-ariane li > span[aria-hidden="true"] { color: var(--cyb-accent); }
.cyb-ariane a { display: inline-flex; align-items: center; min-height: 1.5rem; }
.cyb-ariane [aria-current="page"] { color: var(--cyb-encre); font-weight: var(--cyb-titre-graisse); }

.cyb-pied { position: relative; z-index: 1; margin-top: auto; background: var(--cyb-panneau); border-top: 1px solid var(--cyb-filet); color: var(--cyb-estompe); font-size: var(--cyb-legende-taille); }
.cyb-pied .cyb-ecran { display: grid; gap: var(--cyb-retrait); padding-block: var(--cyb-gouttiere); }
.cyb-pied p { margin: 0; }
.cyb-pied-liens { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--cyb-interstice) var(--cyb-gouttiere); }
.cyb-pied-liens a { display: inline-flex; align-items: center; gap: var(--cyb-ecart); min-height: 1.5rem; color: var(--cyb-accent); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-pied-liens a:hover { color: var(--cyb-accent-survol); }
.cyb-pied-pistage { display: flex; align-items: center; gap: var(--cyb-ecart); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); color: var(--cyb-encre); }
.cyb-pied-pistage::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; border: 1px solid var(--cyb-accent); border-radius: 50%; }

.cyb-cran { --cyb-cran: var(--cyb-repos); --cyb-cran-texte: var(--cyb-repos-texte); }
.cyb-cran-repos { --cyb-cran: var(--cyb-repos); --cyb-cran-texte: var(--cyb-repos-texte); }
.cyb-cran-veille { --cyb-cran: var(--cyb-veille); --cyb-cran-texte: var(--cyb-veille-texte); }
.cyb-cran-alerte { --cyb-cran: var(--cyb-signal); --cyb-cran-texte: var(--cyb-signal-texte); }
:where(.cyb-cran:not(:empty)) { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.0625rem 0.5rem; background: var(--cyb-cran); color: var(--cyb-cran-texte); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); line-height: 1.5; text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); clip-path: polygon(0.3125rem 0, 100% 0, 100% calc(100% - 0.3125rem), calc(100% - 0.3125rem) 100%, 0 100%, 0 0.3125rem); }
:where(.cyb-cran:not(:empty))::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; }
.cyb-cran-veille:not(:empty)::before { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.cyb-cran-alerte:not(:empty)::before { border-radius: 0; clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%); }

.cyb-filet { height: 0; margin: 0; border: 0; border-top: 1px solid var(--cyb-filet); }

.cyb-icone { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -0.2em; margin-inline-end: 0.35em; }

.cyb-lecture { display: block; width: 100%; max-width: calc(var(--cyb-lecture-largeur) + 2 * var(--cyb-marge)); margin-inline: auto; padding: var(--cyb-gouttiere) var(--cyb-marge) var(--cyb-souffle); }
.cyb-lecture .cyb-ariane { margin-bottom: var(--cyb-gouttiere); }
.cyb-lecture > .cyb-depeche { display: block; overflow: visible; padding: 0; border: 0; background: none; box-shadow: none; }
.cyb-lecture > .cyb-depeche::after { content: none; }
.cyb-lecture h1 { margin: var(--cyb-interstice) 0 var(--cyb-marge); font-size: var(--cyb-titre-taille); }
.cyb-lecture h2 { display: flex; align-items: baseline; gap: var(--cyb-ecart); margin: var(--cyb-souffle) 0 var(--cyb-retrait); font-size: var(--cyb-section-taille); }
.cyb-lecture h2::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; background: var(--cyb-accent); transform: translateY(-0.15em) rotate(45deg); box-shadow: 0 0 0.5rem var(--cyb-lueur); }
.cyb-lecture h3 { display: flex; flex-wrap: wrap; align-items: center; margin: var(--cyb-palier) 0 var(--cyb-ecart); font-size: var(--cyb-intertitre-taille); }
.cyb-lecture :is(p, ul, ol, dl) { margin: 0 0 var(--cyb-marge); }
.cyb-lecture .cyb-depeche :is(ul, ol):not([class]) { padding-inline-start: var(--cyb-gouttiere); }
.cyb-lecture .cyb-depeche li + li { margin-top: var(--cyb-ecart); }
.cyb-lecture li::marker { color: var(--cyb-accent); font-family: var(--cyb-mono); }
.cyb-lecture code { padding: 0.05em 0.3em; background: var(--cyb-trame); border: 1px solid var(--cyb-filet); overflow-wrap: anywhere; }
.cyb-lecture abbr[title] { text-decoration: underline dotted; text-underline-offset: 0.18em; cursor: help; }
.cyb-lecture dfn { font-style: normal; font-weight: var(--cyb-libelle-graisse); }
.cyb-rubrique { display: inline-flex; align-items: center; margin: 0 0 var(--cyb-ecart); padding: 0.125rem 0.625rem; background: var(--cyb-accent); color: var(--cyb-accent-texte); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-capitales-chasse); clip-path: polygon(0.375rem 0, 100% 0, 100% calc(100% - 0.375rem), calc(100% - 0.375rem) 100%, 0 100%, 0 0.375rem); }
.cyb-lecture .cyb-chapo { margin: 0 0 var(--cyb-retrait); color: var(--cyb-encre); }
.cyb-signature { margin: 0 0 var(--cyb-marge); color: var(--cyb-estompe); font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); }
.cyb-lecture .cyb-clair { position: relative; margin-block: var(--cyb-palier); padding: var(--cyb-interstice) var(--cyb-marge) var(--cyb-interstice); border: 1px solid var(--cyb-filet); }
.cyb-lecture .cyb-clair h2 { margin-top: var(--cyb-marge); color: var(--cyb-aube-encre); }
.cyb-lecture .cyb-clair h2::before { background: var(--cyb-aube-encre); box-shadow: none; }
.cyb-lecture .cyb-cartouche { margin: 0 0 var(--cyb-gouttiere); padding: 0 var(--cyb-marge); background: var(--cyb-trame); border: 1px solid var(--cyb-filet); }
.cyb-cartouche > div:first-child { border-top: 0; }
.cyb-cartouche dt { display: block; }
.cyb-lecture .cyb-cartouche dd { display: block; }
.cyb-cartouche dd { margin: 0; }
@media (min-width: 48rem) {
  .cyb-lecture .cyb-cartouche { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--cyb-gouttiere); }
  .cyb-lecture .cyb-cartouche > div { grid-template-columns: minmax(0, 1fr); gap: var(--cyb-interstice); }
  .cyb-lecture .cyb-cartouche > div:nth-child(2) { border-top: 0; }
  .cyb-lecture .cyb-cartouche > .cyb-champ-long { grid-column: 1 / -1; }
}
.cyb-pls { margin-top: var(--cyb-souffle); padding: var(--cyb-interstice) var(--cyb-marge) var(--cyb-marge); background: var(--cyb-trame); border: 1px dashed var(--cyb-accent); }
.cyb-lecture .cyb-pls h2 { margin-top: var(--cyb-marge); }
.cyb-replique { margin: var(--cyb-ecart) 0 var(--cyb-marge); padding: var(--cyb-ecart) var(--cyb-marge); background: var(--cyb-panneau); border: 1px solid var(--cyb-filet); font-family: var(--cyb-mono); font-size: var(--cyb-legende-taille); }
.cyb-niveaux { list-style: none; padding: 0; }
.cyb-lecture .cyb-niveaux li { margin-top: var(--cyb-ecart); }
.cyb-haiku { font-style: italic; }
.cyb-releve ul { padding-inline-start: var(--cyb-gouttiere); }
.cyb-releve li, .cyb-pros li, .cyb-pros p { overflow-wrap: anywhere; }
.cyb-releve a { display: inline-block; min-height: 1.5rem; }

.cyb-publireportage { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--cyb-interstice) var(--cyb-ecart); margin: 0; padding: 0.125rem 0.625rem; border: 1px dashed var(--cyb-encre); background: var(--cyb-papier); color: var(--cyb-encre); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); letter-spacing: 0.02em; }
.cyb-publireportage::before { content: "\00A4"; content: "\00A4" / ""; font-family: var(--cyb-mono); }
.cyb-publireportage-annonceur { font-weight: 400; color: var(--cyb-estompe); }
.cyb-depeche-publireportage { --cyb-equerre: var(--cyb-estompe); border-style: dashed; border-color: var(--cyb-filet-appuye); }

.cyb-formulaire { display: grid; gap: var(--cyb-gouttiere); max-width: 40rem; }
.cyb-formulaire fieldset { display: grid; gap: var(--cyb-marge); min-width: 0; margin: 0; padding: 0; border: 0; }
.cyb-formulaire legend { margin-bottom: var(--cyb-ecart); padding: 0; font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-accent); }
.cyb-champ { display: grid; gap: var(--cyb-interstice); min-width: 0; }
.cyb-champ-libelle { font-family: var(--cyb-mono); font-size: var(--cyb-note-taille); font-weight: var(--cyb-titre-graisse); text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-accent); }
.cyb-champ-libelle span { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--cyb-estompe); }
textarea.cyb-saisie { min-height: 8rem; resize: vertical; font-family: var(--cyb-corps); }
select.cyb-saisie { font-family: var(--cyb-corps); }
.cyb-saisie[aria-invalid="true"] { border-color: var(--cyb-signal); box-shadow: 0 0 0.75rem var(--cyb-lueur-signal); }
.cyb-erreur { display: flex; align-items: baseline; gap: var(--cyb-ecart); color: var(--cyb-signal-encre); font-size: var(--cyb-legende-taille); font-weight: var(--cyb-libelle-graisse); }
.cyb-erreur::before { content: ""; flex: none; width: 0.75rem; height: 0.75rem; background: currentColor; clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%); transform: translateY(0.1em); }
.cyb-choix { display: flex; align-items: center; gap: var(--cyb-ecart); min-height: var(--cyb-cible); }
.cyb-choix input { flex: none; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--cyb-accent); }
.cyb-avis-succes { --cyb-equerre: var(--cyb-succes-encre); background-color: var(--cyb-succes-fond); border-color: var(--cyb-succes-encre); }
.cyb-avis-succes .cyb-avis-icone { background: var(--cyb-succes-encre); color: var(--cyb-succes-fond); }
.cyb-icones { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: var(--cyb-marge); }
.cyb-icones li { display: flex; align-items: center; gap: var(--cyb-ecart); padding: var(--cyb-retrait); background: var(--cyb-panneau); border: 1px solid var(--cyb-filet); }
.cyb-icones .cyb-icone { width: 2rem; height: 2rem; color: var(--cyb-accent); }
.cyb-icones .cyb-icone-signal { color: var(--cyb-signal-encre); }

.cyb-partage { width: 1200px; height: 630px; margin: 0; overflow: hidden; }
.cyb-partage-cadre { position: relative; display: grid; grid-template-rows: auto 1fr auto; gap: 28px; width: 1200px; height: 630px; padding: 56px 64px; background-color: var(--cyb-papier); background-image: linear-gradient(var(--cyb-grille) 1px, transparent 1px), linear-gradient(90deg, var(--cyb-grille) 1px, transparent 1px), radial-gradient(circle at 92% 18%, var(--cyb-faisceau) 0 180px, transparent 181px); background-size: 40px 40px, 40px 40px, auto; color: var(--cyb-encre); }
.cyb-partage-cadre::before { content: ""; position: absolute; inset: 24px; pointer-events: none; background: linear-gradient(var(--cyb-accent), var(--cyb-accent)) 0 0 / 40px 3px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 0 0 / 3px 40px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 100% 0 / 40px 3px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 100% 0 / 3px 40px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 0 100% / 40px 3px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 0 100% / 3px 40px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 100% 100% / 40px 3px, linear-gradient(var(--cyb-accent), var(--cyb-accent)) 100% 100% / 3px 40px; background-repeat: no-repeat; }
.cyb-partage-haut { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cyb-partage .cyb-rubrique { margin: 0; padding: 8px 20px; background: var(--cyb-signal); color: var(--cyb-signal-texte); font-size: 26px; clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
.cyb-partage-titre { align-self: center; margin: 0; max-width: 1000px; font-family: var(--cyb-titre); font-size: 66px; font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; text-wrap: balance; }
.cyb-partage-bas { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 24px; border-top: 1px solid var(--cyb-filet-appuye); }
.cyb-partage .cyb-marque { font-family: var(--cyb-mono); font-size: 40px; font-weight: 700; letter-spacing: -0.02em; }
.cyb-partage .cyb-marque span { display: inline-flex; align-items: center; gap: 16px; }
.cyb-partage .cyb-marque span::before { content: ""; width: 40px; height: 40px; border: 2px solid var(--cyb-accent); border-radius: 50%; background: radial-gradient(circle, var(--cyb-accent) 0 14%, transparent 15%), repeating-radial-gradient(circle, transparent 0 7px, var(--cyb-grille-appuyee) 7px 9px), conic-gradient(from 0deg, transparent 0 280deg, var(--cyb-accent) 360deg); }
.cyb-partage-mention { margin: 0; font-family: var(--cyb-mono); font-size: 24px; text-transform: uppercase; letter-spacing: var(--cyb-console-chasse); color: var(--cyb-estompe); }
.cyb-partage .cyb-cran { font-size: 24px; padding: 6px 16px; }

:root:has(.cyb-bascule-mouvement-case:checked) *, :root:has(.cyb-bascule-mouvement-case:checked) *::before, :root:has(.cyb-bascule-mouvement-case:checked) *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Logo de la marque : il remplace le signe dessiné et le texte ; l'image qui suit le thème est seule montrée. */
.cyb-marque a:has(.cyb-marque-logo)::before, .cyb-marque a:has(.cyb-marque-logo)::after { content: none; }
.cyb-marque-logo { display: block; width: auto; height: 3rem; max-width: 100%; }
@media (min-width: 64rem) { .cyb-marque-logo { height: 4.25rem; } }
/* Au défilement le bandeau se compacte, avec le même logo plus petit (habillage/js/bandeau.js pose data-bandeau). */
@media (min-width: 64rem) { html[data-bandeau="compact"] .cyb-marque-logo { height: 3.25rem; } }
.cyb-marque a { flex: none; }
.cyb-bandeau-outils { flex: none; }
.cyb-marque-logo-sombre { display: none; }
html[data-theme="sombre"] .cyb-marque-logo-clair { display: none; }
html[data-theme="sombre"] .cyb-marque-logo-sombre { display: block; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme]) .cyb-marque-logo-clair { display: none; }
  html:not([data-theme]) .cyb-marque-logo-sombre { display: block; }
}

/* Lexique : l'alphabet reste collé sous le bandeau principal ; une seule rangée, qui défile en largeur sur petit écran. */
.cyb-pupitre:has(> nav > .cyb-alphabet) { --cyb-alphabet-hauteur: calc(var(--cyb-cible) + 2 * var(--cyb-ecart) + 1px); }
.cyb-pupitre > nav:has(> .cyb-alphabet) { min-width: 0; position: sticky; top: var(--cyb-bandeau-hauteur); z-index: 4; padding-block: var(--cyb-ecart); background-color: var(--cyb-papier); border-bottom: 1px solid var(--cyb-filet); }
.cyb-pupitre > nav > .cyb-alphabet { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
.cyb-pupitre > nav > .cyb-alphabet .cyb-alphabet-lien { flex: none; }
@media (min-width: 64rem) { .cyb-pupitre > nav > .cyb-alphabet .cyb-alphabet-lien { min-width: 2.5rem; } }

/* Carte de sujet : toute la carte mène à la fiche (lien étendu), les autres liens de la carte restent au-dessus. */
.cyb-depeche-lien::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.cyb-depeche-lien:focus-visible { outline: none; }
.cyb-depeche-lien:focus-visible::after { outline: var(--cyb-focus-trait) solid var(--cyb-focus); outline-offset: calc(var(--cyb-focus-trait) * -1); }
.cyb-depeche:hover .cyb-depeche-lien { color: var(--cyb-accent); text-decoration: underline; text-decoration-thickness: 2px; }
.cyb-depeche-etiquettes a, .cyb-depeche-extrait a, .cyb-depeche-pied a { position: relative; z-index: 1; }
a.cyb-compte-sources { text-decoration: none; }
a.cyb-compte-sources:hover { color: var(--cyb-encre); text-decoration: underline; }
a.cyb-etiquette { text-decoration: none; }
a.cyb-etiquette:hover { border-color: var(--cyb-accent); box-shadow: 0 0 0.75rem var(--cyb-lueur); }

/* Télex : les éléments qui mènent quelque part sont de vrais liens. */
.cyb-telex-donnee a { color: var(--cyb-encre); text-decoration: underline; text-underline-offset: 0.2em; }
.cyb-telex-donnee a:hover { color: var(--cyb-accent-survol); }

/* Transitions entre pages : fondu court, coupé sous prefers-reduced-motion et par « Figer les animations ». */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 220ms; animation-timing-function: ease-in-out; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
:root:has(.cyb-bascule-mouvement-case:checked)::view-transition-group(*), :root:has(.cyb-bascule-mouvement-case:checked)::view-transition-old(*), :root:has(.cyb-bascule-mouvement-case:checked)::view-transition-new(*) { animation: none !important; }

/* Survol et focus : les couleurs, filets et lueurs passent en douceur, à la durée du système (--cyb-reaction). */
a, button, label, summary, .cyb-etiquette, .cyb-pastille, .cyb-filtre, .cyb-alphabet-lien, .cyb-touche, .cyb-guide, .cyb-depeche, .cyb-entree, .cyb-bouton, .cyb-bouton-second, .cyb-bouton-texte, .cyb-rubriques a, .cyb-liste-liens-lien {
  transition: color var(--cyb-reaction) ease, background-color var(--cyb-reaction) ease, border-color var(--cyb-reaction) ease, box-shadow var(--cyb-reaction) ease, text-decoration-color var(--cyb-reaction) ease;
}
:root:has(.cyb-bascule-mouvement-case:checked) *, :root:has(.cyb-bascule-mouvement-case:checked) *::before, :root:has(.cyb-bascule-mouvement-case:checked) *::after { transition: none !important; }

/* Plus d'air entre les fiches de l'index du lexique et entre les cartes. */
.cyb-lexique { gap: var(--cyb-gouttiere); }
.cyb-bulletin { gap: var(--cyb-gouttiere); }
.cyb-etapes { gap: var(--cyb-marge); }
.cyb-travee-fil, .cyb-canal { gap: var(--cyb-palier); }

/* Image dans un panneau : jamais plus large que lui, proportions gardées (width et height sont posés dans le balisage). */
.cyb-panneau figure { min-width: 0; display: grid; gap: var(--cyb-ecart); }
.cyb-panneau img { display: block; max-width: 100%; height: auto; }

/* Bandeau : le logo a de l'air. Zone de protection de la planche de marque : x vaut un quart du symbole (environ 12 px à cette taille),
   on garde la marge, qui le dépasse ; menu et bascules sont centrés sur l'axe du logo, avec un écart régulier entre les trois blocs. */
.cyb-bandeau:not(.cyb-bandeau-edition) > .cyb-ecran { padding-block: var(--cyb-marge); align-items: center; }
.cyb-bandeau-outils { align-self: center; }
.cyb-rubriques ul { align-items: center; }
.cyb-rubriques a { padding-inline: var(--cyb-ecart); }
@media (min-width: 48rem) { .cyb-rubriques a { padding-inline: var(--cyb-retrait); } }
@media (min-width: 64rem) { .cyb-bandeau:not(.cyb-bandeau-edition) > .cyb-ecran { gap: var(--cyb-gouttiere); } }
/* Le menu a sept entrées : 824 px sans les pictogrammes, 978 px avec. Sur la ligne du logo (183 px) et des outils (235 px) il lui en
   faudrait 1 306 avec les écarts, et la colonne utile plafonne à 1 184 px : il garde donc sa propre ligne sous eux, à toute largeur.
   Les pictogrammes reviennent à partir de 72 rem, où la colonne (1 088 px) les contient ; sous 56 rem (colonne de 824 px) il défile,
   comme sur téléphone. */
/* Compacté : mêmes proportions, plus serrées. */
html[data-bandeau="compact"] .cyb-bandeau:not(.cyb-bandeau-edition) > .cyb-ecran { padding-block: var(--cyb-retrait); }

/* Icônes (livraisons de docs/design-system/icones) : en ligne dans la page, la nue suit la couleur du texte, l'encadrée prend l'accent et s'anime. */
.cyb-ic { display: inline-block; flex: none; overflow: visible; vertical-align: -0.2em; }
.cyb-ic * { transform-box: view-box; }
.cyb-ic-96 { width: 6rem; height: 6rem; }
.cyb-ic-48 { width: 3rem; height: 3rem; }
.cyb-ic-24 { width: 1.5rem; height: 1.5rem; }
.cyb-ic-16 { width: 1rem; height: 1rem; }
.cyb-ic-encadree { display: block; justify-self: start; color: var(--cyb-accent); }
.cyb-ic-en-ligne { margin-inline-end: var(--cyb-ecart); }
.cyb-ic-voyant { animation: cyb-voyant var(--cyb-pulsation) ease-in-out infinite; }
.cyb-flux .cyb-ic { color: var(--cyb-aube-encre); }
.cyb-rubriques .cyb-ic, .cyb-guide-surtitre .cyb-ic, .cyb-module-titre .cyb-ic, .cyb-entree-terme .cyb-ic { color: var(--cyb-accent); }
/* Menu : l'icône se montre dès que la rangée a la place (en dessous, les quatre mots seuls tiennent déjà juste). */
.cyb-rubriques .cyb-ic { display: none; }
@media (min-width: 72rem) { .cyb-rubriques .cyb-ic { display: inline-block; } }
.cyb-guide-surtitre { display: flex; align-items: center; gap: var(--cyb-ecart); }
.cyb-entree-terme .cyb-ic { align-self: center; }
.cyb-telex-donnee .cyb-ic { margin-inline-end: var(--cyb-interstice); }
@media (forced-colors: active) { .cyb-ic { color: CanvasText; } }
/* Mouvement des icônes encadrées : un cycle de 6 s par icône, coupé sous prefers-reduced-motion et par « Figer les animations »
   (qui les laisse sur leur état final, pas sur le premier cliché). Les règles de chaque pièce animée sont dans habillage/css/icones/<id>.css, que la seule fiche du terme charge (outils/icones-sprite.php les tire des planches). */
@media (prefers-reduced-motion: reduce) { .cyb-ic * { animation: none !important; } }
:root:has(.cyb-bascule-mouvement-case:checked) .cyb-ic * { animation: none !important; }
.cyb-bulletin-une .cyb-depeche-titre { font-size: var(--cyb-section-taille); }
