:root {
  color-scheme: dark;
  --background: #101416;
  --text: #f5f3ed;
  --muted: #a5ada9;
  --line: rgba(245, 243, 237, .18);
  --accent: #c8ff7b;
}

* { box-sizing: border-box; }

body {
  min-height: 100svh;
  margin: 0;
  background:
    radial-gradient(circle at 50% 42%, rgba(113, 155, 84, .16), transparent 30rem),
    var(--background);
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.page {
  min-height: 100svh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2.75rem;
  padding: 2rem;
  text-align: center;
}

.hello { animation: arrive 700ms ease-out both; }

.identity {
  margin: 0 0 1.25rem;
  color: var(--accent);
  font-size: .72rem;
  letter-spacing: .06em;
}

h1 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.75rem, 13vw, 9.5rem);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .9;
}

.subtitle { margin: 1.5rem 0 0; color: var(--muted); font-size: .92rem; }

.webring { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 1.5rem; }

.webring-label { color: var(--text); font-size: .75rem; }

.webring a {
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .75rem;
  padding-bottom: .25rem;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease;
}

.webring a:hover, .webring a:focus-visible { border-color: var(--accent); color: var(--text); }

@keyframes arrive {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) { .hello { animation: none; } }
