@font-face{font-family:"Vazirmatn";src:url(/fonts/vazirmatn.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#f7f6f1;--ink:#17231f;--muted:#5c6b65;--line:#dcdfd6;--brand:#1d2b53;--accent:#2f5fd0}
@media (prefers-color-scheme:dark){:root{--bg:#0f1917;--ink:#e6ece8;--muted:#98a8a1;--line:#24372f;--brand:#111a38;--accent:#8fb0ff}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Vazirmatn",Tahoma,sans-serif;background:var(--bg);color:var(--ink);line-height:2;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
.wrap{max-width:900px;width:100%;margin-inline:auto;padding-inline:22px}
main{flex:1}
header{border-bottom:1px solid var(--line)}
header .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-block:14px}
.brand{font-weight:800;font-size:1.15rem;direction:ltr}
nav{display:flex;gap:22px;font-size:.95rem;color:var(--muted)}
.hero{padding-block:64px 40px}
.hero h1{font-size:clamp(1.9rem,5.5vw,3.1rem);font-weight:800;line-height:1.5}
.hero p{margin-top:14px;color:var(--muted)}
h2{font-size:1.25rem;font-weight:700;margin-bottom:18px}
.posts{padding-block:24px 56px}
.post{display:grid;grid-template-columns:110px 1fr;gap:20px;padding-block:22px;border-top:1px solid var(--line)}
.post time{color:var(--muted);font-size:.85rem}
.post h3{font-size:1.1rem;font-weight:700}
.post p{color:var(--muted);font-size:.95rem;margin-top:4px}
.tag{display:inline-block;margin-top:8px;font-size:.8rem;color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:0 10px}
.article,.page{padding-block:48px 64px;max-width:68ch}
.article h1,.page h1{font-size:clamp(1.6rem,4.5vw,2.3rem);line-height:1.6;font-weight:800}
.article .meta{color:var(--muted);font-size:.9rem;margin-block:6px 24px}
.article p,.page p{margin-bottom:16px}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-block:20px}
@media (max-width:600px){.post{grid-template-columns:1fr;gap:2px}nav{gap:14px}}
