*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { color-scheme: dark; -webkit-text-size-adjust: 100%; }

body {
  min-height: 100dvh;
  background: var(--bg);
  color: var(--text);
  font: 400 1.125rem/1.45 var(--font-main);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; }

:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; }
::selection { background: var(--red); color: #000; }

[hidden] { display: none !important; }
html.menu-open { overflow: hidden; }
code { padding: .1em .35em; background: var(--panel); color: var(--text); font-size: .9em; }
