/* Documentation, generee par doc_generer.py. Elle complete styles.css du site. */
.doc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,4vw,64px);
  max-width:calc(1120px + 2 * var(--gutter));margin:0 auto;padding:clamp(32px,5vw,72px) var(--gutter)}
.doc-nav{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}
.doc-nav p{margin-bottom:14px;color:var(--accent);font-family:var(--mono);font-size:.875rem;
  letter-spacing:.06em;text-transform:uppercase}
.doc-nav ol{display:grid;gap:2px;margin:0;padding:0;list-style:none;counter-reset:chapitre}
.doc-nav a{display:flex;gap:10px;padding:8px 12px;border-radius:10px;color:var(--muted);
  font-size:.9375rem;text-decoration:none;transition:color .2s,background-color .2s}
.doc-nav a::before{counter-increment:chapitre;content:counter(chapitre,decimal-leading-zero);
  color:var(--line-strong);font-family:var(--mono);font-size:.875rem;padding-top:1px}
.doc-nav a:hover{color:var(--heading);background:var(--raised)}
.doc-nav a[aria-current="page"]{color:var(--heading);background:var(--surface)}
.doc-nav a[aria-current="page"]::before{color:var(--accent)}
.doc-corps{min-width:0;max-width:72ch}
.doc-corps h1{font-size:clamp(2rem,1.5rem + 2.2222vw,3.25rem);line-height:1.06;letter-spacing:-.035em}
.doc-corps h2{margin:44px 0 14px;font-size:1.5rem;letter-spacing:-.02em;scroll-margin-top:96px}
.doc-corps h3{margin:32px 0 10px;font-size:1.1875rem;letter-spacing:-.01em;scroll-margin-top:96px}
.doc-corps p{margin:14px 0;color:var(--text)}
.doc-corps ul,.doc-corps ol{margin:14px 0 14px 22px;color:var(--text);display:grid;gap:8px}
.doc-corps li{padding-left:4px}
.doc-corps a{color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.doc-corps a:hover{color:var(--accent)}
.doc-corps code{padding:2px 6px;border:1px solid var(--line);border-radius:6px;
  background:var(--raised);font-size:.9375em}
.doc-corps pre{overflow:auto;margin:18px 0;padding:16px 18px;border:1px solid var(--line);
  border-radius:var(--radius);background:var(--surface)}
.doc-corps pre code{padding:0;border:0;background:none}
.doc-corps blockquote{margin:18px 0;padding:14px 18px;border-left:2px solid var(--accent-line);
  background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;color:var(--text)}
.doc-table{overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:var(--radius)}
.doc-corps table{width:100%;border-collapse:collapse;font-size:.9375rem}
.doc-corps th,.doc-corps td{padding:12px 16px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line)}
.doc-corps th{color:var(--heading);font-weight:560;background:var(--surface)}
.doc-corps tr:last-child td{border-bottom:0}
.doc-entete{padding-bottom:20px;border-bottom:1px solid var(--line)}
.doc-maj{margin-top:12px;color:var(--muted);font-family:var(--mono);font-size:.875rem}
.doc-suite{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.doc-suite a{display:grid;gap:4px;padding:14px 18px;border:1px solid var(--line);
  border-radius:var(--radius);color:var(--heading);text-decoration:none;transition:border-color .2s}
.doc-suite a:hover{border-color:var(--line-strong)}
.doc-suite span{color:var(--muted);font-family:var(--mono);font-size:.875rem}
.doc-sommaire{display:grid;gap:14px;margin-top:32px}
.doc-sommaire a{display:grid;gap:6px;padding:22px 24px;border:1px solid var(--line);
  border-radius:var(--radius-lg);background:var(--surface);color:var(--heading);
  text-decoration:none;transition:border-color .2s}
.doc-sommaire a:hover{border-color:var(--line-strong)}
.doc-sommaire strong{font-size:1.125rem;font-weight:560}
.doc-sommaire span{color:var(--muted);font-size:.9375rem}
@media(max-width:900px){
  .doc{grid-template-columns:minmax(0,1fr)}
  .doc-nav{position:static;max-height:none;padding-bottom:24px;border-bottom:1px solid var(--line)}
}
@media(max-width:600px){
  [data-page="docs"] .site-header nav a:not(.nav-cta){display:none}
  [data-page="docs"] .site-header nav .nav-cta{flex:none}
}
@media(max-width:480px){
  .doc{padding-left:16px;padding-right:16px}
  .doc-corps h2{margin-top:36px;font-size:1.375rem}
  .doc-corps th,.doc-corps td{padding:10px 12px}
  .doc-corps table{font-size:.9375rem}
  .doc-corps pre{padding:12px 14px}
  .doc-suite a{width:100%}
  .doc-sommaire a{padding:18px 18px}
}
