/* Charte « Wall Street » — quotidien financier + terminal de bourse */
:root{--papier:#f6f3ea;--carte:#fffdf8;--encre:#111418;--doux:#5f6670;--ligne:#ddd6c6;
--nuit:#0a0f1a;--nuit2:#121a2b;--vert:#00a86b;--vert2:#00d084;--rouge:#e5484d;--or:#d4af37;--bleu:#2f6fdf;
--titre:Georgia,"Times New Roman",serif;--texte:"Helvetica Neue",Arial,sans-serif;--chiffre:"SFMono-Regular",Consolas,"Courier New",monospace}
@media (prefers-color-scheme:dark){:root{--papier:#0d1117;--carte:#151b24;--encre:#e9ecef;--doux:#9aa4b2;--ligne:#263040}}
*{box-sizing:border-box}body{margin:0;background:var(--papier);color:var(--encre);font:16px/1.55 var(--texte)}
a{color:var(--encre)}a:hover{color:var(--vert)}
/* En-tête */
header{background:var(--nuit);color:#fff;border-bottom:3px solid var(--or)}
header .l{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px}
header a{color:#fff;text-decoration:none}header b{font:700 22px var(--titre);letter-spacing:.02em}header b span{color:var(--or)}
header small{color:#8b95a7;font-size:12px}nav a{margin-left:16px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#cfd6e2}nav a:hover{color:var(--or)}
/* Bandeau défilant façon cotations */
.ticker{background:#000;color:#e9ecef;overflow:hidden;white-space:nowrap;font:13px var(--chiffre);border-bottom:1px solid #1d2636}
.ticker .rail{display:inline-block;padding:7px 0;animation:defile 60s linear infinite}.ticker:hover .rail{animation-play-state:paused}
.ticker span{margin:0 22px}.ticker b{color:var(--or);font-weight:700}.ticker .up{color:var(--vert2)}.ticker .dn{color:var(--rouge)}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
main{max-width:1120px;margin:auto;padding:18px 16px}
/* Une façon quotidien financier */
.une{border-bottom:4px double var(--encre);padding-bottom:14px;margin-bottom:8px}
.une .rub{font:700 12px var(--texte);letter-spacing:.14em;text-transform:uppercase;color:var(--vert)}
h1{font:700 clamp(26px,4.4vw,40px)/1.12 var(--titre);margin:.15em 0 .3em}
h2{font:700 21px var(--titre);margin:0 0 .6em;padding-bottom:6px;border-bottom:1px solid var(--encre)}
.chapeau{font:19px/1.5 var(--titre);color:var(--doux);max-width:820px}
.carte{background:var(--carte);border:1px solid var(--ligne);padding:18px;margin:16px 0}
/* Indicateurs façon cotations */
.k{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--ligne);border:1px solid var(--ligne);margin:16px 0}
.k div{background:var(--carte);padding:14px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--doux)}
.k b{display:block;text-transform:none;font:700 28px var(--chiffre);color:var(--encre);letter-spacing:-.02em;margin-bottom:2px}
.k .up b{color:var(--vert)}.k .dn b{color:var(--rouge)}
.recherche{display:flex}.recherche input{flex:1;font-size:17px;padding:13px 14px;border:1px solid var(--encre);border-radius:0;background:var(--carte);color:var(--encre);font-family:var(--texte)}
/* Tableaux de cotation */
table{width:100%;border-collapse:collapse;font-size:14px}
th{font:700 11px var(--texte);text-transform:uppercase;letter-spacing:.1em;color:var(--doux);text-align:left;padding:8px 6px;border-bottom:2px solid var(--encre)}
td{padding:10px 6px;border-bottom:1px solid var(--ligne);vertical-align:top}td a{text-decoration:none;font-weight:700}
td small{display:block;color:var(--doux);font-weight:400}
.num,td.m{font-family:var(--chiffre);text-align:right;white-space:nowrap}th.m{text-align:right}
td.dl{white-space:nowrap;font-family:var(--chiffre)}td.dl b{display:block;color:var(--rouge)}
.st{display:inline-block;padding:2px 7px;font:700 11px var(--texte);text-transform:uppercase;letter-spacing:.04em;color:#fff;white-space:nowrap}
.st.ouvert{background:var(--vert)}.st.attrib{background:var(--bleu)}.st.alerte{background:var(--rouge)}.st.ferme{background:#6b7280}.st.info{background:var(--or);color:#111}
.note,.fil{font-size:13px;color:var(--doux)}.fil a{color:var(--doux)}
/* Fiche marché */
.fiche{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:0;margin:0;border-top:1px solid var(--ligne)}
.fiche dt,.fiche dd{padding:9px 0;border-bottom:1px solid var(--ligne);margin:0}.fiche dt{color:var(--doux);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.fiche dd{font-weight:700}.fiche dd.m{font:700 22px var(--chiffre);color:var(--vert)}
.compte{font:700 15px var(--chiffre);color:var(--rouge)}
.chrono{list-style:none;padding:0;margin:0;border-left:2px solid var(--encre)}
.chrono li{display:flex;gap:16px;padding:10px 0 10px 18px;position:relative}
.chrono li:before{content:"";position:absolute;left:-7px;top:16px;width:12px;height:12px;background:var(--or)}
.chrono li.ouvert:before{background:var(--vert)}.chrono li.attrib:before{background:var(--bleu)}.chrono li.alerte:before{background:var(--rouge)}.chrono li.ferme:before{background:#6b7280}
.chrono time{font:700 13px var(--chiffre);min-width:96px;color:var(--doux)}.chrono b{font-family:var(--titre);font-size:17px}.chrono p{margin:2px 0;font-family:var(--chiffre);font-size:14px}
.liste{list-style:none;padding:0;margin:0}.liste li{padding:10px 0;border-bottom:1px solid var(--ligne)}.liste time{white-space:nowrap;font:12px var(--chiffre);color:var(--doux);margin:0 8px}
.liste a{text-decoration:none;font-weight:700}.liste small{font-family:var(--chiffre);color:var(--doux);margin-left:6px}
.abo{border-left:4px solid var(--or);background:var(--nuit);color:#e9ecef}.abo a{color:var(--or)}
.pub{margin:16px 0;min-height:90px}
footer{background:var(--nuit);color:#8b95a7;font-size:12px;margin-top:30px}footer div{max-width:1120px;margin:auto;padding:18px 16px}
@media(max-width:640px){.fiche{grid-template-columns:1fr}.fiche dt{border:0;padding-bottom:0}nav a{margin:0 12px 0 0}
table,thead,tbody,tr,td{display:block}thead{display:none}tr{border-bottom:2px solid var(--ligne);padding:8px 0}td{border:0;padding:2px 0;text-align:left!important}}

/* Tableau d'affichage façon salle de marché */
body.board{background:#05080d;color:#e9ecef;font-family:var(--chiffre)}
.board .haut{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:#000;border-bottom:2px solid var(--or)}
.board .haut h1{font:700 22px var(--chiffre);letter-spacing:.14em;margin:0;color:#fff}.board .haut h1 span{color:var(--or)}
.board #horloge{text-align:right;font-size:30px;font-weight:700;color:var(--vert2)}.board #horloge small{display:block;font-size:11px;color:#8b95a7;letter-spacing:.12em}
.board .k{margin:0;border:0;background:#1d2636}.board .k div{background:#0a0f1a;color:#8b95a7}.board .k b{color:var(--vert2)}
.board .filtres{padding:10px 22px;background:#0a0f1a;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #1d2636}
.board .filtres button{font:12px var(--chiffre);text-transform:uppercase;background:#141c2b;color:#cfd6e2;border:1px solid #243049;padding:6px 10px;cursor:pointer}
.board .filtres button.on{background:var(--or);color:#000;border-color:var(--or);font-weight:700}
.board table{font-size:14px}.board th{color:#8b95a7;border-bottom:1px solid #243049;font-family:var(--chiffre)}
.board td{border-bottom:1px solid #131b29;color:#e9ecef;padding:10px 6px}.board tr:nth-child(even) td{background:#080d16}
.board td:first-child,.board th:first-child{padding-left:22px}.board td:last-child,.board th:last-child{padding-right:22px}
.board td a{color:#fff;font-weight:400}.board td a:hover{color:var(--or)}
.board td.m{color:var(--vert2);font-weight:700}.board .ja{color:var(--or);font-weight:700}
.board .urg{color:var(--rouge);font-weight:700;animation:clig 1.2s steps(2) infinite}@keyframes clig{50%{opacity:.35}}
.board .pied{position:fixed;bottom:0;left:0;right:0;padding:8px 22px;background:#000;font-size:11px;color:#8b95a7;border-top:1px solid #1d2636}.board .pied b{color:var(--or)}
