/* AEGIS AMI, feuille unique de la refonte v2 (26/09/2026).
   Source : identité de Thomas Garnier (design/00-identite.html), revue par Claire Vasseur.
   Règles : une chose domine par écran ; pas de badge ni de pastille ; la couleur porte un sens
   (bleu = cliquable, vert/rouge = performance) ; le chiffre et le trait blanc sont nos images. */

:root{
  --nuit:#111317; --fond:#0B0C0F; --ardoise:#1A1D23;
  --filet:rgba(255,255,255,.08); --filet-fort:rgba(255,255,255,.16);
  --craie:#F1F2F5; --brume:#A9ADBA; --cendre:#7E8394; --graphite:#4A4E5A;
  --bleu-aegis:#5468FF; --bleu-action:#4B5CF0; --bleu-action-h:#4152E6; --bleu-lien:#9FACFF;
  --hausse:#5FD39A; --baisse:#FF8A8A;
  --f-titre:'Plus Jakarta Sans',Inter,system-ui,sans-serif;
  --f-texte:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:24px; --e6:32px; --e7:48px; --e8:64px;
  --lecture:720px; --contenu:1080px; --barre:224px; --barre-r:64px;
}
*{box-sizing:border-box}
html{background:var(--nuit)}
body{margin:0;background:var(--nuit);color:var(--craie);font-family:var(--f-texte);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--bleu-lien);text-decoration:none}
a:hover{color:#C4CCFF}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--bleu-lien);outline-offset:2px;border-radius:4px}
img{max-width:100%}
.num{font-variant-numeric:tabular-nums}
.h{color:var(--hausse)} .b{color:var(--baisse)} .n{color:var(--brume)}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- coque ---------- */
.coque{display:flex;min-height:100vh}
.barre{position:sticky;top:0;height:100vh;width:var(--barre);flex-shrink:0;display:flex;flex-direction:column;gap:2px;
  padding:var(--e3) 10px;border-right:1px solid var(--filet);background:var(--nuit);transition:width .15s;overflow:hidden;z-index:20}
.barre .marque{display:flex;align-items:center;gap:10px;height:40px;padding:0 5px;margin-bottom:var(--e4);white-space:nowrap}
.barre a.e{display:flex;align-items:center;gap:12px;height:40px;padding:0 11px;border-radius:8px;color:var(--brume);font-size:14px;font-weight:500;white-space:nowrap}
.barre a.e:hover{color:var(--craie);background:rgba(255,255,255,.04)}
.barre a.e.actif{color:var(--craie);background:rgba(84,104,255,.12)}
.barre svg{flex-shrink:0}
.barre .pied{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.barre button.reduire{display:flex;align-items:center;gap:12px;height:40px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--cendre);font:13px var(--f-texte);cursor:pointer;white-space:nowrap}
html.reduite .barre{width:var(--barre-r)}
html.reduite .barre .lib{display:none}
.sceau{display:inline-flex;align-items:center;justify-content:center;background:var(--bleu-aegis);flex-shrink:0;border-radius:8px}
.mot-marque{font-family:var(--f-titre);font-weight:700;font-size:17px;color:var(--craie)}
.mot-marque span{color:var(--bleu-lien)}

.principal{flex:1;min-width:0;display:flex;flex-direction:column}
.entete{height:56px;display:flex;align-items:center;gap:var(--e4);padding:0 var(--e6);border-bottom:1px solid var(--filet)}
.entete .cours{display:flex;gap:var(--e5);font-size:12px;color:var(--cendre);white-space:nowrap;overflow:hidden;flex:1}
.entete .cours b{font-weight:500;color:var(--brume)}
.entete form{display:flex}
.entete input{width:220px;height:34px;padding:0 12px;border-radius:6px;border:1px solid var(--filet-fort);background:transparent;color:var(--craie);font:13px var(--f-texte)}
.entete .mobile-seul{display:none}
.base{padding:var(--e2) var(--e6);font-size:13px;color:var(--cendre);border-bottom:1px solid var(--filet)}
.page{width:100%;max-width:calc(var(--contenu) + 2*var(--e6));margin:0 auto;padding:var(--e6) var(--e6) var(--e7)}
.pied-site{margin-top:auto;padding:var(--e5) var(--e6);border-top:1px solid var(--filet);display:flex;flex-wrap:wrap;gap:var(--e4);font-size:12px;color:var(--cendre)}
.pied-site nav{display:flex;gap:var(--e4);margin-left:auto}
.pied-site a{color:var(--cendre)}

/* ---------- typographie ---------- */
.kicker{font-size:13px;line-height:20px;color:var(--cendre)}
.kicker .mot{color:var(--craie);font-weight:600}
h1,.t1{margin:var(--e2) 0 0;font-family:var(--f-titre);font-weight:800;font-size:42px;line-height:50px;letter-spacing:-.02em}
h2,.t2{margin:0;font-family:var(--f-titre);font-weight:800;font-size:22px;line-height:28px;letter-spacing:-.01em}
.t3{font-family:var(--f-titre);font-weight:700;font-size:18px;line-height:25px;letter-spacing:-.01em;color:var(--craie)}
.meta{font-size:13px;line-height:20px;color:var(--cendre)}
.micro{font-size:12px;line-height:16px;color:var(--cendre)}
.chapo{margin:var(--e4) 0 0;font-size:20px;line-height:31px;color:var(--brume)}
.titre-page{margin:0 0 var(--e2)}
.intro{margin:0 0 var(--e5);font-size:16px;line-height:26px;color:var(--brume);max-width:640px}

/* ---------- article ---------- */
.lecture{max-width:var(--lecture)}
.prov{display:flex;align-items:center;gap:var(--e2);margin-top:var(--e4);padding:var(--e3) 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);font-size:13px;line-height:20px;color:var(--cendre)}
.prov .s{flex:1}
.cote{display:block;margin-top:var(--e5);color:var(--craie)}
.cote:hover{color:var(--craie)}
.cote .ligne{display:flex;align-items:baseline;gap:var(--e2);flex-wrap:wrap}
.cote .chiffre{font-family:var(--f-titre);font-weight:800;font-size:36px;line-height:40px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cote .var{font-family:var(--f-titre);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.cote .qui{margin-left:auto;font-size:13px;color:var(--cendre)}
.corps p{margin:var(--e5) 0 0;font-size:18px;line-height:31px}
.corps p b{font-weight:600}
.retenir{margin-top:var(--e6);padding:var(--e4) 0;border-top:1px solid var(--filet-fort);border-bottom:1px solid var(--filet)}
.retenir h2{font-size:18px;line-height:25px;margin-bottom:var(--e2)}
.retenir p{margin:0;font-size:16px;line-height:26px;color:var(--brume)}
.avert{margin-top:var(--e5);font-size:12px;line-height:18px;color:var(--cendre)}

/* ---------- brief ---------- */
.brief{margin-top:var(--e6);background:var(--ardoise);border-radius:12px;padding:var(--e5)}
.brief h2{font-size:20px;line-height:26px}
.brief p{margin:var(--e2) 0 0;font-size:15px;line-height:23px;color:var(--brume)}
.brief form{display:flex;gap:var(--e2);margin-top:var(--e4)}
.brief input{flex:1;min-width:0;height:46px;padding:0 var(--e4);border-radius:6px;border:1px solid var(--filet-fort);background:var(--nuit);color:var(--craie);font:15px var(--f-texte)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 var(--e5);border:0;border-radius:6px;background:var(--bleu-action);color:#fff;font:600 15px var(--f-texte);cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--bleu-action-h);color:#fff}
.brief ol{margin:var(--e3) 0 0;padding-left:20px;color:var(--brume);font-size:15px;line-height:23px}
.brief ol li{margin-top:6px}

/* ---------- listes à filets ---------- */
.bloc{margin-top:var(--e7)}
.bloc h2{margin-bottom:var(--e3)}
.l{display:grid;grid-template-columns:88px 1fr;gap:var(--e3);padding:var(--e3) 0;border-top:1px solid var(--filet);color:var(--craie)}
.l:last-child{border-bottom:1px solid var(--filet)}
.l:hover{color:var(--craie)} .l:hover .tt{color:#fff;text-decoration:underline;text-decoration-color:var(--filet-fort);text-underline-offset:3px}
.l .obj{font-size:13px;line-height:22px;color:var(--cendre)}
.tt{font-family:var(--f-titre);font-weight:700;font-size:16px;line-height:22px}
.mm{display:block;margin-top:2px;font-family:var(--f-texte);font-weight:400;font-size:13px;line-height:20px;color:var(--cendre)}
.rang{display:block;padding:var(--e4) 0;border-top:1px solid var(--filet);color:var(--craie)}
.rang:hover{color:var(--craie)} .rang:hover .tt{text-decoration:underline;text-decoration-color:var(--filet-fort);text-underline-offset:3px}
.rang p{margin:6px 0 0;font-size:15px;line-height:24px;color:var(--brume)}
.jour{margin:var(--e6) 0 0;padding-bottom:var(--e2);font-family:var(--f-titre);font-weight:700;font-size:14px;color:var(--brume)}
.fil{display:grid;grid-template-columns:96px 1fr;gap:var(--e5);padding:var(--e5) 0;border-top:1px solid var(--filet);color:var(--craie)}
.fil:hover{color:var(--craie)} .fil:hover .tt{text-decoration:underline;text-decoration-color:var(--filet-fort);text-underline-offset:3px}
.fil .marge{font-size:13px;line-height:20px;color:var(--cendre)}
.fil .marge b{display:block;font-weight:500;color:var(--craie)}
.fil .tt{font-size:21px;line-height:28px}
.fil p{margin:var(--e2) 0 0;font-size:16px;line-height:26px;color:var(--brume);max-width:680px}
.onglets{display:flex;gap:var(--e5);padding-bottom:var(--e3);border-bottom:1px solid var(--filet);font-size:14px;overflow-x:auto}
.onglets a{color:var(--cendre);white-space:nowrap}
.onglets a.actif{color:var(--craie);font-weight:600}

/* ---------- une ---------- */
.une{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:var(--e7);align-items:start}
.une .cote{margin-top:var(--e4)}
.une .cote .chiffre{font-size:56px;line-height:58px}
.une .t1{font-size:32px;line-height:39px}
.pourquoi{margin:var(--e4) 0 0;font-size:16px;line-height:25px;color:var(--brume)}
.pourquoi b{color:var(--craie);font-weight:600}
.deux{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:var(--e7);margin-top:var(--e7)}
.tete{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:var(--e3)}
.tete a{font-size:13px;font-weight:500}

/* ---------- dossier / analyse / actif ---------- */
.deux-col{display:grid;grid-template-columns:minmax(0,var(--lecture)) minmax(0,1fr);gap:var(--e7);align-items:start}
.synthese h3{margin:var(--e6) 0 0;font-family:var(--f-titre);font-weight:800;font-size:22px;line-height:28px}
.synthese p{margin:var(--e3) 0 0;font-size:18px;line-height:31px;color:var(--brume)}
.synthese ul{margin:var(--e3) 0 0;padding:0;list-style:none}
.synthese li{padding:6px 0;font-size:16px;line-height:26px;color:var(--brume)}
.synthese li b,.synthese p b{color:var(--craie);font-weight:600}
.cote-grande{margin-top:var(--e5)}
.cote-grande .chiffre{font-family:var(--f-titre);font-weight:800;font-size:44px;letter-spacing:-.03em}
.regle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--e4);border-top:1px solid var(--filet)}
.regle div{padding:var(--e3) 0;border-bottom:1px solid var(--filet)}
.regle .k{font-size:12px;color:var(--cendre)}
.regle .v{font-family:var(--f-titre);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.niveaux{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--e4);margin-top:var(--e5)}
.niveaux .k{font-size:12px;color:var(--cendre)}
.niveaux .v{font-family:var(--f-titre);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}
.contenu-analyse h3{margin:var(--e6) 0 0;font-family:var(--f-titre);font-weight:800;font-size:20px;line-height:26px;text-transform:none;letter-spacing:0}
.contenu-analyse p,.contenu-analyse li{font-size:17px;line-height:29px;color:var(--brume)}
.contenu-analyse ul{padding-left:20px}
.contenu-analyse b,.contenu-analyse strong{color:var(--craie)}
.vide{padding:var(--e6) 0;color:var(--cendre)}

/* ---------- mobile ---------- */
@media(max-width:900px){
  .barre{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:0 12px 32px rgba(0,0,0,.55)}
  html.tiroir .barre{transform:none}
  html.reduite .barre{width:260px} html.reduite .barre .lib{display:inline}
  .barre button.reduire{display:none}
  .entete{padding:0 var(--e4) 0 6px}
  .entete .mobile-seul{display:flex}
  .entete .cours{display:none}
  .entete input{display:none}
  .entete .loupe{display:flex}
  .base{padding:var(--e2) var(--e4)}
  .page{padding:var(--e5) var(--e4) var(--e7)}
  h1,.t1{font-size:30px;line-height:37px}
  .chapo{font-size:18px;line-height:28px}
  .corps p{font-size:17px;line-height:28px}
  .une,.deux,.deux-col{grid-template-columns:1fr;gap:var(--e6)}
  .une .cote .chiffre{font-size:36px;line-height:40px}
  .une .t1{font-size:26px;line-height:32px}
  .fil{grid-template-columns:1fr;gap:var(--e1)}
  .fil .marge b{display:inline;margin-right:6px}
  .fil .tt{font-size:18px;line-height:25px}
  .l{grid-template-columns:72px 1fr}
  .brief form{flex-direction:column}
  .regle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pied-site{padding:var(--e5) var(--e4)} .pied-site nav{margin-left:0}
}
.voile{display:none}
@media(max-width:900px){html.tiroir .voile{display:block;position:fixed;inset:0;background:rgba(4,6,10,.72);z-index:15}}

.retenir ul{margin:0;padding-left:18px}
.retenir li{margin-top:6px;font-size:16px;line-height:26px;color:var(--brume)}

/* ---------- le trait ---------- */
.trait{position:relative;height:90px;margin-top:var(--e3);padding-right:60px}
.trait.long{height:140px}
.trait.nu{padding-right:0}
.trait svg{display:block;width:100%;height:100%;overflow:visible}
.trait path{fill:none;stroke:var(--craie);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.trait .t-ref{position:absolute;left:0;right:60px;top:calc(var(--y)*100%);border-top:1px dashed var(--graphite)}
.trait.nu .t-ref{right:0}
.trait .t-fin{position:absolute;left:calc(100% - 60px);top:calc(var(--y)*100%);width:10px;height:10px;border-radius:2.5px;transform:translate(-50%,-50%);outline:2px solid var(--nuit);background:var(--brume)}
.trait.nu .t-fin{left:100%}
.trait .t-pt{position:absolute;left:calc((100% - 60px)*var(--x));top:calc(var(--y)*100%);width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);outline:2px solid var(--nuit);background:var(--brume)}
.trait.nu .t-pt{left:calc(100%*var(--x))}
.trait .t-pt.v{background:var(--nuit);outline:0;border:1.5px solid var(--craie)}
.t-fin.h,.t-pt.h{background:var(--hausse)} .t-fin.b,.t-pt.b{background:var(--baisse)}
.trait .t-v{position:absolute;right:0;width:52px;top:calc(var(--y)*100%);transform:translateY(-50%);font:12px/16px var(--f-texte);font-variant-numeric:tabular-nums;color:var(--craie);white-space:nowrap}
.trait .t-v.ref{color:var(--cendre)}
.trait .t-v.haut{transform:translateY(-125%)} .trait .t-v.bas{transform:translateY(25%)}
.cote .micro{margin-top:var(--e2)}
@media(min-width:901px){.trait{height:110px}.trait.long{height:180px}}

.chiffre .sep{margin:0 -.07em}

aside .meme{margin-top:0} aside .meme h2{font-size:16px;line-height:22px}
aside .meme + .meme,aside .rang + .meme{margin-top:var(--e6)}

.prov{border:0;padding:0;margin-top:var(--e3)}
.prov .s{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.une .meta{flex-wrap:nowrap} .une .meta a{white-space:nowrap}
@media(max-width:900px){
  .base{display:none}
  .brief input{flex:none}
  .chapo{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

.barre a.e.actif{color:var(--craie);background:rgba(255,255,255,.06)}
@media(max-width:900px){.fil .marge .num{display:inline!important;margin-left:6px}}


.sources{margin-top:var(--e6);padding-top:var(--e4);border-top:1px solid var(--filet)}
.sources h2{font:600 13px/20px var(--f-texte);color:var(--cendre);margin-bottom:var(--e1)}
.sources a{display:block;padding:6px 0;font-size:14px;line-height:21px;color:var(--brume)}
.sources a:hover{color:var(--craie)}
.sources .m{color:var(--craie);font-weight:600}

.brief-points{margin:var(--e5) 0 0;padding:0;list-style:none;counter-reset:p}
.brief-points li{counter-increment:p;display:grid;grid-template-columns:28px 1fr;gap:var(--e2);padding:var(--e3) 0;border-top:1px solid var(--filet);font-family:var(--f-titre);font-weight:700;font-size:18px;line-height:25px}
.brief-points li:last-child{border-bottom:1px solid var(--filet)}
.brief-points li::before{content:counter(p);color:var(--cendre);font-variant-numeric:tabular-nums}
.brief-points a{color:var(--craie)}
.brief-s{margin-top:var(--e6)}
.brief-s h2{font-size:13px;line-height:20px;font-family:var(--f-texte);font-weight:600;color:var(--cendre);margin-bottom:var(--e1)}
.brief-l{display:block;margin:0;padding:var(--e2) 0;border-top:1px solid var(--filet);font-size:16px;line-height:26px;color:var(--brume)}
a.brief-l:hover{color:var(--craie)} a.brief-l span{color:var(--bleu-lien)}
