* {
  letter-spacing: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  text-rendering: optimizeLegibility;
}

.text-brand-100 {
  color: #ccfbf1;
}

.text-brand-700,
.hover\:text-brand-700:hover {
  color: #0f766e;
}

.text-brand-900 {
  color: #134e4a;
}

.bg-brand-50,
.hover\:bg-brand-50:hover {
  background-color: #f0fdfa;
}

.bg-brand-500 {
  background-color: #0f766e;
}

.hover\:bg-brand-600:hover {
  background-color: #115e59;
}

.hover\:bg-brand-700:hover {
  background-color: #134e4a;
}

.border-brand-100 {
  border-color: #ccfbf1;
}

.border-brand-200,
.hover\:border-brand-200:hover {
  border-color: #99f6e4;
}

.hover\:border-brand-300:hover {
  border-color: #5eead4;
}

.hover\:bg-brand-50\/60:hover {
  background-color: rgb(240 253 250 / .6);
}

.focus\:border-brand-500:focus {
  border-color: #0f766e;
}

.focus\:ring-brand-100:focus {
  --tw-ring-color: #ccfbf1;
}

.bg-ember-600 {
  background-color: #c2410c;
}

.hover\:bg-ember-500:hover,
.bg-ember-500 {
  background-color: #9a3412;
}

.shadow-soft {
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

img {
  max-width: 100%;
}

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

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.game-card[hidden] {
  display: none;
}

.prose-game {
  color: #3f3f46;
  line-height: 1.75;
}

.prose-game h2 {
  margin-top: 1.8rem;
  margin-bottom: .75rem;
  color: #09090b;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
}

.prose-game h2:first-child {
  margin-top: 0;
}

.prose-game p {
  margin-top: .85rem;
  font-size: .95rem;
}

.prose-game ul {
  margin-top: .8rem;
  padding-left: 1.25rem;
  list-style: disc;
}

.prose-game li {
  margin-top: .4rem;
  font-size: .95rem;
}

[data-form-result].is-error {
  display: block;
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

[data-form-result].is-info {
  display: block;
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #92400e;
}

[data-form-result].is-success {
  display: block;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

@media (max-width: 380px) {
  .game-card a {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  input,
  select,
  textarea {
    min-height: 44px;
  }

  .prose-game {
    line-height: 1.7;
  }

  .prose-game h2 {
    font-size: 1.125rem;
  }

  .prose-game p,
  .prose-game li {
    font-size: .9375rem;
  }
}
