:root { --bg:#0b1220; --card:rgba(255,255,255,.06); --line:rgba(255,255,255,.10); --txt:#f3f6fb; --txt2:#dbe3f0; --mut:#93a0b8; --acc:#22d3a0; --acc2:#38bdf8; --warn:#fbbf24; --r:16px; color-scheme: dark; }
@media (prefers-color-scheme: light) { :root:not([data-theme]) { --bg:#f2f5fa; --card:rgba(255,255,255,.88); --line:rgba(15,23,42,.10); --txt:#0f172a; --txt2:#1e293b; --mut:#5b6b85; --acc:#0ea57f; --acc2:#0284c7; color-scheme: light; } }

* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:var(--bg); color:var(--txt); font:16px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, Roboto, sans-serif; }
body { background:radial-gradient(1400px 700px at 15% -10%, rgba(34,211,160,.10), transparent 60%), var(--bg); }
a { color:var(--acc2); }
.wrap { max-width:880px; margin:0 auto; padding:0 20px; }

header.top { border-bottom:1px solid var(--line); padding:18px 0; }
header.top .wrap { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.brand { font-weight:700; font-size:1.1rem; display:flex; gap:8px; align-items:center; text-decoration:none; color:var(--txt); }
.dot { width:9px; height:9px; border-radius:50%; background:var(--acc); box-shadow:0 0 10px var(--acc); }
nav.top a { color:var(--mut); text-decoration:none; margin-left:18px; font-size:.92rem; }
nav.top a:hover { color:var(--txt); }

.hero { padding:48px 0 24px; }
.hero h1 { font-size:2.1rem; line-height:1.25; margin:0 0 14px; }
.hero p.lead { color:var(--mut); font-size:1.1rem; max-width:620px; }
.btnrow { display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:12px; font-weight:600; text-decoration:none; font-size:.95rem; }
.btn.primary { background:var(--acc); color:#06241a; }
.btn.ghost { border:1px solid var(--line); color:var(--txt); }

.hero-img { width:100%; max-width:760px; margin:28px auto 0; display:block; }
.langswitch { display:inline-flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; margin-left:18px; }
.langswitch a { padding:5px 12px; font-size:.82rem; color:var(--mut); text-decoration:none; }
.langswitch a.on { background:var(--acc); color:#06241a; font-weight:600; }

.beta { background:linear-gradient(135deg, rgba(34,211,160,.12), rgba(56,189,248,.08)); border:1px solid var(--line); border-radius:var(--r); padding:26px; margin:28px 0; }
.beta h2 { margin-top:0; }
.beta ul { margin:14px 0; padding-left:20px; color:var(--txt2); }

.monthtable { width:100%; border-collapse:collapse; margin-top:12px; font-size:.88rem; }
.monthtable th, .monthtable td { text-align:right; padding:6px 10px; border-bottom:1px solid var(--line); }
.monthtable th:first-child, .monthtable td:first-child { text-align:left; }
.monthtable th { color:var(--mut); font-weight:500; }

.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; margin:28px 0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:20px; }
.card h2, .card h3 { margin:0 0 6px; }
.card .note { color:var(--mut); font-size:.88rem; }
.stat { font-size:2rem; font-weight:700; margin:4px 0; }
.stat small { font-size:1rem; font-weight:500; color:var(--mut); }
.tag { display:inline-block; font-size:.75rem; color:var(--mut); border:1px solid var(--line); border-radius:999px; padding:2px 10px; margin-top:8px; }
.tag.warn { color:var(--warn); border-color:rgba(251,191,36,.4); }

section { padding:28px 0; border-top:1px solid var(--line); }
section h2 { font-size:1.4rem; }
.articlelist { display:grid; gap:10px; margin-top:16px; }
.articlelist a { display:block; padding:14px 16px; border:1px solid var(--line); border-radius:12px; text-decoration:none; color:var(--txt); background:var(--card); }
.articlelist a:hover { border-color:var(--acc); }
.articlelist .cat { color:var(--mut); font-size:.82rem; }

article.post { padding:40px 0 60px; }
article.post h1 { font-size:1.7rem; }
article.post .meta { color:var(--mut); font-size:.85rem; margin-bottom:24px; }
article.post p, article.post li { color:var(--txt2); }
article.post table { width:100%; border-collapse:collapse; margin:12px 0 20px; font-size:.92rem; }
article.post th, article.post td { text-align:left; vertical-align:top; padding:9px 10px; border-bottom:1px solid var(--line); color:var(--txt2); }
article.post th { color:var(--mut); font-weight:600; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; }
@media (max-width:640px) { article.post table { display:block; overflow-x:auto; } }
article.post img.fig { display:block; width:100%; height:auto; margin:16px 0 22px; border-radius:16px; }
@media (max-width:640px) { article.post td, article.post th { padding:7px 6px; word-break:break-word; } }
article.post code { background:var(--card); padding:2px 6px; border-radius:6px; }

footer { border-top:1px solid var(--line); padding:28px 0 60px; color:var(--mut); font-size:.85rem; }

@media (max-width: 600px) {
  .hero h1 { font-size:1.6rem; }
  nav.top a { margin-left:12px; font-size:.85rem; }
}
@media (max-width:640px) { article.post pre, article.post pre code { white-space:pre-wrap; overflow-wrap:anywhere; } }
