/* Weio gateway. One warm surface, near-black text, system fonts, no images, no animation. */
:root {
  color-scheme: light dark;
  --surface: #f5efe4;
  --surface-2: #ebe3d3;
  --text: #15120e;
  --muted: #4d463b;
  --rule: #cdc3af;
  --link: #15120e;
  --focus: #0b57d0;
  --banner-bg: #ffe08a;
  --banner-text: #15120e;
  --code-bg: #ebe3d3;
  --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --banner-h: 2.7rem;
}
@media (prefers-color-scheme: dark) {
  :root {
    --surface: #14110d;
    --surface-2: #211c15;
    --text: #f3ece0;
    --muted: #c4baa8;
    --rule: #3d3528;
    --link: #f3ece0;
    --focus: #8ab4f8;
    --banner-bg: #4a3a0c;
    --banner-text: #ffefbf;
    --code-bg: #211c15;
  }
}
@media (max-width: 40rem) { :root { --banner-h: 5.3rem; } }
@media (max-width: 24rem) { :root { --banner-h: 6.8rem; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--text);
  font-family: var(--font);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.skip { position: absolute; left: -999px; top: 0; background: var(--text); color: var(--surface); padding: 0.5rem 0.75rem; z-index: 20; }
.skip:focus { left: 0.5rem; top: calc(var(--banner-h) + 0.25rem); }

a { color: var(--link); text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 2px;
}

.site-header, main, .site-footer { max-width: 72ch; margin: 0 auto; padding-left: 1.25rem; padding-right: 1.25rem; }
.site-header {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 0.5rem 1.5rem; padding-top: 1.25rem; padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--rule);
}
.wordmark { font-weight: 800; font-size: 1.25rem; letter-spacing: -0.02em; text-decoration: none; }
.site-nav ul { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.site-nav a { text-decoration: none; font-weight: 600; font-size: 0.95rem; padding: 0.25rem 0; display: inline-block; }
.site-nav a:hover, .site-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }

.machine-line { margin: 0 0 1.25rem; text-align: right; font-size: 0.85rem; }
.machine-line a { text-decoration: none; }
code, pre { font-family: var(--mono); font-size: 0.9em; }
code { background: var(--code-bg); padding: 0.1em 0.35em; border-radius: 3px; }
pre {
  background: var(--code-bg); border: 1px solid var(--rule); border-radius: 4px;
  padding: 0.9rem 1rem; overflow-x: auto; white-space: pre; line-height: 1.5; margin: 0.5rem 0 1.25rem;
}
pre code { background: none; padding: 0; font-size: 1em; }

main { padding-top: 2.25rem; padding-bottom: 3rem; }
h1 { font-size: clamp(2.2rem, 7vw, 3.75rem); line-height: 1.04; letter-spacing: -0.035em; font-weight: 800; margin: 0 0 0.9rem; }
h2 { font-size: 1.4rem; line-height: 1.2; letter-spacing: -0.02em; font-weight: 750; margin: 2.25rem 0 0.75rem; }
p { margin: 0 0 1rem; }
.lead { font-size: clamp(1.2rem, 3vw, 1.5rem); line-height: 1.4; font-weight: 500; letter-spacing: -0.01em; max-width: 36ch; margin-bottom: 1.5rem; }
.label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 1.25rem 0 0.25rem; }

.actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.5rem 0; }
.btn {
  display: inline-block; min-height: 2.75rem; padding: 0.6rem 1.15rem; border: 2px solid var(--text);
  background: var(--text); color: var(--surface); font-weight: 700; text-decoration: none; border-radius: 4px; font-size: 1rem;
}
.btn.secondary { background: transparent; color: var(--text); }
.btn:hover { text-decoration: underline; }

.state-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.state-row { padding: 0.9rem 0; border-bottom: 1px solid var(--rule); display: grid; grid-template-columns: 1fr; gap: 0.35rem; align-items: start; }
.state-name { font-weight: 750; }
.state-chip {
  display: inline-block; justify-self: start; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  border: 1.5px solid var(--text); border-radius: 999px; padding: 0.05rem 0.6rem;
}
.state-chip[data-state-value="candidate"] { background: var(--banner-bg); color: var(--banner-text); }
.state-detail { margin: 0; }
@media (min-width: 40rem) {
  .state-row { grid-template-columns: 8rem 1fr; column-gap: 1rem; }
  .state-name { grid-column: 1; grid-row: 1 / span 2; }
  .state-chip { grid-column: 2; grid-row: 1; }
  .state-detail { grid-column: 2; grid-row: 2; }
}

.sections { list-style: none; margin: 0; padding: 0; counter-reset: sec; }
.sections li { counter-increment: sec; border-bottom: 1px solid var(--rule); }
.sections a { display: block; padding: 0.55rem 0; text-decoration: none; font-weight: 650; }
.sections a::before { content: counter(sec) ". "; color: var(--muted); font-variant-numeric: tabular-nums; }
.sections a:hover { text-decoration: underline; }

.directions { list-style: none; margin: 0 0 1rem; padding: 0; border-top: 2px solid var(--text); }
.directions li { padding: 0.8rem 0; border-bottom: 1px solid var(--rule); margin: 0; }
.pager { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--rule); font-weight: 650; }
.disclosure { margin-top: 2.25rem; padding-top: 1rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.95rem; }
.disclosure p { margin: 0 0 0.35rem; }

.site-footer { border-top: 2px solid var(--text); padding-top: 1rem; padding-bottom: 2.5rem; display: flex; flex-wrap: wrap; gap: 0.35rem 1.5rem; font-size: 0.9rem; color: var(--muted); }
.site-footer span, .site-footer a { color: var(--muted); }
.site-footer a { text-decoration: underline; }
.site-footer-wrap { border-top: 0; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media print { body { padding-top: 0; } }
