/* Element defaults. Shared by every site. Reads tokens only. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--paper); }
body { margin: 0; overflow-x: clip; }
body, [data-skin] {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: var(--heading-weight); line-height: var(--leading-tight); color: var(--ink); margin: 0; text-wrap: balance; }
h1 { font-size: var(--step-4); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-1); }
h4 { font-size: var(--step-0); }
p, li { text-wrap: pretty; }
p { margin: 0 0 1em; max-width: var(--measure); }
ul, ol { max-width: var(--measure); padding-left: 1.25em; }
a {
  color: var(--link-color);
  text-decoration-line: underline;
  text-decoration-color: var(--link-decoration-color);
  text-decoration-thickness: var(--link-thickness);
  text-underline-offset: var(--link-offset);
  transition: color var(--duration) var(--easing), text-decoration-color var(--duration) var(--easing);
}
a:hover { color: var(--accent); text-decoration-color: currentColor; text-decoration-thickness: max(2px, var(--link-thickness)); }
:focus-visible { outline: var(--focus-width) solid var(--focus); outline-offset: var(--focus-offset); border-radius: 2px; }
:focus:not(:focus-visible) { outline: none; }
::selection { background: var(--accent); color: var(--on-accent); }
hr { border: 0; border-top: var(--rule) solid var(--line); margin: 0; }
code, kbd, samp, pre { font-family: var(--font-mono); font-size: 0.9em; }
img, svg, video { max-width: 100%; height: auto; }
strong, b { font-weight: 600; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.ds-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
