
:root {
  --surface: #0F172A;
  --border: #1E293B;
  --fg: #F8FAFC;
  --muted: #64748B;
  --accent: #34D399;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--fg);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
}
a { color: var(--accent); }
main { max-width: 720px; margin: 0 auto; padding: 32px 20px 64px; }

.site-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  max-width: 720px; margin: 0 auto; padding: 20px;
  border-bottom: 1px solid var(--border);
}
.brand {
  display: flex; align-items: center; gap: 10px;
  color: var(--fg); text-decoration: none; font-weight: 600; font-size: 18px;
}
.brand img { border-radius: 8px; }
.site-header nav { display: flex; gap: 16px; font-size: 14px; }

.hero { padding: 24px 0 8px; }
.hero img { border-radius: 22px; margin-bottom: 20px; }
.hero h1 { font-size: 32px; line-height: 1.4; margin: 0 0 12px; }
.hero .lead { font-size: 17px; color: #CBD5E1; margin: 0 0 8px; }

h2 { font-size: 20px; margin: 40px 0 12px; }
section h2:first-child { margin-top: 0; }

.features { display: grid; gap: 16px; padding: 0; list-style: none; margin: 24px 0 0; }
@media (min-width: 620px) { .features { grid-template-columns: 1fr 1fr; } }
.features li {
  border: 1px solid var(--border); border-radius: 14px; padding: 16px 18px;
  background: #131E33;
}
.features b { display: block; margin-bottom: 4px; font-size: 15px; }
.features span { color: #94A3B8; font-size: 14px; }

.domains { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; margin: 16px 0 0; }
.domains li {
  border: 1px solid var(--border); border-radius: 999px;
  padding: 5px 13px; font-size: 13px; color: #CBD5E1;
}

.legal h1 { font-size: 26px; margin: 0 0 8px; }
.legal .updated { color: var(--muted); font-size: 13px; margin: 0 0 24px; }
.legal .intro { color: #CBD5E1; }
.legal section { margin-bottom: 28px; }
.legal p { margin: 0 0 12px; }
.legal ul { margin: 0 0 12px; padding-left: 1.25em; }
.legal li { margin-bottom: 6px; }

.site-footer {
  border-top: 1px solid var(--border);
  max-width: 720px; margin: 0 auto; padding: 24px 20px 48px;
  color: var(--muted); font-size: 13px;
}
.site-footer nav { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
.site-footer p { margin: 0; }
