@font-face{font-family:'Inter';src:url('fonts/inter-var-latin-ext.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';src:url('fonts/inter-var-latin.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';src:url('fonts/jetbrains-mono-var-latin-ext.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';src:url('fonts/jetbrains-mono-var-latin.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --ink:#242424; --ink-2:#3d3d40; --body:#5c5c62; --muted:#8e8e93;
  --line:#ECECEE; --line-2:#F3F3F4; --bg:#FFFFFF; --panel:#F4F4F5; --tint:#FAFAFA;
  --card:#FFFFFF; --on-ink:#FFFFFF;
  --nav-bg:rgba(255,255,255,.86);
  --sh-1:0 1px 2px rgba(36,36,36,.05);
  --sh-2:0 10px 34px rgba(36,36,36,.08);
  --sh-3:0 2px 6px rgba(36,36,36,.04),0 24px 60px rgba(36,36,36,.12);
  --grid-line:rgba(36,36,36,.035); --grid-line-soft:rgba(36,36,36,.022);
  --foot:#141416; --foot-2:#1B1B1F; --foot-3:#1D1D21;
  --accent:#FF7A00;
  --r:12px; --r-lg:16px; --r-xl:24px; --pill:12px;
  --cell:54px; --nav:76px;
  --gutter:clamp(16px,2.6vw,40px);
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
:root[data-theme="dark"]{
  --ink:#F4F4F6; --ink-2:#D3D3D9; --body:#A2A2AB; --muted:#7C7C86;
  --line:#292930; --line-2:#212127; --bg:#111113; --panel:#1D1D22; --tint:#171719;
  --card:#1B1B20; --on-ink:#121214;
  --nav-bg:rgba(17,17,19,.86);
  --sh-1:0 1px 2px rgba(0,0,0,.4);
  --sh-2:0 10px 34px rgba(0,0,0,.5);
  --sh-3:0 2px 6px rgba(0,0,0,.3),0 24px 60px rgba(0,0,0,.55);
  --grid-line:rgba(255,255,255,.05); --grid-line-soft:rgba(255,255,255,.032);
  --foot:#1B1B20; --foot-2:#232329; --foot-3:#26262C;
  color-scheme:dark;
}
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1400px;margin:0 auto;padding:0 var(--gutter)}

/* ---------- barre haute ---------- */
.lnav{position:sticky;top:0;z-index:20;background:var(--nav-bg);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.lnav .wrap{height:var(--nav);display:flex;align-items:center;justify-content:space-between;gap:16px}
.lnav img{height:44px;width:auto;display:block}
.lnav .l-dark{display:none}
:root[data-theme="dark"] .lnav .l-light{display:none}
:root[data-theme="dark"] .lnav .l-dark{display:block}
.back{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 17px;border-radius:var(--pill);background:var(--panel);color:var(--ink);font-size:13.5px;transition:background .2s}
.back:hover{background:var(--line)}
.back i{font-style:normal}

/* ---------- contenu ---------- */
main{padding:clamp(44px,6vw,88px) 0 clamp(56px,7vw,104px)}
.doc{max-width:760px}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1{margin-top:14px;font-size:clamp(32px,4.4vw,54px);font-weight:600;letter-spacing:-.045em;line-height:1.04;color:var(--ink)}
.lead{margin-top:18px;font-size:clamp(15px,1.2vw,17px);max-width:640px}
.upd{margin-top:22px;display:inline-block;font-size:12.5px;padding:8px 14px;border-radius:var(--r);background:var(--panel);color:var(--ink-2)}
section{margin-top:clamp(34px,4vw,54px);padding-top:clamp(26px,3vw,36px);border-top:1px solid var(--line)}
h2{font-size:clamp(19px,1.7vw,24px);font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.2}
h3{margin-top:26px;font-size:15.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
section > p,section > ul{margin-top:14px}
h3 + p{margin-top:8px}
ul{list-style:none}
li{position:relative;padding-left:20px;margin-top:9px}
li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border:1.4px solid var(--muted);transform:rotate(45deg);border-radius:1.5px}
strong{color:var(--ink);font-weight:600}
a.lk{color:var(--ink);font-weight:500;box-shadow:inset 0 -1px 0 var(--line);transition:box-shadow .2s}
a.lk:hover{box-shadow:inset 0 -1px 0 var(--accent)}
.card{margin-top:18px;background:var(--tint);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:9px 22px;font-size:14px}
.card dt{color:var(--muted)}
.card dd{color:var(--ink)}
.note{margin-top:16px;font-size:13.5px;color:var(--muted)}

/* ---------- pied ---------- */
.lfoot{border-top:1px solid var(--line);padding:26px 0 34px}
.lfoot .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.lfoot nav{display:flex;gap:16px;flex-wrap:wrap}
.lfoot nav a:hover{color:var(--ink)}
.seg{display:flex;align-items:center;gap:2px;background:var(--panel);border-radius:10px;padding:3px}
.seg button{display:grid;place-items:center;width:32px;height:27px;border:0;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}
.seg svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:620px){
  .lnav img{height:38px}
  .card dl{grid-template-columns:1fr;gap:2px 0}
  .card dd{margin-bottom:10px}
}
