:root {
  color-scheme: light dark;
  --bg: #f4f1ea;
  --ink: #1c1b19;
  --muted: #4a524f;
  --card: #fffcf8;
  --line: #d7e0db;
  --accent: #1f4b45;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #111413;
    --ink: #e6e2d9;
    --muted: #c5cec9;
    --card: #1b211f;
    --line: #2f4a45;
    --accent: #9ad4c9;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.5;
}

.wrap {
  width: min(880px, calc(100% - 32px));
  margin-inline: auto;
}

header { padding-top: 48px; }

.mark {
  margin: 0;
  color: var(--accent);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
}

h1 {
  margin: 8px 0 12px;
  font-size: clamp(2.2rem, 6vw, 3.4rem);
  line-height: 1.05;
  font-weight: 650;
}

.lead {
  max-width: 38rem;
  margin: 0;
  color: var(--muted);
  font-size: 1.125rem;
}

.apps {
  list-style: none;
  margin: 36px 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

@media (min-width: 720px) {
  .apps { grid-template-columns: 1fr 1fr; }
}

.apps li {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px 18px 16px;
}

h2 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.apps p { margin: 0; }

.state {
  margin-top: 14px;
  color: var(--accent);
  font-size: 0.92rem;
}

footer {
  padding-bottom: 48px;
  color: var(--muted);
}
