@hgdc/docs 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/package.json +1 -1
  2. package/src/build/content.ts +82 -0
  3. package/src/build/markdown.ts +10 -5
  4. package/src/components/Accordion.astro +3 -1
  5. package/src/components/Callout.astro +31 -0
  6. package/src/components/Card.astro +3 -1
  7. package/src/components/Check.astro +2 -3
  8. package/src/components/CodeGroup.astro +9 -1
  9. package/src/components/Danger.astro +2 -3
  10. package/src/components/Info.astro +2 -3
  11. package/src/components/Note.astro +2 -3
  12. package/src/components/Tip.astro +2 -3
  13. package/src/components/Warning.astro +2 -3
  14. package/src/core/feedback-api.ts +17 -7
  15. package/src/core/theme.ts +6 -3
  16. package/src/integration.ts +74 -16
  17. package/src/overrides/Assistant.astro +17 -39
  18. package/src/overrides/Footer.astro +27 -74
  19. package/src/overrides/Header.astro +92 -0
  20. package/src/overrides/Icon.astro +65 -0
  21. package/src/overrides/PageFrame.astro +55 -8
  22. package/src/overrides/PageSidebar.astro +7 -0
  23. package/src/overrides/PageTitle.astro +93 -62
  24. package/src/overrides/Search.astro +54 -0
  25. package/src/overrides/Sidebar.astro +89 -44
  26. package/src/overrides/SidebarList.astro +52 -0
  27. package/src/overrides/SiteFooter.astro +51 -0
  28. package/src/overrides/ThemeProvider.astro +23 -0
  29. package/src/overrides/ThemeToggle.astro +90 -0
  30. package/src/overrides/TwoColumnContent.astro +45 -0
  31. package/src/overrides/sections.ts +29 -0
  32. package/src/styles/theme.css +2137 -511
  33. package/src/widget/client.ts +51 -19
  34. package/src/widget/code.ts +218 -0
  35. package/src/widget/excerpt.ts +5 -0
  36. package/src/widget/search.ts +226 -0
  37. package/template/.astro/collections/docs.schema.json +3 -0
  38. package/template/.astro/content-assets.mjs +1 -4
  39. package/template/.astro/content-modules.mjs +35 -15
  40. package/template/.astro/data-store.json +1 -0
  41. package/template/.astro/settings.json +5 -0
  42. package/template/.build/.well-known/llms.txt +51 -34
  43. package/template/.build/404.html +16 -42
  44. package/template/.build/_astro/Assistant.astro_astro_type_script_index_0_lang.C1pz7yK1.js +4 -0
  45. package/template/.build/_astro/CodeGroup.astro_astro_type_script_index_0_lang.-eM8maAX.js +1 -0
  46. package/template/.build/_astro/Footer.astro_astro_type_script_index_0_lang.DzCnn3OT.js +1 -0
  47. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.D7EcezBU.js +1 -0
  48. package/template/.build/_astro/code.smqv0zhe.js +9 -0
  49. package/template/.build/_astro/common.Dx3aBIS0.css +3 -0
  50. package/template/.build/_astro/{ec.8nqtp.css → ec.t9qpe.css} +1 -1
  51. package/template/.build/_astro/logo.BPu921Tp.svg +1 -0
  52. package/template/.build/_hgdc/corpus.json +1 -1
  53. package/template/.build/concepts/confidentialite/index.html +50 -0
  54. package/template/.build/concepts/confidentialite.md +38 -0
  55. package/template/.build/concepts/deploiements/index.html +106 -0
  56. package/template/.build/concepts/deploiements.md +70 -0
  57. package/template/.build/concepts/organisations-et-roles/index.html +83 -0
  58. package/template/.build/concepts/organisations-et-roles.md +39 -0
  59. package/template/.build/concepts/preversion/index.html +49 -0
  60. package/template/.build/concepts/preversion.md +52 -0
  61. package/template/.build/concepts/secrets-et-coffre/index.html +70 -0
  62. package/template/.build/concepts/secrets-et-coffre.md +54 -0
  63. package/template/.build/demarrer/depuis-github/index.html +34 -0
  64. package/template/.build/demarrer/depuis-github.md +68 -0
  65. package/template/.build/demarrer/premier-site/index.html +28 -0
  66. package/template/.build/demarrer/premier-site.md +94 -0
  67. package/template/.build/guides/brancher-un-domaine/index.html +91 -0
  68. package/template/.build/guides/brancher-un-domaine.md +81 -0
  69. package/template/.build/guides/cle-d-api/index.html +62 -0
  70. package/template/.build/guides/cle-d-api.md +78 -0
  71. package/template/.build/guides/depannage/index.html +64 -0
  72. package/template/.build/guides/depannage.md +69 -0
  73. package/template/.build/guides/deployer-depuis-github/index.html +45 -0
  74. package/template/.build/guides/deployer-depuis-github.md +70 -0
  75. package/template/.build/guides/deployer-un-framework/index.html +81 -0
  76. package/template/.build/guides/deployer-un-framework.md +74 -0
  77. package/template/.build/guides/github-actions-sans-application/index.html +53 -0
  78. package/template/.build/guides/github-actions-sans-application.md +95 -0
  79. package/template/.build/guides/inviter-une-personne/index.html +28 -0
  80. package/template/.build/guides/inviter-une-personne.md +38 -0
  81. package/template/.build/guides/lire-les-logs/index.html +37 -0
  82. package/template/.build/guides/lire-les-logs.md +48 -0
  83. package/template/.build/guides/migrer-depuis-vercel/index.html +25 -0
  84. package/template/.build/guides/migrer-depuis-vercel.md +51 -0
  85. package/template/.build/guides/monorepo/index.html +40 -0
  86. package/template/.build/guides/monorepo.md +42 -0
  87. package/template/.build/guides/revenir-en-arriere/index.html +39 -0
  88. package/template/.build/guides/revenir-en-arriere.md +50 -0
  89. package/template/.build/guides/site-statique/index.html +41 -0
  90. package/template/.build/guides/site-statique.md +59 -0
  91. package/template/.build/guides/synchroniser-doppler/index.html +46 -0
  92. package/template/.build/guides/synchroniser-doppler.md +63 -0
  93. package/template/.build/guides/variables-d-environnement/index.html +73 -0
  94. package/template/.build/guides/variables-d-environnement.md +92 -0
  95. package/template/.build/images/famille/account.svg +1 -0
  96. package/template/.build/images/famille/analytics.svg +1 -0
  97. package/template/.build/images/famille/docs.svg +1 -0
  98. package/template/.build/images/famille/host.svg +1 -0
  99. package/template/.build/images/famille/mail.svg +1 -0
  100. package/template/.build/images/famille/portal.svg +1 -0
  101. package/template/.build/images/famille/status.svg +1 -0
  102. package/template/.build/images/logo.svg +1 -0
  103. package/template/.build/index.html +30 -85
  104. package/template/.build/index.md +59 -21
  105. package/template/.build/llms-full.txt +2330 -514
  106. package/template/.build/llms.txt +51 -34
  107. package/template/.build/pagefind/fragment/fr-ch_16987e2.pf_fragment +0 -0
  108. package/template/.build/pagefind/fragment/fr-ch_2b4c97b.pf_fragment +0 -0
  109. package/template/.build/pagefind/fragment/fr-ch_3294a5c.pf_fragment +0 -0
  110. package/template/.build/pagefind/fragment/fr-ch_34858c9.pf_fragment +0 -0
  111. package/template/.build/pagefind/fragment/fr-ch_39ddba1.pf_fragment +0 -0
  112. package/template/.build/pagefind/fragment/fr-ch_4ab1899.pf_fragment +0 -0
  113. package/template/.build/pagefind/fragment/fr-ch_4d3a52a.pf_fragment +0 -0
  114. package/template/.build/pagefind/fragment/fr-ch_506c187.pf_fragment +0 -0
  115. package/template/.build/pagefind/fragment/fr-ch_5aa255a.pf_fragment +0 -0
  116. package/template/.build/pagefind/fragment/fr-ch_6841c7d.pf_fragment +0 -0
  117. package/template/.build/pagefind/fragment/fr-ch_6dc7a2d.pf_fragment +0 -0
  118. package/template/.build/pagefind/fragment/fr-ch_847edff.pf_fragment +0 -0
  119. package/template/.build/pagefind/fragment/fr-ch_8745af7.pf_fragment +0 -0
  120. package/template/.build/pagefind/fragment/fr-ch_8aac5e6.pf_fragment +0 -0
  121. package/template/.build/pagefind/fragment/fr-ch_916b233.pf_fragment +0 -0
  122. package/template/.build/pagefind/fragment/fr-ch_9fd014a.pf_fragment +0 -0
  123. package/template/.build/pagefind/fragment/fr-ch_a0808f8.pf_fragment +0 -0
  124. package/template/.build/pagefind/fragment/fr-ch_a4e1f69.pf_fragment +0 -0
  125. package/template/.build/pagefind/fragment/fr-ch_a80a53d.pf_fragment +0 -0
  126. package/template/.build/pagefind/fragment/fr-ch_a9e725b.pf_fragment +0 -0
  127. package/template/.build/pagefind/fragment/fr-ch_ac3f64c.pf_fragment +0 -0
  128. package/template/.build/pagefind/fragment/fr-ch_af292f1.pf_fragment +0 -0
  129. package/template/.build/pagefind/fragment/fr-ch_af3e716.pf_fragment +0 -0
  130. package/template/.build/pagefind/fragment/fr-ch_b0689a4.pf_fragment +0 -0
  131. package/template/.build/pagefind/fragment/fr-ch_baed996.pf_fragment +0 -0
  132. package/template/.build/pagefind/fragment/fr-ch_c89e27a.pf_fragment +0 -0
  133. package/template/.build/pagefind/fragment/fr-ch_cd6ca13.pf_fragment +0 -0
  134. package/template/.build/pagefind/fragment/fr-ch_d09af09.pf_fragment +0 -0
  135. package/template/.build/pagefind/fragment/fr-ch_d4bcea8.pf_fragment +0 -0
  136. package/template/.build/pagefind/fragment/fr-ch_dc2a134.pf_fragment +0 -0
  137. package/template/.build/pagefind/fragment/fr-ch_ded7ddc.pf_fragment +0 -0
  138. package/template/.build/pagefind/fragment/fr-ch_e2528cb.pf_fragment +0 -0
  139. package/template/.build/pagefind/fragment/fr-ch_e3cbb4e.pf_fragment +0 -0
  140. package/template/.build/pagefind/fragment/fr-ch_e7902d9.pf_fragment +0 -0
  141. package/template/.build/pagefind/fragment/fr-ch_f48ca47.pf_fragment +0 -0
  142. package/template/.build/pagefind/index/fr-ch_8a5f905.pf_index +0 -0
  143. package/template/.build/pagefind/index/fr-ch_fbd9c96.pf_index +0 -0
  144. package/template/.build/pagefind/pagefind-entry.json +1 -1
  145. package/template/.build/pagefind/pagefind.fr-ch_211aacbfa7f0e.pf_meta +0 -0
  146. package/template/.build/reference/api/deploiements/index.html +326 -0
  147. package/template/.build/reference/api/deploiements.md +170 -0
  148. package/template/.build/reference/api/erreurs/index.html +102 -0
  149. package/template/.build/reference/api/erreurs.md +50 -0
  150. package/template/.build/reference/api/fichiers/index.html +82 -0
  151. package/template/.build/reference/api/fichiers.md +62 -0
  152. package/template/.build/reference/api/introduction/index.html +126 -0
  153. package/template/.build/reference/api/introduction.md +84 -0
  154. package/template/.build/reference/api/projets/index.html +184 -0
  155. package/template/.build/reference/api/projets.md +102 -0
  156. package/template/.build/reference/api/utilisateur/index.html +96 -0
  157. package/template/.build/reference/api/utilisateur.md +89 -0
  158. package/template/.build/reference/api/variables/index.html +75 -0
  159. package/template/.build/reference/api/variables.md +58 -0
  160. package/template/.build/reference/cli/index.html +165 -82
  161. package/template/.build/reference/cli.md +159 -23
  162. package/template/.build/reference/compatibilite/index.html +196 -0
  163. package/template/.build/reference/compatibilite.md +64 -0
  164. package/template/.build/reference/domaines/index.html +171 -0
  165. package/template/.build/reference/domaines.md +76 -0
  166. package/template/.build/reference/limites/index.html +159 -0
  167. package/template/.build/reference/limites.md +56 -0
  168. package/template/.build/reference/variables/index.html +164 -0
  169. package/template/.build/reference/variables.md +63 -0
  170. package/template/.build/reference/vercel-json/index.html +65 -0
  171. package/template/.build/reference/vercel-json.md +51 -0
  172. package/template/node_modules/.vite/deps/_metadata.json +8 -8
  173. package/template/src/content.config.ts +8 -2
  174. package/src/overrides/SocialIcons.astro +0 -59
  175. package/template/.build/_astro/Assistant.astro_astro_type_script_index_0_lang.DWgmlr85.js +0 -4
  176. package/template/.build/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js +0 -1
  177. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.g9hoxVJg.js +0 -1
  178. package/template/.build/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js +0 -1
  179. package/template/.build/_astro/common.CQYUsl_5.css +0 -3
  180. package/template/.build/_astro/logo-clair.BqNh6JNi.svg +0 -1
  181. package/template/.build/_astro/logo-sombre.BkgsFXxh.svg +0 -1
  182. package/template/.build/_astro/starlight-toc.D4UDIxQL.js +0 -1
  183. package/template/.build/_astro/ui-core.Clh5jUUO.js +0 -2
  184. package/template/.build/demarrer/premiere-doc/index.html +0 -84
  185. package/template/.build/demarrer/premiere-doc.md +0 -65
  186. package/template/.build/explications/donnees/index.html +0 -114
  187. package/template/.build/explications/donnees.md +0 -28
  188. package/template/.build/explications/fonctionnement/index.html +0 -92
  189. package/template/.build/explications/fonctionnement.md +0 -32
  190. package/template/.build/guides/agents/index.html +0 -118
  191. package/template/.build/guides/agents.md +0 -54
  192. package/template/.build/guides/assistant/index.html +0 -119
  193. package/template/.build/guides/assistant.md +0 -46
  194. package/template/.build/guides/composants/index.html +0 -97
  195. package/template/.build/guides/composants.md +0 -103
  196. package/template/.build/guides/ecrire/index.html +0 -115
  197. package/template/.build/guides/ecrire.md +0 -63
  198. package/template/.build/guides/elements/index.html +0 -1
  199. package/template/.build/guides/navigation/index.html +0 -89
  200. package/template/.build/guides/navigation.md +0 -63
  201. package/template/.build/guides/publier/index.html +0 -86
  202. package/template/.build/guides/publier.md +0 -65
  203. package/template/.build/guides/theme/index.html +0 -86
  204. package/template/.build/guides/theme.md +0 -33
  205. package/template/.build/images/favicon.svg +0 -1
  206. package/template/.build/images/logo-clair.svg +0 -1
  207. package/template/.build/images/logo-sombre.svg +0 -1
  208. package/template/.build/pagefind/fragment/fr-ch_148313b.pf_fragment +0 -0
  209. package/template/.build/pagefind/fragment/fr-ch_2a431a9.pf_fragment +0 -0
  210. package/template/.build/pagefind/fragment/fr-ch_35f556a.pf_fragment +0 -0
  211. package/template/.build/pagefind/fragment/fr-ch_456586a.pf_fragment +0 -0
  212. package/template/.build/pagefind/fragment/fr-ch_48ca71e.pf_fragment +0 -0
  213. package/template/.build/pagefind/fragment/fr-ch_4f8575c.pf_fragment +0 -0
  214. package/template/.build/pagefind/fragment/fr-ch_72b91f4.pf_fragment +0 -0
  215. package/template/.build/pagefind/fragment/fr-ch_8f256dd.pf_fragment +0 -0
  216. package/template/.build/pagefind/fragment/fr-ch_95a15cc.pf_fragment +0 -0
  217. package/template/.build/pagefind/fragment/fr-ch_aa80c55.pf_fragment +0 -0
  218. package/template/.build/pagefind/fragment/fr-ch_ab79738.pf_fragment +0 -0
  219. package/template/.build/pagefind/fragment/fr-ch_c589c2a.pf_fragment +0 -0
  220. package/template/.build/pagefind/fragment/fr-ch_dab8f5e.pf_fragment +0 -0
  221. package/template/.build/pagefind/fragment/fr-ch_de60b43.pf_fragment +0 -0
  222. package/template/.build/pagefind/fragment/fr-ch_e2c46e3.pf_fragment +0 -0
  223. package/template/.build/pagefind/index/fr-ch_c5ced52.pf_index +0 -0
  224. package/template/.build/pagefind/pagefind.fr-ch_8a246aa922758.pf_meta +0 -0
  225. package/template/.build/reference/api-assistant/index.html +0 -161
  226. package/template/.build/reference/api-assistant.md +0 -60
  227. package/template/.build/reference/docs-json/index.html +0 -216
  228. package/template/.build/reference/docs-json.md +0 -47
  229. package/template/.build/reference/mcp/index.html +0 -151
  230. package/template/.build/reference/mcp.md +0 -49
