:root{--paper: #f3efe6;--paper-2: #ece7db;--ink: #16150f;--ink-2: #3d3a30;--muted: #6f6a5a;--rule: #dcd6c7;--rule-strong: #c3bcaa;--accent: #b5431d;--font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--font-sans: "Instrument Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-fa-body: "Vazirmatn", "Instrument Sans", system-ui, sans-serif;--font-fa-display: "Noto Naskh Arabic", "Vazirmatn", Georgia, serif;--shiki-background: var(--ink);--shiki-foreground: var(--paper);--shiki-token-comment: #7a7565;--shiki-token-keyword: #d28054;--shiki-token-constant: #dcae6a;--shiki-token-string: #b7c98d;--shiki-token-string-expression: #b7c98d;--shiki-token-function: #e2b184;--shiki-token-parameter: #d6d0c2;--shiki-token-punctuation: #8a8474;--shiki-token-link: #d28054;--step--1: .8125rem;--step-0: 1.0625rem;--step-1: clamp(1.125rem, .95rem + .7vw, 1.5rem);--step-2: clamp(1.5rem, 1.1rem + 1.8vw, 2.75rem);--step-3: clamp(2rem, 1.1rem + 3.6vw, 4.5rem);--step-hero: clamp(2.85rem, 11.6vw, 10rem);--pad: clamp(1.15rem, 4vw, 3.5rem);--maxw: 1500px;--header-h: 3.75rem;--rail-w: clamp(3rem, 5vw, 4.5rem);--ease: cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{color-scheme:dark;--paper: #171614;--paper-2: #211f1c;--ink: #e8e4d9;--ink-2: #c4beae;--muted: #928c7c;--rule: #2a2823;--rule-strong: #423d34;--accent: #e27447;--shiki-background: #11100e;--shiki-foreground: #e8e4d9;--shiki-token-comment: #827c6e;--shiki-token-keyword: #e88554;--shiki-token-constant: #e5bf74;--shiki-token-string: #bad192;--shiki-token-string-expression: #bad192;--shiki-token-function: #f0be8f;--shiki-token-parameter: #ded8cb;--shiki-token-punctuation: #9c9687;--shiki-token-link: #e88554}[data-theme=dark] ::selection{background:#3b362e;color:#fff}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}em{font-family:var(--font-display);font-style:italic}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}.label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1.4}.label--dim{color:var(--muted)}.skip{position:absolute;left:var(--pad);top:0;transform:translateY(-120%);z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.75rem;padding:.6rem .9rem;transition:transform .25s var(--ease)}.skip:focus{transform:translateY(0)}.progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:60;pointer-events:none}.progress span{display:block;height:100%;width:0;background:var(--accent);transform-origin:left center}.masthead{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--header-h);display:flex;align-items:center;border-bottom:1px solid transparent;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .4s var(--ease),background-color .4s var(--ease)}.masthead.is-stuck{border-bottom-color:var(--rule);background:color-mix(in srgb,var(--paper) 94%,transparent)}.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:inline-flex;align-items:baseline;gap:.6rem;font-size:var(--step--1);letter-spacing:-.005em}.brand__mark{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;font-weight:500;border:1px solid var(--rule-strong);padding:.2rem .28rem .2rem .32rem;line-height:1;color:var(--ink-2);transition:border-color .3s var(--ease),color .3s var(--ease)}.brand:hover .brand__mark{border-color:var(--accent);color:var(--accent)}.brand__name{font-weight:500}.nav{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2.25rem)}.masthead__actions{display:flex;align-items:center;gap:clamp(.75rem,1.8vw,1.5rem)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;padding:0;border:1px solid var(--rule-strong);border-radius:4px;background:transparent;color:var(--ink-2);cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .25s var(--ease),transform .2s var(--ease)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background-color:var(--paper-2)}.theme-toggle:active{transform:scale(.92)}.theme-toggle__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}:root:not([data-theme=dark]) .theme-toggle__icon--sun{display:none}:root:not([data-theme=dark]) .theme-toggle__icon--moon{display:inline-flex}[data-theme=dark] .theme-toggle__icon--sun{display:inline-flex}[data-theme=dark] .theme-toggle__icon--moon{display:none}.nav__link{position:relative;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--muted);padding-block:.35rem;transition:color .3s var(--ease)}.nav__link:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .4s var(--ease)}.nav__link:hover,.nav__link.is-active{color:var(--ink)}.nav__link:hover:after,.nav__link.is-active:after{transform:scaleX(1)}.hero{padding-top:calc(var(--header-h) + clamp(2rem,6vh,5rem));padding-bottom:clamp(3rem,9vh,7rem)}.hero__wrap{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.hero__rail{position:sticky;top:calc(var(--header-h) + 2rem);display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;height:clamp(20rem,56vh,34rem);color:var(--muted)}.hero__rail-text{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.hero__rail:before{content:"";flex:1 1 auto;width:0;min-height:1rem;border-left:1px solid var(--rule)}.hero__top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}.status{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-2)}.status__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.hero__title{font-family:var(--font-display);font-weight:400;font-size:var(--step-hero);line-height:.94;letter-spacing:-.02em;margin-top:clamp(2.5rem,7vh,5.5rem);margin-bottom:clamp(2.75rem,8vh,6rem);max-width:18ch}.hero__line{display:block;overflow:hidden;padding-bottom:.04em}.hero__line>span{display:block}.hero__title em{color:var(--accent);font-style:italic}.hero__foot{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:end;padding-top:1.75rem;border-top:1px solid var(--rule)}.hero__lede{max-width:44ch;color:var(--ink-2);font-size:var(--step-0);line-height:1.65}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:1.85rem}.link{display:inline-flex;align-items:center;gap:.45rem;position:relative}.link--lg{font-size:var(--step--1);font-weight:500;letter-spacing:-.005em;padding-bottom:.3rem;border-bottom:1px solid var(--rule-strong);transition:border-color .35s var(--ease),color .35s var(--ease)}.link--lg .link__arrow{transition:transform .35s var(--ease)}.link--lg:hover{border-color:var(--accent);color:var(--accent)}.link--lg:hover .link__arrow{transform:translate(.3rem)}.link--quiet{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);padding-bottom:.2rem;border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}.link--quiet:hover{color:var(--ink);border-bottom-color:var(--rule-strong)}.hero__meta{display:grid;gap:.7rem;padding-bottom:.35rem}.hero__meta-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;align-items:baseline;font-size:var(--step--1)}.hero__meta-row dt,.entry__meta dt,.toolkit__row dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero__meta-row dd,.entry__meta dd,.toolkit__row dd{color:var(--ink-2)}.section{padding-block:clamp(4rem,11vh,9rem)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding-bottom:1.1rem;border-bottom:1px solid var(--ink);margin-bottom:clamp(1.5rem,4vh,3rem)}.entries{display:flex;flex-direction:column}.entry{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr) minmax(0,17rem) 1.5rem;grid-template-areas:"index title meta arrow" "index kind  meta arrow" "index desc  meta arrow";column-gap:clamp(1rem,3vw,2.5rem);row-gap:.5rem;align-items:start;padding-block:clamp(1.75rem,4vh,2.9rem);border-top:1px solid var(--rule);transition:border-color .4s var(--ease)}.entries .entry:last-child{border-bottom:1px solid var(--rule)}.entry__index{grid-area:index;font-family:var(--font-mono);font-size:.75rem;color:var(--muted);padding-top:.85em;transition:color .35s var(--ease)}.entry__title{grid-area:title;font-family:var(--font-display);font-size:var(--step-2);line-height:1;letter-spacing:-.015em;transition:transform .5s var(--ease),color .35s var(--ease)}.entry__kind{grid-area:kind;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:.5rem}.entry__desc{grid-area:desc;max-width:52ch;color:var(--ink-2);font-size:var(--step--1);line-height:1.65}.entry__meta{grid-area:meta;display:grid;gap:.55rem;font-size:var(--step--1)}.entry__meta div{display:grid;grid-template-columns:4.25rem minmax(0,1fr);gap:.75rem;align-items:baseline}.entry__arrow{grid-area:arrow;justify-self:end;font-size:1.05rem;color:var(--muted);transition:transform .4s var(--ease),color .35s var(--ease)}.entry:hover .entry__title,.entry:focus-visible .entry__title{transform:translate(.45rem);color:var(--accent)}.entry:hover .entry__index,.entry:focus-visible .entry__index{color:var(--accent)}.entry:hover .entry__arrow,.entry:focus-visible .entry__arrow{transform:translate(.35rem);color:var(--accent)}.about{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}.about__prose{max-width:60ch}.about__prose p{color:var(--ink-2);margin-bottom:1.25rem}.about__prose .about__lead{font-family:var(--font-display);font-size:var(--step-1);line-height:1.35;letter-spacing:-.01em;color:var(--ink);max-width:34ch;margin-bottom:1.75rem}.about__prose .about__quote{font-family:var(--font-display);font-style:italic;font-size:var(--step-1);color:var(--ink);border-top:1px solid var(--rule);padding-top:1.5rem;margin-top:2rem;margin-bottom:0}.about__side{display:grid;gap:clamp(2rem,5vh,3.25rem)}.side-block .label{padding-bottom:.9rem;border-bottom:1px solid var(--rule);margin-bottom:1rem}.plain-list{list-style:none;display:grid;gap:.5rem;font-size:var(--step--1);color:var(--ink-2)}.plain-list li{display:flex;gap:.75rem}.plain-list li:before{content:"—";color:var(--rule-strong);flex:none}.toolkit{display:grid;gap:.7rem;font-size:var(--step--1)}.toolkit__row{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.9rem;align-items:baseline}.contact{border-top:1px solid var(--rule)}.contact__title{font-family:var(--font-display);font-weight:400;font-size:var(--step-3);line-height:1.02;letter-spacing:-.02em;max-width:22ch}.contact__mail{display:inline-block;margin-top:clamp(1.5rem,4vh,2.5rem);font-family:var(--font-mono);font-size:clamp(.95rem,.6rem + 1.6vw,1.6rem);color:var(--ink);border-bottom:1px solid var(--rule-strong);padding-bottom:.15em;transition:color .35s var(--ease),border-color .35s var(--ease)}.contact__mail:hover{color:var(--accent);border-color:var(--accent)}.contact__links{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:clamp(2rem,5vh,3rem)}.footer{border-top:1px solid var(--rule);margin-top:clamp(3rem,8vh,6rem)}.footer__inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem 2rem;padding-block:1.75rem;font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.footer__colophon{color:var(--muted)}html.js [data-reveal]{opacity:0;transform:translateY(20px)}html.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}html.js .hero__line>span{transform:translateY(112%)}html.js .hero__top,html.js .hero__foot{opacity:0;transform:translateY(14px)}html.js.is-ready .hero__line>span{transform:translateY(0);transition:transform 1.05s var(--ease)}html.js.is-ready .hero__top,html.js.is-ready .hero__foot{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}html.js.is-ready .hero__line:nth-child(1)>span{transition-delay:.06s}html.js.is-ready .hero__line:nth-child(2)>span{transition-delay:.16s}html.js.is-ready .hero__line:nth-child(3)>span{transition-delay:.26s}html.js.is-ready .hero__foot{transition-delay:.5s}@media (prefers-reduced-motion: reduce){html.js [data-reveal],html.js .hero__top,html.js .hero__foot{opacity:1!important;transform:none!important}html.js .hero__line>span{transform:none!important}html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}@media (max-width: 1000px){.entry{grid-template-columns:2.75rem minmax(0,1fr) 1.5rem;grid-template-areas:"index title arrow" "index kind  arrow" "index desc  arrow" "index meta  arrow";row-gap:.75rem}.entry__kind{align-self:auto;justify-self:start;padding-bottom:0}.entry__arrow{align-self:center}.entry__index{padding-top:.2em}.about{grid-template-columns:minmax(0,1fr)}.about__side{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}}@media (max-width: 820px){:root{--step-hero: clamp(2.6rem, 12.5vw, 6rem);--rail-w: 0rem}.hero__wrap{grid-template-columns:minmax(0,1fr)}.hero__rail{display:none}.hero{padding-top:calc(var(--header-h) + 2.5rem)}.hero__title{max-width:none;margin-top:clamp(1.75rem,6vh,2.75rem);margin-bottom:clamp(2rem,6vh,3rem)}.hero__foot{grid-template-columns:minmax(0,1fr);gap:1.75rem;align-items:start}.hero__meta{padding-top:1.5rem;border-top:1px solid var(--rule)}.brand__name{display:none}.section__head{flex-wrap:wrap}.footer__colophon{display:none}}@media (max-width: 620px){.hero__top{flex-direction:column;align-items:flex-start;gap:.65rem}.about__side{grid-template-columns:minmax(0,1fr)}.toolkit__row,.hero__meta-row{grid-template-columns:minmax(0,1fr);gap:.1rem}.entry__meta div{grid-template-columns:3.5rem minmax(0,1fr);gap:.75rem}.hero__actions{flex-direction:column;align-items:flex-start;gap:1rem}.footer__inner{flex-direction:column;align-items:flex-start;gap:.75rem}}.note__wrap,.note__container{max-width:54rem;padding-top:calc(var(--header-h) + clamp(2.5rem,8vh,6rem));padding-bottom:clamp(3rem,9vh,7rem)}.note__main{min-width:0;width:100%}.note__sidebar{display:none}@media (min-width: 1100px){.note__container{max-width:76rem;display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:3.5rem;align-items:start}.note__sidebar{display:block;position:sticky;top:calc(var(--header-h) + 2rem);max-height:calc(100vh - var(--header-h) - 3.5rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent;padding-inline-start:1.5rem;border-inline-start:1px solid var(--rule)}.mobile-toc{display:none}}.note-toc{font-family:var(--font-fa-body)}.note-toc__head{margin-bottom:.9rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.note-toc__list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.note-toc__item--h2{font-size:.8125rem;font-weight:600;line-height:1.45}.note-toc__item--h3{font-size:.75rem;font-weight:400;line-height:1.4;padding-inline-start:.85rem}.note-toc__link{display:block;color:var(--muted);text-decoration:none;border-inline-start:2px solid transparent;padding-inline-start:.6rem;margin-inline-start:-.6rem;transition:color .2s var(--ease),border-color .2s var(--ease)}.note-toc__link:hover{color:var(--ink)}.note-toc__link.is-active{color:var(--accent);font-weight:600;border-inline-start-color:var(--accent)}.mobile-toc{margin-block:1.5rem 2.25rem;background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;overflow:hidden;transition:border-color .2s var(--ease)}.mobile-toc[open]{border-color:var(--rule-strong)}.mobile-toc__summary{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-fa-body);font-size:.8125rem;font-weight:600;color:var(--ink-2);transition:color .2s var(--ease),background-color .2s var(--ease)}.mobile-toc__summary:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.mobile-toc__badge{font-family:var(--font-mono);font-size:.6875rem;color:var(--muted);border:1px solid var(--rule);padding:.15rem .45rem;border-radius:2px}.mobile-toc__content{padding:.6rem 1rem 1.15rem;border-top:1px solid var(--rule)}.mobile-toc__list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.mobile-toc__item--h2{font-size:.8125rem;font-weight:600;padding-block:.2rem}.mobile-toc__item--h3{font-size:.75rem;font-weight:400;padding-inline-start:1rem;padding-block:.15rem}.mobile-toc__link{color:var(--muted);text-decoration:none;transition:color .2s var(--ease)}.mobile-toc__link:hover{color:var(--accent)}.note__bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule);margin-bottom:clamp(2rem,6vh,3.5rem)}.note__back a{color:var(--muted);transition:color .3s var(--ease)}.note__back a:hover{color:var(--accent)}.note__stamp{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin-inline-start:auto}.note__langs{display:inline-flex;align-items:baseline;gap:.4rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em}.note__lang{color:var(--muted);transition:color .3s var(--ease)}.note__lang:hover{color:var(--accent)}.note__lang.is-current{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.note__lang-sep{color:var(--rule-strong)}.note__title{font-family:var(--font-display);font-size:var(--step-3);line-height:1.05;letter-spacing:-.02em;text-wrap:balance;margin-bottom:1rem}.note__summary{font-size:var(--step-1);line-height:1.5;color:var(--muted);max-width:56ch}.note__tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-top:1.5rem}.note__tag{font-family:var(--font-mono);font-size:.6563rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);border-radius:2px;padding:.25rem .5rem}.prose{margin-top:clamp(2rem,6vh,3.5rem);max-width:100%;font-size:var(--step-0);line-height:1.78;color:var(--ink-2)}.prose>*+*{margin-top:1.35em}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--ink);line-height:1.15;letter-spacing:-.01em;text-wrap:balance;scroll-margin-top:calc(var(--header-h) + 1.75rem)}.prose h2{font-size:var(--step-2);margin-top:2.2em}.prose h3{font-size:var(--step-1);margin-top:1.9em}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-inline-start:1.35em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--rule-strong)}.prose blockquote{font-family:var(--font-display);font-size:var(--step-1);font-style:italic;line-height:1.4;color:var(--ink);border-inline-start:2px solid var(--rule-strong);padding-inline-start:1.1em}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--paper-2);padding:.12em .4em;border-radius:3px}.prose pre{background:var(--ink);color:var(--paper);border-radius:4px;padding:1.15rem 1.3rem;overflow-x:auto;font-size:.85rem;line-height:1.65}.prose pre code{background:none;padding:0;font-size:inherit;color:inherit}.prose pre.shiki{background:var(--shiki-background);color:var(--shiki-foreground)}.code{position:relative}.code pre{margin:0}.code__copy{position:absolute;top:.5rem;inset-inline-end:.5rem;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:2px;padding:.28rem .5rem;cursor:pointer;opacity:.5;transition:opacity .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}.code:hover .code__copy,.code__copy:focus-visible{opacity:1}.code__copy:hover{background:#ffffff29}.code__copy.is-copied{opacity:1;color:var(--paper);background:var(--accent);border-color:var(--accent)}.prose img{max-width:100%;height:auto;border-radius:4px}.prose hr{border:none;border-top:1px solid var(--rule);margin-block:2.5em}.prose table{width:100%;border-collapse:collapse;margin-block:2.25em;font-size:var(--step--1);line-height:1.6}.prose th,.prose td{padding:.75rem .85rem;border-bottom:1px solid var(--rule);text-align:start;vertical-align:top}.prose th{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);font-weight:500}.prose tbody tr:hover{background:color-mix(in srgb,var(--paper-2) 40%,transparent)}.prose td code{white-space:nowrap}.note[lang=fa]{font-family:var(--font-fa-body)}.note[lang=fa] .note__title,.note[lang=fa] .prose h2,.note[lang=fa] .prose h3,.note[lang=fa] .prose h4,.note[lang=fa] .prose blockquote{font-family:var(--font-fa-display)}.note[lang=fa] .prose blockquote,.note[lang=fa] em{font-style:normal}.note[dir=rtl] .note__title,.note[dir=rtl] .prose{text-align:right}.note[dir=rtl] pre,.note[dir=rtl] code{direction:ltr;text-align:left}.note[dir=rtl] blockquote{border-inline-start:none;border-inline-end:2px solid var(--rule-strong);padding-inline-start:0;padding-inline-end:1.1em}@media (max-width: 620px){.note__stamp{margin-inline-start:0}}body.os-page,body.os-page [data-reveal],html.js body.os-page [data-reveal],body.os-page.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}body.os-page,body.os-page .brand,body.os-page .brand__name,body.os-page .nav__link,body.os-page .label,body.os-page .footer__inner,body.os-page .skip,body.os-page .note__mode,body.os-page .note__source,body.os-page .note__stamp,body.os-page .note__back,body.os-page .series-nav{font-family:var(--font-fa-body)}body.os-page .brand__mark{font-family:var(--font-mono)}body.os-page .note[lang=fa] .note__title,body.os-page .note[lang=fa] .prose h2,body.os-page .note[lang=fa] .prose h3,body.os-page .note[lang=fa] .prose h4,body.os-page .note[lang=fa] .prose blockquote,body.os-page .note__title,body.os-page .prose h2,body.os-page .prose h3,body.os-page .prose h4,body.os-page .prose blockquote{font-family:var(--font-fa-body)}body.os-page .prose code,body.os-page .prose pre,body.os-page .prose pre code{font-family:var(--font-mono)}.os-hero{padding-block:clamp(2.5rem,6vh,4.5rem) clamp(1.5rem,4vh,2.5rem);border-bottom:1px solid var(--rule)}.os-hero__wrap{max-width:52rem}.os-title{font-family:var(--font-fa-body);font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--ink);margin-top:.5rem}.os-subtitle{font-size:var(--step-0);color:var(--muted);margin-top:.35rem}.os-intro__text{margin-top:1.5rem;font-size:var(--step-0);line-height:1.85;color:var(--ink-2)}.os-toc{display:flex;flex-direction:column;gap:clamp(2rem,5vh,3.5rem);margin-top:2rem}.os-toc__chapter{border-top:2px solid var(--ink);padding-top:.85rem}.os-toc__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.os-toc__title{font-family:var(--font-fa-body);font-size:var(--step-1);font-weight:600;color:var(--ink)}.os-toc__list{display:flex;flex-direction:column}.toc-item{display:grid;grid-template-columns:3.25rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:.75rem .5rem;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;transition:background-color .15s ease;border-radius:2px}.toc-item:hover{background-color:var(--paper-2)}.toc-item--soon{opacity:.55}.toc-item--soon:hover{background-color:transparent}.toc-item__num{font-family:var(--font-mono);font-size:.8125rem;color:var(--muted);font-weight:500}.toc-item__body{display:flex;flex-direction:column;gap:.2rem}.toc-item__title{font-size:.9375rem;font-weight:500;color:var(--ink);line-height:1.4}.toc-item:hover .toc-item__title{color:var(--accent)}.toc-item--soon:hover .toc-item__title{color:var(--ink)}.toc-item__desc{font-size:.8125rem;color:var(--muted);line-height:1.5}.toc-item__badge{font-size:.6875rem;padding:.2rem .45rem;border:1px solid var(--rule-strong);border-radius:2px;color:var(--muted);white-space:nowrap;align-self:center}.entry__title--fa{font-family:var(--font-fa-body);font-size:var(--step-1);line-height:1.4;direction:rtl;justify-self:start;text-align:right}.entry__desc--fa{font-family:var(--font-fa-body);direction:rtl;justify-self:start;text-align:right;line-height:1.7}.note__mode{display:inline-block;margin-top:.85rem;padding:.28rem .6rem;border:1px solid var(--rule-strong);border-radius:2px;font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}.note__source{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:var(--step--1);line-height:1.7;color:var(--muted)}.series-nav{display:flex;align-items:stretch;gap:1rem;margin-top:clamp(2.5rem,7vh,4.5rem);padding-top:1.25rem;border-top:1px solid var(--rule)}.series-nav__link{display:flex;flex-direction:column;gap:.25rem;max-width:42%;padding:.5rem 0}.series-nav__link--next{margin-inline-start:auto;text-align:left}.series-nav__label{font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}.series-nav__title{font-size:var(--step--1);line-height:1.5;color:var(--ink-2);transition:color .3s var(--ease)}.series-nav__link:hover .series-nav__title{color:var(--accent)}.series-nav__index{align-self:center;font-size:.75rem;color:var(--muted);border:1px solid var(--rule);border-radius:2px;padding:.3rem .55rem;transition:border-color .3s var(--ease),color .3s var(--ease)}.series-nav__index:hover{border-color:var(--accent);color:var(--accent)}.series-nav__spacer{flex:1}.prose figure{margin:2rem 0}.prose figcaption{margin-top:.65rem;font-size:var(--step--1);line-height:1.6;color:var(--muted);text-align:center}.prose [dir=ltr]{direction:ltr;unicode-bidi:isolate}.os-disclaimer{margin-top:clamp(2.5rem,7vh,4.5rem);padding-top:1rem;border-top:1px solid var(--rule);font-size:var(--step--1);line-height:1.8;color:var(--muted);max-width:60rem}@media (max-width: 620px){.toc-item{grid-template-columns:2.75rem minmax(0,1fr)}.toc-item__badge{grid-column:2;align-self:start;margin-top:.25rem}.series-nav{flex-wrap:wrap}.series-nav__link{max-width:100%}.series-nav__link--next{margin-inline-start:0}.series-nav__index{order:-1}}[data-theme=dark] svg rect[fill*="var(--ink"]{fill:#272420;stroke:var(--rule-strong);stroke-width:1.25px}[data-theme=dark] svg text[fill*="var(--paper"]{fill:var(--ink)}[data-theme=dark] svg text[fill*="var(--paper-2"]{fill:var(--ink-2)}[data-theme=dark] .prose pre{border:1px solid var(--rule)}
