/* Journal et pages d'entrée (Claude Code, Codex). S'ajoute à volume/volume.css (jetons, barre du haut, boutons). */
body{background:var(--paper)}
.top .nav{margin-left:auto;display:flex;align-items:center;gap:20px}
.top .nav a{font-size:14px;color:var(--ink-2)}
.top .nav a[aria-current]{color:var(--ink)}

.doc{max-width:680px;margin:0 auto;padding:56px 0 88px}
.doc .crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 28px;padding:0;list-style:none;font-size:13px;color:var(--ink-3)}
.doc .crumbs li{margin:0;font-size:13px;line-height:1.4;color:var(--ink-3)}
.doc .crumbs li+li::before{content:"/";margin-right:6px;color:var(--line)}
.crumbs a{color:var(--ink-2)}
.kicker{font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 10px;letter-spacing:.01em}
.doc h1{font:600 clamp(32px,4.5vw,46px)/1.08 var(--display);letter-spacing:-.03em;margin:0 0 14px;text-wrap:balance}
.doc .dek{font-size:20px;line-height:1.45;color:var(--ink-2);margin:0 0 20px;letter-spacing:-.015em}
.doc .upd{font-size:13px;color:var(--ink-3);margin:0 0 40px}
.doc h2{font:600 22px/1.3 var(--display);letter-spacing:-.018em;margin:44px 0 10px}
.doc h3{font:600 17px/1.35 var(--display);letter-spacing:-.012em;margin:28px 0 8px}
.doc p,.doc li{font-size:17px;line-height:1.62;color:#424245}
.doc ul,.doc ol{padding-left:22px}
.doc li{margin:0 0 6px}
.doc b,.doc strong{color:var(--ink);font-weight:600}
.doc pre{margin:16px 0 20px;padding:14px 16px;background:var(--desk);border-radius:10px;overflow-x:auto;
  font:13px/1.55 var(--mono);color:var(--ink);tab-size:2}
.doc pre code{background:none;padding:0;font:inherit}
.doc table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:15px}
.doc th,.doc td{text-align:left;vertical-align:top;padding:9px 10px 9px 0;border-bottom:1px solid var(--line);color:#424245;line-height:1.5}
.doc th{font-weight:600;color:var(--ink);font-size:13px}
.doc td code{white-space:nowrap}
.tablewrap{overflow-x:auto}
.note{margin:20px 0;padding:14px 16px;border-radius:10px;background:var(--desk);font-size:15px;line-height:1.55;color:#424245}
.note b{color:var(--ink)}
.sources{margin-top:48px;padding-top:20px;border-top:1px solid var(--line)}
.sources h2{font-size:15px;margin:0 0 8px}
.sources li,.sources p{font-size:14px}

/* Encart de fin : ce que fait Opuscule */
.cta{margin:52px 0 0;padding:26px 24px;border-radius:14px;background:var(--desk)}
.cta h2{margin:0 0 6px;font-size:20px}
.cta p{margin:0 0 16px;font-size:16px}
.cta .row{display:flex;flex-wrap:wrap;gap:10px}

/* Index du journal */
.doc .posts{list-style:none;padding:0;margin:8px 0 0}
.doc .posts li{margin:0;padding:22px 0;border-top:1px solid var(--line)}
.posts li:last-child{border-bottom:1px solid var(--line)}
.posts a{display:block;color:var(--ink)}
.posts a:hover{text-decoration:none}
.posts a:hover .t{color:var(--accent)}
.posts .t{display:block;font:600 21px/1.3 var(--display);letter-spacing:-.018em;margin:0 0 6px}
.posts .d{display:block;font-size:16px;line-height:1.5;color:var(--ink-2)}
.posts .m{display:block;font-size:13px;color:var(--ink-3);margin-top:8px}

/* Pages d'entrée */
.doc .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 8px;padding:0;list-style:none}
.doc .facts li{margin:0;padding:16px;border-radius:12px;background:var(--desk);font-size:15px;line-height:1.5}
.facts b{display:block;font:600 16px/1.3 var(--display);margin:0 0 4px}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:17px;line-height:1.4}
.faq details p{margin:10px 0 0}

.foot{border-top:1px solid var(--line);padding:28px 0 40px;font-size:12px;color:var(--ink-2)}
.foot .wrap{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.foot ul{display:flex;gap:20px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.foot a{color:var(--ink-2)}
@media (max-width:560px){.top .nav a.hide-s{display:none}.doc{padding-top:40px}.doc .facts{grid-template-columns:1fr}}
