:root { --bg:#fbfbfc; --card:#fff; --ink:#1b2430; --muted:#5b6675; --line:#e3e8ee; --navy:#0f2a44; --accent:#1565c0; --accent-ink:#fff; --soft:#eef3f8; }
@media (prefers-color-scheme: dark) { :root { --bg:#0e141b; --card:#161e27; --ink:#e6edf3; --muted:#9aa7b4; --line:#27323e; --navy:#dbe7f3; --accent:#4f9cf0; --accent-ink:#0b1220; --soft:#1b2733; } }
* { box-sizing:border-box; } html,body { margin:0; }
body { font:17px/1.65 Georgia, "Times New Roman", serif; background:var(--bg); color:var(--ink); min-height:100dvh; display:flex; flex-direction:column; }
a { color:var(--accent); }
.top, .foot, .wrap { width:100%; max-width:760px; margin:0 auto; padding-left:16px; padding-right:16px; }
.top { display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.brand { color:var(--ink); text-decoration:none; font-weight:700; display:flex; gap:8px; align-items:center; }
.logo { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:7px; background:#0f2a44; color:#fff; font-weight:800; }
.top nav a { margin-left:16px; color:var(--muted); text-decoration:none; font-size:15px; } .top nav a:hover { color:var(--accent); }
.wrap { flex:1; padding-bottom:48px; }
.hero { padding:28px 0 12px; } .hero h1 { font-size:clamp(28px,5vw,40px); line-height:1.15; margin:0 0 8px; } .hero p { color:var(--muted); margin:0 0 16px; font-size:18px; }
.page-title { font-size:28px; margin:24px 0 8px; }
.btn { display:inline-block; font-family:system-ui,sans-serif; background:var(--accent); color:var(--accent-ink); text-decoration:none; font-weight:700; padding:10px 16px; border-radius:10px; font-size:15px; }
.btn-secondary { background:var(--soft); color:var(--ink); }
.tags { font-family:system-ui,sans-serif; margin:8px 0 20px; display:flex; flex-wrap:wrap; gap:8px; }
.tag { font-size:13px; text-decoration:none; color:var(--muted); background:var(--soft); padding:3px 10px; border-radius:999px; } .tag:hover { color:var(--accent); }
.list .item { padding:20px 0; border-top:1px solid var(--line); } .list .item h2 { font-size:24px; line-height:1.25; margin:4px 0 8px; } .list .item h2 a { color:var(--ink); text-decoration:none; } .list .item h2 a:hover { color:var(--accent); } .list .item p { margin:0; color:var(--muted); }
.meta { font-family:system-ui,sans-serif; font-size:14px; color:var(--muted); margin:0; } .meta a { color:var(--muted); }
.empty { color:var(--muted); padding:40px 0; text-align:center; }
.pager { display:flex; justify-content:space-between; font-family:system-ui,sans-serif; padding:24px 0; color:var(--muted); font-size:15px; }
.post-head { padding:24px 0 8px; } .post-head h1 { font-size:clamp(28px,5vw,40px); line-height:1.15; margin:6px 0 10px; letter-spacing:-0.01em; } .standfirst { font-size:19px; color:var(--muted); margin:0 0 8px; }
.toc { font-family:system-ui,sans-serif; font-size:15px; background:var(--soft); border-radius:12px; padding:14px 18px; margin:20px 0; } .toc ol { margin:6px 0 0; padding-left:18px; } .toc li.l3 { margin-left:14px; list-style:circle; } .toc a { text-decoration:none; }
.body h2 { font-size:26px; margin:36px 0 10px; line-height:1.25; } .body h3 { font-size:21px; margin:28px 0 8px; } .body p, .body li { font-size:17.5px; } .body ul, .body ol { padding-left:24px; } .body img { max-width:100%; height:auto; border-radius:10px; }
.body blockquote { margin:20px 0; padding:4px 18px; border-left:4px solid var(--accent); color:var(--muted); } .body code { font-family:ui-monospace,Menlo,monospace; font-size:.92em; background:var(--soft); padding:2px 5px; border-radius:5px; } .body pre { background:var(--soft); padding:14px; border-radius:10px; overflow:auto; }
.body table { border-collapse:collapse; width:100%; margin:18px 0; font-family:system-ui,sans-serif; font-size:15px; } .body th, .body td { border:1px solid var(--line); padding:8px 10px; text-align:left; } .body th { background:var(--soft); }
.cta { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); margin:36px 0 10px; font-family:system-ui,sans-serif; }
.cta div { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px; } .cta strong { font-size:17px; } .cta p { color:var(--muted); font-size:15px; margin:6px 0 12px; }
.related { margin-top:36px; font-family:system-ui,sans-serif; } .related h2 { font-size:18px; margin:0 0 8px; } .related ul { margin:0; padding-left:18px; }
.ad { margin:24px 0; min-height:0; text-align:center; } .ad-placeholder { font-family:system-ui,sans-serif; border:2px dashed var(--line); color:var(--muted); border-radius:10px; padding:38px 10px; font-size:13px; }
.foot { font-family:system-ui,sans-serif; text-align:center; color:var(--muted); font-size:13px; padding-top:16px; padding-bottom:20px; border-top:1px solid var(--line); } .foot p { margin:4px 0; } .foot a { color:var(--muted); }
@media (max-width:480px) { .top nav a { margin-left:10px; font-size:14px; } body { font-size:16.5px; } }
