/* La Veille éco — mise en page « bourse » : écran de salle des marchés, fond sombre, police à chasse fixe. */
@font-face { font-family: 'IBM Plex Mono'; src: url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2'); font-weight: 500 600; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url(fonts/ibm-plex-mono-latin-700-normal.woff2) format('woff2'); font-weight: 700 900; font-display: swap; }

html[data-theme='bourse'] {
  color-scheme: dark;
  --fond: #07090d;
  --carte: #0e131a;
  --panneau: #0e131a;
  --panneau-2: #141b25;
  --encre: #e3e9f2;
  --encre-2: #b1bac8;
  --encre-3: #7c8697;
  --filet: #222c39;
  --ambre: #ffb000;
  --vert: #3ddc84;
  --rouge: #ff5c5c;
  --violet: #ffb000;
  --degrade: linear-gradient(#ffb000, #ffb000);
  --ombre: none;
  --ombre-forte: 0 0 0 1px #ffb000;
  --r: 3px;
  --r-petit: 2px;
  --titre: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --texte: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --c: #ffb000; --c-doux: rgba(255, 176, 0, .08); --c-fonce: #ffb000;
  --export-fond: #0b0f15; --export-accent: #ffb000;
}
html[data-theme='bourse'] .cat-croissance, html[data-theme='bourse'] .cat-emploi, html[data-theme='bourse'] .cat-finances, html[data-theme='bourse'] .cat-monnaie,
html[data-theme='bourse'] .cat-prix, html[data-theme='bourse'] .cat-exterieur, html[data-theme='bourse'] .cat-conjoncture, html[data-theme='bourse'] .cat-veille, html[data-theme='bourse'] .cat-carre {
  --c: #ffb000; --c-doux: rgba(255, 176, 0, .08); --c-fonce: #ffb000;
}
html[data-theme='bourse'] body {
  background: radial-gradient(ellipse at top, #0d1420 0%, #07090d 60%) fixed, #07090d;
  font: 14.5px/1.6 var(--texte);
  font-variant-numeric: tabular-nums slashed-zero;
}
/* lignes de balayage très légères */
html[data-theme='bourse'] body::before {
  inset: 0; width: auto; height: auto; z-index: 100; background: repeating-linear-gradient(rgba(255, 255, 255, .018) 0 1px, transparent 1px 3px);
}
html[data-theme='bourse'] h1, html[data-theme='bourse'] h2, html[data-theme='bourse'] h3, html[data-theme='bourse'] h4 {
  font-family: var(--titre); font-weight: 700; letter-spacing: -.01em; color: var(--encre);
}
html[data-theme='bourse'] h1 { font-size: clamp(26px, 3.6vw, 40px); text-transform: uppercase; color: var(--ambre); }
html[data-theme='bourse'] h2 { font-size: 20px; text-transform: uppercase; color: var(--ambre); }
html[data-theme='bourse'] h3 { font-size: 17px; }
html[data-theme='bourse'] a { color: var(--ambre); }
html[data-theme='bourse'] ::selection { background: var(--ambre); color: #000; }
html[data-theme='bourse'] .surtitre { color: var(--vert); letter-spacing: .08em; }
html[data-theme='bourse'] .surtitre::before { content: '> '; }
html[data-theme='bourse'] .discret, html[data-theme='bourse'] .meta { color: var(--encre-3); }

/* en-tête et bandeau défilant */
html[data-theme='bourse'] .entete { background: rgba(5, 7, 10, .94); backdrop-filter: none; border-bottom: 1px solid var(--filet); }
html[data-theme='bourse'] .logo img { filter: brightness(1.2); }
html[data-theme='bourse'] .marque { border-left-color: var(--filet); }
html[data-theme='bourse'] .marque-titre { font: 700 21px/1 var(--titre); text-transform: uppercase; letter-spacing: .02em; color: var(--ambre); }
html[data-theme='bourse'] .marque-titre em { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--vert); }
html[data-theme='bourse'] .marque-titre::after { content: '▌'; color: var(--ambre); margin-left: 2px; animation: clignote 1.1s steps(1) infinite; }
@keyframes clignote { 50% { opacity: 0; } }
html[data-theme='bourse'] .marque-sous { color: var(--encre-3); text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }
html[data-theme='bourse'] .nav a { color: var(--encre-2); border-radius: 2px; font-size: 13.5px; text-transform: uppercase; letter-spacing: .04em; }
html[data-theme='bourse'] .nav a:hover { background: var(--panneau-2); color: var(--encre); }
html[data-theme='bourse'] .nav a[aria-current='page'] { background: var(--ambre); color: #000; }
html[data-theme='bourse'] .entete-droite { border-left-color: var(--filet); }
html[data-theme='bourse'] .prof-avatar { background: transparent; border: 1px solid var(--ambre); color: var(--ambre); box-shadow: none; border-radius: 2px; font-family: var(--titre); }
html[data-theme='bourse'] .prof-nom { font: 700 13.5px/1.2 var(--titre); }
html[data-theme='bourse'] .theme-bouton { background: transparent; border-color: var(--filet); color: var(--encre-2); border-radius: 2px; font-family: var(--titre); font-size: 12.5px; text-transform: uppercase; }
html[data-theme='bourse'] .theme-bouton:hover, html[data-theme='bourse'] .theme-bouton[aria-expanded='true'] { background: var(--panneau-2); color: var(--ambre); }
html[data-theme='bourse'] .theme-menu { background: #0b1017; border: 1px solid var(--ambre); border-radius: 2px; box-shadow: 0 20px 50px rgba(0, 0, 0, .6); }
html[data-theme='bourse'] .theme-menu button { color: var(--encre); border-radius: 2px; }
html[data-theme='bourse'] .theme-menu button:hover, html[data-theme='bourse'] .theme-menu button[aria-checked='true'] { background: var(--panneau-2); }
html[data-theme='bourse'] .theme-menu button[aria-checked='true'] { border-color: var(--ambre); }
html[data-theme='bourse'] .theme-menu button b { font-family: var(--titre); }
html[data-theme='bourse'] .defilant { display: block; overflow: hidden; border-top: 1px solid var(--filet); background: #020304; white-space: nowrap; font: 500 12.5px/30px var(--texte); }
html[data-theme='bourse'] .defilant-piste { display: inline-flex; animation: defile 90s linear infinite; }
html[data-theme='bourse'] .defilant:hover .defilant-piste { animation-play-state: paused; }
html[data-theme='bourse'] .d-bloc { display: inline-flex; align-items: center; }
html[data-theme='bourse'] .d-el { padding: 0 14px; color: var(--encre); }
html[data-theme='bourse'] .d-el b { color: var(--ambre); font-weight: 700; margin-right: 4px; }
html[data-theme='bourse'] .d-hausse { color: var(--vert); font-style: normal; }
html[data-theme='bourse'] .d-baisse { color: var(--rouge); font-style: normal; }
html[data-theme='bourse'] .d-egal { color: var(--encre-3); font-style: normal; }
html[data-theme='bourse'] .d-sep { color: #3a4553; font-size: 9px; }
@keyframes defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }

html[data-theme='bourse'] .pied { background: #020304; color: var(--encre-3); border-top: 1px solid var(--filet); }

/* panneaux */
html[data-theme='bourse'] .carte, html[data-theme='bourse'] .vide, html[data-theme='bourse'] .entree-carte, html[data-theme='bourse'] .rubrique,
html[data-theme='bourse'] .tuile, html[data-theme='bourse'] .carte-carre, html[data-theme='bourse'] .feuille {
  background: var(--panneau); border: 1px solid var(--filet); border-radius: 3px; box-shadow: none;
}
html[data-theme='bourse'] .entree-carte:hover, html[data-theme='bourse'] .rubrique:hover, html[data-theme='bourse'] .tuile:hover, html[data-theme='bourse'] .carte-carre:hover {
  transform: none; border-color: var(--ambre); box-shadow: none;
}
html[data-theme='bourse'] .carte-tete h3, html[data-theme='bourse'] .carte h3 { color: var(--ambre); text-transform: uppercase; font-size: 15px; letter-spacing: .02em; }
html[data-theme='bourse'] .entree-carte h3 { color: var(--encre); text-transform: none; font-size: 17px; }
html[data-theme='bourse'] .rubrique h3 { color: var(--encre); font-size: 19px; text-transform: uppercase; }
html[data-theme='bourse'] .carte-unite { color: var(--encre-3); font-size: 12.5px; }
html[data-theme='bourse'] .tuile::after { background: var(--ambre); height: 2px; }
html[data-theme='bourse'] .tuile-val, html[data-theme='bourse'] .mini b, html[data-theme='bourse'] .bandeau-chiffres b { font-family: var(--titre); color: var(--vert); font-weight: 700; }
html[data-theme='bourse'] .tuile-val small, html[data-theme='bourse'] .mini b small { color: var(--encre-3); }
html[data-theme='bourse'] .tuile-ico, html[data-theme='bourse'] .pastille-ico { background: transparent; border: 1px solid var(--filet); color: var(--ambre); border-radius: 2px; }
html[data-theme='bourse'] .rubrique-ico, html[data-theme='bourse'] .bandeau-ico, html[data-theme='bourse'] .carte-carre-ico,
html[data-theme='bourse'] .cat-veille .bandeau-ico, html[data-theme='bourse'] .cat-carre .bandeau-ico {
  background: transparent; border: 1px solid var(--ambre); color: var(--ambre); border-radius: 2px; box-shadow: none;
}
html[data-theme='bourse'] .tuile-tranche { background: var(--panneau); }
html[data-theme='bourse'] .hero {
  background: var(--panneau); color: var(--encre); border: 1px solid var(--ambre); border-radius: 3px; box-shadow: 0 0 40px rgba(255, 176, 0, .06);
}
html[data-theme='bourse'] .hero h1 a { color: var(--encre); }
html[data-theme='bourse'] .hero h1 { color: var(--encre); text-transform: none; font-size: clamp(26px, 3.4vw, 38px); }
html[data-theme='bourse'] .hero-badge { background: var(--ambre); color: #000; border: 0; border-radius: 2px; }
html[data-theme='bourse'] .hero-resume { color: var(--encre-2); font-size: 15.5px; }
html[data-theme='bourse'] .bulle { display: none; }
html[data-theme='bourse'] .hero-chiffre { background: #020304; color: var(--encre); border: 1px solid var(--filet); border-radius: 2px; transform: translateY(-50%); box-shadow: none; }
html[data-theme='bourse'] .hero-chiffre b { font-family: var(--titre); background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--vert); text-shadow: 0 0 18px rgba(61, 220, 132, .35); }
html[data-theme='bourse'] .hero-chiffre span, html[data-theme='bourse'] .hero-chiffre em { color: var(--encre-3); }
html[data-theme='bourse'] .bandeau, html[data-theme='bourse'] .cat-veille.bandeau, html[data-theme='bourse'] .cat-carre.bandeau { background: var(--panneau); border: 1px solid var(--filet); border-left: 3px solid var(--ambre); border-radius: 3px; }
html[data-theme='bourse'] .bandeau p { color: var(--encre-2); font-size: 15px; }
html[data-theme='bourse'] .bandeau-chiffres span { background: #020304; border: 1px solid var(--filet); border-radius: 2px; box-shadow: none; color: var(--encre-3); }
html[data-theme='bourse'] .article .bandeau .etiq { background: transparent; }
html[data-theme='bourse'] .section-tete h2::before { content: '■ '; color: var(--vert); }

/* commandes */
html[data-theme='bourse'] .onglets a, html[data-theme='bourse'] .puce, html[data-theme='bourse'] .bouton, html[data-theme='bourse'] details.tableau summary,
html[data-theme='bourse'] .leg-btn, html[data-theme='bourse'] .puce-pays, html[data-theme='bourse'] .ajout-pays, html[data-theme='bourse'] .champ select,
html[data-theme='bourse'] .choix-pays-carre select, html[data-theme='bourse'] .recherche input {
  background: var(--panneau-2); color: var(--encre-2); border: 1px solid var(--filet); border-radius: 2px; box-shadow: none;
}
html[data-theme='bourse'] .onglets a .ico { color: var(--ambre); }
html[data-theme='bourse'] .onglets a:hover, html[data-theme='bourse'] .puce:hover, html[data-theme='bourse'] .bouton:hover, html[data-theme='bourse'] .leg-btn:hover { background: #1b2430; color: var(--encre); transform: none; box-shadow: none; border-color: #3a4656; }
html[data-theme='bourse'] .onglets a[aria-current='true'], html[data-theme='bourse'] .onglets a:first-child[aria-current='true'], html[data-theme='bourse'] .puce[aria-pressed='true'],
html[data-theme='bourse'] .carre-annees .puce[aria-pressed='true'], html[data-theme='bourse'] .segmente .puce[aria-pressed='true'], html[data-theme='bourse'] .type-graph button[aria-pressed='true'],
html[data-theme='bourse'] .bouton.plein {
  background: var(--ambre); color: #000; border-color: var(--ambre); box-shadow: none;
}
html[data-theme='bourse'] .onglets a[aria-current='true'] .ico { color: #000; }
html[data-theme='bourse'] .bouton.blanc { background: var(--ambre); color: #000; }
html[data-theme='bourse'] .segmente, html[data-theme='bourse'] .type-graph { background: #020304; border: 1px solid var(--filet); border-radius: 2px; }
html[data-theme='bourse'] .segmente .puce { border: 0; background: transparent; }
html[data-theme='bourse'] .type-graph button { border-radius: 2px; color: var(--encre-3); }
html[data-theme='bourse'] .etiq { background: transparent; color: var(--ambre); border: 1px solid rgba(255, 176, 0, .4); border-radius: 2px; }
html[data-theme='bourse'] .source { background: transparent !important; color: var(--vert); border: 1px solid var(--vert); border-radius: 2px; }
html[data-theme='bourse'] .barre-periode { background: rgba(7, 9, 13, .94); border: 1px solid var(--filet); border-radius: 3px; box-shadow: none; top: 104px; }
html[data-theme='bourse'] .barre-pays { background: var(--panneau); border: 1px solid var(--filet); border-radius: 3px; box-shadow: none; }
html[data-theme='bourse'] .barre-pays-tit { color: var(--ambre); }
html[data-theme='bourse'] .puce-pays button { background: #222c39; color: var(--encre-2); border-radius: 2px; }
html[data-theme='bourse'] .lien-reinit { color: var(--encre-3); }
html[data-theme='bourse'] .carte-note { background: rgba(255, 176, 0, .06); border-left: 2px solid var(--ambre); border-radius: 0; color: var(--encre-2); }
html[data-theme='bourse'] .carte-note .ico { color: var(--ambre); }
html[data-theme='bourse'] .carte-pied { border-top-color: var(--filet); }
html[data-theme='bourse'] .carte-source a { color: var(--encre-2); }
html[data-theme='bourse'] .table-defile { border-color: var(--filet); border-radius: 2px; }
html[data-theme='bourse'] table.donnees th, html[data-theme='bourse'] table.donnees td { border-bottom-color: var(--filet); }
html[data-theme='bourse'] table.donnees thead th { background: #141b25; color: var(--ambre); }
html[data-theme='bourse'] table.donnees tbody tr:hover, html[data-theme='bourse'] .ligne-surface td { background: #121924; }
html[data-theme='bourse'] .legende { color: var(--encre-2); }
html[data-theme='bourse'] .leg-btn[aria-pressed='false'] { background: transparent; border-color: var(--filet); }
html[data-theme='bourse'] .leg-btn[aria-pressed='false'] i { background: #3a4553 !important; }
html[data-theme='bourse'] .bouton-word { color: #8fb4ff; }

/* graphiques sur fond sombre */
html[data-theme='bourse'] .viz-grille line { stroke: #1a222d; }
html[data-theme='bourse'] .viz-grille line.viz-zero, html[data-theme='bourse'] .viz-ref-zero { stroke: #3d4a5b; }
html[data-theme='bourse'] .viz-axe { fill: #7c8697; }
html[data-theme='bourse'] .viz-etiq { fill: var(--encre-2); }
html[data-theme='bourse'] .viz-ref { stroke: var(--ambre); }
html[data-theme='bourse'] .viz-ref-txt { fill: var(--ambre); stroke: var(--panneau); }
html[data-theme='bourse'] .viz-marqueur { stroke: #3a2a20; }
html[data-theme='bourse'] .viz-reticule { stroke: var(--ambre); }
html[data-theme='bourse'] .viz-svg [fill='#fff'] { fill: var(--panneau); }
html[data-theme='bourse'] .viz-svg [stroke='#fff'] { stroke: var(--panneau); }
html[data-theme='bourse'] .viz-carre polygon[fill='#e9f3ee'] { fill: #0f2119; }
html[data-theme='bourse'] .viz-carre polygon[fill='#eff2ee'] { fill: #121b18; }
html[data-theme='bourse'] .viz-carre polygon[fill='#f5efeb'] { fill: #18171a; }
html[data-theme='bourse'] .viz-carre polygon[fill='#f8e9e7'] { fill: #21161a; }
html[data-theme='bourse'] .viz-carre-nom { fill: var(--encre); }
html[data-theme='bourse'] .viz-carre-obj { fill: var(--encre-3); }
html[data-theme='bourse'] .viz-carre-val { stroke: var(--panneau); }
html[data-theme='bourse'] .viz-bulle { background: #000; border: 1px solid var(--ambre); border-radius: 2px; box-shadow: none; }
html[data-theme='bourse'] .sparkline circle { stroke: var(--panneau); }
html[data-theme='bourse'] .annee-geante { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--vert); font-family: var(--titre); }

/* veille et articles */
html[data-theme='bourse'] .arbre ul { border-left-color: var(--filet); }
html[data-theme='bourse'] .arbre label:hover { background: var(--panneau-2); }
html[data-theme='bourse'] .arbre input { accent-color: var(--ambre); }
html[data-theme='bourse'] .arbre .nb { background: var(--ambre); color: #000; border-radius: 2px; }
html[data-theme='bourse'] .points li::before { background: var(--vert); border-radius: 0; transform: none; width: 8px; height: 8px; }
html[data-theme='bourse'] .lien-cours { background: var(--panneau); }
html[data-theme='bourse'] .exercice { background: var(--panneau); border: 1px solid var(--ambre); border-top-width: 3px; }
html[data-theme='bourse'] .exercice-badge { background: var(--ambre); color: #000; border-radius: 2px; }
html[data-theme='bourse'] .exercice h3 { text-transform: none; color: var(--encre); font-size: 18px; }
html[data-theme='bourse'] .corrige { background: #0a0e14; border: 1px solid var(--filet); border-radius: 2px; }
html[data-theme='bourse'] .corrige summary { color: var(--vert); }
html[data-theme='bourse'] .encadre { background: var(--panneau-2); }

@media (max-width: 720px) {
  html[data-theme='bourse'] .barre-periode { top: auto; }
  html[data-theme='bourse'] .hero-chiffre { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-theme='bourse'] .defilant-piste { animation: none; }
}
@media print {
  html[data-theme='bourse'] { color-scheme: light; }
}
/* en-tête plus compact (la chasse fixe est plus large) */
html[data-theme='bourse'] .marque-titre { font-size: 18px; white-space: nowrap; }
html[data-theme='bourse'] .marque-sous { white-space: nowrap; }
html[data-theme='bourse'] .nav a { padding: 8px 11px; font-size: 12.5px; }
html[data-theme='bourse'] .theme-bouton span { display: none; }
html[data-theme='bourse'] .classe-bouton span.classe-lib { display: inline; }
html[data-theme='bourse'] .theme-bouton { padding: 7px 9px; }
html[data-theme='bourse'] .prof-nom small { display: none; }
html[data-theme='bourse'] .prof-nom { white-space: nowrap; }
@media (max-width: 1180px) { html[data-theme='bourse'] .marque-sous { display: none; } }
html[data-theme='bourse'] .viz-carre-grad { stroke: var(--panneau); }
html[data-theme='bourse'] .viz-carre-tick { stroke: #3d4a5b; }
html[data-theme='bourse'] .viz-carre-grad.def { fill: #ff8a80; }
html[data-theme='bourse'] .viz-carre-grad.exc { fill: #e0a3c8; }
