/*
 * Base Arc UI (13/10, « plus de Tailwind nulle part ») : remise à zéro des styles du navigateur, chargée avant toutes
 * les feuilles. Remplace la remise à zéro qu'apportait le CDN Tailwind, dont les écrans Arc dépendaient (marges des titres,
 * puces de liste, boutons, box-sizing, images). Jetons seulement ; graisses 400 / 500.
 */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: var(--line, currentColor); }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; -webkit-tap-highlight-color: transparent; }
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
abbr:where([title]) { text-decoration: underline dotted; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: 500; }
code, kbd, samp, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea { font-family: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, input:where([type='button']), input:where([type='reset']), input:where([type='submit']) { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }
progress { vertical-align: baseline; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
dialog { padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: var(--ink-3, currentColor); }
button, [role='button'] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden]:where(:not([hidden='until-found'])) { display: none; }

/* Interrupteur Arc (« switch » d'Arc, 15/10) : rail 42 × 24 (3 px de marge), curseur 18 px, glissement 18 px, sans rebond.
   Jetons de contrôle de sélection d'Arc ramenés à ceux de Continuum (accent monochrome). */
:root { --control-track: var(--chart-track, var(--line)); --control-track-hover: var(--line); --control-on: var(--ink); --control-thumb: var(--surface); --control-thumb-on: var(--surface); }
.cn-arc-switch { display: inline-flex; min-height: 36px; align-items: center; gap: 12px; padding: 0; border: 0; color: var(--ink); background: transparent; font: inherit; font-size: 14px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cn-arc-switch:disabled { cursor: not-allowed; opacity: .5; }
.cn-arc-switch__track { position: relative; box-sizing: border-box; display: flex; flex: 0 0 auto; width: 42px; height: 24px; align-items: center; padding: 3px; border-radius: 999px; background: var(--control-track); isolation: isolate; transition: background-color 150ms ease; }
.cn-arc-switch__track::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--control-on); opacity: 0; transition: opacity 200ms ease; }
.cn-arc-switch[data-state="checked"] .cn-arc-switch__track::before { opacity: 1; }
.cn-arc-switch__thumb { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 999px; background: var(--control-thumb); box-shadow: 0 1px 2px rgb(0 0 0 / .2); transition: transform 300ms cubic-bezier(.25, 1, .5, 1), background-color 200ms ease; }
.cn-arc-switch[data-state="checked"] .cn-arc-switch__thumb { transform: translateX(18px); background: var(--control-thumb-on); }
.cn-arc-switch:active:not(:disabled) .cn-arc-switch__thumb { width: 23px; }
.cn-arc-switch[data-state="checked"]:active:not(:disabled) .cn-arc-switch__thumb { transform: translateX(13px); }
@media (hover: hover) and (pointer: fine) { .cn-arc-switch[data-state="unchecked"]:hover:not(:disabled) .cn-arc-switch__track { background: var(--control-track-hover); } }
.cn-arc-switch__label { line-height: 1.4; }
@media (prefers-reduced-motion: reduce) { .cn-arc-switch__track, .cn-arc-switch__track::before, .cn-arc-switch__thumb { transition: none; } }
