:root {
  --color-dark: #333;
  --color-light: white;
  --color-incorrect: #d51b1b;
  --color-primary: #333;
  --size-step-0: clamp(1rem, calc(0.96rem + 0.22vw), 1.13rem);
  --size-step-1: clamp(1.25rem, calc(1.16rem + 0.43vw), 1.5rem);
  --size-step-2: clamp(1.56rem, calc(1.41rem + 0.76vw), 2rem);
  --size-step-3: clamp(1.95rem, calc(1.71rem + 1.24vw), 2.66rem);
  --size-step-4: clamp(2.44rem, calc(2.05rem + 1.93vw), 3.55rem);
}
* {
  margin: 0;
  padding: 0;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
ul, ol {
  list-style: none;
}
html:focus-within {
  scroll-behavior: smooth;
}
body {
  background: var(--color-light);
  color: var(--color-dark);
  padding: 2em;
  font-family: Georgia, serif;
  font-size: var(--size-step-0);
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}
img,
picture {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
input,
button,
textarea,
select {
  font: inherit;
}
a {
  color: currentColor;
  -webkit-text-decoration-color: var(--color-primary);
          text-decoration-color: var(--color-primary);
  text-decoration-thickness: 0.3ex;
  text-underline-offset: 0.3ex;
}
h1,
h2,
h3 {
  font-family: Tahoma, sans-serif;;
  font-weight: 800;
  line-height: 1.1;
}
h1 {
  font-size: var(--size-step-4);
}
h2 {
  font-size: var(--size-step-3);
}
h2.huge {
  font-size: 17vw;
  text-wrap: nowrap;
}
h3 {
  font-size: var(--size-step-2);
  margin-top: var(--size-step-2);
}
h3.incorrect {
  color: var(--color-incorrect);
}
blockquote {
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  -webkit-border-start: 0.3em solid;
          border-inline-start: 0.3em solid;
  font-style: italic;
  font-size: var(--size-step-1);
}
nav a {
  margin-right: 1em;
}
ul a {
  display: inline-block;
  margin-top: .5em;
}
header {
  margin-bottom: 1.5em;
}
footer {
  margin-top: 1.5em;
}

button {
  padding: 0.5rem 1rem;
  font-family: inherit;
  font-weight: bold;
  text-transform: uppercase;
  background: var(--color-primary);
  color: var(--color-light);
  border: 3px solid #000;
  cursor: pointer;
  transition: all 0.2s;
}

button:hover {
  background: #fff;
  color: #000;
}

nav {
  margin-top: .5rem;
}

nav ul li {
  display: inline;
}

main .list_title {
  margin-bottom: 2rem;
}

main article {
  margin-bottom: 2rem;
}

article p{
  margin-bottom: 1rem;
}

@view-transition {
  navigation: auto;
}

@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

::view-transition-old(root) {
  animation: fade-out .5s ease-out;
}

::view-transition-new(root) {
  animation: fade-in .5s ease-in;
}

