:root { --ink:#1a2233; --muted:#5b6577; --line:#e7ebf2; --bg:#ffffff;
        --brand:#2b6cb0; --brand-deep:#1f3a5f; --accent:#e8b931; }
* { box-sizing: border-box; }
body { font-family:'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
       max-width:820px; margin:0 auto; padding:2rem 1.25rem;
       color:var(--ink); line-height:1.7; background:var(--bg); }
header.site { background:linear-gradient(135deg,#1f3a5f,#2b6cb0 70%,#4a90c2);
              color:#fff; border-radius:16px; padding:2rem 1.75rem; margin-bottom:2rem;
              box-shadow:0 10px 40px rgba(20,30,55,.12); }
header.site h1 { font-size:1.6rem; margin:0; font-weight:700; }
header.site h1 a { color:#fff; text-decoration:none; }
header.site p { color:rgba(255,255,255,.85); margin:.4rem 0 0; font-size:.98rem; }
nav.site { margin-top:1rem; }
nav.site a { color:#fff; opacity:.9; text-decoration:none; margin-right:1.2rem;
             font-weight:600; font-size:.9rem; }
nav.site a:hover { opacity:1; text-decoration:underline; }
article h1 { font-size:2.1rem; line-height:1.2; margin:0 0 .5rem; color:var(--brand-deep); }
article time { color:var(--muted); font-size:.9rem; }
article .featured { display:block; margin:1.5rem 0; border-radius:12px;
                    box-shadow:0 6px 24px rgba(0,0,0,.08); }
article .content { margin-top:1.5rem; }
article .content img { max-width:100%; height:auto; margin:1rem 0; border-radius:8px; }
article .content a { color:var(--brand); }
h2 { color:var(--brand-deep); }
ul.post-list { list-style:none; padding:0; }
ul.post-list li { border-bottom:1px solid var(--line); padding:.85rem 0; }
ul.post-list a { color:var(--ink); text-decoration:none; font-weight:600; }
ul.post-list a:hover { color:var(--brand); }
ul.post-list time { color:var(--muted); font-size:.85rem; display:block; }
footer.site { margin-top:3rem; padding-top:1rem; border-top:1px solid var(--line);
              color:var(--muted); font-size:.85rem; }