@@ -1,686 +1,2353 @@
1
1
  /*
2
- * DA HGDC pour Starlight : chrome monochrome, un seul accent (la couleur du client, sinon le
3
- * violet HGDC), profondeur par la teinte plutôt que par les bordures, coins arrondis.
4
- * Les variables d'accent sont injectées depuis docs.json (`core/theme.ts`).
2
+ * Interface des sites HGDC Docs, posée sur Starlight.
3
+ *
4
+ * Même dessin que les produits (`@hgdc/ui`) : gris OKLCH sans teinte, Inter pour les titres,
5
+ * Geist pour le texte, un seul accent (la couleur du produit, `colors.primary` de docs.json,
6
+ * ajustée au contraste par `core/theme.ts`), des surfaces séparées par la teinte. Les
7
+ * valeurs des gris reprennent celles de `@hgdc/ui/styles.css` : un site de doc n'embarque
8
+ * pas Tailwind, il ne peut pas importer le fichier du kit.
9
+ *
10
+ * Écart assumé avec le kit : le contenu (code, cartes, encadrés, tableaux) porte un filet.
11
+ * Sur une page blanche de lecture, c'est lui qui tient les blocs, comme chez Mintlify.
5
12
  */
6
13
  @import "@fontsource-variable/inter";
7
14
  @import "@fontsource-variable/geist";
8
15
 
