:root {
  --bg-top: #14123a; --bg-mid: #241c5c; --bg-low: #412a68; --bg-end: #6a3f68;
  --ink: #f1eefb; --muted: #b3add6; --accent: #8e7cf8; --sun: #ffbe84;
  --panel: rgba(255,255,255,.06); --line: rgba(255,255,255,.12);
}
@media (prefers-color-scheme: light) {
  :root {
    --bg-top: #e7e3fb; --bg-mid: #f1ebfa; --bg-low: #fbe9ea; --bg-end: #ffdcc8;
    --ink: #1d1840; --muted: #625c88; --accent: #6650c4;
    --panel: rgba(255,255,255,.65); --line: rgba(38,42,116,.12);
  }
}
* { box-sizing: border-box; }
html { min-height: 100%; background: linear-gradient(180deg, var(--bg-top), var(--bg-mid) 45%, var(--bg-low) 80%, var(--bg-end)); background-attachment: fixed; }
body { margin: 0; color: var(--ink); font: 17px/1.6 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif; }
main { max-width: 760px; margin: 0 auto; padding: 48px 20px 80px; }
header { display: flex; align-items: center; gap: 14px; margin-bottom: 36px; }
header img { width: 56px; height: 56px; border-radius: 13px; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
header a { color: var(--ink); text-decoration: none; font-weight: 700; font-size: 22px; }
nav { margin-left: auto; display: flex; gap: 18px; font-size: 15px; }
nav a { color: var(--muted); text-decoration: none; }
nav a:hover { color: var(--ink); }
h1 { font-size: 40px; line-height: 1.15; letter-spacing: -.02em; margin: 0 0 14px; }
h2 { font-size: 22px; margin: 34px 0 8px; }
p, li { color: var(--muted); }
strong { color: var(--ink); }
a { color: var(--accent); }
.lead { font-size: 20px; color: var(--ink); opacity: .9; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 22px; padding: 22px 24px; margin: 18px 0; backdrop-filter: blur(8px); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin-top: 26px; }
.grid .card { margin: 0; }
.grid h3 { margin: 0 0 6px; font-size: 17px; color: var(--ink); }
.grid p { margin: 0; font-size: 15px; }
.button { display: inline-block; background: var(--accent); color: #fff; padding: 12px 22px; border-radius: 999px; text-decoration: none; font-weight: 600; margin-top: 10px; }
footer { margin-top: 56px; font-size: 13px; color: var(--muted); }
.small { font-size: 14px; }
@media (max-width: 520px) { h1 { font-size: 32px; } nav { display: none; } }
