:root {
  --ink: #0d1b36;
  --muted: #64748b;
  --line: #dce3ec;
  --blue: #2f62ff;
  --navy: #0d1b46;
  --mist: #eef5ff;
  --surface: #f7f9fc;
  font-family: Inter, "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: #fff;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: #fff; color: var(--ink); }
body, button, input { font: inherit; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, summary { cursor: pointer; }
h1, h2, h3, p { margin: 0; }
ul, ol { margin: 0; padding: 0; }

:focus-visible { outline: 3px solid rgba(47, 98, 255, .35); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 999; left: 12px; top: 12px; transform: translateY(-140%); padding: 10px 14px; border-radius: 8px; color: #fff; background: #0d1b46; }
.skip-link:focus { transform: translateY(0); }
.empty-state { width: 100%; padding: 36px; border: 1px dashed var(--line); border-radius: 18px; color: var(--muted); text-align: center; }
