/* Socle volontairement court, aucune compilation nécessaire. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 2rem; }
body { margin: 0; background: var(--dui-bg); color: var(--dui-ink); font: 1rem/1.6 var(--dui-font); }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.2; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 5vw, 4.5rem); letter-spacing: -.05em; }
h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); letter-spacing: -.03em; }
h3 { font-size: 1.1rem; letter-spacing: -.015em; }
a { color: var(--dui-accent); text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
img, svg { max-width: 100%; height: auto; }
code, pre { font-family: var(--dui-mono); font-size: .83em; }
pre { overflow-x: auto; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--dui-focus); outline-offset: 4px; }
[hidden] { display: none !important; }
.dui-eyebrow { color: var(--dui-muted); font: 600 .7rem/1.4 var(--dui-mono); letter-spacing: .12em; text-transform: uppercase; }
.dui-skip { position: fixed; inset: .75rem auto auto .75rem; z-index: 100; padding: .75rem 1rem; background: var(--dui-surface); transform: translateY(-160%); }
.dui-skip:focus { transform: none; }
.dui-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.dui-icon { width:1.2rem; height:1.2rem; flex-shrink:0; vertical-align:middle; }
.dui-icon-button { display:inline-grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--dui-line); border-radius:var(--dui-radius-small); background:var(--dui-surface); color:var(--dui-ink); }
.dui-muted { color:var(--dui-muted); font-size:.875rem; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

input[type="checkbox"], input[type="radio"] { accent-color:var(--dui-accent); }
