:root[data-theme="dim"] {
  color-scheme: dark;
  --black: #040e08;
  --surface: #08150c;
  --surface-hover: #0e1e13;
  --border: #303030;
  --text: #f1f1f1;
  --muted: #a3a3a3;
  --accent: #2fe28a;
  --accent-hover: #5eebab;
  --accent-text: #062919;
  --accent-rgb: 47 226 138;
  --danger: #f4212e;
  --favorite: #f91880;
  --chrome: rgb(4 14 8 / 92%);
  --chrome-deep: #00130c;
  --scrim: rgb(4 14 8 / 58%);
  --modal: #08150c;
  --modal-backdrop: rgb(0 0 0 / 72%);
}

:root[data-theme="light"] {
  color-scheme: light;
  --black: #f4f7f5;
  --surface: #ffffff;
  --surface-hover: #e6eee9;
  --border: #d3ddd7;
  --text: #000;
  --muted: #6d6d6d;
  --accent: #2fe28a;
  --accent-hover: #5eebab;
  --accent-text: #062919;
  --accent-rgb: 47 226 138;
  --danger: #d31222;
  --favorite: #e01370;
  --chrome: rgb(244 247 245 / 92%);
  --chrome-deep: #e4eee8;
  --scrim: rgb(16 33 23 / 40%);
  --modal: #ffffff;
  --modal-backdrop: rgb(16 33 23 / 40%);
}

:root,
:root[data-theme="lights-out"] {
  color-scheme: dark;
  --black: #000000;
  --surface: #000000;
  --surface-hover: #161616;
  --border: #2f3336;
  --text: #e7e9ea;
  --muted: #71767b;
  --accent: #2fe28a;
  --accent-hover: #5eebab;
  --accent-text: #062919;
  --accent-rgb: 47 226 138;
  --danger: #f4212e;
  --favorite: #f91880;
  --chrome: rgb(0 0 0 / 92%);
  --chrome-deep: #000000;
  --scrim: rgb(0 0 0 / 72%);
  --modal: #000000;
  --modal-backdrop: rgba(0, 0, 0, 0.5);
}

* {
  box-sizing: border-box;
}

img.emoji {
  width: 1em;
  height: 1em;
  margin: 0 0.05em 0 0.1em;
  vertical-align: -0.1em;
}

button,
input,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
