:root {
  --bg: #0E1230;
  --bg2: #06081A;
  --card: #1F2555;
  --ink: #F4F5FF;
  --sub: #A9B0E0;
  --accent: #FF8A4C;
  --accent2: #FFD166;
  --good: #5CE1A6;
  --lock: #8EA0FF;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: radial-gradient(ellipse at top, #1A2050, var(--bg2)) fixed;
  color: var(--ink);
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  line-height: 1.8;
}
main { max-width: 720px; margin: 0 auto; padding: 32px 20px 64px; }
header.hero { text-align: center; padding: 40px 0 8px; }
.hero img.icon {
  width: 120px; height: 120px; border-radius: 27px;
  box-shadow: 0 8px 40px rgba(255, 138, 76, .25);
}
h1 {
  font-size: 2.2rem; margin-top: 18px;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero .en { color: var(--sub); font-size: .95rem; letter-spacing: .12em; }
.hero .tagline { margin-top: 14px; color: var(--ink); font-size: 1.05rem; }
h2 {
  font-size: 1.25rem; margin: 48px 0 16px;
  padding-left: 12px; border-left: 4px solid var(--accent);
}
h3 { font-size: 1.02rem; margin: 22px 0 8px; color: var(--accent2); }
p, li { color: var(--sub); font-size: .95rem; }
strong { color: var(--ink); }
.card {
  background: rgba(31, 37, 85, .65); border: 1px solid #2C3468;
  border-radius: 16px; padding: 20px 22px; margin-bottom: 14px;
}
.step { display: flex; gap: 16px; align-items: flex-start; }
.step .num {
  flex: none; width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; color: #141028;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
}
ul { padding-left: 1.3em; }
li { margin-bottom: .4em; }
a { color: var(--lock); }
.privacy-badge {
  display: inline-block; margin-top: 6px; padding: 4px 14px;
  border-radius: 999px; background: rgba(142, 160, 255, .12);
  color: var(--lock); font-size: .82rem;
}
footer {
  margin-top: 56px; padding-top: 20px; border-top: 1px solid #2C3468;
  color: var(--sub); font-size: .85rem; text-align: center;
}
footer a { margin: 0 10px; }
.small { font-size: .82rem; color: var(--sub); }
