/* WVA v2 theme. Reference-document direction: System Digital, cooler near-white,
   calm title, tighter uniform scale, neutral borders, status as quiet chips.
   Shared by the /wva/ archive index and every /wva/<site>/ report page. */
:root{
  --bg:#fcfcfb; --text:#1b1b1f; --muted:#55555c; --faint:#6e6e77;
  --label:#6a6a72; --border:#e6e6e8; --surface:#ffffff; --rule:#eeeef0; --ul:#9a9aa0;
  /* faint darkened from #7a7a80 to clear WCAG AA 4.5:1 for small secondary text */
}
*{ box-sizing:border-box; }
html{ background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body{ margin:0; }
main,header,footer{ width:min(100% - 40px,1000px); margin:0 auto; }
header{ padding:44px 0 20px; }
footer{ padding:32px 0 56px; margin-top:8px; border-top:1px solid var(--border);
  color:var(--faint); font-size:12px; }
a{ color:inherit; text-decoration-color:var(--ul); text-decoration-thickness:1px; text-underline-offset:2px; }
a:hover{ text-decoration-color:var(--text); }
.kicker{ margin:0 0 12px; color:var(--faint); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3,p{ margin-top:0; }
h1{ max-width:640px; margin-bottom:14px; font-size:clamp(26px,4vw,46px); font-weight:560; letter-spacing:-.028em; line-height:1.02; }
h2{ margin:38px 0 12px; font-size:17px; font-weight:600; letter-spacing:-.006em; line-height:1.2; }
h3{ margin:20px 0 6px; font-size:14px; font-weight:640; }
.lede{ max-width:50ch; margin-bottom:0; color:var(--muted); font-size:16px; line-height:1.5; }
.deck{ max-width:64ch; color:var(--muted); font-size:15.5px; }
.grid{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:20px; align-items:start; }
.panel,.record,.callout{ border:1px solid var(--border); background:var(--surface); }
.panel{ padding:18px; }
.panel h2:first-child,.panel h3:first-child{ margin-top:0; }
.meta{ display:grid; gap:8px; margin:0; }
.meta div{ display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; padding-top:8px; border-top:1px solid var(--rule); }
.meta dt{ color:var(--label); font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.meta dd{ margin:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.records{ display:grid; gap:8px; margin:16px 0 0; }
.record{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:13px 16px; align-items:start; }
.record h3{ margin:0 0 4px; font-size:16px; }
.record p{ margin:0; color:var(--muted); }
.status{ color:var(--muted); font-size:11px; letter-spacing:.02em; text-transform:uppercase; white-space:nowrap; border:1px solid var(--border); padding:2px 7px; font-variant-numeric:tabular-nums; }
.record-links{ color:var(--faint); }
.record-boundary{ display:block; margin-top:5px; color:var(--faint); font-size:12px; }
.columns{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.columns p{ max-width:62ch; }
.list{ padding-left:1.2em; max-width:68ch; }
.list li{ margin:6px 0; }
.route-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 18px; padding:0; list-style:none; font-variant-numeric:tabular-nums; }
.route-list li{ border-top:1px solid var(--rule); padding-top:6px; }
code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12.5px; }
/* Mirror viewer (shared component; behavior in /wva/viewer.js) */
.viewer{ --viewer-canvas:#fff; border:1px solid var(--border); background:var(--surface); }
.viewer[data-viewer-canvas="light"]{ --viewer-canvas:#fff; }
.viewer[data-viewer-canvas="dark"]{ --viewer-canvas:#151515; }
.viewer[data-viewer-canvas="source"]{ --viewer-canvas:transparent; }
.viewer-bar{ display:flex; align-items:center; gap:6px; padding:8px 10px; border-bottom:1px solid var(--border); background:#fbfbfc; }
.viewer-bar button{ font:inherit; font-size:13px; line-height:1; padding:6px 10px; border:1px solid #d9d9de; background:#fff; color:var(--text); border-radius:4px; cursor:pointer; }
.viewer-bar button:disabled{ opacity:.38; cursor:default; }
.viewer-bar button:hover:not(:disabled){ border-color:var(--text); }
.v-addr{ flex:1; min-width:0; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px; color:var(--muted); background:#fff; border:1px solid #ececef; border-radius:4px; padding:6px 9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v-frame{ display:block; width:100%; height:520px; border:0; background:var(--viewer-canvas,#fff); }
.viewer-status{ padding:6px 10px; border-top:1px solid var(--rule); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--faint); }
.callout{ margin:20px 0; padding:16px; color:#3a3a40; }
.note{ color:var(--faint); font-size:12px; }
hr{ margin:36px 0; border:0; border-top:1px solid var(--border); }
@media (max-width:760px){
  main,header,footer{ width:min(100% - 28px,1000px); }
  header{ padding-top:32px; }
  .grid,.columns,.route-list,.record{ grid-template-columns:1fr; }
  .meta div{ grid-template-columns:1fr; gap:2px; }
  .status{ white-space:normal; }
  .route-list li{ padding-top:10px; padding-bottom:10px; }
  .route-list a{ display:block; }
  .v-frame{ height:60vh; }
}
