.cyno-blog{--blog-ink:#232b27;--blog-ink-soft:#39443e;--blog-ink-text:#f2f4ef;--blog-ink-muted:#a8b4ac;--blog-line:color-mix(in srgb,var(--text) 13%,transparent);width:min(1180px,100% - 96px);color:var(--text);margin-inline:auto;padding:26px 0 96px;font-family:Vazirmatn Variable,sans-serif}.cyno-blog h1,.cyno-blog h2,.cyno-blog h3{letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:560;line-height:1.45}.cyno-blog p{margin:0}.cyno-blog a{transition:color .18s,border-color .18s,background .18s,transform .18s}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blog-kicker{letter-spacing:0;color:var(--accent);font-family:inherit;font-size:10.5px}.blog-masthead{border-bottom:1px solid var(--blog-line);grid-template-columns:minmax(0,1.55fr) minmax(210px,.45fr);align-items:end;gap:64px;padding:52px 0 60px;display:grid}.blog-masthead h1{letter-spacing:-.03em;max-width:14ch;margin:16px 0 18px;font-size:clamp(38px,4.6vw,62px);font-weight:580;line-height:1.3}.blog-masthead-lead{color:var(--muted);max-width:46ch;font-size:16px;line-height:2}.blog-masthead-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:29px;display:flex}.blog-primary-action{background:var(--accent);color:#fff;border-radius:5px;align-items:center;gap:12px;min-height:46px;padding:12px 18px;font-size:13px;font-weight:600;display:inline-flex}.blog-primary-action:hover{background:var(--accent-hover);transform:translateY(-1px)}.blog-text-action{border-bottom:1px solid var(--blog-line);align-items:center;gap:10px;padding-bottom:6px;font-size:13px;font-weight:560;display:inline-flex}.blog-text-action:hover{color:var(--accent);border-color:var(--accent)}html[dir=rtl] .blog-text-action svg{scale:-1 1}.blog-stats{border-inline-start:1px solid var(--blog-line);grid-template-columns:repeat(3,1fr);align-self:end;margin:0;padding-inline-start:26px;display:grid}.blog-stats dt{color:var(--muted);margin-bottom:7px;font-size:10px}.blog-stats dd{margin:0;font-size:20px;font-weight:560;line-height:1.2}.blog-stats dd a{color:var(--accent);align-items:center;gap:5px;font-size:15px;display:inline-flex}.blog-lead{padding-top:44px}.blog-section-label{color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:14px;font-size:10.5px;display:flex}.blog-section-label span:first-child{color:var(--text);font-weight:600}.blog-lead-card{background:var(--blog-ink);color:var(--blog-ink-text);border-radius:10px;grid-template-columns:1.08fr .92fr;min-height:352px;display:grid;overflow:hidden}.blog-lead-card:hover{box-shadow:0 22px 50px color-mix(in srgb,var(--text) 16%,transparent)}.blog-lead-content{flex-direction:column;align-items:flex-start;min-width:0;padding:40px 44px;display:flex}.blog-lead-content h2{max-width:24ch;margin:20px 0 13px;font-size:clamp(23px,2.5vw,33px);line-height:1.6}.blog-lead-content>p{color:var(--blog-ink-muted);max-width:44ch;font-size:13.5px;line-height:2}.blog-card-link{color:var(--accent);align-items:center;gap:11px;margin-top:auto;padding-top:26px;font-size:12.5px;font-weight:600;display:inline-flex}.blog-lead-card:hover .blog-card-link{gap:16px}.blog-lead-art{min-width:0;display:flex;position:relative}.blog-lead-art .blog-art{border-radius:0;width:100%}.blog-art{--art-bg:#e7dccb;--art-ink:#3a2f26;background:var(--art-bg);color:var(--art-ink);place-items:center;padding:22px;display:grid;overflow:hidden}.blog-art--route{--art-bg:#e9dccb;--art-ink:#3a2f26}.blog-art--tokens{--art-bg:#dde3d4;--art-ink:#2a3327}.blog-art--stream{--art-bg:#d9e2e5;--art-ink:#243037}.blog-art--retry{--art-bg:#e4dbe3;--art-ink:#322a33}.blog-art-svg{width:100%;height:auto;max-height:100%;display:block;overflow:visible}.blog-art-svg text{fill:currentColor;font-family:Vazirmatn Variable,sans-serif}.art-grid line{stroke:currentColor;stroke-opacity:.09;stroke-width:1px}.art-node rect{fill:color-mix(in srgb,currentColor 7%,transparent);stroke:currentColor;stroke-opacity:.55}.art-node--active rect{stroke:var(--accent);stroke-width:1.6px;fill:color-mix(in srgb,var(--accent) 14%,transparent)}.art-node--dim{opacity:.62}.art-node--dim rect{stroke-dasharray:4 4}.art-label{font-size:13px;font-weight:560}.art-sub{opacity:.72;font-size:10.5px}.art-hub circle{fill:none;stroke:currentColor}.art-hub circle:first-child{stroke-opacity:.6}.art-hub circle:nth-child(2){stroke:var(--accent);stroke-opacity:.85;stroke-dasharray:3 4}.art-hub-label{font-size:14px;font-weight:600}.art-line{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-opacity:.7}.art-line--dim{stroke-opacity:.32}.art-line--dashed{stroke-dasharray:5 5;stroke-opacity:.5}.art-dot,.art-dots circle{fill:currentColor;opacity:.55}.art-axis{stroke:currentColor;stroke-opacity:.35;stroke-width:1px}.art-bar rect{fill:color-mix(in srgb,currentColor 10%,transparent);stroke:currentColor;stroke-opacity:.5}.art-bar--warn rect{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent);stroke-opacity:.85}.art-bar--dim{opacity:.55}.art-chunk{fill:color-mix(in srgb,currentColor 12%,transparent);stroke:currentColor;stroke-opacity:.45}.art-chunk:nth-of-type(3n){fill:color-mix(in srgb,var(--accent) 26%,transparent);stroke:var(--accent);stroke-opacity:.7}.art-flag rect{fill:color-mix(in srgb,currentColor 8%,transparent);stroke:currentColor;stroke-opacity:.35;stroke-dasharray:4 3}.art-step{fill:var(--art-bg);stroke:currentColor;stroke-width:1.6px;stroke-opacity:.7}.art-step--ok{fill:var(--accent);stroke:var(--accent)}.art-line--curve{stroke-opacity:.45}.blog-directory{padding-top:76px}.blog-directory-head{justify-content:space-between;align-items:baseline;gap:30px;padding-bottom:22px;display:flex}.blog-directory-head h2{font-size:clamp(24px,2.6vw,32px)}.blog-directory-head>p{color:var(--muted);max-width:38ch;font-size:12.5px;line-height:1.9}.blog-directory-tools{border-block:1px solid var(--blog-line);justify-content:space-between;align-items:center;gap:24px;padding:11px 0;display:flex}.blog-filters{flex-wrap:wrap;gap:2px;display:flex}.blog-filters button{color:var(--muted);border-radius:4px;padding:9px 13px;font-size:12px;transition:color .15s,background .15s}.blog-filters button:hover{color:var(--text);background:var(--surface)}.blog-filters button[aria-pressed=true]{background:var(--text);color:var(--bg)}.blog-search{border-bottom:1px solid var(--blog-line);min-width:266px;color:var(--muted);align-items:center;gap:9px;padding:5px 0;display:flex}.blog-search:focus-within{border-color:var(--accent);color:var(--accent)}.blog-search input{width:100%;min-width:0;color:var(--text);background:0 0;padding:5px 2px;font-size:12px}.blog-search input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.blog-directory-grid{grid-template-columns:minmax(0,1fr) 290px;gap:56px;margin-top:20px;display:grid}.blog-result-count{color:var(--muted);padding-bottom:2px;font-size:10.5px}.blog-post-row{border-bottom:1px solid var(--blog-line);grid-template-columns:minmax(0,1fr) 24px;align-items:start;gap:22px;padding:26px 2px;transition:background .18s;display:grid}.blog-post-row:first-of-type{padding-top:20px}.blog-post-row:hover{background:color-mix(in srgb,var(--accent) 3%,transparent)}.blog-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:10.5px;display:flex}.blog-category{color:var(--accent);font-weight:600}.blog-meta time{white-space:nowrap}.blog-meta-label{opacity:.72}.blog-post-copy h3{max-width:46ch;margin:9px 0 6px;font-size:20px;font-weight:600;line-height:1.65}.blog-post-copy h3 a:hover{color:var(--accent)}.blog-post-copy>p{color:var(--muted);max-width:64ch;font-size:12.5px;line-height:1.95}.blog-post-tags{flex-wrap:wrap;gap:6px;margin:13px 0 0;padding:0;list-style:none;display:flex}.blog-post-tags li{color:var(--muted);border:1px solid var(--blog-line);border-radius:3px;padding:2px 7px;font-size:10px}.blog-post-arrow{color:var(--muted);align-self:start;margin-top:26px}html[dir=rtl] .blog-post-arrow svg{scale:-1 1}.blog-post-arrow:hover{color:var(--accent);transform:translate(-2px,-2px)}.blog-empty{border-bottom:1px solid var(--blog-line);padding:56px 4px}.blog-empty h3{font-size:20px}.blog-empty p{color:var(--muted);margin:8px 0 16px;font-size:13px}.blog-empty button{color:var(--accent);border-bottom:1px solid;padding-bottom:2px;font-size:12.5px;font-weight:600}.blog-aside{flex-direction:column;align-self:start;gap:20px;display:flex;position:sticky;top:28px}.blog-aside-card{border:1px solid var(--blog-line);background:var(--card);border-radius:8px;padding:26px 24px}.blog-aside-card h3{margin:10px 0 8px;font-size:21px;line-height:1.5}.blog-aside-card p:not(.blog-kicker){color:var(--muted);font-size:12.5px;line-height:2}.blog-aside-card>a{border-bottom:1px solid var(--blog-line);justify-content:space-between;align-items:center;gap:10px;padding:13px 0;font-size:12.5px;font-weight:560;display:flex}.blog-aside-card>a:first-of-type{border-top:1px solid var(--blog-line);margin-top:16px}.blog-aside-card>a:hover{color:var(--accent)}html[dir=rtl] .blog-aside-card>a svg{scale:-1 1}.blog-aside-card--quiet{background:0 0}.blog-article-header{max-width:820px;margin:38px auto 30px}.blog-breadcrumb{color:var(--muted);align-items:center;gap:9px;margin-bottom:26px;font-size:11px;display:flex}.blog-breadcrumb a{color:var(--muted)}.blog-breadcrumb a:hover{color:var(--accent)}.blog-breadcrumb span[aria-current]{color:var(--text)}.blog-meta--lead{margin-bottom:18px}.blog-article-header h1{letter-spacing:-.025em;margin:0 0 20px;font-size:clamp(30px,3.9vw,50px);font-weight:580;line-height:1.5}.blog-article-lead{color:var(--muted);border-inline-start:2px solid var(--accent);max-width:64ch;padding-inline-start:18px;font-size:16.5px;line-height:2.05}.blog-tags{flex-wrap:wrap;gap:7px;margin:24px 0 0;padding:0;list-style:none;display:flex}.blog-tags li{color:var(--muted);background:var(--surface);border-radius:3px;padding:4px 9px;font-size:10.5px}.blog-article-figure{max-width:1000px;margin:0 auto 14px}.blog-article-figure .blog-art{border-radius:8px;min-height:300px;padding:26px}.blog-article-figure .blog-art-svg{max-width:720px}.blog-reading-layout{grid-template-columns:196px minmax(0,700px);justify-content:center;gap:56px;margin-top:52px;display:grid}.blog-toc{align-self:start;font-size:12px;line-height:1.85;position:sticky;top:30px}.blog-toc-title{color:var(--text);margin-bottom:14px;font-weight:650;display:block}.blog-toc-track{background:var(--blog-line);border-radius:2px;height:2px;margin-bottom:18px;overflow:hidden}.blog-toc-track i{background:var(--accent);transform-origin:100%;direction:rtl;width:100%;height:100%;transition:height .12s linear;display:block}.blog-toc ol{border-inline-start:1px solid var(--blog-line);margin:0;padding:0;list-style:none}.blog-toc li{margin:0}.blog-toc a{color:var(--muted);border-inline-start:2px solid #0000;margin-inline-start:-1px;padding:6px 14px;font-size:11.5px;line-height:1.8;display:block}.blog-toc a:hover{color:var(--text)}.blog-toc a.is-active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.blog-prose{min-width:0}.blog-prose section{margin-bottom:46px;scroll-margin-top:84px}.blog-prose h2{margin-bottom:14px;font-size:25px;font-weight:600;line-height:1.6}.blog-prose p{color:var(--muted);margin-bottom:16px;font-size:16px;line-height:2.15}.blog-prose section>p:last-child{margin-bottom:0}.blog-prose ul,.blog-prose ol{gap:9px;margin:0 0 18px;padding-inline-start:22px;display:grid}.blog-prose li{color:var(--muted);font-size:15px;line-height:2}.blog-prose li::marker{color:var(--accent);font-size:.9em}.blog-prose strong{color:var(--text);font-weight:600}.blog-takeaways{border:1px solid var(--blog-line);background:var(--card);border-radius:8px;margin-bottom:44px;padding:24px 26px}.blog-takeaways h2{color:var(--accent);letter-spacing:0;font-weight:650;line-height:1.6;margin:0 0 12px!important;font-size:13px!important}.blog-takeaways ul{gap:7px;margin:0;padding-inline-start:20px}.blog-takeaways li{color:var(--text);font-size:13.5px;line-height:1.95}.blog-code{border:1px solid var(--blog-line);background:var(--code);border-radius:7px;margin:22px 0 24px;overflow:hidden}.blog-code figcaption{border-bottom:1px solid var(--blog-line);color:var(--muted);background:var(--surface);justify-content:space-between;gap:14px;padding:9px 15px;font-size:10.5px;display:flex}.blog-code figcaption span[dir=ltr]{letter-spacing:.04em;font-family:Geist Mono Variable,monospace}.blog-code pre{text-align:left;tab-size:2;direction:ltr;margin:0;padding:17px 18px;font-family:Fira Code,Geist Mono Variable,monospace;font-size:12.5px;line-height:1.95;overflow:auto}.blog-code code{font-family:inherit}.blog-note{background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:6px;grid-template-columns:20px minmax(0,1fr);gap:13px;margin:22px 0;padding:17px 19px;display:grid}.blog-note>svg{color:var(--accent);margin-top:5px}.blog-note strong{color:var(--text);margin-bottom:5px;font-size:13px;display:block}.blog-note p{color:var(--muted);margin:0;font-size:13px;line-height:1.95}.blog-note--warn{background:#c4552f12;border-color:#c4552f42}.blog-note--warn>svg{color:#c4552f}.blog-faq h2,.blog-sources h2{margin-bottom:16px;font-size:21px}.blog-faq details{border-bottom:1px solid var(--blog-line);padding:14px 0}.blog-faq summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:16px;font-size:15px;font-weight:560;line-height:1.8;list-style:none;display:flex}.blog-faq summary::-webkit-details-marker{display:none}.blog-faq summary:after{content:"+";color:var(--accent);font-size:18px;font-weight:400;line-height:1}.blog-faq details[open] summary:after{content:"−"}.blog-faq p{color:var(--muted);max-width:62ch;margin:10px 0 0;font-size:14px;line-height:2.05}.blog-sources ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.blog-sources a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);align-items:center;gap:7px;padding-bottom:2px;font-size:13px;display:inline-flex}.blog-sources a:hover{border-color:var(--accent)}html[dir=rtl] .blog-sources svg{scale:-1 1}.blog-related{border-top:1px solid var(--blog-line);margin-top:52px;padding-top:30px}.blog-related-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;display:flex}.blog-related-head h2{font-size:18px}.blog-related-head>a{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.blog-related-head>a:hover{color:var(--accent)}html[dir=rtl] .blog-related-head svg{scale:-1 1}.blog-related-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.blog-related-card{border:1px solid var(--blog-line);border-radius:7px;flex-direction:column;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}.blog-related-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--blog-line));transform:translateY(-2px)}.blog-related-card .blog-art{background:var(--art-bg);padding:12px}.blog-related-card>div:last-child{padding:14px 16px 16px}.blog-related-card h3{margin-top:6px;font-size:14.5px;font-weight:560;line-height:1.75}.blog-article-foot{border-top:1px solid var(--blog-line);justify-content:space-between;gap:20px;max-width:952px;margin:56px auto 0;padding-top:22px;font-size:12.5px;display:flex}.blog-article-foot a{color:var(--muted);align-items:center;gap:7px;display:inline-flex}.blog-article-foot a:hover{color:var(--accent)}html[dir=rtl] .blog-article-foot svg:first-child{scale:-1 1}@media (max-width:1020px){.cyno-blog{width:calc(100% - 56px)}.blog-masthead{grid-template-columns:minmax(0,1fr) 200px;gap:36px}.blog-lead-content{padding:30px}.blog-directory-grid{grid-template-columns:minmax(0,1fr) 240px;gap:34px}.blog-reading-layout{grid-template-columns:170px minmax(0,1fr);gap:34px}}@media (max-width:820px){.blog-masthead{grid-template-columns:1fr;align-items:start;gap:30px;padding-top:38px}.blog-stats{border-inline-start:0;border-top:1px solid var(--blog-line);padding-inline-start:0;text-align:start;padding-top:14px}.blog-lead-card{grid-template-columns:1fr}.blog-lead-art{order:2;min-height:230px}.blog-directory-grid{grid-template-columns:1fr}.blog-aside{grid-template-columns:1fr 1fr;display:grid;position:static}.blog-reading-layout{grid-template-columns:1fr}.blog-toc{border:1px solid var(--blog-line);border-radius:7px;margin-bottom:26px;padding:16px 18px;position:static}.blog-toc ol{grid-template-columns:1fr 1fr;column-gap:18px;display:grid}.blog-toc a{padding-block:4px}.blog-article-foot{max-width:100%}}@media (max-width:640px){.cyno-blog{width:calc(100% - 32px);padding-top:16px}.blog-masthead{padding:28px 0 40px}.blog-masthead h1{letter-spacing:-.015em;font-size:clamp(30px,9.4vw,42px);line-height:1.35}.blog-masthead-lead{font-size:14px;line-height:2}.blog-masthead-actions{gap:18px;margin-top:22px}.blog-stats dd{font-size:17px}.blog-lead{padding-top:34px}.blog-lead-content{padding:24px 22px}.blog-lead-content h2{font-size:22px}.blog-lead-art{min-height:190px}.blog-art{padding:14px}.blog-directory{padding-top:52px}.blog-directory-head{display:block}.blog-directory-head>p{margin-top:8px}.blog-directory-tools{flex-direction:column;align-items:stretch;gap:12px}.blog-search{min-width:0}.blog-post-copy h3{font-size:17.5px}.blog-post-row{gap:12px;padding:20px 0}.blog-aside{grid-template-columns:1fr}.blog-article-header{margin-top:26px}.blog-article-header h1{font-size:28px;line-height:1.5}.blog-article-lead{padding-inline-start:13px;font-size:14.5px}.blog-article-figure .blog-art{min-height:0;padding:12px}.blog-reading-layout{margin-top:34px}.blog-toc ol{grid-template-columns:1fr}.blog-prose h2{font-size:20px}.blog-prose p{font-size:15px;line-height:2.1}.blog-related-grid{grid-template-columns:1fr}.blog-article-foot{flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){.cyno-blog *{scroll-behavior:auto!important;transition:none!important}.blog-toc-track i{transition:none!important}}[data-theme=dark] .cyno-blog{--blog-ink:#12161a;--blog-ink-soft:#1a2026}[data-theme=dark] .blog-art{--art-bg:color-mix(in srgb,var(--text) 9%,var(--bg));--art-ink:#dfe3e6}[data-theme=dark] .blog-art--route{--art-bg:color-mix(in srgb,#c98a5a 17%,var(--bg));--art-ink:#eddccb}[data-theme=dark] .blog-art--tokens{--art-bg:color-mix(in srgb,#8aa07a 15%,var(--bg));--art-ink:#dbe4d4}[data-theme=dark] .blog-art--stream{--art-bg:color-mix(in srgb,#6d95a8 15%,var(--bg));--art-ink:#d6e3ea}[data-theme=dark] .blog-art--retry{--art-bg:color-mix(in srgb,#9a7ea0 15%,var(--bg));--art-ink:#e2d9e6}[data-theme=dark] .blog-note--warn{background:#ff8a6314}
