a.btn {
  font: inherit; color: inherit; background: var(--paper);
  border: 1.5px solid var(--ink); padding: 4px 10px;
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px;
  text-decoration: none; display: inline-block;
}
a.btn:hover { background: var(--ink); color: var(--paper); }

#canvas { width: 100%; height: 100%; display: block; }
.axis-line { stroke: var(--ink); stroke-width: 1.2; fill: none; }
.axis-label { font-size: 10px; letter-spacing: 0.08em; fill: var(--ink-faint);
  text-transform: uppercase; }
.grid-line { stroke: var(--ink); stroke-width: 0.4; opacity: 0.18; }
.dot { stroke: var(--ink); stroke-width: 1.4; fill: var(--paper-hi); cursor: pointer; }
.dot.hunt { fill: var(--ink); }
.dot.selected { stroke-width: 2.4; }
.dot-label { font-size: 9px; fill: var(--ink-soft); pointer-events: none; }
.quad-note { font-size: 10px; letter-spacing: 0.1em; fill: var(--ink-faint);
  text-transform: uppercase; }
#rail .rail-item .meta { font-size: 9px; color: var(--ink-faint); margin-left: auto; }
.panel-kicker { font-size: 9px; letter-spacing: 0.16em; color: var(--ink-faint);
  padding: 12px 14px 0; text-transform: uppercase; }
.panel-title { font-size: 16px; font-weight: 700; padding: 4px 14px 0; }
.panel-one { font-size: 12px; padding: 8px 14px 12px; line-height: 1.45; }
.panel-dl { padding: 0 14px 14px; font-size: 11px; }
.panel-dl div { display: flex; justify-content: space-between; gap: 12px;
  border-top: 1px solid var(--ink); padding: 5px 0; }
.panel-dl dt { color: var(--ink-faint); letter-spacing: 0.08em; text-transform: uppercase; font-size: 9px; }
.chiprow { padding: 0 14px 12px; display: flex; flex-wrap: wrap; gap: 4px; }
.chip { border: 1px solid var(--ink); padding: 2px 6px; font-size: 10px; }
.repo { margin: 0 14px 8px; border: 1.5px solid var(--ink); padding: 8px; background: var(--paper-hi); }
.repo .n { font-size: 11px; font-weight: 700; }
.repo .t { font-size: 10px; color: var(--ink-soft); margin-top: 4px; }
.empty { padding: 18px; font-size: 12px; line-height: 1.5; }
