*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
:root { color-scheme: light dark; }
:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="system"] { color-scheme: light dark; }
:root[data-fgl-theme-default="dark"]:not([data-theme]) { color-scheme: dark; }
:root[data-fgl-theme-default="light"]:not([data-theme]) { color-scheme: light; }
a { color: var(--accent-info); }
body { background: var(--surface-primary); color: var(--ink-body); }
body { font-family: var(--font); font-size: var(--fs-body); line-height: var(--lh-body); }
h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); font-weight: var(--fw-bold); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: var(--fw-semibold); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-semibold); }
h4 { font-size: var(--fs-h4); line-height: var(--lh-h4); font-weight: var(--fw-semibold); }
.container { width: 100%; max-width: var(--content-full); margin-inline: auto; padding-inline: var(--space-4); }
.skip-link { position: absolute; left: -9999px;  top: 0; z-index: 30; padding: var(--space-2) var(--space-3); background: var(--brand-primary); color: var(--ink-inverse); text-decoration: none; font-weight: var(--fw-semibold); }
.skip-link:focus { left: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.prose { max-width: var(--measure); }
.fgl-icon { display: inline-flex; }
.fgl-icon svg { width: var(--icon-size); height: var(--icon-size); stroke-width: var(--icon-stroke); }
:where(a, button, [role="button"], summary, input, select, textarea):focus-visible { outline: 2px solid transparent;  outline-offset: 2px;  box-shadow: var(--focus-ring); }
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
