:root{--bg:#0f1013;--panel:#17191e;--line:#2a2d35;--tx:#e8e4da;--mute:#9a978f;--red:#d2263f;--link:#e5736f;--ok:#4da36a;--eu:#d1a23a;--ke:#d2263f;--th:#7a8cf0;--ap:#b45cd6;
--sans:'Barlow Condensed',system-ui,sans-serif;--serif:'Source Serif 4',Georgia,serif}
[data-theme=light]{--bg:#f4f2ee;--panel:#fff;--line:#d8d4cb;--tx:#1d1d1f;--mute:#6b6862;--red:#a3122a;--link:#a3122a}
*{box-sizing:border-box}html{scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--tx);font:18px/1.65 var(--serif)}
a{color:var(--link)}h1,h2,h3,h4,.top,aside,.badge,.meta{font-family:var(--sans)}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--panel);border-bottom:2px solid var(--red)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--tx);font-size:1.4rem;font-weight:700;line-height:1}
.brand img{height:38px}.brand small{display:block;font-size:.8rem;font-weight:500;color:var(--mute);letter-spacing:.04em}
#nav{display:flex;gap:.2rem;margin-left:auto}
.dd{position:relative}.dd>button{background:none;border:0;color:var(--tx);font:600 1.05rem var(--sans);padding:.5rem .7rem;cursor:pointer}
.dd>button:hover,.dd:focus-within>button{color:var(--red)}
.dd .menu{display:none;position:absolute;right:0;min-width:240px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--red);padding:.4rem 0}
.dd:hover .menu,.dd:focus-within .menu{display:block}
.menu a{display:block;padding:.3rem 1rem;color:var(--tx);text-decoration:none;font:500 1rem var(--sans)}.menu a:hover{background:var(--bg);color:var(--red)}
#search input{background:var(--bg);color:var(--tx);border:1px solid var(--line);padding:.4rem .7rem;font:1rem var(--sans);width:12rem}
#theme,#burger{background:none;border:1px solid var(--line);color:var(--tx);width:2.2rem;height:2.2rem;cursor:pointer;font-size:1.1rem}#burger{display:none}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1280px;margin:0 auto}
aside{padding:1.5rem 1rem;border-right:1px solid var(--line);font-size:1rem}
aside h4{margin:1.2rem 0 .3rem;font-size:1.05rem;color:var(--red);border-bottom:1px solid var(--line)}aside h4:first-child{margin-top:0}
aside a{display:block;color:var(--tx);text-decoration:none;padding:.1rem 0}aside a:hover{color:var(--red)}
main{padding:2rem clamp(1rem,4vw,3rem);min-height:70vh;max-width:900px}
h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;margin:.2em 0}h2{font-size:1.9rem;margin:1.6em 0 .4em;border-bottom:1px solid var(--line)}h3{font-size:1.4rem}
.warn{display:block;text-decoration:none;color:#fff;background:var(--red);padding:1rem 1.2rem;font:700 clamp(1rem,2.4vw,1.35rem)/1.25 var(--sans);letter-spacing:.03em;border-left:10px solid #000}
.cta{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.btn{padding:.5rem 1rem;border:1px solid var(--red);color:var(--tx);text-decoration:none;font:600 1.1rem var(--sans)}.btn.p{background:var(--red);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0}
.card{display:block;background:var(--panel);border:1px solid var(--line);padding:1rem;color:var(--tx);text-decoration:none;border-radius:2px}.card:hover{border-color:var(--red)}.card h3{margin:.1rem 0}.card p{margin:.3rem 0 0;font-size:.95rem;color:var(--mute)}
.badge{display:inline-block;padding:0 .5rem;font-weight:700;font-size:.95rem;border:2px solid currentColor;letter-spacing:.05em}
.c-sûr{color:var(--ok)}.c-euclide{color:var(--eu)}.c-keter{color:var(--ke)}.c-thaumiel{color:var(--th)}.c-apollyon{color:var(--ap)}
.dossier{border:1px solid var(--line);background:var(--panel);padding:1.2rem 1.4rem;margin:1rem 0}
.meta{color:var(--mute);font-size:1.05rem;display:flex;gap:1.2rem;flex-wrap:wrap}
.rc{background:var(--panel);border-left:4px solid var(--red);padding:.1rem 1rem;margin:1rem 0}
.nums{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.4rem,1fr));gap:4px;font:600 .95rem var(--sans)}
.nums a,.nums span{padding:.25rem;text-align:center;border:1px solid var(--line)}.nums a{background:var(--red);color:#fff;text-decoration:none}.nums span{color:var(--mute);opacity:.5}
blockquote{margin:1rem 0;padding:.2rem 1rem;border-left:3px solid var(--mute);color:var(--mute);font-style:italic}
table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--line);padding:.4rem .7rem;text-align:left;vertical-align:top}
footer{border-top:1px solid var(--line);padding:1.5rem 1rem;text-align:center;color:var(--mute);font-size:.9rem}footer p{max-width:70ch;margin:0 auto}
@media(max-width:900px){.layout{grid-template-columns:1fr}aside{display:none;border:0;border-bottom:1px solid var(--line)}aside.open{display:block}#nav,#search{display:none}#burger{display:block;margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
