@charset "utf-8";
@-ms-viewport {
  width: device-width;
}
@-o-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}

/* Reset annoying things */

* {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  border-color: currentcolor;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input,
button {
  border-radius: 0;
  background: none;
}

/* Typography */

html {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-display: optional;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol";
  font-size: 150%;
}

body {
  font-size: 0.666666667rem;
  line-height: 1rem;
}

code {
  font-family: Menlo, Monaco, "Courier New", Courier, monospace, monospace;
  vertical-align: bottom; /* fixes 1px extra line-height */
}

sub,
sup {
  font-size: 0.75em;
  line-height: 1em;
}
sub {
  vertical-align: bottom;
}
sup {
  vertical-align: top;
}

ol,
ul {
  padding-left: 1rem;
}

/* Misc element fixes */

a {
  background-color: transparent;
}

img {
  max-width: 100%;
}

/* Buttons and forms */

input,
textarea {
  padding: 0.25rem 0.375rem;
  border: 1px solid currentcolor;
}

input,
button,
textarea,
select {
  max-width: 100%;
}

input[type="color"] {
  padding: initial;
  border: initial;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  white-space: normal;
  padding: 0;
  border: none;
}

::-webkit-input-placeholder {
  opacity: 0.618;
  color: inherit;
}

::-moz-placeholder {
  opacity: 0.618;
  color: inherit;
}

:-ms-input-placeholder {
  opacity: 0.618;
  color: inherit;
}

::-ms-input-placeholder {
  opacity: 0.618;
  color: inherit;
}

::placeholder {
  opacity: 0.618;
  color: inherit;
}

:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  resize: vertical;
  display: block;
}

/* Remove touch input lag from tappable things */

a,
button,
input,
textarea,
select,
label {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

/* https://mobile.twitter.com/LeaVerou/status/1045768279753666562 */

:focus:not(:focus-visible) {
  outline: none;
}

/* Really hide hidden things */

[hidden] {
  display: none !important;
}

/* Nice default link styling */

a,
.link {
  text-decoration: underline;
}

a:active,
.link:active {
  -webkit-text-decoration-style: double;
  text-decoration-style: double;
}