16
+ /* --- Jetons --- */
17
+
9
18
  :root {
10
- --sl-font: "Inter Variable", "Inter", system-ui, sans-serif;
11
- --sl-font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
12
- --hgdc-font-heading: "Geist Variable", "Inter Variable", system-ui, sans-serif;
13
- --hgdc-radius: 1rem;
14
- --hgdc-radius-card: 1.5rem;
15
- --hgdc-ease: cubic-bezier(0.23, 1, 0.32, 1);
16
-
17
- /* Sombre (défaut de Starlight) : gris neutres, sans la teinte bleue d'origine. */
18
- --sl-color-white: #fafafa;
19
- --sl-color-gray-1: #ececec;
20
- --sl-color-gray-2: #c9c9c9;
21
- --sl-color-gray-3: #9b9b9b;
22
- --sl-color-gray-4: #6a6a6a;
23
- --sl-color-gray-5: #393939;
24
- --sl-color-gray-6: #1d1d1e;
25
- --sl-color-black: #0f0f10;
26
- --hgdc-surface: #19191a;
27
- --hgdc-surface-hover: #222224;
28
- }
29
-
30
- :root[data-theme="light"] {
31
- --sl-color-white: #0a0a0a;
32
- --sl-color-gray-1: #1c1c1c;
33
- --sl-color-gray-2: #383838;
34
- --sl-color-gray-3: #5c5c5c;
35
- --sl-color-gray-4: #8a8a8a;
36
- --sl-color-gray-5: #c8c8c8;
37
- --sl-color-gray-6: #ececec;
38
- --sl-color-gray-7: #f6f6f6;
39
- --sl-color-black: #ffffff;
40
- --hgdc-surface: #f5f5f5;
41
- --hgdc-surface-hover: #ededed;
42
- }
43
-
44
- .sl-markdown-content :is(h1, h2, h3, h4),
45
- h1#_top {
46
- font-family: var(--hgdc-font-heading);
19
+ --hd-font-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif;
20
+ --hd-font-heading: "Inter Variable", ui-sans-serif, system-ui, sans-serif;
21
+ --hd-font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;
22
+ --hd-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
23
+ --hd-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
24
+
25
+ --hd-nav-h: 3.5rem;
26
+ --hd-sidebar-w: 17.5rem;
27
+ --hd-toc-w: 15.5rem;
28
+ --hd-panel-w: 26rem;
29
+ --hd-content-w: 45rem;
30
+ --hd-gutter: 1.25rem;
31
+
32
+ /* Sombre, recouvert par le clair tant que `ThemeProvider.astro` n'a pas choisi le sombre :
33
+ clair par défaut, et clair sans JavaScript. */
34
+ color-scheme: dark;
35
+ --hd-bg: oklch(0.145 0 0);
36
+ --hd-fg: oklch(0.985 0 0);
37
+ --hd-fg-2: oklch(0.87 0 0);
38
+ --hd-muted: oklch(0.205 0 0);
39
+ --hd-muted-2: oklch(0.269 0 0);
40
+ --hd-muted-fg: oklch(0.708 0 0);
41
+ --hd-border: oklch(1 0 0 / 10%);
42
+ --hd-border-strong: oklch(1 0 0 / 16%);
43
+ --hd-floating: oklch(0.205 0 0);
44
+ --hd-code-bg: oklch(0.17 0 0);
45
+ --hd-code-header: oklch(0.2 0 0);
46
+ --hd-hover: oklch(1 0 0 / 6%);
47
+ --hd-shadow: 0 1px 2px oklch(0 0 0 / 30%), 0 12px 32px -8px oklch(0 0 0 / 50%);
48
+ --hd-scroll-thumb: oklch(1 0 0 / 22%);
49
+ --hd-backdrop: oklch(0 0 0 / 55%);
50
+ --hd-primary: oklch(0.922 0 0);
51
+ --hd-primary-fg: oklch(0.205 0 0);
52
+
53
+ --hd-tone-note: oklch(0.72 0.15 256);
54
+ --hd-tone-info: oklch(0.708 0 0);
55
+ --hd-tone-tip: oklch(0.75 0.14 156);
56
+ --hd-tone-check: oklch(0.75 0.14 156);
57
+ --hd-tone-warning: oklch(0.82 0.15 86);
58
+ --hd-tone-danger: oklch(0.72 0.19 22);
59
+
60
+ --hd-accent: var(--sl-color-accent);
61
+ --hd-accent-fg: var(--hgdc-on-accent, #fff);
62
+ --hd-accent-soft: color-mix(in oklab, var(--hd-accent) 9%, transparent);
63
+
64
+ /* Starlight, pour ce qui reste de son dessin (onglets, badges, contenu). */
65
+ --sl-font: var(--hd-font-sans);
66
+ --sl-font-mono: var(--hd-font-mono);
67
+ --sl-nav-height: var(--hd-nav-h);
68
+ --sl-sidebar-width: var(--hd-sidebar-w);
69
+ --sl-content-width: var(--hd-content-w);
70
+ --sl-mobile-toc-height: 0rem;
71
+ --sl-color-bg: var(--hd-bg);
72
+ --sl-color-bg-nav: var(--hd-bg);
73
+ --sl-color-bg-sidebar: var(--hd-bg);
74
+ --sl-color-hairline: var(--hd-border);
75
+ --sl-color-hairline-light: var(--hd-border);
76
+ --sl-color-hairline-shade: var(--hd-border);
77
+ --sl-color-text: var(--hd-fg-2);
78
+ --sl-color-text-accent: var(--hd-accent);
79
+ --sl-color-white: var(--hd-fg);
80
+ --sl-color-gray-1: oklch(0.92 0 0);
81
+ --sl-color-gray-2: oklch(0.82 0 0);
82
+ --sl-color-gray-3: var(--hd-muted-fg);
83
+ --sl-color-gray-4: oklch(0.55 0 0);
84
+ --sl-color-gray-5: oklch(0.32 0 0);
85
+ --sl-color-gray-6: var(--hd-muted);
86
+ --sl-color-black: var(--hd-bg);
87
+ --sl-text-h1: 2.25rem;
88
+ --sl-text-h2: 1.5rem;
89
+ --sl-text-h3: 1.1875rem;
90
+ --sl-text-h4: 1rem;
91
+ }
92
+
93
+ :root:not([data-hd-theme="dark"]) {
94
+ color-scheme: light;
95
+ --hd-bg: oklch(1 0 0);
96
+ --hd-fg: oklch(0.145 0 0);
97
+ --hd-fg-2: oklch(0.3 0 0);
98
+ --hd-muted: oklch(0.97 0 0);
99
+ --hd-muted-2: oklch(0.94 0 0);
100
+ --hd-muted-fg: oklch(0.52 0 0);
101
+ --hd-border: oklch(0.922 0 0);
102
+ --hd-border-strong: oklch(0.87 0 0);
103
+ --hd-floating: oklch(1 0 0);
104
+ --hd-code-bg: oklch(1 0 0);
105
+ --hd-code-header: oklch(0.975 0 0);
106
+ --hd-hover: oklch(0 0 0 / 4.5%);
107
+ --hd-shadow: 0 1px 2px oklch(0 0 0 / 5%), 0 12px 32px -8px oklch(0 0 0 / 14%);
108
+ --hd-scroll-thumb: oklch(0 0 0 / 20%);
109
+ --hd-backdrop: oklch(0 0 0 / 30%);
110
+ --hd-primary: oklch(0.205 0 0);
111
+ --hd-primary-fg: oklch(0.985 0 0);
112
+
113
+ --hd-tone-note: oklch(0.5 0.17 256);
114
+ --hd-tone-info: oklch(0.45 0 0);
115
+ --hd-tone-tip: oklch(0.47 0.12 155);
116
+ --hd-tone-check: oklch(0.47 0.12 155);
117
+ --hd-tone-warning: oklch(0.5 0.12 70);
118
+ --hd-tone-danger: oklch(0.53 0.21 27);
119
+
120
+ --sl-color-gray-1: oklch(0.25 0 0);
121
+ --sl-color-gray-2: oklch(0.35 0 0);
122
+ --sl-color-gray-3: var(--hd-muted-fg);
123
+ --sl-color-gray-4: oklch(0.65 0 0);
124
+ --sl-color-gray-5: oklch(0.87 0 0);
125
+ --sl-color-gray-6: var(--hd-muted);
126
+ --sl-color-gray-7: oklch(0.985 0 0);
127
+ }
128
+
129
+ /* --- Base --- */
130
+
131
+ html {
132
+ background: var(--hd-bg);
133
+ scroll-padding-top: calc(var(--hd-nav-h) + 1.5rem);
134
+ scrollbar-width: thin;
135
+ scrollbar-color: var(--hd-scroll-thumb) transparent;
136
+ }
137
+
138
+ body {
139
+ background: var(--hd-bg);
140
+ color: var(--hd-fg-2);
141
+ font-family: var(--hd-font-sans);
142
+ font-size: 1rem;
143
+ -webkit-font-smoothing: antialiased;
144
+ text-rendering: optimizeLegibility;
145
+ }
146
+
147
+ ::selection {
148
+ background: color-mix(in oklab, var(--hd-accent) 24%, transparent);
149
+ }
150
+
151
+ :focus-visible {
152
+ outline: 2px solid var(--hd-accent);
153
+ outline-offset: 2px;
154
+ }
155
+
156
+ /* Barres de défilement fines, visibles quand la souris ou le clavier est dans le bloc. */
157
+ :where(.sidebar-pane, .hd-toc-scroll, .expressive-code pre, .hgdc-panel__body, .hd-palette__results, .hd-table) {
158
+ scrollbar-width: thin;
159
+ scrollbar-color: transparent transparent;
160
+ scrollbar-gutter: stable;
161
+ }
162
+ :where(.sidebar-pane, .hd-toc-scroll, .expressive-code pre, .hgdc-panel__body, .hd-palette__results, .hd-table):is(
163
+ :hover,
164
+ :focus-within
165
+ ) {
166
+ scrollbar-color: var(--hd-scroll-thumb) transparent;
167
+ }
168
+ :where(
169
+ .sidebar-pane,
170
+ .hd-toc-scroll,
171
+ .expressive-code pre,
172
+ .hgdc-panel__body,
173
+ .hd-palette__results,
174
+ .hd-table
175
+ )::-webkit-scrollbar {
176
+ width: 6px;
177
+ height: 6px;
178
+ }
179
+ :where(
180
+ .sidebar-pane,
181
+ .hd-toc-scroll,
182
+ .expressive-code pre,
183
+ .hgdc-panel__body,
184
+ .hd-palette__results,
185
+ .hd-table
186
+ )::-webkit-scrollbar-thumb {
187
+ background: transparent;
188
+ border-radius: 999px;
189
+ }
190
+ :where(.sidebar-pane, .hd-toc-scroll, .expressive-code pre, .hgdc-panel__body, .hd-palette__results, .hd-table):is(
191
+ :hover,
192
+ :focus-within
193
+ )::-webkit-scrollbar-thumb {
194
+ background: var(--hd-scroll-thumb);
195
+ }
196
+
197
+ .sr-only {
198
+ position: absolute;
199
+ width: 1px;
200
+ height: 1px;
201
+ padding: 0;
202
+ margin: -1px;
203
+ overflow: hidden;
204
+ clip: rect(0, 0, 0, 0);
205
+ white-space: nowrap;
206
+ border: 0;
207
+ }
208
+
209
+ .hd-icon {
210
+ flex-shrink: 0;
211
+ }
212
+
213
+ .hd-kbd {
214
+ display: inline-flex;
215
+ align-items: center;
216
+ gap: 0.15rem;
217
+ min-width: 1.25rem;
218
+ height: 1.25rem;
219
+ padding: 0 0.35rem;
220
+ border-radius: 0.375rem;
221
+ border: 1px solid var(--hd-border);
222
+ background: var(--hd-bg);
223
+ color: var(--hd-muted-fg);
224
+ font: 500 0.6875rem/1 var(--hd-font-sans);
225
+ white-space: nowrap;
226
+ }
227
+ .hd-kbd--button {
228
+ cursor: pointer;
229
+ }
230
+
231
+ .hd-icon-button {
232
+ display: inline-grid;
233
+ place-items: center;
234
+ width: 2.25rem;
235
+ height: 2.25rem;
236
+ border: 0;
237
+ border-radius: 999px;
238
+ background: transparent;
239
+ color: var(--hd-muted-fg);
240
+ cursor: pointer;
241
+ transition:
242
+ background-color 150ms ease,
243
+ color 150ms ease,
244
+ transform 160ms var(--hd-ease-out);
245
+ }
246
+ .hd-icon-button:hover {
247
+ background: var(--hd-hover);
248
+ color: var(--hd-fg);
249
+ }
250
+ .hd-icon-button:active {
251
+ transform: scale(0.95);
252
+ }
253
+
254
+ .hd-pill {
255
+ display: inline-flex;
256
+ align-items: center;
257
+ justify-content: center;
258
+ gap: 0.375rem;
259
+ height: 2.25rem;
260
+ padding: 0 1rem;
261
+ border-radius: 999px;
262
+ border: 1px solid transparent;
263
+ font: 500 0.875rem/1 var(--hd-font-sans);
264
+ text-decoration: none;
265
+ white-space: nowrap;
266
+ cursor: pointer;
267
+ transition:
268
+ background-color 150ms ease,
269
+ border-color 150ms ease,
270
+ transform 160ms var(--hd-ease-out);
271
+ }
272
+ .hd-pill:active {
273
+ transform: scale(0.97);
274
+ }
275
+ .hd-pill--ghost {
276
+ border-color: var(--hd-border);
277
+ background: var(--hd-bg);
278
+ color: var(--hd-fg);
279
+ }
280
+ .hd-pill--ghost:hover {
281
+ background: var(--hd-muted);
282
+ }
283
+ .hd-pill--primary {
284
+ background: var(--hd-accent);
285
+ color: var(--hd-accent-fg);
286
+ }
287
+ .hd-pill--primary:hover {
288
+ background: color-mix(in oklab, var(--hd-accent) 88%, var(--hd-fg));
289
+ }
290
+
291
+ /* --- En-tête --- */
292
+
293
+ .hd-topbar {
294
+ position: fixed;
295
+ inset: 0 0 auto;
296
+ z-index: 30;
297
+ height: var(--hd-nav-h);
298
+ padding: 0 0.75rem 0 0.5rem;
299
+ background: var(--hd-bg);
300
+ border-bottom: 1px solid var(--hd-border);
301
+ }
302
+
303
+ .hd-header {
304
+ display: flex;
305
+ align-items: center;
306
+ gap: 0.5rem;
307
+ height: 100%;
308
+ }
309
+ .hd-header__start {
310
+ display: flex;
311
+ align-items: center;
312
+ gap: 0.25rem;
313
+ min-width: 0;
314
+ flex: 1 1 auto;
315
+ }
316
+ .hd-header__tabs {
317
+ display: none;
318
+ }
319
+ .hd-header__end {
320
+ display: flex;
321
+ align-items: center;
322
+ gap: 0.25rem;
323
+ flex: 0 0 auto;
324
+ }
325
+ .hd-header__links {
326
+ display: none;
327
+ }
328
+
329
+ .hd-brand {
330
+ display: inline-flex;
331
+ align-items: center;
332
+ gap: 0.625rem;
333
+ min-width: 0;
334
+ padding: 0.375rem 0.5rem;
335
+ border-radius: 0.75rem;
336
+ color: var(--hd-fg);
337
+ text-decoration: none;
338
+ }
339
+ .hd-brand__mark {
340
+ display: inline-grid;
341
+ flex-shrink: 0;
342
+ }
343
+ .hd-brand__mark img {
344
+ grid-area: 1 / 1;
345
+ width: 1.5rem;
346
+ height: 1.5rem;
347
+ }
348
+ .hd-brand--footer .hd-brand__mark img {
349
+ width: 1.25rem;
350
+ height: 1.25rem;
351
+ }
352
+ .hd-brand__dark,
353
+ :root[data-hd-theme="dark"] .hd-brand__light {
354
+ visibility: hidden;
355
+ }
356
+ :root[data-hd-theme="dark"] .hd-brand__dark {
357
+ visibility: visible;
358
+ }
359
+ .hd-brand__name {
360
+ font: 600 1.0625rem/1 var(--hd-font-heading);
361
+ letter-spacing: -0.02em;
362
+ overflow: hidden;
363
+ text-overflow: ellipsis;
364
+ white-space: nowrap;
365
+ }
366
+
367
+ .hd-theme-button .hd-theme-button__sun,
368
+ :root[data-hd-theme="dark"] .hd-theme-button .hd-theme-button__moon {
369
+ display: none;
370
+ }
371
+ :root[data-hd-theme="dark"] .hd-theme-button .hd-theme-button__sun {
372
+ display: block;
373
+ }
374
+ .hd-header .hd-theme-button {
375
+ display: none;
376
+ }
377
+
378
+ .hd-search-trigger {
379
+ display: inline-grid;
380
+ place-items: center;
381
+ width: 2.25rem;
382
+ height: 2.25rem;
383
+ border: 0;
384
+ border-radius: 999px;
385
+ background: transparent;
386
+ color: var(--hd-muted-fg);
387
+ font: 400 0.875rem/1 var(--hd-font-sans);
388
+ cursor: pointer;
389
+ }
390
+ .hd-search-trigger:hover {
391
+ background: var(--hd-hover);
392
+ color: var(--hd-fg);
393
+ }
394
+ .hd-search-trigger__label,
395
+ .hd-search-trigger .hd-kbd {
396
+ display: none;
397
+ }
398
+
399
+ @media (min-width: 50em) {
400
+ .hd-topbar {
401
+ padding: 0 1.25rem 0 0.75rem;
402
+ }
403
+ .hd-menu-button {
404
+ display: none;
405
+ }
406
+ .hd-header .hd-theme-button {
407
+ display: inline-grid;
408
+ }
409
+ .hd-search-trigger {
410
+ display: inline-flex;
411
+ gap: 0.5rem;
412
+ width: 15rem;
413
+ height: 2.25rem;
414
+ padding: 0 0.375rem 0 0.875rem;
415
+ margin-inline-end: 0.25rem;
416
+ border: 1px solid var(--hd-border);
417
+ background: var(--hd-bg);
418
+ text-align: start;
419
+ }
420
+ .hd-search-trigger:hover {
421
+ border-color: var(--hd-border-strong);
422
+ background: var(--hd-bg);
423
+ }
424
+ .hd-search-trigger__label {
425
+ display: block;
426
+ flex: 1;
427
+ }
428
+ .hd-search-trigger .hd-kbd {
429
+ display: inline-flex;
430
+ }
431
+ }
432
+
433
+ @media (min-width: 64em) {
434
+ .hd-header {
435
+ display: grid;
436
+ grid-template-columns: var(--hd-sidebar-w) 1fr auto;
437
+ gap: 0;
438
+ }
439
+ .hd-header__start {
440
+ margin-inline-start: -0.25rem;
441
+ }
442
+ .hd-header__end {
443
+ grid-column: 3;
444
+ }
445
+ .hd-header__tabs {
446
+ display: flex;
447
+ align-items: center;
448
+ gap: 0.25rem;
449
+ min-width: 0;
450
+ padding-inline-start: 1rem;
451
+ }
452
+ .hd-header__tabs a {
453
+ padding: 0.5rem 0.875rem;
454
+ border-radius: 999px;
455
+ color: var(--hd-muted-fg);
456
+ font: 500 0.875rem/1 var(--hd-font-sans);
457
+ text-decoration: none;
458
+ white-space: nowrap;
459
+ transition:
460
+ background-color 150ms ease,
461
+ color 150ms ease;
462
+ }
463
+ .hd-header__tabs a:hover {
464
+ color: var(--hd-fg);
465
+ }
466
+ .hd-header__tabs a[aria-current="page"] {
467
+ background: var(--hd-muted);
468
+ color: var(--hd-fg);
469
+ }
470
+ .hd-header__links {
471
+ display: flex;
472
+ align-items: center;
473
+ gap: 0.5rem;
474
+ margin-inline: 0.5rem 0.25rem;
475
+ }
476
+ }
477
+
478
+ /* --- Barre latérale --- */
479
+
480
+ .hd-sidebar .sidebar-pane {
481
+ position: fixed;
482
+ z-index: 40;
483
+ inset: 0 auto 0 0;
484
+ width: min(20rem, 86vw);
485
+ height: 100dvh;
486
+ margin: 0;
487
+ padding: 0;
488
+ border: 0;
489
+ background: var(--hd-bg);
490
+ color: inherit;
491
+ overflow-y: auto;
492
+ overscroll-behavior: contain;
493
+ box-shadow: var(--hd-shadow);
494
+ transform: translateX(-100%);
495
+ transition:
496
+ transform 320ms var(--hd-ease-drawer),
497
+ display 320ms allow-discrete,
498
+ overlay 320ms allow-discrete;
499
+ }
500
+ .hd-sidebar .sidebar-pane:popover-open {
501
+ transform: none;
502
+ }
503
+ @starting-style {
504
+ .hd-sidebar .sidebar-pane:popover-open {
505
+ transform: translateX(-100%);
506
+ }
507
+ }
508
+ .hd-sidebar .sidebar-pane::backdrop {
509
+ background: var(--hd-backdrop);
510
+ opacity: 0;
511
+ transition:
512
+ opacity 320ms ease,
513
+ display 320ms allow-discrete,
514
+ overlay 320ms allow-discrete;
515
+ }
516
+ .hd-sidebar .sidebar-pane:popover-open::backdrop {
517
+ opacity: 1;
518
+ }
519
+ @starting-style {
520
+ .hd-sidebar .sidebar-pane:popover-open::backdrop {
521
+ opacity: 0;
522
+ }
523
+ }
524
+
525
+ .hd-sidebar__content {
526
+ display: flex;
527
+ flex-direction: column;
528
+ gap: 1.25rem;
529
+ min-height: 100%;
530
+ padding: 1rem 0.75rem 2rem 1rem;
531
+ }
532
+
533
+ .hd-sidebar-head {
534
+ display: flex;
535
+ align-items: center;
536
+ justify-content: space-between;
537
+ margin: -0.25rem -0.25rem 0 -0.5rem;
538
+ }
539
+
540
+ @media (min-width: 50em) {
541
+ .hd-sidebar .sidebar-pane {
542
+ display: block;
543
+ inset: var(--hd-nav-h) auto 0 0;
544
+ width: var(--hd-sidebar-w);
545
+ height: auto;
546
+ box-shadow: none;
547
+ transform: none;
548
+ transition: none;
549
+ }
550
+ .hd-sidebar__content {
551
+ padding: 1.5rem 1rem 3rem 1.25rem;
552
+ }
553
+ .hd-mobile-only {
554
+ display: none !important;
555
+ }
556
+ }
557
+
558
+ .hd-nav {
559
+ display: grid;
560
+ gap: 1px;
561
+ margin: 0;
562
+ padding: 0;
563
+ list-style: none;
564
+ }
565
+ .hd-nav--depth-0 {
566
+ gap: 1.5rem;
567
+ }
568
+ .hd-nav--depth-0 > li:not(.hd-nav__group) {
569
+ margin-bottom: -1.5rem;
570
+ }
571
+ .hd-nav--depth-0 > li:not(.hd-nav__group) + li:not(.hd-nav__group) {
572
+ margin-top: calc(1px - 1.5rem);
573
+ }
574
+ .hd-nav__heading {
575
+ margin: 0 0 0.375rem;
576
+ padding-inline: 0.75rem;
577
+ color: var(--hd-fg);
578
+ font: 600 0.8125rem/1.25rem var(--hd-font-heading);
579
+ letter-spacing: -0.005em;
580
+ }
581
+ .hd-nav--depth-2,
582
+ .hd-nav--depth-3 {
583
+ margin: 1px 0 0.25rem 0.75rem;
584
+ padding-inline-start: 0.5rem;
585
+ border-inline-start: 1px solid var(--hd-border);
586
+ }
587
+
588
+ .hd-nav__link {
589
+ display: flex;
590
+ align-items: center;
591
+ gap: 0.5rem;
592
+ min-height: 2rem;
593
+ padding: 0.3rem 0.75rem;
594
+ border-radius: 0.75rem;
595
+ color: var(--hd-muted-fg);
596
+ font: 400 0.875rem/1.35 var(--hd-font-sans);
597
+ text-decoration: none;
598
+ cursor: pointer;
599
+ list-style: none;
600
+ transition:
601
+ background-color 120ms ease,
602
+ color 120ms ease;
603
+ }
604
+ .hd-nav__link::-webkit-details-marker {
605
+ display: none;
606
+ }
607
+ .hd-nav__link > span:first-child {
608
+ flex: 1;
609
+ min-width: 0;
610
+ }
611
+ .hd-nav__link:hover {
612
+ background: var(--hd-hover);
613
+ color: var(--hd-fg);
614
+ }
615
+ .hd-nav__link[aria-current="page"] {
616
+ background: var(--hd-accent-soft);
617
+ color: var(--hd-accent);
618
+ font-weight: 500;
619
+ }
620
+ .hd-nav__chevron {
621
+ color: var(--hd-muted-fg);
622
+ transition: transform 200ms var(--hd-ease-out);
623
+ }
624
+ .hd-nav__fold[open] > summary .hd-nav__chevron {
625
+ transform: rotate(90deg);
626
+ }
627
+
628
+ .hd-badge {
629
+ flex-shrink: 0;
630
+ padding: 0.125rem 0.4rem;
631
+ border-radius: 999px;
632
+ background: var(--hd-accent-soft);
633
+ color: var(--hd-accent);
634
+ font: 600 0.6875rem/1 var(--hd-font-sans);
635
+ }
636
+
637
+ .hd-sidebar-tabs {
638
+ display: grid;
639
+ gap: 1px;
640
+ }
641
+ .hd-sidebar-tabs a {
642
+ padding: 0.5rem 0.75rem;
643
+ border-radius: 0.75rem;
644
+ color: var(--hd-fg-2);
645
+ font: 500 0.875rem/1.2 var(--hd-font-sans);
646
+ text-decoration: none;
647
+ }
648
+ .hd-sidebar-tabs a[aria-current="page"] {
649
+ background: var(--hd-muted);
650
+ color: var(--hd-fg);
651
+ }
652
+
653
+ .hd-version select {
654
+ width: 100%;
655
+ height: 2.25rem;
656
+ padding: 0 0.75rem;
657
+ border: 1px solid var(--hd-border);
658
+ border-radius: 0.875rem;
659
+ background: var(--hd-bg);
660
+ color: var(--hd-fg);
661
+ font: 500 0.875rem var(--hd-font-sans);
662
+ }
663
+
664
+ .hd-sidebar-footer {
665
+ display: grid;
666
+ gap: 1rem;
667
+ margin-top: auto;
668
+ padding-top: 1rem;
669
+ border-top: 1px solid var(--hd-border);
670
+ }
671
+ .hd-sidebar-links {
672
+ display: grid;
673
+ gap: 0.25rem;
674
+ }
675
+ .hd-sidebar-links a:not(.hd-pill) {
676
+ padding: 0.5rem 0.75rem;
677
+ color: var(--hd-fg-2);
678
+ font-size: 0.875rem;
679
+ text-decoration: none;
680
+ }
681
+
682
+ .hd-theme-choice {
683
+ display: inline-flex;
684
+ gap: 2px;
685
+ padding: 2px;
686
+ border: 1px solid var(--hd-border);
687
+ border-radius: 999px;
688
+ justify-self: start;
689
+ }
690
+ .hd-theme-choice button {
691
+ display: grid;
692
+ place-items: center;
693
+ width: 1.875rem;
694
+ height: 1.75rem;
695
+ border: 0;
696
+ border-radius: 999px;
697
+ background: transparent;
698
+ color: var(--hd-muted-fg);
699
+ cursor: pointer;
700
+ }
701
+ .hd-theme-choice button:hover {
702
+ color: var(--hd-fg);
703
+ }
704
+ .hd-theme-choice button[aria-checked="true"] {
705
+ background: var(--hd-muted-2);
706
+ color: var(--hd-fg);
707
+ }
708
+
709
+ /* --- Cadre et colonnes --- */
710
+
711
+ .hd-main-frame {
712
+ padding-top: var(--hd-nav-h);
713
+ transition: margin 320ms var(--hd-ease-out);
714
+ }
715
+ @media (min-width: 50em) {
716
+ [data-has-sidebar] .hd-main-frame {
717
+ margin-inline-start: var(--hd-sidebar-w);
718
+ }
719
+ }
720
+
721
+ main {
722
+ padding: 0 0 2rem;
723
+ }
724
+ .content-panel {
725
+ padding: 0 var(--hd-gutter);
726
+ }
727
+ .content-panel + .content-panel {
728
+ border-top: 0;
729
+ }
730
+ .sl-container {
731
+ max-width: var(--hd-content-w);
732
+ margin-inline: auto;
733
+ }
734
+
735
+ .hd-columns__toc {
736
+ display: none;
737
+ }
738
+
739
+ @media (min-width: 50em) {
740
+ :root {
741
+ --hd-gutter: 2.5rem;
742
+ }
743
+ }
744
+
745
+ @media (min-width: 72em) {
746
+ .hd-columns--toc {
747
+ display: grid;
748
+ grid-template-columns: minmax(0, 1fr) var(--hd-toc-w);
749
+ }
750
+ .hd-columns__toc {
751
+ display: block;
752
+ position: relative;
753
+ }
754
+ .hd-toc-scroll {
755
+ position: sticky;
756
+ top: var(--hd-nav-h);
757
+ max-height: calc(100dvh - var(--hd-nav-h));
758
+ overflow-y: auto;
759
+ padding: 2.5rem 1.5rem 2rem 0.5rem;
760
+ }
761
+ }
762
+
763
+ /* Table des matières (composant de Starlight, redessiné). */
764
+ starlight-toc h2 {
765
+ display: flex;
766
+ align-items: center;
767
+ gap: 0.5rem;
768
+ margin: 0 0 0.75rem;
769
+ color: var(--hd-fg);
770
+ font: 500 0.8125rem/1.25rem var(--hd-font-heading);
771
+ }
772
+ starlight-toc h2::before {
773
+ content: "";
774
+ width: 1rem;
775
+ height: 1rem;
776
+ background: currentColor;
777
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h10M4 18h13'/%3E%3C/svg%3E")
778
+ center / contain no-repeat;
779
+ }
780
+ starlight-toc ul {
781
+ margin: 0;
782
+ padding: 0;
783
+ list-style: none;
784
+ }
785
+ starlight-toc ul ul {
786
+ padding-inline-start: 0.75rem;
787
+ }
788
+ starlight-toc a {
789
+ display: block;
790
+ padding: 0.3rem 0 0.3rem 0.875rem;
791
+ border-inline-start: 1px solid var(--hd-border);
792
+ color: var(--hd-muted-fg);
793
+ font: 400 0.8125rem/1.4 var(--hd-font-sans);
794
+ text-decoration: none;
795
+ transition: color 120ms ease;
796
+ }
797
+ starlight-toc ul ul a {
798
+ margin-inline-start: -0.75rem;
799
+ padding-inline-start: 1.625rem;
800
+ }
801
+ starlight-toc a:hover {
802
+ color: var(--hd-fg);
803
+ }
804
+ starlight-toc a[aria-current="true"] {
805
+ border-inline-start-color: var(--hd-accent);
806
+ color: var(--hd-accent);
807
+ font-weight: 500;
808
+ }
809
+ starlight-toc a .hd-method {
810
+ display: none;
811
+ }
812
+
813
+ /* --- En-tête de page --- */
814
+
815
+ .hd-title {
816
+ padding-top: 2rem;
817
+ }
818
+ .hd-eyebrow {
819
+ margin: 0 0 0.5rem;
820
+ color: var(--hd-accent);
821
+ font: 500 0.8125rem/1.25rem var(--hd-font-sans);
822
+ }
823
+ .hd-title__row {
824
+ display: flex;
825
+ flex-direction: column;
826
+ gap: 1rem;
827
+ }
828
+ .hd-title h1 {
829
+ margin: 0;
830
+ color: var(--hd-fg);
831
+ font: 600 1.875rem/1.15 var(--hd-font-heading);
832
+ letter-spacing: -0.025em;
833
+ text-wrap: balance;
834
+ }
835
+ .hd-lead {
836
+ margin: 0.75rem 0 0;
837
+ color: var(--hd-muted-fg);
838
+ font-size: 1.0625rem;
839
+ line-height: 1.6;
840
+ text-wrap: pretty;
841
+ }
842
+ .hd-title__row + .hd-lead {
843
+ margin-top: 0.75rem;
844
+ }
845
+
846
+ @media (min-width: 50em) {
847
+ .hd-title {
848
+ padding-top: 2.75rem;
849
+ }
850
+ .hd-title__row {
851
+ flex-direction: row;
852
+ align-items: flex-start;
853
+ justify-content: space-between;
854
+ gap: 1.5rem;
855
+ }
856
+ .hd-title h1 {
857
+ font-size: 2.25rem;
858
+ }
859
+ .hd-lead {
860
+ font-size: 1.125rem;
861
+ }
862
+ }
863
+
864
+ .hd-page-actions {
865
+ order: 2;
866
+ flex-shrink: 0;
867
+ }
868
+ .hd-title__row h1 {
869
+ order: 1;
870
+ }
871
+ @media (max-width: 49.99em) {
872
+ .hd-title__row {
873
+ display: contents;
874
+ }
875
+ .hd-title {
876
+ display: flex;
877
+ flex-direction: column;
878
+ }
879
+ .hd-page-actions {
880
+ order: 3;
881
+ margin-top: 1rem;
882
+ }
883
+ .hd-lead {
884
+ order: 2;
885
+ }
886
+ .hd-eyebrow {
887
+ order: 0;
888
+ }
889
+ }
890
+
891
+ .hd-split {
892
+ display: inline-flex;
893
+ align-items: stretch;
894
+ height: 2.125rem;
895
+ border: 1px solid var(--hd-border);
896
+ border-radius: 999px;
897
+ background: var(--hd-bg);
898
+ }
899
+ .hd-split__main,
900
+ .hd-split__more {
901
+ display: inline-flex;
902
+ align-items: center;
903
+ gap: 0.4rem;
904
+ border: 0;
905
+ background: transparent;
906
+ color: var(--hd-fg);
907
+ font: 500 0.8125rem/1 var(--hd-font-sans);
908
+ cursor: pointer;
909
+ transition: background-color 150ms ease;
910
+ }
911
+ .hd-split__main {
912
+ padding: 0 0.75rem 0 0.875rem;
913
+ border-radius: 999px 0 0 999px;
914
+ }
915
+ .hd-split__more {
916
+ height: 100%;
917
+ padding: 0 0.625rem 0 0.5rem;
918
+ border-inline-start: 1px solid var(--hd-border);
919
+ border-radius: 0 999px 999px 0;
920
+ list-style: none;
921
+ }
922
+ .hd-split__more::-webkit-details-marker {
923
+ display: none;
924
+ }
925
+ .hd-split__main:hover,
926
+ .hd-split__more:hover {
927
+ background: var(--hd-muted);
928
+ }
929
+ .hd-split__main:active {
930
+ transform: scale(0.98);
931
+ }
932
+
933
+ .hd-menu {
934
+ position: relative;
935
+ }
936
+ .hd-menu__list {
937
+ position: absolute;
938
+ z-index: 20;
939
+ inset-inline-end: -1px;
940
+ top: calc(100% + 0.5rem);
941
+ display: grid;
942
+ gap: 1px;
943
+ width: 17rem;
944
+ margin: 0;
945
+ padding: 0.375rem;
946
+ border: 1px solid var(--hd-border);
947
+ border-radius: 1.25rem;
948
+ background: var(--hd-floating);
949
+ box-shadow: var(--hd-shadow);
950
+ list-style: none;
951
+ transform-origin: top right;
952
+ animation: hd-pop 150ms var(--hd-ease-out);
953
+ }
954
+ @media (max-width: 49.99em) {
955
+ .hd-menu__list {
956
+ inset-inline: 0 auto;
957
+ transform-origin: top left;
958
+ }
959
+ }
960
+ .hd-menu__list :is(a, button) {
961
+ display: flex;
962
+ align-items: flex-start;
963
+ gap: 0.75rem;
964
+ width: 100%;
965
+ padding: 0.5rem 0.625rem;
966
+ border: 0;
967
+ border-radius: 0.875rem;
968
+ background: transparent;
969
+ color: var(--hd-muted-fg);
970
+ font: inherit;
971
+ text-align: start;
972
+ text-decoration: none;
973
+ cursor: pointer;
974
+ }
975
+ .hd-menu__list .hd-icon {
976
+ margin-top: 0.125rem;
977
+ }
978
+ .hd-menu__list span {
979
+ display: grid;
980
+ gap: 0.125rem;
981
+ }
982
+ .hd-menu__list strong {
983
+ color: var(--hd-fg);
984
+ font: 500 0.8125rem/1.3 var(--hd-font-sans);
985
+ }
986
+ .hd-menu__list small {
987
+ font-size: 0.75rem;
988
+ line-height: 1.3;
989
+ }
990
+ .hd-menu__list :is(a, button):hover {
991
+ background: var(--hd-muted);
992
+ }
993
+
994
+ @keyframes hd-pop {
995
+ from {
996
+ opacity: 0;
997
+ transform: scale(0.97) translateY(-2px);
998
+ }
999
+ }
1000
+
1001
+ /* --- Contenu --- */
1002
+
1003
+ .sl-markdown-content {
1004
+ padding-top: 2rem;
1005
+ color: var(--hd-fg-2);
1006
+ font-size: 1rem;
1007
+ line-height: 1.75;
1008
+ }
1009
+ .sl-markdown-content :is(h2, h3, h4, h5, h6) {
1010
+ color: var(--hd-fg);
1011
+ font-family: var(--hd-font-heading);
1012
+ font-weight: 600;
1013
+ scroll-margin-top: calc(var(--hd-nav-h) + 1.5rem);
1014
+ }
1015
+ .sl-markdown-content h2 {
1016
+ margin-top: 2.75rem;
1017
+ font-size: 1.5rem;
1018
+ line-height: 1.3;
1019
+ letter-spacing: -0.02em;
1020
+ }
1021
+ .sl-markdown-content h3 {
1022
+ margin-top: 2rem;
1023
+ font-size: 1.1875rem;
1024
+ line-height: 1.4;
47
1025
  letter-spacing: -0.015em;
48
1026
  }
