:root {
  color-scheme: light dark;
  --bg: #f6f1e7;
  --ink: #1d1a16;
  --muted: #5f574c;
  --accent: #b45309;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #14120f;
    --ink: #f4eee2;
    --muted: #aaa193;
    --accent: #f0a33a;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
}

body {
  background: var(--bg);
  color: var(--ink);
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.page {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(16px, 4vw, 56px);
  gap: clamp(16px, 3vw, 32px);
}

.page-short {
  grid-template-rows: 1fr;
  align-items: end;
}

.planet {
  align-self: center;
  justify-self: end;
  width: min(100%, 62vh, 620px);
  height: auto;
}

.planet .body,
.planet .moon {
  fill: var(--accent);
}

.planet .moon {
  stroke: var(--bg);
  stroke-width: 5;
}

.planet .ring,
.planet .ring-gap {
  fill: none;
  stroke-linecap: round;
}

.planet .ring {
  stroke: var(--ink);
  stroke-width: 5;
}

.planet .ring-gap {
  stroke: var(--bg);
  stroke-width: 17;
}

h1 {
  font-size: clamp(2.25rem, 12vw, 7.5rem);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 1;
}

.num {
  color: var(--accent);
}

.copy p {
  margin-top: 0.9em;
  color: var(--muted);
  font-size: clamp(1.0625rem, 2vw, 1.375rem);
  line-height: 1.4;
}

a {
  color: var(--accent);
  text-underline-offset: 0.18em;
}
