.blog-prose{--prose-ink:var(--ink);--prose-body:color-mix(in oklab, var(--ink) 78%, transparent);--prose-muted:color-mix(in oklab, var(--ink) 50%, transparent);--prose-rule:color-mix(in oklab, var(--ink) 10%, transparent);--prose-line:color-mix(in oklab, var(--ink) 8%, transparent);--prose-wash:color-mix(in oklab, var(--ink) 6%, transparent);--prose-code:#ffd2d2;--prose-pre:#0d0d10;--prose-accent:#ef2b2d;color:var(--prose-body);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.85}:root[data-theme=light]:not(:has([data-theme-lock=dark])) .blog-prose{--prose-code:#b0121a;--prose-pre:#efeff2}.blog-prose:lang(fa),.blog-prose:lang(ar){font-size:1.09rem;line-height:2.05}.blog-prose>*+*{margin-block-start:1.35em}.blog-prose h2,.blog-prose h3{color:var(--prose-ink);text-wrap:balance;scroll-margin-top:6.5rem;font-weight:650}.blog-prose h2{letter-spacing:-.01em;margin-block-start:2.4em;font-size:clamp(1.45rem,2.4vw,1.875rem);line-height:1.3}.blog-prose h3{margin-block-start:1.9em;font-size:1.25rem;line-height:1.4}.blog-prose :is(h2,h3):lang(fa),.blog-prose :is(h2,h3):lang(ar){letter-spacing:normal;line-height:1.6}.blog-prose :is(h2,h3)+*{margin-block-start:.75em}.blog-anchor{vertical-align:middle;color:color-mix(in oklab, var(--ink) 30%, transparent);opacity:0;place-items:center;margin-inline-start:.4em;transition:opacity .15s,color .15s;display:inline-grid}.blog-anchor svg{width:.7em;height:.7em}.blog-prose :is(h2,h3):hover .blog-anchor,.blog-anchor:focus-visible{opacity:1}.blog-anchor:hover{color:var(--prose-accent)}.blog-prose a:not(.blog-anchor){color:var(--prose-ink);text-underline-offset:.28em;-webkit-text-decoration:underline #ef2b2d8c;text-decoration:underline #ef2b2d8c;text-decoration-thickness:1.5px;transition:text-decoration-color .15s}.blog-prose a:not(.blog-anchor):hover{-webkit-text-decoration-color:var(--prose-accent);text-decoration-color:var(--prose-accent)}.blog-prose strong{color:var(--prose-ink);font-weight:600}.blog-prose :is(ul,ol){padding-inline-start:1.5em}.blog-prose li+li,.blog-prose li>:is(ul,ol){margin-block-start:.45em}.blog-prose ul>li{list-style:none;position:relative}.blog-prose ul>li:before{content:"";inset-inline-start:-1.1em;background:var(--prose-accent);border-radius:2px;width:.42em;height:.42em;position:absolute;top:.82em;transform:rotate(45deg)}.blog-prose ol{list-style:decimal}.blog-prose:lang(fa) ol{list-style-type:persian}.blog-prose:lang(ar) ol{list-style-type:arabic-indic}.blog-prose ol>li::marker{color:var(--prose-accent);font-weight:600}.blog-prose ul>li:has(>input[type=checkbox]):before{display:none}.blog-prose li>input[type=checkbox]{accent-color:var(--prose-accent);margin-inline-end:.6em}.blog-prose blockquote{border-inline-start:2px solid var(--prose-accent);color:var(--prose-ink);padding-inline-start:1.25em;font-size:1.15em;line-height:1.7}.blog-prose code{border:1px solid var(--prose-line);background:var(--prose-wash);color:var(--prose-code);font-family:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;border-radius:6px;padding:.1em .4em;font-size:.86em}.blog-prose pre{border:1px solid var(--prose-line);background:var(--prose-pre);text-align:start;border-radius:16px;padding:1.1em 1.3em;font-size:.875rem;line-height:1.75;overflow-x:auto}.blog-prose pre code{color:color-mix(in oklab, var(--ink) 86%, transparent);font-size:inherit;background:0 0;border:0;padding:0}.blog-prose hr{background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--ink) 20%, transparent), transparent);border:0;height:1px;margin-block:3em}.blog-prose figure img{border:1px solid var(--prose-line);border-radius:18px;width:100%;height:auto}.blog-figure-paragraph>figure{margin-block:1em}.blog-prose figcaption{color:var(--prose-muted);text-align:center;margin-block-start:.75em;font-size:.875rem}.blog-table{border:1px solid var(--prose-rule);background:color-mix(in oklab, var(--ink) 1.5%, transparent);border-radius:16px;overflow-x:auto}.blog-table table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.6}.blog-table th{background:color-mix(in oklab, var(--ink) 4%, transparent);color:var(--prose-ink);text-align:start;white-space:nowrap;font-weight:600}.blog-table :is(th,td){border-block-end:1px solid color-mix(in oklab, var(--ink) 7%, transparent);vertical-align:top;padding:.8em 1.1em}.blog-table td:first-child{min-width:8.5em;color:var(--prose-ink);font-weight:500}.blog-table tr:last-child td{border-block-end:0}.blog-callout{--callout:239, 43, 45;border:1px solid rgba(var(--callout), .35);background:linear-gradient(135deg, rgba(var(--callout), .12), rgba(var(--callout), .03));border-radius:18px;padding:1.1em 1.3em}.blog-callout[data-callout=note]{--callout:96, 165, 250}.blog-callout[data-callout=tip]{--callout:52, 211, 153}.blog-callout[data-callout=warning]{--callout:255, 159, 28}:root[data-theme=light]:not(:has([data-theme-lock=dark])) .blog-callout{--callout:200, 16, 26}:root[data-theme=light]:not(:has([data-theme-lock=dark])) .blog-callout[data-callout=note]{--callout:37, 99, 235}:root[data-theme=light]:not(:has([data-theme-lock=dark])) .blog-callout[data-callout=tip]{--callout:4, 120, 87}:root[data-theme=light]:not(:has([data-theme-lock=dark])) .blog-callout[data-callout=warning]{--callout:180, 83, 9}.blog-callout>*+*{margin-block-start:.6em}.blog-callout-title{color:rgb(var(--callout));letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5em;font-size:.8rem;font-weight:700;display:flex}.blog-callout-title:lang(fa),.blog-callout-title:lang(ar){letter-spacing:normal;font-size:.9rem}.blog-callout-title svg{width:1.1em;height:1.1em}.blog-grain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes blog-scan{0%{transform:translateY(-140px)}to{transform:translateY(700px)}}@keyframes blog-flow{to{stroke-dashoffset:-480px}}@keyframes blog-breathe{50%{opacity:.6}}@keyframes blog-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}@keyframes blog-blink{50%{opacity:.2}}@keyframes blog-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.blog-cover-scan{animation:5.5s linear infinite blog-scan}.blog-cover-flow{animation:7s linear infinite blog-flow}.blog-cover-breathe{animation:4s ease-in-out infinite blog-breathe}.blog-cover-ping{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite blog-ping}.blog-cover-blink{animation:1.6s steps(2,end) infinite blog-blink}.blog-cover-draw{stroke-dasharray:1;animation:2.4s cubic-bezier(.2,.7,.2,1) both blog-draw}@media (prefers-reduced-motion:reduce){[class*=blog-cover-]{animation:none!important}}
