:root {
  color-scheme: dark;
  --bg: #080a09;
  --ink: #e8e6df;
  --muted: #9b9d97;
  --rule: #343733;
  --signal: #d8ff00;
  --sans: 'Helvetica Neue', 'Noto Sans CJK SC', 'Noto Sans CJK JP', Arial, sans-serif;
  --mono: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.65 var(--sans); }
a { color: var(--signal); text-underline-offset: 5px; }
a:focus-visible { outline: 1px solid var(--signal); outline-offset: 4px; }
.location-page { max-width: 880px; margin: 32px auto; padding: 0 32px; }
header, footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--rule); font: 12px var(--mono); }
header a, footer a { display: inline-flex; align-items: center; min-height: 48px; }
header span, p, dt, small { color: var(--muted); }
h1 { margin: 48px 0 16px; font-size: clamp(2.15rem, 3vw, 3.4rem); line-height: 1.2; }
dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 32px 0 20px; border-top: 1px solid var(--rule); }
dl > div { min-width: 0; padding: 24px 0; border-bottom: 1px solid var(--rule); }
dt { font-size: 13px; }
dt span { margin-left: 8px; font-family: var(--mono); }
dd { margin: 10px 0 0; font: clamp(1.25rem, 2.3vw, 2rem)/1.5 var(--mono); overflow-wrap: anywhere; }
.wide { grid-column: 1 / -1; }
.timestamp, .generated { font: 13px/1.7 var(--mono); }
small { display: block; margin-top: 4px; font-size: 12px; }
.note { font-size: 14px; }
.generated { margin: 32px 0; overflow-wrap: anywhere; }
footer { border-top: 1px solid var(--rule); border-bottom: 0; }
@media (max-width: 600px) {
  .location-page { margin: 12px auto; padding: 0 20px; }
  h1 { margin-top: 32px; }
  dl { grid-template-columns: 1fr; }
  dl > div { padding: 18px 0; }
  footer { flex-wrap: wrap; gap: 0 16px; }
}
