@font-face { font-family: "Overpass"; font-weight: 400; font-display: swap; src: url(/fonts/overpass-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00B6, U+00B8-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Overpass"; font-weight: 600; font-display: swap; src: url(/fonts/overpass-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00B6, U+00B8-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Overpass"; font-weight: 700; font-display: swap; src: url(/fonts/overpass-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00B6, U+00B8-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Overpass"; font-weight: 800; font-display: swap; src: url(/fonts/overpass-latin-800-normal.woff2) format("woff2"); unicode-range: U+0000-00B6, U+00B8-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Overpass"; font-weight: 400; font-display: swap; src: url(/fonts/overpass-latin-ext-400-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Overpass"; font-weight: 600; font-display: swap; src: url(/fonts/overpass-latin-ext-600-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Overpass"; font-weight: 700; font-display: swap; src: url(/fonts/overpass-latin-ext-700-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Overpass"; font-weight: 800; font-display: swap; src: url(/fonts/overpass-latin-ext-800-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Overpass"; font-weight: 400 800; src: local("Helvetica Neue"), local("Arial"), local("Liberation Sans"), local("DejaVu Sans"); unicode-range: U+00B7; }

:root {
  --hn-sans: "Overpass", system-ui, -apple-system, "Segoe UI", sans-serif;
  --hn-ground: var(--ground);
  --hn-sheet: var(--sheet);
  --hn-raised: var(--raised);
  --hn-ink: var(--ink);
  --hn-ink-2: var(--ink-2);
  --hn-ink-3: var(--ink-3);
  --hn-rule: var(--rule);
  --hn-fibre: var(--fibre);
  --hn-on-fibre: var(--on-fibre);
  --hn-crew: var(--crew);
  --hn-on-crew: var(--on-crew);
  --hn-fault: var(--fault);
  --hn-on-fault: var(--on-fault);
  --hn-weak: var(--weak);
  --hn-focus: var(--focus);
  --hn-brand: var(--fibre);
  --hn-on-ink: #FFFFFF;
  --hn-key: var(--ink);
  --hn-on-key: #FFFFFF;
  --hn-slab: rgba(0,0,0,0.3);
  --lp-sans: var(--hn-sans);
  --lp-bg: var(--ground);
  --lp-fg: var(--ink);
  --lp-accent: var(--fibre);
  --lp-accent-14: color-mix(in srgb, var(--fibre) 14%, transparent);
  --lp-accent-28: color-mix(in srgb, var(--fibre) 28%, transparent);
}

html.dark {
  --hn-on-ink: #000000;
  --hn-key: #000000;
  --hn-slab: rgba(0,0,0,0.5);
  --lp-bg: #FFFFFF;
  --lp-fg: var(--raised);
}

body { font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--hn-focus); outline-offset: 2px; }

.theme-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: none;
  padding: 0;
  border: 1px solid var(--hn-rule);
  border-radius: 2px;
  background: transparent;
  color: var(--hn-ink-2);
  cursor: pointer;
}
.theme-btn:hover { color: var(--hn-ink); border-color: var(--hn-ink-2); }
.theme-btn svg { width: 17px; height: 17px; display: block; }
.theme-btn .i-sun { display: none; }
html.dark .theme-btn .i-sun { display: block; }
html.dark .theme-btn .i-moon { display: none; }
