/* Feuille commune à tout le site : jetons de couleur, typographie, barre du site, boutons. */
:root{
  --bg:#f3f2ec;--panel:#fdfcf8;--panel-2:#f7f6f0;--fg:#1c2019;--mut:#5f6656;--line:#dddcd0;--line-2:#c9c8b9;
  --olive:#4a5a32;--olive-2:#3b4927;--olive-soft:#e6ebd9;--calm:#5f8a4d;--warn:#c4861a;--crit:#b3321f;--war:#5b0f0a;--fgi:#fdfcf8;
  --shadow:0 1px 2px rgba(28,32,25,.06),0 6px 20px -8px rgba(28,32,25,.14);
  --shadow-lg:0 2px 4px rgba(28,32,25,.06),0 18px 40px -16px rgba(28,32,25,.25);
  --r:12px;--r-sm:8px;
  --disp:'Spectral',Georgia,'Palatino Linotype',serif;
  --cond:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Source Sans 3','Segoe UI',Calibri,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#12150e;--panel:#1b2015;--panel-2:#171b12;--fg:#ecebe0;--mut:#a3a995;--line:#2e3425;--line-2:#3d4531;
  --olive:#a9bf7e;--olive-2:#bfd395;--olive-soft:#28311d;--calm:#7fae6b;--warn:#e0a640;--crit:#ec6a52;--war:#ff8b75;--fgi:#12150e;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -10px rgba(0,0,0,.5);--shadow-lg:0 2px 4px rgba(0,0,0,.3),0 20px 44px -16px rgba(0,0,0,.6);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#12150e;--panel:#1b2015;--panel-2:#171b12;--fg:#ecebe0;--mut:#a3a995;--line:#2e3425;--line-2:#3d4531;
  --olive:#a9bf7e;--olive-2:#bfd395;--olive-soft:#28311d;--calm:#7fae6b;--warn:#e0a640;--crit:#ec6a52;--war:#ff8b75;--fgi:#12150e;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -10px rgba(0,0,0,.5);--shadow-lg:0 2px 4px rgba(0,0,0,.3),0 20px 44px -16px rgba(0,0,0,.6);
  color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.45;
  background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fg) 7%,transparent) 1px,transparent 0);background-size:22px 22px}
button,select,input{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--olive)}
:focus-visible{outline:3px solid var(--olive);outline-offset:2px;border-radius:4px}
.wrap{max-width:1520px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* Barre du site */
.site-bar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);font:700 1.05rem var(--disp)}
.brand .seal{width:30px;height:30px;border-radius:8px;background:var(--olive);color:var(--fgi);display:grid;place-items:center;font:700 .95rem var(--cond);letter-spacing:.04em}
.crumb{font:600 .82rem var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.crumb:hover{color:var(--fg)}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);background:var(--panel);border-radius:var(--r-sm);padding:8px 14px;font-weight:600;font-size:.95rem;text-decoration:none;color:var(--fg);transition:background .15s,border-color .15s,transform .1s;white-space:nowrap}
.btn:hover{background:var(--olive-soft);border-color:var(--olive)}
.btn:active{transform:translateY(1px)}
.btn.main{background:var(--olive);border-color:var(--olive);color:var(--fgi)}
.btn.main:hover{background:var(--olive-2);border-color:var(--olive-2)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.ghost:hover{background:var(--olive-soft);border-color:transparent}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn.danger.arm{background:var(--crit);color:#fff;border-color:var(--crit)}
.icon{width:18px;height:18px;flex:none}

.k{font:600 .78rem var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.hint{font-size:.88rem;color:var(--mut);margin:0}
.site-foot{color:var(--mut);font-size:.85rem;padding:28px 0 36px;text-align:center}
