/* ============================================================
   Le Canari Noir — Éclairages · feuille de style partagée
   Une seule source pour toute la charte du blog.
   ============================================================ */
:root{
  --noir:#07080b;--charbon:#0e1116;--ardoise:#151a21;--gris:#272e38;
  --canari:#e8c832;--canari-pale:#f2dd72;--canari-sombre:#9c8718;
  --blanc:#f4f2ed;--blanc-casse:#dad7cf;--gris-clair:#928f86;--vert:#46b888;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--noir);color:var(--blanc-casse);font-family:'Barlow',sans-serif;font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased;}
a{color:var(--canari);text-decoration:none;}
a:hover{color:var(--canari-pale);}
.wrap{max-width:760px;margin:0 auto;padding:0 1.6rem;}
.wrap-wide{max-width:1120px;margin:0 auto;padding:0 1.6rem;}

/* NAV */
nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:0.9rem 1.6rem;background:rgba(7,8,11,0.85);backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,200,50,0.08);}
.nav-logo{display:flex;align-items:center;gap:0.6rem;font-family:'DM Mono',monospace;font-size:0.72rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--canari);}
.nav-logo img{height:26px;width:auto;display:block;}
.nav-links{display:flex;gap:1.4rem;}
.nav-links a{font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--blanc-casse);}
.nav-links a:hover{color:var(--canari);}

/* ---------- INDEX ---------- */
.blog-hero{padding:5rem 0 2.5rem;border-bottom:1px solid rgba(232,200,50,0.08);}
.eyebrow{font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--canari-sombre);margin-bottom:1.2rem;display:flex;align-items:center;gap:0.9rem;}
.eyebrow::before{content:'';width:1.8rem;height:1px;background:var(--canari-sombre);}
.blog-hero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.04;letter-spacing:-0.02em;color:var(--blanc);}
.blog-hero h1 em{font-style:italic;color:var(--canari);}
.blog-hero p{margin-top:1rem;font-size:1.05rem;max-width:60ch;}

.posts{padding:2.5rem 0 5rem;display:flex;flex-direction:column;}
.post-card{display:block;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,0.07);transition:padding-left .2s;}
.post-card:hover{padding-left:0.6rem;}
.post-card .date{font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--gris-clair);}
.post-card h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.7rem;line-height:1.15;color:var(--blanc);margin:0.5rem 0 0.5rem;}
.post-card:hover h2{color:var(--canari);}
.post-card .excerpt{font-size:0.98rem;color:var(--blanc-casse);max-width:70ch;}
.post-card .more{font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--canari);margin-top:0.9rem;display:inline-block;}
.posts-empty{color:var(--gris-clair);padding:2rem 0;font-style:italic;}

/* ---------- ARTICLE ---------- */
article{padding:3.5rem 0 4rem;}
.art-head{margin-bottom:2.6rem;}
.art-back{font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gris-clair);display:inline-block;margin-bottom:1.6rem;}
.art-back:hover{color:var(--canari);}
.art-date{font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--canari-sombre);}
article h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,4.6vw,3rem);line-height:1.06;letter-spacing:-0.02em;color:var(--blanc);margin:0.7rem 0 0;}
article h1 em{font-style:italic;color:var(--canari);}
.art-lead{font-size:1.2rem;color:var(--blanc);line-height:1.7;margin-top:1.4rem;font-weight:300;}

.art-body{font-size:1.06rem;line-height:1.85;}
.art-body>*+*{margin-top:1.4rem;}
.art-body h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.7rem;color:var(--blanc);line-height:1.15;margin-top:2.8rem;}
.art-body h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.35rem;color:var(--blanc);margin-top:2rem;}
.art-body strong{color:var(--blanc);font-weight:600;}
.art-body em{color:var(--canari-pale);font-style:italic;}
.art-body a{border-bottom:1px solid var(--canari-sombre);}
.art-body ul,.art-body ol{padding-left:1.3rem;}
.art-body li{margin:0.5rem 0;}
.art-body li::marker{color:var(--canari-sombre);}
.art-body blockquote{border-left:2px solid var(--canari-sombre);padding-left:1.4rem;margin:2rem 0;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--blanc);}
.art-body img{max-width:100%;height:auto;border:1px solid var(--gris);margin:1.6rem 0;}
.art-body hr{border:none;border-top:1px solid var(--gris);margin:2.6rem 0;}
.art-body figure figcaption{font-size:0.82rem;color:var(--gris-clair);margin-top:0.5rem;text-align:center;}

.art-cta{margin-top:3.5rem;padding-top:2rem;border-top:1px solid rgba(232,200,50,0.1);}
.art-cta a{font-family:'DM Mono',monospace;font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--noir);background:var(--canari);padding:0.9rem 1.8rem;display:inline-block;}
.art-cta a:hover{background:var(--canari-pale);}

/* FOOTER */
footer{border-top:1px solid rgba(232,200,50,0.08);padding:2.4rem 0;background:var(--charbon);}
footer .foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;}
footer .fl{display:flex;align-items:center;gap:0.6rem;font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--canari);}
footer .fl img{height:26px;}
footer .fr{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.04em;color:var(--gris-clair);text-align:right;line-height:1.7;}
@media(max-width:560px){footer .fr{text-align:left;}}

/* ---------- TABLEAU CLASSEMENT ---------- */
.rank-wrap{overflow-x:auto;margin:1.8rem 0;}
.rank{width:100%;border-collapse:collapse;font-size:0.95rem;min-width:540px;}
.rank thead th{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--canari-sombre);font-weight:400;text-align:right;padding:0 0.6rem 0.7rem;border-bottom:1px solid var(--gris);}
.rank thead th:first-child{text-align:left;padding-left:0;}
.rank tbody td{padding:0.7rem 0.6rem;border-bottom:1px solid rgba(255,255,255,0.06);
  text-align:right;font-variant-numeric:tabular-nums;color:var(--blanc-casse);}
.rank tbody td:first-child{text-align:left;padding-left:0;color:var(--blanc);}
.rank tbody td.num{font-family:'DM Mono',monospace;}
.rank tbody tr:hover td{color:var(--blanc);}
.rank .rk{font-family:'DM Mono',monospace;color:var(--gris-clair);font-size:0.8rem;}
.rank .grade{font-family:'DM Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;
  padding:0.15rem 0.55rem;border:1px solid var(--gris);border-radius:3px;color:var(--blanc);display:inline-block;}
.rank .grade.g-aaa,.rank .grade.g-aa,.rank .grade.g-a{color:var(--vert);border-color:rgba(70,184,136,0.45);}
.rank .grade.g-bbb{color:var(--canari);border-color:var(--canari-sombre);}
.rank .grade.g-bb,.rank .grade.g-b{color:var(--gris-clair);border-color:var(--gris);}
.rank-note{font-size:0.82rem;color:var(--gris-clair);margin-top:0.6rem;}
