:root{--navy:#1f3a5f;--blue:#2f6da3;--ink:#222;--muted:#5a6b7d;--line:#dbe3ea;--bg:#f4f7fa}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:var(--blue)}a:hover{color:var(--navy)}
header{background:var(--navy);color:#fff}.bar{max-width:1020px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.wordmark{font-size:22px;font-weight:700;letter-spacing:.08em;color:#fff;text-decoration:none}
nav a{color:#cfe0ee;text-decoration:none;margin-left:20px;font-size:15px}nav a:hover{color:#fff}
main{max-width:1020px;margin:0 auto;padding:36px 20px 64px}
h1{font-size:40px;line-height:1.15;color:var(--navy);margin:0 0 12px}h2{color:var(--navy)}h3{color:var(--navy)}
.sub{font-size:19px;color:var(--muted);max-width:680px}
.hero{border:1px solid var(--line);border-radius:12px;padding:28px;background:var(--bg);margin:28px 0}
.hero h2{margin:0 0 8px;font-size:26px}.hero h2 a{color:var(--navy);text-decoration:none}
.meta{color:var(--muted);font-size:14px;margin:8px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0}
.card{border:1px solid var(--line);border-radius:10px;padding:20px}.card h3{margin:0 0 8px}.card h3 a{color:var(--navy);text-decoration:none}
.topics{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.topics a,.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:14px;text-decoration:none;color:var(--ink)}
.article{max-width:720px}.article img{max-width:100%;height:auto;border-radius:8px}
.postnav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}.foot{max-width:1020px;margin:0 auto;padding:20px}
input[type=search]{width:100%;padding:12px 14px;font-size:16px;border:1px solid var(--line);border-radius:8px}
.result{border-bottom:1px solid var(--line);padding:16px 0}
@media(max-width:600px){h1{font-size:32px}nav a{margin-left:12px}}
