:root{--bg:#fbfaf7;--surface:#fff;--text:#1d1d1f;--muted:#6b6b70;--border:#e7e4dd;--accent:#2f5bea;--accent-soft:#e8eeff;--code-bg:#f3f1ec;--radius:12px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141416;--surface:#1c1c1f;--text:#ececee;--muted:#9a9aa2;--border:#2c2c31;--accent:#8aa6ff;--accent-soft:#232a45;--code-bg:#222226;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-vazir), system-ui, sans-serif;margin:0;font-size:17px;line-height:1.9}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:100%;max-width:760px;margin-inline:auto;padding-inline:16px}main.wrap{min-height:70vh;padding-block:40px 64px}h1,h2,h3{line-height:1.4}h1{margin:0 0 .5em;font-size:clamp(1.7rem,4vw,2.3rem)}.muted{color:var(--muted)}.small{font-size:.85rem}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.header-inner,.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.brand{color:var(--text);font-size:1.1rem;font-weight:800}nav{flex-wrap:wrap;gap:18px;display:flex}nav a{color:var(--muted)}nav a[aria-current=page]{color:var(--text);font-weight:700}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}.footer-links{gap:14px;display:flex}.hero{margin-bottom:48px}.hero p{color:var(--muted);margin:0 0 .6em;font-size:1.1rem}.section-head{justify-content:space-between;align-items:baseline;display:flex}.section-head h2{margin:0 0 12px;font-size:1.15rem}.post-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.post-list a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;padding:18px 20px;transition:border-color .15s,transform .15s;display:block}.post-list a:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.post-list h3{margin:4px 0;font-size:1.2rem}.post-list p{color:var(--muted);margin:0}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 10px;font-weight:700}.tags{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 12px;font-size:.85rem}.post-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.post-header h1{margin-top:12px}.lede{color:var(--muted);margin:0;font-size:1.15rem}.prose{overflow-wrap:anywhere}.prose h2{margin-top:2.2em;font-size:1.45rem}.prose h3{margin-top:1.8em;font-size:1.2rem}.prose img{border-radius:var(--radius);max-width:100%;height:auto}.prose blockquote{border-inline-start:4px solid var(--accent);background:var(--accent-soft);border-radius:6px;margin:1.5em 0;padding:4px 18px}.prose code{background:var(--code-bg);direction:ltr;unicode-bidi:isolate;border-radius:5px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.prose pre{text-align:left;border-radius:var(--radius);direction:ltr;padding:16px;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:start;padding:6px 10px}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.post-nav{grid-template-columns:1fr 1fr;gap:14px;margin-top:48px;display:grid}.post-nav a{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);padding:14px 16px;display:block}.post-nav a:last-child{text-align:end}.post-nav small{color:var(--muted);display:block}@media (width<=560px){body{font-size:16px}.post-nav{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}.lang-switch{border:1px solid var(--border);border-radius:999px;padding:0 12px;color:var(--text)!important}
