:root {
  --bg: #0a0a0a;
  --fg: #e8e8e8;
  --dim: #888;
  --accent: #c9c9c9;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --mono: ui-monospace, "Cascadia Code", Consolas, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html, body { overflow: hidden; }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--sans);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.25rem;
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.blob {
  position: absolute;
  width: 70vmax;
  height: 70vmax;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.55;
  mix-blend-mode: screen;
  will-change: transform;
}
.blob.a {
  background: radial-gradient(circle, rgba(60, 50, 140, 0.9) 0%, rgba(60, 50, 140, 0) 60%);
  top: -25vmax;
  left: -20vmax;
  animation: drift-a 38s ease-in-out infinite alternate;
}
.blob.b {
  background: radial-gradient(circle, rgba(30, 90, 110, 0.85) 0%, rgba(30, 90, 110, 0) 60%);
  bottom: -30vmax;
  right: -25vmax;
  animation: drift-b 46s ease-in-out infinite alternate;
}
.blob.c {
  background: radial-gradient(circle, rgba(110, 40, 80, 0.7) 0%, rgba(110, 40, 80, 0) 60%);
  top: 20vmax;
  left: 30vmax;
  width: 55vmax;
  height: 55vmax;
  animation: drift-c 54s ease-in-out infinite alternate;
}
@keyframes drift-a {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(15vmax, 10vmax) scale(1.15); }
}
@keyframes drift-b {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-18vmax, -8vmax) scale(1.1); }
}
@keyframes drift-c {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-12vmax, 14vmax) scale(0.9); }
}
@media (prefers-reduced-motion: reduce) {
  .blob { animation: none; }
}
main {
  max-width: 620px;
  width: 100%;
  text-align: center;
}
h1 {
  font-weight: 300;
  font-size: clamp(3rem, 12vw, 7.5rem);
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem;
  line-height: 1;
}
h1 .pos {
  font-family: var(--mono);
  font-weight: 400;
  font-size: clamp(0.9rem, 2vw, 1.1rem);
  color: var(--dim);
  margin-left: 0.5em;
  vertical-align: middle;
  letter-spacing: 0;
}
.def {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  line-height: 1.6;
  color: var(--accent);
  max-width: 560px;
  margin: 0 auto 1rem;
}
.plural {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  color: var(--dim);
  margin: 0;
}
.plural .pos {
  font-family: var(--mono);
  font-style: normal;
  font-size: 0.85em;
  margin-right: 0.35em;
}
.plural .word {
  color: var(--fg);
  text-decoration: underline;
  text-decoration-color: var(--dim);
  text-underline-offset: 3px;
}
footer {
  position: fixed;
  bottom: 1.25rem;
  left: 0;
  right: 0;
  text-align: center;
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--dim);
  letter-spacing: 0.05em;
}
