/* The converted site's base styles (S1-09). The Move copies this into every release as
   /assets/site.css, so it is signed with the pages. The site's own colours and fonts arrive as
   --wa-* tokens in each page's <style>; these rules only lay the content out well.
   Phone first; light and dark; WCAG 2.2 AA; no layout shift from late fonts or images. */
:root {
  --wa-bg: #ffffff; --wa-soft: #f6f6fa; --wa-ink: #23223a; --wa-ink-2: #4a4960; --wa-line: #e3e2ec;
  --wa-accent: #38356d; --wa-on-accent: #ffffff;
  --wa-display: ui-serif, Georgia, "Times New Roman", serif;
  --wa-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--wa-bg); color: var(--wa-ink); font: 400 17px/1.6 var(--wa-font); }
img, video { max-width: 100%; height: auto; }
a { color: var(--wa-accent); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--wa-accent); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--wa-display); line-height: 1.15; letter-spacing: -.01em; margin: 1.4em 0 .5em; }
h1 { font-size: clamp(30px, 6vw, 48px); margin-top: .4em; }
h2 { font-size: clamp(22px, 4vw, 30px); }
p, ul, ol { margin: 0 0 1em; }
.s-skip { position: absolute; left: -9999px; }
.s-skip:focus { left: 16px; top: 16px; z-index: 10; background: var(--wa-bg); padding: 8px 12px; border-radius: 8px; }
.s-fixture { margin: 0; padding: 6px 16px; font-size: 13px; text-align: center; background: var(--wa-soft); color: var(--wa-ink-2); border-bottom: 1px solid var(--wa-line); }
.s-head { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; max-width: 1080px; margin: 0 auto; padding: 16px; border-bottom: 1px solid var(--wa-line); }
.s-brand { font: 800 22px/1 var(--wa-display); color: var(--wa-ink); text-decoration: none; }
.s-nav { display: flex; gap: 4px; flex-wrap: wrap; margin-left: auto; }
.s-nav a { padding: 10px 12px; border-radius: 999px; color: var(--wa-ink-2); text-decoration: none; font-weight: 600; font-size: 15px; }
.s-nav a:hover, .s-nav a[aria-current="page"] { background: var(--wa-soft); color: var(--wa-ink); }
.s-main { max-width: 760px; margin: 0 auto; padding: 8px 16px 120px; }
.s-article :target { scroll-margin-top: 16px; outline: 3px solid color-mix(in srgb, var(--wa-accent) 40%, transparent); outline-offset: 4px; border-radius: 4px; }
.s-article table { width: 100%; border-collapse: collapse; margin: 0 0 1em; font-size: 15px; }
.s-article th, .s-article td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--wa-line); }
.s-updated { font-size: 13px; color: var(--wa-ink-2); }
.s-foot { max-width: 1080px; margin: 0 auto; padding: 24px 16px 120px; border-top: 1px solid var(--wa-line); font-size: 14px; color: var(--wa-ink-2); }
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; }
}
@media (max-width: 560px) {
  .s-nav { margin-left: 0; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
}