49
-
50
- .sl-markdown-content :is(a:not(.hgdc-card)) {
51
- text-underline-offset: 0.2em;
1027
+ .sl-markdown-content h4 {
1028
+ margin-top: 1.5rem;
1029
+ font-size: 1rem;
1030
+ }
1031
+ .sl-markdown-content :is(h2, h3, h4) + * {
1032
+ margin-top: 0.75rem;
1033
+ }
1034
+ .sl-markdown-content
1035
+ :is(p, ul, ol, table, .hd-table, blockquote, figure, aside, details, .expressive-code)
1036
+ + :is(
1037
+ p,
1038
+ ul,
1039
+ ol,
1040
+ .hd-table,
1041
+ blockquote,
1042
+ figure,
1043
+ aside,
1044
+ details,
1045
+ .expressive-code,
1046
+ .hgdc-card-group,
1047
+ .hgdc-steps,
1048
+ starlight-tabs,
1049
+ hd-code-group
1050
+ ) {
1051
+ margin-top: 1.25rem;
1052
+ }
1053
+ .sl-markdown-content strong {
1054
+ color: var(--hd-fg);
1055
+ font-weight: 600;
1056
+ }
1057
+ .sl-markdown-content a:not(:where(.not-content *, .hgdc-card, .sl-anchor-link)) {
1058
+ color: var(--hd-fg);
1059
+ font-weight: 500;
1060
+ text-decoration: underline;
1061
+ text-decoration-color: color-mix(in oklab, var(--hd-accent) 55%, transparent);
1062
+ text-decoration-thickness: 1px;
1063
+ text-underline-offset: 0.22em;
1064
+ transition: text-decoration-color 150ms ease;
1065
+ }
1066
+ .sl-markdown-content a:not(:where(.not-content *, .hgdc-card, .sl-anchor-link)):hover {
1067
+ text-decoration-color: var(--hd-accent);
1068
+ text-decoration-thickness: 2px;
1069
+ }
1070
+ .sl-markdown-content :is(ul, ol) {
1071
+ padding-inline-start: 1.375rem;
1072
+ }
1073
+ .sl-markdown-content li + li {
1074
+ margin-top: 0.375rem;
1075
+ }
1076
+ .sl-markdown-content li::marker {
1077
+ color: var(--hd-muted-fg);
1078
+ }
1079
+ .sl-markdown-content :not(pre) > code {
1080
+ padding: 0.125em 0.4em;
1081
+ border: 1px solid var(--hd-border);
1082
+ border-radius: 0.45rem;
1083
+ background: var(--hd-muted);
1084
+ color: var(--hd-fg);
1085
+ font-family: var(--hd-font-mono);
1086
+ font-size: 0.85em;
1087
+ overflow-wrap: anywhere;
1088
+ }
1089
+ .sl-markdown-content blockquote {
1090
+ margin-inline: 0;
1091
+ padding-inline-start: 1rem;
1092
+ border-inline-start: 2px solid var(--hd-border-strong);
1093
+ color: var(--hd-muted-fg);
1094
+ }
1095
+ .sl-markdown-content hr {
1096
+ margin-block: 2.5rem;
1097
+ border: 0;
1098
+ border-top: 1px solid var(--hd-border);
1099
+ }
1100
+
1101
+ /* Ancres des titres (Starlight) : discrètes, au survol. */
1102
+ .sl-markdown-content .sl-anchor-link {
1103
+ color: var(--hd-muted-fg);
1104
+ }
1105
+
1106
+ /* Tableaux : un cadre arrondi, défilement horizontal dans le cadre. */
1107
+ .sl-markdown-content .hd-table {
1108
+ overflow-x: auto;
1109
+ border: 1px solid var(--hd-border);
1110
+ border-radius: 1rem;
1111
+ }
1112
+ .sl-markdown-content table {
1113
+ display: table;
1114
+ width: 100%;
1115
+ margin: 0;
1116
+ border: 0;
1117
+ border-collapse: separate;
1118
+ border-spacing: 0;
1119
+ font-size: 0.875rem;
1120
+ line-height: 1.55;
1121
+ }
1122
+ .sl-markdown-content :is(th, td) {
1123
+ padding: 0.625rem 0.875rem;
1124
+ border: 0;
1125
+ border-bottom: 1px solid var(--hd-border);
1126
+ text-align: start;
1127
+ vertical-align: top;
1128
+ }
1129
+ .sl-markdown-content tr:last-child td {
1130
+ border-bottom: 0;
1131
+ }
1132
+ .sl-markdown-content th {
1133
+ background: var(--hd-muted);
1134
+ color: var(--hd-fg);
1135
+ font-weight: 600;
1136
+ white-space: nowrap;
1137
+ }
1138
+ .sl-markdown-content td:first-child code {
1139
+ white-space: nowrap;
1140
+ }
1141
+
1142
+ /* Images : zoom au clic (widget/code.ts). */
1143
+ .sl-markdown-content img {
1144
+ border-radius: 1rem;
1145
+ }
1146
+ .hd-zoomable {
1147
+ cursor: zoom-in;
1148
+ }
1149
+ .hd-zoom {
1150
+ max-width: min(92vw, 80rem);
1151
+ max-height: 92dvh;
1152
+ padding: 0;
1153
+ border: 0;
1154
+ border-radius: 1rem;
1155
+ background: transparent;
1156
+ cursor: zoom-out;
1157
+ animation: hd-zoom-in 220ms var(--hd-ease-out);
1158
+ }
1159
+ .hd-zoom img {
1160
+ display: block;
1161
+ max-width: 100%;
1162
+ max-height: 92dvh;
1163
+ border-radius: 1rem;
1164
+ }
1165
+ .hd-zoom::backdrop {
1166
+ background: oklch(0 0 0 / 70%);
1167
+ }
1168
+ @keyframes hd-zoom-in {
1169
+ from {
1170
+ opacity: 0;
1171
+ transform: scale(0.96);
1172
+ }
1173
+ }
1174
+
1175
+ /* --- Endpoints (`## GET /chemin`) --- */
1176
+
1177
+ .sl-markdown-content .hd-endpoint {
1178
+ display: flex;
1179
+ align-items: center;
1180
+ flex-wrap: wrap;
1181
+ gap: 0.625rem;
1182
+ margin-top: 3rem;
1183
+ padding: 0.5rem 0.75rem 0.5rem 0.5rem;
1184
+ border: 1px solid var(--hd-border);
1185
+ border-radius: 1rem;
1186
+ background: var(--hd-muted);
1187
+ font-size: 1rem;
1188
+ line-height: 1.4;
1189
+ letter-spacing: 0;
1190
+ }
1191
+ .hd-method {
1192
+ --tone: var(--hd-tone-info);
1193
+ display: inline-flex;
1194
+ align-items: center;
1195
+ height: 1.625rem;
1196
+ padding: 0 0.5rem;
1197
+ border-radius: 0.5rem;
1198
+ background: color-mix(in oklab, var(--tone) 14%, transparent);
1199
+ color: var(--tone);
1200
+ font: 700 0.75rem/1 var(--hd-font-mono);
1201
+ letter-spacing: 0.02em;
1202
+ }
1203
+ .hd-method[data-method="get"] {
1204
+ --tone: var(--hd-tone-tip);
1205
+ }
1206
+ .hd-method[data-method="post"] {
1207
+ --tone: var(--hd-tone-note);
1208
+ }
1209
+ .hd-method:is([data-method="put"], [data-method="patch"]) {
1210
+ --tone: var(--hd-tone-warning);
1211
+ }
1212
+ .hd-method[data-method="delete"] {
1213
+ --tone: var(--hd-tone-danger);
1214
+ }
1215
+ .sl-markdown-content .hd-endpoint .hd-path {
1216
+ padding: 0;
1217
+ border: 0;
1218
+ background: transparent;
1219
+ color: var(--hd-fg);
1220
+ font: 500 0.9375rem/1.4 var(--hd-font-mono);
1221
+ overflow-wrap: anywhere;
1222
+ }
1223
+ .hd-path__param {
1224
+ text-decoration: underline dotted var(--hd-accent);
1225
+ text-decoration-thickness: 2px;
1226
+ text-underline-offset: 0.25em;
1227
+ }
1228
+
1229
+ /* --- Blocs de code --- */
1230
+
1231
+ .sl-markdown-content .expressive-code {
1232
+ position: relative;
1233
+ }
1234
+ .expressive-code .frame {
1235
+ position: relative;
1236
+ }
1237
+ .expressive-code .frame.has-title .header,
1238
+ .expressive-code .frame.is-terminal .header {
1239
+ min-height: 2.5rem;
1240
+ }
1241
+ .expressive-code .frame .header .title {
1242
+ font-weight: 500;
1243
+ }
1244
+ .expressive-code .copy {
1245
+ display: none !important;
1246
+ }
1247
+ .hd-code-actions {
1248
+ position: absolute;
1249
+ top: 0.375rem;
1250
+ inset-inline-end: 0.375rem;
1251
+ z-index: 2;
1252
+ display: flex;
1253
+ gap: 0.125rem;
1254
+ padding: 0.125rem;
1255
+ border-radius: 999px;
1256
+ background: var(--hd-code-bg);
1257
+ }
1258
+ .frame.has-title .hd-code-actions,
1259
+ .frame.is-terminal .hd-code-actions {
1260
+ background: transparent;
1261
+ }
1262
+ .hd-code-action {
1263
+ display: grid;
1264
+ place-items: center;
1265
+ width: 1.875rem;
1266
+ height: 1.875rem;
1267
+ border: 0;
1268
+ border-radius: 999px;
1269
+ background: transparent;
1270
+ color: var(--hd-muted-fg);
1271
+ cursor: pointer;
1272
+ transition:
1273
+ background-color 120ms ease,
1274
+ color 120ms ease;
1275
+ }
1276
+ .hd-code-action:hover {
1277
+ background: var(--hd-hover);
1278
+ color: var(--hd-fg);
1279
+ }
1280
+ .expressive-code .frame:not(.has-title):not(.is-terminal) pre {
1281
+ padding-inline-end: 6.5rem;
1282
+ }
1283
+ .hd-code-active pre,
1284
+ .hd-code-active .header {
1285
+ border-color: var(--hd-accent) !important;
1286
+ }
1287
+
1288
+ .hd-report {
1289
+ display: grid;
1290
+ gap: 0.625rem;
1291
+ margin-top: 0.5rem;
1292
+ padding: 1rem;
1293
+ border: 1px solid var(--hd-border);
1294
+ border-radius: 1.25rem;
1295
+ background: var(--hd-floating);
1296
+ box-shadow: var(--hd-shadow);
1297
+ animation: hd-pop 160ms var(--hd-ease-out);
1298
+ }
1299
+ .hd-report__title {
1300
+ margin: 0;
1301
+ color: var(--hd-fg);
1302
+ font: 600 0.9375rem/1.4 var(--hd-font-heading);
1303
+ }
1304
+ .hd-report__hint {
1305
+ margin: 0 !important;
1306
+ color: var(--hd-muted-fg);
1307
+ font-size: 0.875rem;
1308
+ line-height: 1.5;
1309
+ }
1310
+ .hd-report textarea,
1311
+ .hgdc-feedback textarea {
1312
+ width: 100%;
1313
+ min-height: 5rem;
1314
+ margin: 0 !important;
1315
+ padding: 0.625rem 0.875rem;
1316
+ border: 1px solid var(--hd-border-strong);
1317
+ border-radius: 1rem;
1318
+ background: var(--hd-bg);
1319
+ color: var(--hd-fg);
1320
+ font: 400 0.875rem/1.5 var(--hd-font-sans);
1321
+ resize: vertical;
1322
+ }
1323
+ .hd-report textarea:focus-visible,
1324
+ .hgdc-feedback textarea:focus-visible {
1325
+ outline: none;
1326
+ border-color: var(--hd-accent);
1327
+ box-shadow: 0 0 0 3px var(--hd-accent-soft);
52
1328
  }
53
-
54
- /* Encadrés : lavis teinté, sans la barre latérale épaisse. */
55
- .starlight-aside {
56
- border-inline-start-width: 0;
57
- border-radius: var(--hgdc-radius);
58
- padding: 0.875rem 1rem;
59
- /* Un lavis de la couleur de l'encadré sur la surface, pas l'aplat saturé de Starlight. */
60
- background: color-mix(in srgb, var(--sl-color-asides-border) 10%, var(--hgdc-surface));
1329
+ .hd-report__actions {
1330
+ display: flex;
1331
+ justify-content: flex-end;
1332
+ gap: 0.5rem;
1333
+ margin: 0 !important;
61
1334
  }
62
1335
 
63
- .expressive-code .frame {
64
- border-radius: var(--hgdc-radius) !important;
1336
+ /* CodeGroup : onglets au-dessus des blocs, soulignés dans l'accent. */
1337
+ .hgdc-code-group {
1338
+ display: block;
1339
+ }
1340
+ .hgdc-code-group:not([data-ready]) > :not(:first-child) {
1341
+ display: none;
1342
+ }
1343
+ .hgdc-code-group[data-ready] {
1344
+ overflow: hidden;
1345
+ border: 1px solid var(--hd-border);
1346
+ border-radius: 1rem;
1347
+ background: var(--hd-code-bg);
1348
+ }
1349
+ .hgdc-code-group[data-ready] .expressive-code {
1350
+ margin: 0 !important;
1351
+ }
1352
+ .hgdc-code-group[data-ready] .expressive-code .frame pre,
1353
+ .hgdc-code-group[data-ready] .expressive-code .frame .header {
1354
+ border: 0 !important;
1355
+ border-radius: 0 !important;
1356
+ }
1357
+ .hgdc-code-group[data-ready] .expressive-code .frame .header {
1358
+ display: none;
1359
+ }
1360
+ .hgdc-code-group[data-ready] .hd-code-actions {
1361
+ top: -2.375rem;
1362
+ background: transparent;
1363
+ }
1364
+ .hd-code-tabs {
1365
+ display: flex;
1366
+ gap: 0.25rem;
1367
+ padding: 0 7rem 0 0.75rem;
1368
+ border-bottom: 1px solid var(--hd-border);
1369
+ background: var(--hd-code-header);
1370
+ overflow-x: auto;
1371
+ scrollbar-width: none;
1372
+ }
1373
+ .hd-code-tabs button {
1374
+ position: relative;
1375
+ height: 2.5rem;
1376
+ padding: 0 0.5rem;
1377
+ border: 0;
1378
+ background: transparent;
1379
+ color: var(--hd-muted-fg);
1380
+ font: 500 0.8125rem/1 var(--hd-font-sans);
1381
+ white-space: nowrap;
1382
+ cursor: pointer;
1383
+ }
1384
+ .hd-code-tabs button:hover {
1385
+ color: var(--hd-fg);
1386
+ }
1387
+ .hd-code-tabs button[aria-selected="true"] {
1388
+ color: var(--hd-fg);
1389
+ }
1390
+ .hd-code-tabs button[aria-selected="true"]::after {
1391
+ content: "";
1392
+ position: absolute;
1393
+ inset: auto 0.25rem -1px;
1394
+ height: 2px;
1395
+ border-radius: 2px;
1396
+ background: var(--hd-accent);
1397
+ }
1398
+ .hd-code-tabs button:focus-visible {
1399
+ outline-offset: -2px;
65
1400
  }
66
1401
 
67
- /* --- Composants MDX (compatibles Mintlify) --- */
1402
+ /* --- Composants MDX --- */
68
1403
 
69
- .hgdc-card-group {
70
- display: grid;
1404
+ .hd-callout {
1405
+ --tone: var(--hd-tone-note);
1406
+ display: flex;
71
1407
  gap: 0.75rem;
72
- grid-template-columns: minmax(0, 1fr);
73
- margin-block: 1.25rem;
1408
+ padding: 0.875rem 1rem;
1409
+ border: 1px solid color-mix(in oklab, var(--tone) 22%, transparent);
1410
+ border-radius: 1rem;
1411
+ background: color-mix(in oklab, var(--tone) 7%, var(--hd-bg));
1412
+ color: var(--hd-fg-2);
1413
+ font-size: 0.9375rem;
1414
+ line-height: 1.65;
74
1415
  }
75
-
76
- @media (min-width: 50em) {
77
- .hgdc-card-group {
78
- grid-template-columns: repeat(var(--hgdc-cols, 2), minmax(0, 1fr));
79
- }
1416
+ .hd-callout[data-tone="info"] {
1417
+ --tone: var(--hd-tone-info);
1418
+ background: var(--hd-muted);
1419
+ border-color: var(--hd-border);
80
1420
  }
81
-
82
- .hgdc-card {
83
- display: block;
84
- border-radius: var(--hgdc-radius-card);
85
- background: var(--hgdc-surface);
86
- padding: 1.125rem 1.25rem;
87
- color: var(--sl-color-gray-2);
88
- text-decoration: none;
89
- transition: background-color 150ms var(--hgdc-ease);
1421
+ .hd-callout[data-tone="tip"] {
1422
+ --tone: var(--hd-tone-tip);
90
1423
  }
91
-
92
- .hgdc-card__title {
93
- display: block;
94
- margin-block-end: 0.25rem;
95
- color: var(--sl-color-white);
96
- font-weight: 600;
1424
+ .hd-callout[data-tone="check"] {
1425
+ --tone: var(--hd-tone-check);
97
1426
  }
98
-
99
- .hgdc-card__body > :first-child {
1427
+ .hd-callout[data-tone="warning"] {
1428
+ --tone: var(--hd-tone-warning);
1429
+ }
1430
+ .hd-callout[data-tone="danger"] {
1431
+ --tone: var(--hd-tone-danger);
1432
+ }
1433
+ .hd-callout__icon {
1434
+ margin-top: 0.2rem;
1435
+ color: var(--tone);
1436
+ }
1437
+ .hd-callout__body {
1438
+ min-width: 0;
1439
+ flex: 1;
1440
+ margin: 0;
1441
+ }
1442
+ .hd-callout__body > :first-child {
100
1443
  margin-top: 0;
101
1444
  }
102
-
103
- a.hgdc-card:hover {
104
- background: var(--hgdc-surface-hover);
1445
+ .hd-callout__body > * + * {
1446
+ margin-top: 0.5rem !important;
105
1447
  }
106
-
107
- a.hgdc-card:focus-visible {
108
- outline: 2px solid var(--sl-color-accent);
109
- outline-offset: 2px;
1448
+ .hd-callout__title {
1449
+ margin: 0;
1450
+ color: var(--hd-fg);
1451
+ font-weight: 600;
110
1452
  }
111
1453
 
112
1454
  .hgdc-steps {
113
- counter-reset: hgdc-step;
1455
+ margin: 1.75rem 0 0;
1456
+ padding: 0;
114
1457
  list-style: none;
115
- padding-inline-start: 0;
1458
+ counter-reset: hgdc-step;
116
1459
  }
117
-
118
1460
  .hgdc-step {
119
1461
  position: relative;
1462
+ padding: 0 0 1.5rem 2.75rem;
120
1463
  counter-increment: hgdc-step;
121
- padding-inline-start: 2.75rem;
122
- padding-block-end: 0.5rem;
123
1464
  }
124
-
1465
+ .hgdc-step + .hgdc-step {
1466
+ margin-top: 0 !important;
1467
+ }
125
1468
  .hgdc-step::before {
126
1469
  content: counter(hgdc-step);
127
1470
  position: absolute;
128
- inset-inline-start: 0;
129
- top: 0;
1471
+ inset: 0 auto auto 0;
130
1472
  display: grid;
131
1473
  place-items: center;
132
- width: 1.875rem;
133
- height: 1.875rem;
1474
+ width: 1.75rem;
1475
+ height: 1.75rem;
1476
+ border: 1px solid var(--hd-border);
134
1477
  border-radius: 999px;
135
- background: var(--hgdc-surface);
136
- color: var(--sl-color-white);
137
- font-size: var(--sl-text-sm);
138
- font-weight: 600;
139
- font-variant-numeric: tabular-nums;
1478
+ background: var(--hd-muted);
1479
+ color: var(--hd-fg);
1480
+ font: 600 0.8125rem/1 var(--hd-font-heading);
140
1481
  }
141
-
142
1482
  .hgdc-step:not(:last-child)::after {
143
1483
  content: "";
144
1484
  position: absolute;
145
- inset-inline-start: 0.9rem;
146
- top: 2.25rem;
147
- bottom: 0.25rem;
1485
+ inset: 2.25rem auto 0.5rem 0.875rem;
148
1486
  width: 1px;
149
- background: var(--sl-color-hairline-light);
1487
+ background: var(--hd-border);
150
1488
  }
151
-
152
1489
  .hgdc-step__title {
153
- margin: 0.2rem 0 0.25rem !important;
154
- color: var(--sl-color-white);
155
- font-weight: 600;
1490
+ margin: 0;
1491
+ padding-top: 0.125rem;
1492
+ color: var(--hd-fg);
1493
+ font: 600 1rem/1.5rem var(--hd-font-heading);
1494
+ letter-spacing: -0.01em;
1495
+ }
1496
+ .hgdc-step__body {
1497
+ margin-top: 0.375rem !important;
1498
+ }
1499
+ .hgdc-step__body > :last-child {
1500
+ margin-bottom: 0;
1501
+ }
1502
+ .hgdc-step__body > :first-child {
1503
+ margin-top: 0;
156
1504
  }
157
1505
 
158
- .hgdc-accordion {
159
- border-radius: var(--hgdc-radius);
160
- background: var(--hgdc-surface);
161
- margin-block: 0.5rem;
1506
+ .hgdc-card-group {
1507
+ display: grid;
1508
+ grid-template-columns: 1fr;
1509
+ gap: 1rem;
1510
+ margin-top: 1.5rem;
1511
+ }
1512
+ @media (min-width: 40em) {
1513
+ .hgdc-card-group {
1514
+ grid-template-columns: repeat(min(var(--hgdc-cols, 2), 2), minmax(0, 1fr));
1515
+ }
1516
+ }
1517
+ @media (min-width: 64em) {
1518
+ .hgdc-card-group {
1519
+ grid-template-columns: repeat(var(--hgdc-cols, 2), minmax(0, 1fr));
1520
+ }
1521
+ }
1522
+ .hgdc-card {
1523
+ display: flex;
1524
+ flex-direction: column;
1525
+ gap: 0.375rem;
1526
+ padding: 1.125rem 1.25rem 1.25rem;
1527
+ border: 1px solid var(--hd-border);
1528
+ border-radius: 1.25rem;
1529
+ background: var(--hd-bg);
1530
+ color: var(--hd-muted-fg);
1531
+ font-size: 0.9375rem;
1532
+ line-height: 1.6;
1533
+ text-decoration: none;
1534
+ transition:
1535
+ border-color 150ms ease,
1536
+ background-color 150ms ease,
1537
+ transform 160ms var(--hd-ease-out);
1538
+ }
1539
+ .hgdc-card__title {
1540
+ display: flex;
1541
+ align-items: center;
1542
+ justify-content: space-between;
1543
+ gap: 0.5rem;
1544
+ color: var(--hd-fg);
1545
+ font: 600 1rem/1.4 var(--hd-font-heading);
1546
+ letter-spacing: -0.01em;
1547
+ }
1548
+ .hgdc-card__arrow {
1549
+ color: var(--hd-muted-fg);
1550
+ opacity: 0;
1551
+ transform: translateX(-4px);
1552
+ transition:
1553
+ opacity 150ms ease,
1554
+ transform 200ms var(--hd-ease-out);
1555
+ }
1556
+ .hgdc-card__body > :first-child {
1557
+ margin-top: 0;
1558
+ }
1559
+ .hgdc-card__body > * + * {
1560
+ margin-top: 0.5rem !important;
1561
+ }
1562
+ .hgdc-card__body img {
1563
+ border-radius: 0.5rem;
1564
+ }
1565
+ .hgdc-card:has(.hgdc-card__body > img:first-child),
1566
+ .hgdc-card:has(.hgdc-card__body > p:first-child > img:first-child) {
1567
+ flex-direction: column-reverse;
1568
+ justify-content: flex-end;
1569
+ }
1570
+ a.hgdc-card:hover {
1571
+ border-color: var(--hd-border-strong);
1572
+ background: var(--hd-muted);
1573
+ }
1574
+ a.hgdc-card:hover .hgdc-card__arrow {
1575
+ opacity: 1;
1576
+ transform: none;
1577
+ }
1578
+ a.hgdc-card:active {
1579
+ transform: scale(0.99);
162
1580
  }
163
1581
 
1582
+ .sl-markdown-content details.hgdc-accordion {
1583
+ padding-inline-start: 0;
1584
+ }
1585
+ .sl-markdown-content .hgdc-accordion > summary::before {
1586
+ display: none;
1587
+ }
1588
+ .hgdc-accordion__body,
1589
+ .hgdc-step__body,
1590
+ .hgdc-card__body {
1591
+ margin-top: 0;
1592
+ }
1593
+ .hgdc-accordion {
1594
+ border: 1px solid var(--hd-border);
1595
+ border-radius: 1rem;
1596
+ background: var(--hd-bg);
1597
+ }
164
1598
  .hgdc-accordion summary {
1599
+ display: flex;
1600
+ align-items: center;
1601
+ gap: 0.625rem;
1602
+ padding: 0.875rem 1rem;
1603
+ color: var(--hd-fg);
1604
+ font: 500 0.9375rem/1.4 var(--hd-font-sans);
165
1605
  cursor: pointer;
166
- padding: 0.75rem 1rem;
167
- color: var(--sl-color-white);
168
- font-weight: 500;
1606
+ list-style: none;
1607
+ border-radius: 1rem;
169
1608
  }
170
-
171
- .hgdc-accordion summary:focus-visible {
172
- outline: 2px solid var(--sl-color-accent);
173
- border-radius: var(--hgdc-radius);
1609
+ .hgdc-accordion summary::-webkit-details-marker {
1610
+ display: none;
1611
+ }
1612
+ .hgdc-accordion summary:hover {
1613
+ background: var(--hd-hover);
1614
+ }
1615
+ .hgdc-accordion__chevron {
1616
+ color: var(--hd-muted-fg);
1617
+ transition: transform 200ms var(--hd-ease-out);
1618
+ }
1619
+ .hgdc-accordion[open] .hgdc-accordion__chevron {
1620
+ transform: rotate(90deg);
174
1621
  }
175
-
176
1622
  .hgdc-accordion__body {
177
- padding: 0 1rem 0.75rem;
1623
+ padding: 0 1rem 1rem 2.625rem;
1624
+ }
1625
+ .hgdc-accordion__body > :first-child {
1626
+ margin-top: 0;
1627
+ }
1628
+ .hgdc-accordion-group {
1629
+ border: 1px solid var(--hd-border);
1630
+ border-radius: 1rem;
1631
+ }
1632
+ .hgdc-accordion-group .hgdc-accordion {
1633
+ margin: 0 !important;
1634
+ border: 0;
1635
+ border-radius: 0;
1636
+ background: transparent;
1637
+ }
1638
+ .hgdc-accordion-group .hgdc-accordion + .hgdc-accordion {
1639
+ border-top: 1px solid var(--hd-border);
1640
+ }
1641
+ .hgdc-accordion-group .hgdc-accordion summary {
1642
+ border-radius: 0;
1643
+ }
1644
+ .hgdc-accordion-group .hgdc-accordion:first-child summary {
1645
+ border-radius: 1rem 1rem 0 0;
178
1646
  }
179
1647
 
180
1648
  .hgdc-frame {
181
- margin-block: 1.25rem;
1649
+ margin-inline: 0;
1650
+ padding: 0.5rem;
1651
+ border: 1px solid var(--hd-border);
1652
+ border-radius: 1.25rem;
1653
+ background: var(--hd-muted);
182
1654
  }
183
-
184
1655
  .hgdc-frame :is(img, video) {
185
- border-radius: var(--hgdc-radius);
1656
+ display: block;
1657
+ width: 100%;
1658
+ border-radius: 0.875rem;
186
1659
  }
187
-
188
1660
  .hgdc-frame figcaption {
189
- margin-top: 0.5rem;
190
- color: var(--sl-color-gray-3);
191
- font-size: var(--sl-text-sm);
1661
+ padding: 0.5rem 0.5rem 0.125rem;
1662
+ color: var(--hd-muted-fg);
1663
+ font-size: 0.8125rem;
192
1664
  text-align: center;
193
1665
  }
194
1666
 
195
- /* --- Titre de page et actions « Copier pour un LLM » --- */
1667
+ /* Onglets (composant de Starlight) : soulignés, comme les blocs de code. */
1668
+ starlight-tabs .tablist-wrapper {
1669
+ border-bottom: 1px solid var(--hd-border);
1670
+ }
1671
+ starlight-tabs [role="tablist"] {
1672
+ gap: 0.5rem;
1673
+ border: 0 !important;
1674
+ }
1675
+ starlight-tabs [role="tab"] {
1676
+ margin: 0 !important;
1677
+ padding: 0.625rem 0.25rem !important;
1678
+ border: 0 !important;
1679
+ border-bottom: 2px solid transparent !important;
1680
+ color: var(--hd-muted-fg) !important;
1681
+ font: 500 0.875rem/1 var(--hd-font-sans) !important;
1682
+ }
1683
+ starlight-tabs [role="tab"]:hover {
1684
+ color: var(--hd-fg) !important;
1685
+ }
1686
+ starlight-tabs [role="tab"][aria-selected="true"] {
1687
+ border-bottom-color: var(--hd-accent) !important;
1688
+ color: var(--hd-fg) !important;
1689
+ }
1690
+ starlight-tabs [role="tabpanel"] {
1691
+ margin-top: 1.25rem;
1692
+ }
1693
+
1694
+ /* --- Bas de page : avis et pages voisines --- */
196
1695
 
197
- .hgdc-title {
1696
+ .hgdc-feedback {
1697
+ display: block;
1698
+ margin-top: 3.5rem;
1699
+ padding-top: 1.5rem;
1700
+ border-top: 1px solid var(--hd-border);
1701
+ }
1702
+ .hgdc-feedback [hidden] {
1703
+ display: none !important;
1704
+ }
1705
+ .hgdc-feedback [data-step="ask"] {
198
1706
  display: flex;
199
1707
  flex-wrap: wrap;
200
- align-items: flex-start;
1708
+ align-items: center;
201
1709
  justify-content: space-between;
202
- gap: 0.75rem 1rem;
1710
+ gap: 0.75rem;
203
1711
  }
204
-
205
- .hgdc-page-actions {
1712
+ .hgdc-feedback__question,
1713
+ .hgdc-feedback label {
1714
+ margin: 0;
1715
+ color: var(--hd-fg);
1716
+ font: 500 0.875rem/1.4 var(--hd-font-sans);
1717
+ }
1718
+ .hgdc-feedback__choices {
206
1719
  display: flex;
207
- flex-wrap: wrap;
208
- align-items: center;
209
- gap: 0.375rem;
210
- margin-top: 0.25rem;
1720
+ gap: 0.5rem;
1721
+ margin: 0 !important;
211
1722
  }
212
-
213
- .hgdc-action {
1723
+ .hgdc-feedback button {
214
1724
  display: inline-flex;
215
1725
  align-items: center;
216
1726
  gap: 0.375rem;
217
- min-height: 2.25rem;
1727
+ height: 2rem;
218
1728
  padding: 0 0.875rem;
219
- border: 0;
1729
+ border: 1px solid var(--hd-border);
220
1730
  border-radius: 999px;
221
- background: var(--hgdc-surface);
222
- color: var(--sl-color-gray-1);
223
- font: inherit;
224
- font-size: var(--sl-text-sm);
1731
+ background: var(--hd-bg);
1732
+ color: var(--hd-fg);
1733
+ font: 500 0.8125rem/1 var(--hd-font-sans);
225
1734
  cursor: pointer;
226
- list-style: none;
227
- transition: background-color 150ms var(--hgdc-ease);
228
- touch-action: manipulation;
1735
+ transition:
1736
+ background-color 150ms ease,
1737
+ transform 160ms var(--hd-ease-out);
229
1738
  }
230
-
231
- .hgdc-action::-webkit-details-marker {
232
- display: none;
1739
+ .hgdc-feedback button:hover {
1740
+ background: var(--hd-muted);
233
1741
  }
234
-
235
- .hgdc-action--icon {
236
- width: 2.25rem;
237
- padding: 0;
238
- justify-content: center;
1742
+ .hgdc-feedback button:active {
1743
+ transform: scale(0.97);
239
1744
  }
240
-
241
- .hgdc-action:hover {
242
- background: var(--hgdc-surface-hover);
1745
+ .hgdc-feedback button[type="submit"] {
1746
+ border-color: var(--hd-accent);
1747
+ background: var(--hd-accent);
1748
+ color: var(--hd-accent-fg);
243
1749
  }
244
-
245
- .hgdc-action:active {
246
- transform: scale(0.97);
1750
+ .hgdc-feedback form {
1751
+ display: grid;
1752
+ gap: 0.625rem;
247
1753
  }
248
-
249
- .hgdc-action:focus-visible {
250
- outline: 2px solid var(--sl-color-accent);
251
- outline-offset: 2px;
1754
+ .hgdc-feedback__done {
1755
+ margin: 0;
1756
+ color: var(--hd-muted-fg);
1757
+ font-size: 0.875rem;
252
1758
  }
253
1759
 
254
- .hgdc-menu {
255
- position: relative;
1760
+ .hd-pagination {
1761
+ display: grid;
1762
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1763
+ gap: 1rem;
1764
+ margin-top: 2rem;
1765
+ }
1766
+ .hd-pagination__link {
1767
+ display: grid;
1768
+ gap: 0.25rem;
1769
+ padding: 0.875rem 1.125rem;
1770
+ border: 1px solid var(--hd-border);
1771
+ border-radius: 1rem;
1772
+ color: var(--hd-fg);
1773
+ text-decoration: none;
1774
+ transition:
1775
+ border-color 150ms ease,
1776
+ background-color 150ms ease;
1777
+ }
1778
+ .hd-pagination__link--next {
1779
+ grid-column: 2;
1780
+ text-align: end;
1781
+ }
1782
+ .hd-pagination__link:hover {
1783
+ border-color: var(--hd-border-strong);
1784
+ background: var(--hd-muted);
1785
+ }
1786
+ .hd-pagination__hint {
1787
+ display: inline-flex;
1788
+ align-items: center;
1789
+ gap: 0.25rem;
1790
+ color: var(--hd-muted-fg);
1791
+ font-size: 0.8125rem;
1792
+ }
1793
+ .hd-pagination__link--next .hd-pagination__hint {
1794
+ justify-content: flex-end;
1795
+ }
1796
+ .hd-pagination__title {
1797
+ font: 500 0.9375rem/1.35 var(--hd-font-heading);
256
1798
  }
257
1799
 
258
- .hgdc-menu__list {
259
- position: absolute;
260
- inset-inline-end: 0;
261
- z-index: var(--sl-z-index-menu);
262
- min-width: 15rem;
263
- margin: 0.375rem 0 0;
264
- padding: 0.375rem;
1800
+ /* --- Pied de page du site --- */
1801
+
1802
+ .hd-site-footer {
1803
+ display: grid;
1804
+ gap: 1.25rem;
1805
+ margin: 2rem var(--hd-gutter) 0;
1806
+ padding: 2rem 0 2.5rem;
1807
+ border-top: 1px solid var(--hd-border);
1808
+ }
1809
+ .hd-site-footer__row {
1810
+ display: flex;
1811
+ flex-wrap: wrap;
1812
+ align-items: center;
1813
+ justify-content: space-between;
1814
+ gap: 1rem;
1815
+ }
1816
+ .hd-site-footer__row--meta p {
1817
+ max-width: 32rem;
1818
+ margin: 0;
1819
+ color: var(--hd-muted-fg);
1820
+ font-size: 0.875rem;
1821
+ line-height: 1.55;
1822
+ }
1823
+ .hd-brand--footer {
1824
+ margin-inline-start: -0.5rem;
1825
+ }
1826
+ .hd-brand--footer .hd-brand__name {
1827
+ font-size: 0.9375rem;
1828
+ }
1829
+ .hd-socials {
1830
+ display: flex;
1831
+ gap: 0.25rem;
1832
+ margin: 0;
1833
+ padding: 0;
265
1834
  list-style: none;
266
- border-radius: var(--hgdc-radius);
267
- background: var(--sl-color-black);
268
- box-shadow:
269
- 0 12px 32px -8px rgb(0 0 0 / 0.25),
270
- 0 0 0 1px var(--sl-color-hairline-light);
271
- transform-origin: top right;
272
- animation: hgdc-pop 160ms var(--hgdc-ease);
273
1835
  }
274
1836
 
275
- .hgdc-menu__list a {
276
- display: block;
277
- padding: 0.5rem 0.75rem;
278
- border-radius: 0.75rem;
279
- color: var(--sl-color-gray-1);
280
- font-size: var(--sl-text-sm);
281
- text-decoration: none;
1837
+ /* --- Recherche --- */
1838
+
1839
+ .hd-palette {
1840
+ width: min(40rem, calc(100vw - 1.5rem));
1841
+ max-height: min(36rem, calc(100dvh - 6rem));
1842
+ margin: min(12vh, 7rem) auto auto;
1843
+ padding: 0;
1844
+ border: 1px solid var(--hd-border);
1845
+ border-radius: 1.5rem;
1846
+ background: var(--hd-floating);
1847
+ color: var(--hd-fg-2);
1848
+ box-shadow: var(--hd-shadow);
1849
+ overflow: hidden;
1850
+ }
1851
+ .hd-palette::backdrop {
1852
+ background: var(--hd-backdrop);
1853
+ }
1854
+ .hd-palette[open] .hd-palette__box {
1855
+ display: flex;
1856
+ flex-direction: column;
1857
+ max-height: inherit;
1858
+ }
1859
+ .hd-palette__field {
1860
+ display: flex;
1861
+ align-items: center;
1862
+ gap: 0.75rem;
1863
+ padding: 0.875rem 1rem;
1864
+ border-bottom: 1px solid var(--hd-border);
1865
+ color: var(--hd-muted-fg);
1866
+ }
1867
+ .hd-palette__field input {
1868
+ flex: 1;
1869
+ min-width: 0;
1870
+ border: 0;
1871
+ background: transparent;
1872
+ color: var(--hd-fg);
1873
+ font: 400 1rem/1.5 var(--hd-font-sans);
1874
+ outline: none;
282
1875
  }
283
-
284
- .hgdc-menu__list a:hover {
285
- background: var(--hgdc-surface);
1876
+ .hd-palette__field input::-webkit-search-cancel-button {
1877
+ display: none;
286
1878
  }
287
-
288
- .hgdc-menu__list a:focus-visible {
289
- background: var(--hgdc-surface);
290
- outline: 2px solid var(--sl-color-accent);
291
- outline-offset: -2px;
1879
+ .hd-palette__results {
1880
+ display: grid;
1881
+ gap: 1px;
1882
+ padding: 0.375rem;
1883
+ overflow-y: auto;
292
1884
  }
293
-
294
- @keyframes hgdc-pop {
295
- from {
296
- opacity: 0;
297
- transform: scale(0.96);
298
- }
1885
+ .hd-palette__results:empty {
1886
+ display: none;
299
1887
  }
300
-
301
- /* --- Onglets et versions en tête de sidebar --- */
302
-
303
- .hgdc-sections {
304
- display: grid;
1888
+ .hd-result {
1889
+ display: flex;
305
1890
  gap: 0.75rem;
306
- margin-block-end: 1rem;
1891
+ width: 100%;
1892
+ padding: 0.625rem 0.75rem;
1893
+ border: 0;
1894
+ border-radius: 0.875rem;
1895
+ background: transparent;
1896
+ color: inherit;
1897
+ font: inherit;
1898
+ text-align: start;
1899
+ text-decoration: none;
1900
+ cursor: pointer;
307
1901
  }
308
-
309
- .hgdc-tabs {
1902
+ .hd-result[aria-selected="true"] {
1903
+ background: var(--hd-muted);
1904
+ }
1905
+ .hd-result__icon {
1906
+ display: grid;
1907
+ place-items: center;
1908
+ flex-shrink: 0;
1909
+ width: 1.25rem;
1910
+ height: 1.25rem;
1911
+ margin-top: 0.0625rem;
1912
+ color: var(--hd-muted-fg);
1913
+ font: 500 0.875rem/1 var(--hd-font-mono);
1914
+ }
1915
+ .hd-result--page .hd-result__icon {
1916
+ background: currentColor;
1917
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Zm0 0v5h5M9 13h6m-6 4h4'/%3E%3C/svg%3E")
1918
+ center / 1.1rem no-repeat;
1919
+ }
1920
+ .hd-result--ask .hd-result__icon {
1921
+ color: var(--hd-accent);
1922
+ }
1923
+ .hd-result__body {
310
1924
  display: grid;
311
1925
  gap: 0.125rem;
312
- margin: 0;
313
- padding: 0;
314
- list-style: none;
1926
+ min-width: 0;
315
1927
  }
316
-
317
- .hgdc-tabs a {
318
- display: block;
319
- padding: 0.4rem 0.75rem;
320
- border-radius: 0.75rem;
321
- color: var(--sl-color-gray-2);
1928
+ .hd-result__title {
1929
+ color: var(--hd-fg);
1930
+ font: 500 0.9375rem/1.4 var(--hd-font-sans);
1931
+ }
1932
+ .hd-result__context {
1933
+ color: var(--hd-muted-fg);
1934
+ font-size: 0.75rem;
1935
+ }
1936
+ .hd-result__excerpt {
1937
+ overflow: hidden;
1938
+ color: var(--hd-muted-fg);
1939
+ font-size: 0.8125rem;
1940
+ line-height: 1.5;
1941
+ display: -webkit-box;
1942
+ -webkit-line-clamp: 2;
1943
+ -webkit-box-orient: vertical;
1944
+ }
1945
+ .hd-result__excerpt mark {
1946
+ background: transparent;
1947
+ color: var(--hd-accent);
322
1948
  font-weight: 500;
323
- text-decoration: none;
324
1949
  }
325
-
326
- .hgdc-tabs a:hover {
327
- background: var(--hgdc-surface);
328
- color: var(--sl-color-white);
1950
+ .hd-palette__status {
1951
+ margin: 0;
1952
+ padding: 1rem 1.25rem;
1953
+ color: var(--hd-muted-fg);
1954
+ font-size: 0.875rem;
329
1955
  }
330
-
331
- .hgdc-tabs a:focus-visible,
332
- .hgdc-version select:focus-visible {
333
- outline: 2px solid var(--sl-color-accent);
334
- outline-offset: 2px;
1956
+ .hd-palette__results:not(:empty) + .hd-palette__status {
1957
+ position: absolute;
1958
+ width: 1px;
1959
+ height: 1px;
1960
+ overflow: hidden;
1961
+ clip: rect(0, 0, 0, 0);
335
1962
  }
336
-
337
- .hgdc-tabs a[aria-current="page"] {
338
- background: var(--sl-color-accent-low);
339
- color: var(--sl-color-accent-high);
1963
+ .hd-palette__hints {
1964
+ display: none;
1965
+ gap: 1.25rem;
1966
+ padding: 0.625rem 1rem;
1967
+ border-top: 1px solid var(--hd-border);
1968
+ color: var(--hd-muted-fg);
1969
+ font-size: 0.75rem;
340
1970
  }
341
-
342
- .hgdc-version select {
343
- width: 100%;
344
- min-height: 2.25rem;
345
- padding: 0 0.75rem;
346
- border: 0;
347
- border-radius: 999px;
348
- background: var(--hgdc-surface);
349
- color: var(--sl-color-white);
350
- font: inherit;
351
- font-size: var(--sl-text-sm);
1971
+ .hd-palette__hints span {
1972
+ display: inline-flex;
1973
+ align-items: center;
1974
+ gap: 0.25rem;
1975
+ }
1976
+ @media (min-width: 50em) {
1977
+ .hd-palette__hints {
1978
+ display: flex;
1979
+ }
352
1980
  }
353
1981
 
354
1982
  /* --- Assistant --- */
355
1983
 
356
- .hgdc-launcher {
357
- position: fixed;
358
- inset-inline-end: max(1rem, env(safe-area-inset-right));
359
- bottom: max(1rem, env(safe-area-inset-bottom));
360
- z-index: var(--sl-z-index-navbar);
361
- display: inline-flex;
1984
+ .hd-askbar {
1985
+ position: sticky;
1986
+ bottom: 1rem;
1987
+ z-index: 10;
1988
+ display: flex;
362
1989
  align-items: center;
363
1990
  gap: 0.5rem;
364
- min-height: 2.75rem;
365
- padding: 0 1rem;
366
- border: 0;
1991
+ width: min(var(--hd-content-w), calc(100% - 2 * var(--hd-gutter)));
1992
+ height: 3.25rem;
1993
+ margin: 2rem auto 0;
1994
+ padding: 0 0.5rem 0 1.25rem;
1995
+ border: 1px solid var(--hd-border-strong);
367
1996
  border-radius: 999px;
368
- background: var(--sl-color-white);
369
- color: var(--sl-color-black);
370
- font: inherit;
371
- font-weight: 500;
372
- box-shadow: 0 10px 30px -10px rgb(0 0 0 / 0.45);
373
- cursor: pointer;
374
- touch-action: manipulation;
375
- transition: transform 160ms var(--hgdc-ease);
1997
+ background: var(--hd-floating);
1998
+ box-shadow: var(--hd-shadow);
1999
+ transition:
2000
+ opacity 200ms ease,
2001
+ transform 300ms var(--hd-ease-out),
2002
+ border-color 150ms ease;
376
2003
  }
377
-
378
- .hgdc-launcher:active {
379
- transform: scale(0.97);
2004
+ .hd-askbar:focus-within {
2005
+ border-color: var(--hd-accent);
380
2006
  }
381
-
382
- .hgdc-launcher:focus-visible {
383
- outline: 2px solid var(--sl-color-accent);
384
- outline-offset: 3px;
2007
+ .hd-askbar input {
2008
+ flex: 1;
2009
+ min-width: 0;
2010
+ height: 100%;
2011
+ border: 0;
2012
+ background: transparent;
2013
+ color: var(--hd-fg);
2014
+ font: 400 0.9375rem/1 var(--hd-font-sans);
2015
+ outline: none;
385
2016
  }
386
-
387
- .hgdc-launcher[hidden] {
388
- display: none;
2017
+ .hd-askbar input::placeholder {
2018
+ color: var(--hd-muted-fg);
389
2019
  }
390
-
391
- .hgdc-kbd {
392
- padding: 0.05rem 0.4rem;
393
- border-radius: 0.375rem;
394
- background: color-mix(in srgb, var(--sl-color-black) 15%, transparent);
395
- font-family: var(--__sl-font);
396
- font-size: 0.75rem;
2020
+ :root[data-hgdc-assistant] .hd-askbar {
2021
+ opacity: 0;
2022
+ pointer-events: none;
2023
+ transform: translateY(0.5rem);
397
2024
  }
398
-
399
- @media (max-width: 50em) {
400
- .hgdc-kbd {
2025
+ @media (max-width: 49.99em) {
2026
+ .hd-askbar {
2027
+ bottom: 0.75rem;
2028
+ height: 3rem;
2029
+ }
2030
+ .hd-askbar .hd-kbd {
401
2031
  display: none;
402
2032
  }
403
2033
  }
404
2034
 
405
- .hgdc-panel {
2035
+ .hd-send {
2036
+ display: grid;
2037
+ place-items: center;
2038
+ flex-shrink: 0;
2039
+ width: 2.25rem;
2040
+ height: 2.25rem;
2041
+ border: 0;
2042
+ border-radius: 999px;
2043
+ background: var(--hd-accent);
2044
+ color: var(--hd-accent-fg);
2045
+ cursor: pointer;
2046
+ transition:
2047
+ opacity 150ms ease,
2048
+ transform 160ms var(--hd-ease-out);
2049
+ }
2050
+ .hd-send:active {
2051
+ transform: scale(0.94);
2052
+ }
2053
+ .hd-send:disabled {
2054
+ opacity: 0.4;
2055
+ cursor: default;
2056
+ }
2057
+
2058
+ hgdc-assistant {
2059
+ display: block;
2060
+ }
2061
+ hgdc-assistant::before {
2062
+ content: "";
406
2063
  position: fixed;
407
2064
  inset: 0;
408
- z-index: calc(var(--sl-z-index-navbar) + 1);
2065
+ z-index: 44;
2066
+ background: var(--hd-backdrop);
2067
+ opacity: 0;
2068
+ pointer-events: none;
2069
+ transition: opacity 300ms ease;
2070
+ }
2071
+
2072
+ .hgdc-panel {
2073
+ position: fixed;
2074
+ z-index: 45;
2075
+ inset: auto 0 0;
409
2076
  display: flex;
410
2077
  flex-direction: column;
411
- background: var(--sl-color-black);
412
- padding-top: env(safe-area-inset-top, 0px);
413
- padding-bottom: env(safe-area-inset-bottom);
414
- animation: hgdc-panel-in 220ms var(--hgdc-ease);
2078
+ height: min(88dvh, 44rem);
2079
+ border: 1px solid var(--hd-border);
2080
+ border-bottom: 0;
2081
+ border-radius: 1.5rem 1.5rem 0 0;
2082
+ background: var(--hd-bg);
2083
+ box-shadow: var(--hd-shadow);
2084
+ transform: translateY(100%);
2085
+ visibility: hidden;
2086
+ transition:
2087
+ transform 380ms var(--hd-ease-drawer),
2088
+ visibility 0s linear 380ms;
2089
+ }
2090
+ :root[data-hgdc-assistant] .hgdc-panel {
2091
+ transform: none;
2092
+ visibility: visible;
2093
+ transition:
2094
+ transform 380ms var(--hd-ease-drawer),
2095
+ visibility 0s;
2096
+ }
2097
+ @media (max-width: 49.99em) {
2098
+ :root[data-hgdc-assistant] hgdc-assistant::before {
2099
+ opacity: 1;
2100
+ pointer-events: auto;
2101
+ }
415
2102
  }
416
-
417
- .hgdc-panel[hidden] {
418
- display: none;
2103
+ .hgdc-panel__grip {
2104
+ width: 2.5rem;
2105
+ height: 0.3125rem;
2106
+ margin: 0.5rem auto 0;
2107
+ border-radius: 999px;
2108
+ background: var(--hd-border-strong);
419
2109
  }
420
2110
 
421
2111
  @media (min-width: 50em) {
422
2112
  .hgdc-panel {
423
- inset: 0.75rem 0.75rem 0.75rem auto;
424
- width: min(26rem, calc(100vw - 1.5rem));
425
- border-radius: var(--hgdc-radius-card);
426
- box-shadow:
427
- 0 24px 64px -16px rgb(0 0 0 / 0.35),
428
- 0 0 0 1px var(--sl-color-hairline-light);
429
- animation-name: hgdc-panel-side;
2113
+ inset: var(--hd-nav-h) 0 0 auto;
2114
+ width: var(--hd-panel-w);
2115
+ height: auto;
2116
+ border: 0;
2117
+ border-inline-start: 1px solid var(--hd-border);
2118
+ border-radius: 0;
2119
+ transform: translateX(100%);
2120
+ }
2121
+ .hgdc-panel__grip {
2122
+ display: none;
430
2123
  }
431
2124
  }
432
-
433
- @keyframes hgdc-panel-in {
434
- from {
435
- opacity: 0;
436
- transform: translateY(1rem);
2125
+ /* En dessous de 64em, le panneau passe par-dessus ; au-delà, il pousse la page. */
2126
+ @media (min-width: 50em) and (max-width: 63.99em) {
2127
+ :root[data-hgdc-assistant] .hgdc-panel {
2128
+ box-shadow: var(--hd-shadow);
437
2129
  }
438
2130
  }
439
-
440
- @keyframes hgdc-panel-side {
441
- from {
442
- opacity: 0;
443
- transform: translateX(1rem);
2131
+ @media (min-width: 64em) {
2132
+ .hgdc-panel {
2133
+ box-shadow: none;
2134
+ }
2135
+ :root[data-hgdc-assistant] .hd-main-frame {
2136
+ margin-inline-end: var(--hd-panel-w);
2137
+ }
2138
+ :root[data-hgdc-assistant] .hd-columns--toc {
2139
+ grid-template-columns: minmax(0, 1fr) 0;
2140
+ }
2141
+ :root[data-hgdc-assistant] .hd-columns__toc {
2142
+ visibility: hidden;
444
2143
  }
445
2144
  }
446
-
447
2145
  @media (prefers-reduced-motion: reduce) {
448
2146
  .hgdc-panel,
449
- .hgdc-menu__list,
450
- .hgdc-msg--pending {
451
- animation: none;
2147
+ :root[data-hgdc-assistant] .hgdc-panel,
2148
+ .hd-main-frame,
2149
+ .hd-sidebar .sidebar-pane {
2150
+ transition-duration: 0s !important;
2151
+ }
2152
+ .hd-askbar {
2153
+ transition: opacity 150ms ease;
2154
+ transform: none !important;
452
2155
  }
453
2156
  }
454
2157
 
455
2158
  .hgdc-panel__header {
456
2159
  display: flex;
457
- align-items: flex-start;
2160
+ align-items: center;
458
2161
  justify-content: space-between;
459
- gap: 1rem;
460
- padding: 1rem 1rem 0.75rem 1.25rem;
2162
+ gap: 0.5rem;
2163
+ padding: 0.625rem 0.75rem 0.625rem 1.25rem;
461
2164
  }
462
-
463
2165
  .hgdc-panel__header h2 {
2166
+ display: flex;
2167
+ align-items: center;
2168
+ gap: 0.5rem;
464
2169
  margin: 0;
465
- color: var(--sl-color-white);
466
- font-family: var(--hgdc-font-heading);
467
- font-size: var(--sl-text-lg);
2170
+ color: var(--hd-fg);
2171
+ font: 600 1rem/1.3 var(--hd-font-heading);
468
2172
  }
469
-
470
- .hgdc-panel__header p {
471
- margin: 0.125rem 0 0;
472
- color: var(--sl-color-gray-3);
473
- font-size: var(--sl-text-sm);
2173
+ .hgdc-panel__header h2 .hd-icon {
2174
+ color: var(--hd-accent);
474
2175
  }
475
-
476
2176
  .hgdc-panel__tools {
477
2177
  display: flex;
478
- gap: 0.25rem;
479
- }
480
-
481
- .hgdc-icon-button {
482
- display: grid;
483
- place-items: center;
484
- width: 2.5rem;
485
- height: 2.5rem;
486
- border: 0;
487
- border-radius: 999px;
488
- background: transparent;
489
- color: var(--sl-color-gray-2);
490
- cursor: pointer;
491
- }
492
-
493
- .hgdc-icon-button:hover {
494
- background: var(--hgdc-surface);
495
- color: var(--sl-color-white);
496
- }
497
-
498
- .hgdc-icon-button:focus-visible {
499
- outline: 2px solid var(--sl-color-accent);
2178
+ gap: 0.125rem;
500
2179
  }
501
-
502
- .hgdc-icon-button[hidden] {
2180
+ .hgdc-panel__tools [hidden] {
503
2181
  display: none;
504
2182
  }
505
-
506
2183
  .hgdc-panel__body {
507
2184
  flex: 1;
508
- overflow-y: auto;
509
- overscroll-behavior: contain;
510
- padding: 0.25rem 1.25rem 1rem;
511
2185
  display: flex;
512
2186
  flex-direction: column;
513
- gap: 0.75rem;
2187
+ gap: 1rem;
2188
+ padding: 0.5rem 1.25rem 1rem;
2189
+ overflow-y: auto;
2190
+ overscroll-behavior: contain;
514
2191
  }
515
-
516
2192
  .hgdc-empty {
517
- margin-block: auto;
518
- padding: 1rem 0.25rem;
519
- color: var(--sl-color-gray-3);
520
- font-size: var(--sl-text-sm);
2193
+ margin: auto 0;
2194
+ padding: 1rem 0;
2195
+ color: var(--hd-muted-fg);
2196
+ font-size: 0.875rem;
2197
+ line-height: 1.6;
521
2198
  text-align: center;
522
- text-wrap: balance;
523
2199
  }
524
-
525
2200
  .hgdc-empty[hidden] {
526
2201
  display: none;
527
2202
  }
528
-
2203
+ .hgdc-empty p {
2204
+ margin: 0;
2205
+ }
529
2206
  .hgdc-empty__title {
530
- color: var(--sl-color-white);
531
- font-size: var(--sl-text-base);
532
- font-weight: 500;
2207
+ margin-bottom: 0.375rem !important;
2208
+ color: var(--hd-fg);
2209
+ font: 600 1rem/1.4 var(--hd-font-heading);
533
2210
  }
534
-
535
2211
  .hgdc-msg {
536
- max-width: 100%;
537
- font-size: var(--sl-text-sm);
538
- line-height: 1.6;
539
- color: var(--sl-color-gray-1);
2212
+ color: var(--hd-fg-2);
2213
+ font-size: 0.9375rem;
2214
+ line-height: 1.65;
540
2215
  overflow-wrap: anywhere;
541
2216
  }
542
-
543
2217
  .hgdc-msg > :first-child {
544
2218
  margin-top: 0;
545
2219
  }
546
-
547
2220
  .hgdc-msg :is(p, ul, ol, pre, h3) {
548
- margin: 0 0 0.6rem;
2221
+ margin: 0.5rem 0 0;
2222
+ }
2223
+ .hgdc-msg :is(ul, ol) {
2224
+ padding-inline-start: 1.25rem;
549
2225
  }
550
-
551
2226
  .hgdc-msg h3 {
552
- font-size: var(--sl-text-base);
553
- color: var(--sl-color-white);
2227
+ color: var(--hd-fg);
2228
+ font: 600 0.9375rem/1.4 var(--hd-font-heading);
554
2229
  }
555
-
556
2230
  .hgdc-msg pre {
557
- padding: 0.75rem;
558
- border-radius: 0.75rem;
559
- background: var(--hgdc-surface);
2231
+ padding: 0.75rem 0.875rem;
2232
+ border: 1px solid var(--hd-border);
2233
+ border-radius: 0.875rem;
2234
+ background: var(--hd-code-bg);
560
2235
  overflow-x: auto;
561
2236
  }
562
-
563
2237
  .hgdc-msg code {
564
- font-family: var(--__sl-font-mono);
565
- font-size: 0.85em;
2238
+ font-family: var(--hd-font-mono);
2239
+ font-size: 0.8125rem;
566
2240
  }
567
-
568
2241
  .hgdc-msg :not(pre) > code {
569
- padding: 0.1em 0.3em;
2242
+ padding: 0.1em 0.35em;
570
2243
  border-radius: 0.375rem;
571
- background: var(--hgdc-surface);
2244
+ background: var(--hd-muted);
2245
+ }
2246
+ .hgdc-msg a {
2247
+ color: var(--hd-fg);
2248
+ text-decoration-color: var(--hd-accent);
2249
+ text-underline-offset: 0.2em;
572
2250
  }
573
-
574
2251
  .hgdc-msg--user {
575
2252
  align-self: flex-end;
576
2253
  max-width: 85%;
577
2254
  padding: 0.5rem 0.875rem;
578
- border-radius: 1.125rem;
579
- background: var(--hgdc-surface);
580
- color: var(--sl-color-white);
581
- white-space: pre-wrap;
2255
+ border-radius: 1.25rem 1.25rem 0.375rem 1.25rem;
2256
+ background: var(--hd-muted);
2257
+ color: var(--hd-fg);
582
2258
  }
583
-
584
2259
  .hgdc-msg--pending {
585
- color: var(--sl-color-gray-3);
586
- animation: hgdc-breathe 1.4s ease-in-out infinite;
2260
+ color: var(--hd-muted-fg);
2261
+ animation: hgdc-breathe 1.6s ease-in-out infinite;
587
2262
  }
588
-
589
2263
  @keyframes hgdc-breathe {
590
2264
  50% {
591
2265
  opacity: 0.5;
592
2266
  }
593
2267
  }
594
-
2268
+ @media (prefers-reduced-motion: reduce) {
2269
+ .hgdc-msg--pending {
2270
+ animation: none;
2271
+ }
2272
+ }
595
2273
  .hgdc-msg--error p {
596
- color: var(--sl-color-gray-2);
2274
+ color: var(--hd-tone-danger);
597
2275
  }
598
-
599
2276
  .hgdc-retry {
600
- min-height: 2.25rem;
2277
+ margin-top: 0.5rem;
2278
+ height: 2rem;
601
2279
  padding: 0 0.875rem;
602
- border: 0;
2280
+ border: 1px solid var(--hd-border);
603
2281
  border-radius: 999px;
604
- background: var(--hgdc-surface);
605
- color: var(--sl-color-white);
606
- font: inherit;
2282
+ background: var(--hd-bg);
2283
+ color: var(--hd-fg);
2284
+ font: 500 0.8125rem/1 var(--hd-font-sans);
607
2285
  cursor: pointer;
608
2286
  }
609
-
610
2287
  .hgdc-ref {
611
2288
  display: inline-grid;
612
2289
  place-items: center;
613
- min-width: 1.15rem;
614
- height: 1.15rem;
615
- margin-inline: 0.15rem;
2290
+ min-width: 1.125rem;
2291
+ height: 1.125rem;
2292
+ margin-inline: 0.125rem;
616
2293
  padding: 0 0.25rem;
617
2294
  border-radius: 999px;
618
- background: var(--sl-color-accent-low);
619
- color: var(--sl-color-accent-high);
620
- font-size: 0.7rem;
621
- font-weight: 600;
622
- font-variant-numeric: tabular-nums;
623
- text-decoration: none;
2295
+ background: var(--hd-accent-soft);
2296
+ color: var(--hd-accent) !important;
2297
+ font: 600 0.6875rem/1 var(--hd-font-sans);
2298
+ text-decoration: none !important;
624
2299
  vertical-align: 0.15em;
625
2300
  }
626
-
627
2301
  .hgdc-sources__label {
628
- margin: 0.75rem 0 0.25rem !important;
629
- color: var(--sl-color-gray-3);
630
- font-size: 0.75rem;
631
- font-weight: 500;
2302
+ margin-top: 0.875rem !important;
2303
+ color: var(--hd-muted-fg);
2304
+ font: 500 0.75rem/1 var(--hd-font-sans);
632
2305
  }
633
-
634
2306
  .hgdc-sources {
635
2307
  display: grid;
636
- gap: 0.25rem;
637
- margin: 0 !important;
638
- padding: 0;
2308
+ gap: 0.375rem;
2309
+ margin-top: 0.5rem !important;
2310
+ padding: 0 !important;
639
2311
  list-style: none;
640
2312
  }
641
-
642
2313
  .hgdc-sources a {
643
2314
  display: flex;
644
2315
  flex-wrap: wrap;
645
2316
  align-items: baseline;
646
- gap: 0.25rem 0.5rem;
647
- padding: 0.5rem 0.625rem;
648
- border-radius: 0.75rem;
649
- background: var(--hgdc-surface);
650
- color: var(--sl-color-white);
2317
+ gap: 0.375rem;
2318
+ padding: 0.5rem 0.75rem;
2319
+ border: 1px solid var(--hd-border);
2320
+ border-radius: 0.875rem;
2321
+ color: var(--hd-fg);
2322
+ font-size: 0.8125rem;
651
2323
  text-decoration: none;
652
2324
  }
653
-
654
2325
  .hgdc-sources a:hover {
655
- background: var(--hgdc-surface-hover);
2326
+ background: var(--hd-muted);
656
2327
  }
657
-
658
2328
  .hgdc-sources__n {
659
- color: var(--sl-color-accent);
2329
+ color: var(--hd-accent);
660
2330
  font-weight: 600;
661
- font-variant-numeric: tabular-nums;
662
2331
  }
663
-
664
2332
  .hgdc-sources__section {
665
2333
  flex-basis: 100%;
666
- color: var(--sl-color-gray-3);
2334
+ color: var(--hd-muted-fg);
667
2335
  font-size: 0.75rem;
668
2336
  }
669
-
670
2337
  .hgdc-panel__form {
671
2338
  display: flex;
672
2339
  align-items: flex-end;
673
2340
  gap: 0.5rem;
674
2341
  margin: 0 0.75rem;
675
- padding: 0.375rem 0.375rem 0.375rem 1rem;
676
- border-radius: 1.375rem;
677
- background: var(--hgdc-surface);
2342
+ padding: 0.5rem 0.5rem 0.5rem 1rem;
2343
+ border: 1px solid var(--hd-border-strong);
2344
+ border-radius: 1.5rem;
2345
+ background: var(--hd-bg);
2346
+ transition: border-color 150ms ease;
678
2347
  }
679
-
680
2348
  .hgdc-panel__form:focus-within {
681
- outline: 2px solid var(--sl-color-accent);
2349
+ border-color: var(--hd-accent);
682
2350
  }
683
-
684
2351
  .hgdc-panel__form textarea {
685
2352
  flex: 1;
686
2353
  min-height: 2.25rem;
@@ -688,86 +2355,45 @@ a.hgdc-card:focus-visible {
688
2355
  padding: 0.5rem 0;
689
2356
  border: 0;
690
2357
  background: transparent;
691
- color: var(--sl-color-white);
692
- font: inherit;
693
- font-size: 1rem;
2358
+ color: var(--hd-fg);
2359
+ font: 400 0.9375rem/1.4 var(--hd-font-sans);
694
2360
  resize: none;
695
2361
  outline: none;
696
2362
  }
697
-
698
- .hgdc-send {
699
- display: grid;
700
- place-items: center;
701
- flex: none;
702
- width: 2.25rem;
703
- height: 2.25rem;
704
- border: 0;
705
- border-radius: 999px;
706
- background: var(--sl-color-white);
707
- color: var(--sl-color-black);
708
- cursor: pointer;
709
- }
710
-
711
- .hgdc-send:disabled {
712
- opacity: 0.4;
713
- cursor: not-allowed;
714
- }
715
-
716
2363
  .hgdc-panel__note {
717
- margin: 0.5rem 1.25rem 0.75rem;
718
- color: var(--sl-color-gray-3);
719
- font-size: 0.75rem;
2364
+ margin: 0;
2365
+ padding: 0.5rem 1.25rem 0.875rem;
2366
+ color: var(--hd-muted-fg);
2367
+ font-size: 0.6875rem;
2368
+ line-height: 1.45;
720
2369
  text-align: center;
721
2370
  }
722
2371
 
723
- .sr-only {
724
- position: absolute;
725
- width: 1px;
726
- height: 1px;
727
- overflow: hidden;
728
- clip-path: inset(50%);
729
- white-space: nowrap;
730
- }
731
-
732
- /* Chrome monochrome : le nom du site et « vous êtes ici » restent en teinte, pas en accent. */
733
- .site-title {
734
- color: var(--sl-color-white);
735
- font-family: var(--hgdc-font-heading);
736
- letter-spacing: -0.015em;
737
- }
738
-
739
- .sidebar-content a[aria-current="page"],
740
- .sidebar-content a[aria-current="page"]:hover,
741
- .sidebar-content a[aria-current="page"]:focus {
742
- background-color: var(--hgdc-surface-hover);
743
- color: var(--sl-color-white);
744
- font-weight: 600;
745
- }
746
-
747
- .sidebar-content a {
748
- border-radius: 0.625rem;
749
- }
750
-
751
2372
  /* Cibles tactiles de 44 px au doigt, sans changer le dessin à la souris. */
752
2373
  @media (pointer: coarse) {
753
- .hgdc-action,
754
- .hgdc-retry {
2374
+ .hd-nav__link {
755
2375
  min-height: 2.75rem;
756
2376
  }
757
-
758
- .hgdc-action--icon,
759
- .hgdc-send {
2377
+ .hd-icon-button,
2378
+ .hd-search-trigger {
760
2379
  width: 2.75rem;
761
2380
  height: 2.75rem;
762
2381
  }
2382
+ }
763
2383
 
764
- .hgdc-ref {
765
- position: relative;
2384
+ @media print {
2385
+ .hd-topbar,
2386
+ .hd-sidebar,
2387
+ .hd-columns__toc,
2388
+ .hd-askbar,
2389
+ hgdc-assistant,
2390
+ .hd-site-footer,
2391
+ .hd-page-actions,
2392
+ .hgdc-feedback {
2393
+ display: none !important;
766
2394
  }
767
-
768
- .hgdc-ref::after {
769
- content: "";
770
- position: absolute;
771
- inset: -0.75rem;
2395
+ .hd-main-frame {
2396
+ margin: 0 !important;
2397
+ padding: 0 !important;
772
2398
  }
773
2399
  }