:root {
  color-scheme: light;
  --background: #fff;
  --content: #444;
  --muted: #767676;
  --font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  background: var(--background);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}

.page {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
}

h1 {
  position: absolute;
  top: 51.833333svh;
  left: 0;
  width: 100%;
  margin: 0;
  padding-inline: 20px;
  transform: translateY(-50%);
  color: var(--content);
  font-size: clamp(24px, 5.56vw, 40px);
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-wrap: pretty;
}

footer {
  position: absolute;
  inset-inline: 16px;
  bottom: max(24px, env(safe-area-inset-bottom));
  color: var(--muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  text-align: center;
}

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--muted); outline-offset: 5px; }
