:root {
  --bg: #14121f;
  --card: #1e1a2e;
  --ink: #f2eefc;
  --muted: #a89fc4;
  --accent: #ff5b8a;
  --accent2: #8f6cff;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font: 16px/1.6 "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--ink);
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.top {
  display: flex; align-items: center; gap: 24px;
  padding: 14px 28px;
  background: rgba(20,18,31,.92);
  border-bottom: 1px solid #2c2742;
  position: sticky; top: 0; z-index: 5;
}
.logo { font-weight: 700; font-size: 20px; color: var(--ink); }
.lg-heart { color: var(--accent); }
.top nav { display: flex; gap: 18px; }
.top nav a { color: var(--muted); }
.top nav a:hover { color: var(--ink); }
.online { margin-left: auto; font-size: 13px; color: var(--muted); }
.online::before { content: "● "; color: #43d17c; }

.hero { text-align: center; padding: 84px 20px 60px; }
.hero h1 { font-size: clamp(30px, 5vw, 52px); margin: 0 0 14px; }
.hero .sub { color: var(--muted); font-size: 19px; margin: 0 0 30px; }
.cta {
  display: inline-block; background: linear-gradient(90deg, var(--accent), var(--accent2));
  color: #fff; font-weight: 600; padding: 14px 38px; border-radius: 999px;
  box-shadow: 0 8px 30px rgba(255,91,138,.35);
}
.cta:hover { text-decoration: none; filter: brightness(1.08); }
.hero-note { margin-top: 18px; color: var(--muted); font-size: 13px; }

.features {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px; padding: 20px 28px 48px; max-width: 1080px; margin: 0 auto;
}
.card { background: var(--card); border: 1px solid #2c2742; border-radius: 14px; padding: 22px; }
.card h3 { margin: 0 0 8px; }

.pricing { padding: 30px 28px 60px; text-align: center; }
.pricing h2 { margin-bottom: 26px; }
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; max-width: 980px; margin: 0 auto; }
.plan { background: var(--card); border: 1px solid #2c2742; border-radius: 14px; padding: 24px; text-align: left; }
.plan-hot { border-color: var(--accent); box-shadow: 0 0 24px rgba(255,91,138,.25); }
.plan .price { font-size: 26px; font-weight: 700; color: var(--accent); margin: 6px 0 12px; }
.plan ul { padding-left: 18px; color: var(--muted); }

.page { max-width: 860px; margin: 0 auto; padding: 40px 20px 60px; }
.page h1 { margin-top: 0; }
.page h2 { margin-top: 34px; }
.page code, pre {
  background: #0e0c17; border: 1px solid #2c2742; border-radius: 6px;
}
code { padding: 1px 6px; font-size: 14px; }
pre { padding: 14px 16px; overflow-x: auto; font-size: 13px; line-height: 1.5; }
details { background: var(--card); border: 1px solid #2c2742; border-radius: 10px; padding: 14px 18px; margin: 10px 0; }
summary { cursor: pointer; font-weight: 600; }

.postlist { list-style: none; padding: 0; }
.postlist li { padding: 16px 0; border-bottom: 1px solid #2c2742; }
.postlist time { color: var(--muted); font-size: 13px; }

footer { border-top: 1px solid #2c2742; padding: 26px 28px; text-align: center; color: var(--muted); }
footer .fine { font-size: 12px; }
