/* Layout: en-tete fixe en haut (marque + 5 pages), contenu en colonne unique, une page visible a la fois (hash). Vert-bleu profond + jaune dore. */
:root{--bg:#eef3f1;--surface:#fff;--ink:#10302d;--muted:#4d6663;--line:#cfdcd8;--night:#0b4a45;--night-ink:#effaf7;--accent:#8a5a00;--hero:#f2b632;--accent-soft:#fbf1d6;--ok:#17603f;--ok-soft:#dff2e8;--warn:#8a3b12;--warn-soft:#fbe6dc;--glyph-bg:#e6efec;
--display:"Familjen Grotesk","Trebuchet MS",sans-serif;--body:"Figtree","Segoe UI",sans-serif;--mono:"DM Mono",ui-monospace,monospace}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#071a19;--surface:#0e2927;--ink:#e6f4f1;--muted:#93b3ae;--line:#1f4743;--night:#0a3330;--night-ink:#effaf7;--accent:#f2b632;--accent-soft:#2b2a14;--ok:#6fd1a0;--ok-soft:#10312a;--warn:#f0a07a;--warn-soft:#33201a;--glyph-bg:#123633;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#071a19;--surface:#0e2927;--ink:#e6f4f1;--muted:#93b3ae;--line:#1f4743;--night:#0a3330;--night-ink:#effaf7;--accent:#f2b632;--accent-soft:#2b2a14;--ok:#6fd1a0;--ok-soft:#10312a;--warn:#f0a07a;--warn-soft:#33201a;--glyph-bg:#123633;color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 64px}
.wrap{max-width:900px;margin:0 auto}
.proto{background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;padding:8px 12px;margin-top:14px;font-size:13.5px}
header.nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;justify-content:space-between;padding-block:18px 10px;border-bottom:1px solid var(--line)}
.brand{font-family:var(--display);font-weight:700;font-size:26px;color:var(--ink);text-decoration:none;letter-spacing:.01em}
.brand b{color:var(--accent)}
nav{display:flex;flex-wrap:wrap;gap:4px 18px}
nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:15px;padding:4px 0;border-bottom:2px solid transparent}
nav a[aria-current="page"],nav a:hover{color:var(--ink);border-bottom-color:var(--hero)}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
main{padding-top:28px}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(34px,7vw,54px)} h2{font-size:25px;margin-bottom:4px} h3{font-size:18px}
.sub{margin:0 0 14px;color:var(--muted);font-size:14.5px}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hero)}
.hero{background:var(--night);color:var(--night-ink);border-radius:10px;padding:34px 28px}
.hero p{color:#bfe3dc;max-width:56ch;margin:12px 0 0;font-size:18px}
.hero .eyebrow{display:block;margin-bottom:10px}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{display:inline-block;background:var(--hero);color:#10302d;font-weight:600;padding:10px 18px;border-radius:6px;text-decoration:none;border:0;cursor:pointer;font:600 15px var(--body)}
.btn.alt{background:transparent;color:var(--night-ink);border:1px solid #3f817a}
.btn.solid{background:var(--accent);color:var(--surface)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:22px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.stat b{display:block;font:700 34px/1 var(--display)} .stat span{font-size:13.5px;color:var(--muted)}
section{margin-top:34px}
.tools{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px}
.tools label{display:flex;flex-direction:column;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:4px;flex:1 1 150px}
input,select,textarea{font:16px var(--body);padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);width:100%}
.count{font-size:14px;color:var(--muted);margin:8px 0 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.card{display:block;height:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--accent)}
.card h3{margin-bottom:4px} .card p{margin:0;color:var(--muted);font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font:500 11.5px/1 var(--mono);padding:5px 8px;border-radius:4px;background:var(--glyph-bg);color:var(--muted)}
.tag.enc{background:var(--ok-soft);color:var(--ok)} .tag.lvl{background:var(--accent-soft);color:var(--accent)}
dl{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.row{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:4px 20px;padding:12px 18px;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
dt{font:500 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px}
dd{margin:0;min-width:0;overflow-wrap:anywhere} dd small{display:block;color:var(--muted);font-size:13px}
.todo{color:var(--muted);font-style:italic}
code{font-family:var(--mono);font-size:.88em}
.box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.box.rtl{direction:rtl;text-align:right} .box.ltr{direction:ltr;text-align:left}
.glyphs{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.glyphs li{background:var(--glyph-bg);border:1px solid var(--line);border-radius:6px;text-align:center;padding:8px 2px 6px}
.g{font-family:"AynehaFiche";font-size:34px;line-height:1.3;display:block}
.glyphs code{direction:ltr;unicode-bidi:isolate;font-size:10.5px;color:var(--muted)}
.gl-title{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}.gl-title:first-child{margin-top:0}
.links{display:flex;flex-wrap:wrap;gap:6px 18px}
ul.src{margin:0;padding-left:18px} ul.src li{margin:4px 0;overflow-wrap:anywhere}
.fhead{background:var(--night);color:var(--night-ink);border-radius:10px;padding:26px 26px 22px}
.fhead h1{margin:8px 0 6px}
.fhead p{margin:0;color:#bfe3dc}
.fhead .tag{background:transparent;border:1px solid #3f817a;color:#d4efe9}
.fhead .tag.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.fhead .tag.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.back{display:inline-block;margin-bottom:14px;font-size:14px}
.notice{margin-top:14px;background:var(--warn-soft);border-radius:6px;padding:10px 14px;font-size:14px;color:var(--warn)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.rule{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.rule h3{margin-bottom:8px} .rule ul{margin:0;padding-left:18px} .rule li{margin:5px 0}
form .f{margin-top:14px} form label{font-weight:500;font-size:14.5px;display:block;margin-bottom:4px}
.msg{margin-top:14px;background:var(--ok-soft);color:var(--ok);padding:10px 14px;border-radius:6px}
footer{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
@media (max-width:600px){.row{grid-template-columns:1fr;gap:2px}.hero{padding:24px 18px}}
.err{background:var(--warn-soft);color:var(--warn);padding:14px 16px;border-radius:8px}

.brand img{height:48px;width:auto;display:block}

body{padding-bottom:136px}
.explore{display:grid;gap:18px}
.explore h3{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--ink);text-decoration:none;font-size:14.5px}
.chip b{color:var(--accent);margin-left:4px}
.chip:hover{border-color:var(--accent)}
.partners{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:2px solid var(--hero);display:flex;align-items:center;gap:14px;padding:16px max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));min-height:104px}
.partners .pl{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:none}
.partners .pts{display:flex;align-items:center;gap:22px;flex:1;min-width:0;overflow-x:auto}
.partners .pt{flex:none;color:var(--ink);font-weight:600;text-decoration:none;display:flex;align-items:center}
.partners .pe{font-size:13.5px;color:var(--muted);white-space:nowrap}
.partners .pm{flex:none;font-size:13px;white-space:nowrap}
@media (max-width:600px){.partners .pl{display:none}.partners .pm{font-size:12px}}

.contrib{margin:14px 0 0}.badge-role{display:inline-block;padding:2px 10px;border-radius:99px;font-size:13px;font-weight:600;background:var(--warn-soft);color:var(--warn)}.badge-role.auteur{background:var(--ok-soft);color:var(--ok)}

svg.gi{width:44px;height:44px;display:block}

details.fold{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}details.fold>summary{cursor:pointer;font-weight:600;color:var(--accent);padding:6px 0}details.fold[open]>summary{margin-bottom:6px}
