:root {
  --bg: #0f1115;
  --surface: #171a21;
  --border: #2a2f3a;
  --text: #e6e6e6;
  --text-muted: #9aa0a6;
  --primary: #2c4a6b;
  --primary-bright: #6b8fb5;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(44, 74, 107, 0.12), transparent 60%),
    var(--bg);
  color: var(--text);
  font-family: "Nunito Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}
main {
  width: min(760px, calc(100vw - 48px));
  margin: 0 auto;
  padding: 48px 0 72px;
}
a { color: var(--primary-bright); }
.brand {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 8px;
}
.brand a { text-decoration: none; color: inherit; font-weight: 800; font-size: 20px; letter-spacing: -0.02em; }
.brand .lang { margin-left: auto; font-size: 13px; }
.brand .lang a { color: var(--text-muted); text-decoration: none; }
.brand .lang a:hover { color: var(--primary-bright); }
h1 {
  margin: 0 0 6px;
  font-size: clamp(30px, 5vw, 38px);
  font-weight: 800;
  letter-spacing: -0.03em;
}
.updated { color: var(--text-muted); font-size: 13px; margin: 0 0 32px; }
h2 {
  margin: 36px 0 10px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
p, li { color: var(--text); font-size: 15px; }
ul { padding-left: 22px; }
li { margin: 4px 0; }
.note {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 14px;
  color: var(--text-muted);
}
footer {
  margin-top: 56px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 12px;
}
footer a { color: var(--primary-bright); text-decoration: none; }
footer a:hover { text-decoration: underline; }
