.post-content[dir=rtl],.post-description[dir=rtl],.post-summary[dir=rtl],.post-title[dir=rtl]{text-align:right;font-family:Vazirmatn,Tahoma,Segoe UI,system-ui,sans-serif}.post-content[dir=rtl] blockquote{border-right:3px solid var(--accent,#6366f1);padding-right:1rem;padding-left:0}body{font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-content .highlight,.post-content pre{margin:1.5rem 0;border-radius:12px;border:1px solid #444c56;overflow:hidden;background:#0d1117}.post-content pre{background:#0d1117}.post-content pre code{padding:1.5rem;font-family:JetBrains Mono,Fira Code,Cascadia Code,ui-monospace,monospace;font-size:14px;line-height:1.8;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.post-content .highlight[data-lang]:before{content:attr(data-lang);display:block;padding:10px 16px;background:#161b22;border-bottom:1px solid #444c56;color:#c9d1d9;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,ui-monospace,monospace}.post-content code{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;background:#1c2128;color:#79c0ff;padding:4px 10px;border-radius:6px;font-size:.9em;font-weight:500;border:1px solid #444c56;word-break:break-word}.post-content pre code{color:#f0f6fc;border:none}.post-content .highlight .k,.post-content .highlight .kd,.post-content .highlight .kn,.post-content .highlight .kp,.post-content .highlight .kr{color:#ff7b72;font-weight:700}.post-content .highlight .s,.post-content .highlight .s1,.post-content .highlight .s2,.post-content .highlight .sb,.post-content .highlight .sc{color:#a5d6ff;font-weight:600}.post-content .highlight .c,.post-content .highlight .c1,.post-content .highlight .cm{color:#8b949e;font-style:italic}.post-content .highlight .na,.post-content .highlight .nf{color:#d2a8ff;font-weight:600}.post-content .highlight .nb{color:#79c0ff}.post-content .highlight .o{color:#ff7b72}.post-content .highlight .nc{color:#ffa657}.post-content .highlight .mi{color:#79c0ff}.post-content .highlight .se{color:#ffa657}.post-content .highlight .err,.post-content .highlight .nx,.post-content .highlight .p{color:#f0f6fc}.post-content table{width:100%;margin:1.5rem 0;border-collapse:separate;border-spacing:0;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;font-size:14px}.post-content thead th{background:#161b22;color:#c9d1d9;padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color)}.post-content tbody td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-main)}.post-content tbody tr:last-child td{border-bottom:none}.post-content tbody tr:hover td{background:var(--surface-muted)}.post-content blockquote{margin:1.5rem 0;padding:1rem 1.25rem 1rem 1.5rem;border-left:4px solid #58a6ff;background:linear-gradient(90deg,rgba(56,139,253,.08),transparent);border-radius:0 8px 8px 0}.post-content blockquote p{margin:0}.post-content h2{margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);font-weight:700;font-size:1.5rem;color:var(--text-main)}.post-content h3{margin:2rem 0 .75rem;font-weight:600;font-size:1.25rem;color:#58a6ff}.post-content h4{margin:1.5rem 0 .5rem;font-weight:600;color:var(--text-main)}.post-content a{color:#58a6ff;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.post-content a:hover{border-bottom-color:#58a6ff}.post-content hr{margin:2.5rem 0;height:1px;background:var(--border-color)}.post-entry{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-bg);padding:1.25rem 1.5rem;margin-bottom:1rem;transition:all .2s ease}.post-entry:hover{border-color:#58a6ff;box-shadow:0 4px 16px rgba(56,139,253,.12);transform:translateY(-2px)}.post-entry .entry-header h2{font-size:1.25rem;margin:0 0 .5rem;border:none;padding:0;line-height:1.4}.post-entry .entry-content{font-size:14px;line-height:1.6;margin:.5rem 0}.post-entry .entry-footer{margin-top:.75rem;font-size:13px}.post-tags{gap:8px;margin-top:1rem}.post-tags a{padding:4px 12px;border-radius:999px;background:#161b22;color:#c9d1d9;font-size:12px;font-weight:500;border:1px solid #30363d;text-decoration:none;transition:all .15s ease}.post-tags a:hover{background:#58a6ff;color:#0d1117;border-color:#58a6ff}.post-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:.75rem}.meta-item{gap:4px;padding:4px 10px;font-size:12px;font-weight:500}.nav{border-bottom:1px solid var(--border-color);background:var(--theme-bg);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);background:rgba(var(--theme-bg),.9)}.logo a{font-weight:600!important;letter-spacing:-.01em}#menu a span{font-weight:500}.page-header h1{font-size:2.5rem!important;font-weight:800!important;letter-spacing:-.025em;line-height:1.2}.page-header p{color:var(--text-muted);font-size:1.1rem;margin-top:.5rem}.post-title{font-size:2rem!important;font-weight:800!important;letter-spacing:-.02em;line-height:1.25}.post-description{font-size:1.05rem;color:var(--text-muted);line-height:1.6}.first-entry{border:1px solid var(--border-color);border-radius:16px;padding:2rem;margin:1.5rem 0 2rem}.first-entry .entry-header h1{font-size:2rem;letter-spacing:-.02em}.first-entry .entry-content{line-height:1.7}.toc{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;padding:1rem;margin-bottom:2rem}.toc summary{font-weight:600;font-size:14px;cursor:pointer;color:var(--text-main)}.toc .inner{margin-top:.75rem}.toc li{padding:4px 0}.toc a{font-size:14px;color:var(--text-muted);transition:color .15s ease}.toc a:hover{color:#58a6ff}.search-box input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-bg);color:var(--text-main);font-size:15px;transition:border-color .15s ease}.search-box input:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 3px rgba(56,139,253,.15)}.footer{border-top:1px solid var(--border-color);padding-top:2rem;margin-top:4rem;font-size:13px}.footer,.footer a{color:var(--text-muted)}.footer a{border:none}.footer a:hover{color:var(--text-main)}.top-link{background:#58a6ff;color:#0d1117;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(56,139,253,.3)}.top-link:hover{background:#79c0ff;transform:translateY(-2px)}@media (max-width:768px){.page-header h1{font-size:1.75rem!important}.post-title{font-size:1.5rem!important}.first-entry{padding:1.25rem}.first-entry .entry-header h1{font-size:1.5rem}.post-content pre code{font-size:12.5px;padding:1rem}.post-content table{font-size:13px}.post-content td,.post-content th{padding:8px 12px}}.post-content[dir=rtl] blockquote{border-left:none;border-right:4px solid #58a6ff;border-radius:8px 0 0 8px;background:linear-gradient(270deg,rgba(56,139,253,.08),transparent);text-align:right}.post-content[dir=rtl] h1,.post-content[dir=rtl] h2,.post-content[dir=rtl] h3{text-align:right}.post-content[dir=rtl] ol,.post-content[dir=rtl] ul{padding-right:1.5rem;padding-left:0}.post-content[dir=rtl] p{text-align:right;line-height:2}.post-content[dir=rtl] code,.post-content[dir=rtl] pre,.post-content[dir=rtl] table{direction:ltr;text-align:left}.post-content[dir=rtl]{font-family:Vazirmatn,Tahoma,Segoe UI,system-ui,sans-serif;line-height:2}.post-content div[style*="text-align: right"]{line-height:2.2}.post-content[dir=rtl] hr{margin:2rem auto}.post-entry{animation:fadeInUp .3s ease-out}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #58a6ff;outline-offset:2px}::-moz-selection{background:rgba(56,139,253,.3);color:inherit}::selection{background:rgba(56,139,253,.3);color:inherit}.post-content img[src*=profile]{width:150px;height:150px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid var(--border-color)}@media (min-width:768px){.post-content div[style*="display: flex"]{gap:2rem;align-items:flex-start}}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}.hero-badge{display:inline-block;padding:6px 16px;margin-bottom:1rem;background:linear-gradient(135deg,#58a6ff,#bc8cff);color:#0d1117;font-size:12px;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.1em;animation:fadeInDown .6s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.first-entry{text-align:center;padding:5rem 2rem 4rem;background:var(--surface-bg);border:none;border-radius:0}.hero-glow{position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(56,139,253,.12) 0,transparent 70%);pointer-events:none;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.1)}}.first-entry .entry-header h1{position:relative;font-size:3.5rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.75rem;background:linear-gradient(135deg,#f0f6fc,#8b949e 50%,#58a6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .8s ease}.hero-subtitle{position:relative;margin:0 0 1rem;font-size:18px;color:#8b949e;font-weight:400;animation:fadeInUp .8s ease .1s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.first-entry .entry-content{position:relative;font-size:18px;color:var(--text-muted);max-width:550px;margin:0 auto 1.5rem;line-height:1.8;animation:fadeInUp .8s ease .2s both}.first-entry .entry-footer{position:relative;animation:fadeInUp .8s ease .3s both}@media (max-width:768px){.first-entry{padding:3rem 1rem 2.5rem}.first-entry .entry-header h1{font-size:2.25rem}.first-entry .entry-content{font-size:16px}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll}body,figure,ul{margin:0}body{background:var(--theme-bg);color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Ubuntu,sans-serif;font-size:18px;line-height:1.6;word-break:break-word}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}a,body,button,h1,h2,h3,h4,h5,h6{color:var(--text-main)}a{text-decoration:none}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:transparent;border:0}button,input[type=button],input[type=submit]{cursor:pointer}input,textarea{outline:0}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme-bg) inset}img{display:block;max-width:100%}code{direction:ltr}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.list{background:var(--code-bg)}.dark.list{background:var(--theme-bg)}.main{position:relative;min-height:calc(100vh - 7.5rem);max-width:48rem;margin:0 auto;padding:1.5rem}.footer,.top-link{font-size:12px;color:var(--text-muted)}.footer{max-width:48rem;margin:0 auto;padding:1.125rem 1.5rem;text-align:center;line-height:24px}.footer-credits{display:flex;flex-wrap:wrap;justify-content:center;gap:0 4px}.footer-scheme{margin-top:.5rem}.footer span{margin-inline:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--text-muted)}.footer a:hover{border-bottom-color:var(--text-main)}.top-link{position:fixed;right:30px;bottom:60px;z-index:99;width:42px;height:42px;padding:12px;border-radius:999px;background:var(--surface-muted);visibility:hidden;opacity:0;transition:visibility .5s linear,opacity .35s ease,transform .35s ease}.top-link.is-visible{visibility:visible;opacity:1}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme-bg))}.footer a:hover,.top-link:hover{color:var(--text-main)}#theme-toggle:focus,.top-link:focus{outline:0}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:67rem;margin-inline:auto;line-height:3.75rem}.nav a{display:block}#menu,.logo{display:flex;margin:auto 1.5rem}.logo{flex-wrap:inherit}.logo a{font-size:16px;font-weight:500}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translateY(-10%);border-radius:6px;margin-inline-end:8px}.logo-switches{display:inline-flex;margin:auto 4px;align-items:center;gap:.35rem;flex-wrap:inherit}#theme-toggle{margin:auto 4px;font-size:26px}#menu .active,#menu a:hover span,.language-switcher a.active,.language-switcher a:hover{color:var(--text-main)}.language-switcher a.active:after,.language-switcher a:hover:after{width:100%}.language-toast{position:fixed;right:1rem;bottom:1rem;z-index:1100;max-width:min(22rem,calc(100vw - 2rem));border:1px solid var(--border-color);border-radius:999px;background:var(--surface-bg);color:var(--text-main);padding:.65rem 1rem;box-shadow:0 18px 40px rgba(15,23,42,.18);opacity:0;pointer-events:none;transform:translateY(.75rem);transition:opacity .16s ease,transform .16s ease}.language-toast.is-visible{opacity:1;transform:translateY(0)}#scheme-select{font-size:12px;color:var(--text-muted);background:transparent;border:1px solid var(--border-color);border-radius:.25rem;padding:2px 6px;cursor:pointer}#scheme-select:hover{border-color:var(--text-muted);color:var(--text-main)}.dark #moon{vertical-align:middle}.dark #moon,html:not(.dark) #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:1.5rem}#menu a{font-size:16px}#menu a span{position:relative;display:inline-block;padding-bottom:.08rem;color:var(--text-muted);line-height:1.2;transition:color .16s ease}#menu a span:after{position:absolute;bottom:0;left:0;width:0;height:2px;border-radius:999px;background:currentColor;content:"";transition:width .18s ease}#menu .active{font-weight:500}#menu .active:after,#menu a:hover span:after{width:100%}.page-header h1,.taxonomy-list-entry .taxonomy-header h1{font-size:40px}.pagination{display:flex}.pagination a{border-radius:999px;background:var(--text-main);color:var(--theme-bg);padding:0 16px;font-size:13px;line-height:36px}.pagination .next{margin-inline-start:auto}.pagination .previous{margin-inline-end:auto}.social-icons{padding:12px 0}.social-icons a:not(:last-of-type){margin-inline-end:12px}.social-icons a svg{width:26px;height:26px}div.highlight,pre{position:relative}.copy-code{position:absolute;top:4px;right:4px;display:none;border-radius:.5rem;background:rgba(78,78,78,.8);color:hsla(0,0%,100%,.8);padding:0 5px;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.first-entry{position:relative;display:flex;min-height:320px;flex-direction:column;align-items:flex-end;justify-content:center;margin:1.5rem 0 3rem;overflow:hidden}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:42px;line-height:1.3}.first-entry .entry-content{margin:14px 0;font-size:16px;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.home-logo{display:inline-flex;margin-bottom:1.5rem}.home-logo-mark{width:130px;height:auto;color:var(--text-main);transition:opacity .16s ease}.home-logo:hover .home-logo-mark{opacity:.8}.taxonomy-list-entry{display:flex;min-height:120px;flex-direction:column;align-items:center;margin:5px 0 10px}.taxonomy-list-entry .taxonomy-header h1{margin:12px auto}.taxonomy-list-entry .taxonomy-desc{margin:8px auto;font-size:16px}.post-entry{border:1px solid var(--border-color);border-radius:.5rem;background:var(--surface-bg);box-shadow:0 1px 3px rgba(0,0,0,.08);position:relative;margin-bottom:1.5rem;padding:1.5rem;transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease}.post-entry:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.post-entry.card-hover-border:hover{border-color:var(--accent-color);box-shadow:0 4px 16px var(--accent-soft)}.post-entry:active{transform:scale(.98)}.entry-header h2{font-size:24px;line-height:1.3}.entry-content{margin:8px 0;color:var(--text-muted);display:-webkit-box;overflow:hidden;font-size:14px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{color:var(--text-muted);font-size:13px}.entry-link{position:absolute;inset:0}.page-header,.post-header{margin:24px auto 1.25rem}.post-single,.search-page{max-width:48rem;margin:0 auto;padding:0 1.5rem}.search-box{margin-bottom:1rem}.post-header{display:grid;gap:.75rem}.post-title{margin-bottom:0;font-size:42px;line-height:1.05}.post-description{padding:1.1rem 1.25rem;background:var(--surface-muted);direction:auto;unicode-bidi:plaintext}.post-description,.post-summary{margin:0;border-radius:.5rem;color:var(--text-main)}.post-summary{padding:1rem 1.2rem;background:var(--surface-strong)}.post-summary h2{margin:0 0 .6rem;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.entry-content,.post-content,.post-summary p,.toc{direction:auto;unicode-bidi:plaintext}.breadcrumbs,.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;color:var(--text-muted);font-size:14px}.post-meta-items{display:flex;flex-wrap:wrap;gap:.5rem}.meta-item{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .75rem;background:var(--surface-muted);color:var(--text-muted);font-size:.95rem;line-height:1.2}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--text-muted)}.breadcrumbs a:hover,.post-meta a:hover{text-decoration:underline}.breadcrumbs a{font-size:16px}.post-content{color:var(--content-text)}.post-content h1{margin:40px auto 32px;font-size:40px}.post-content h2{margin:32px auto 24px;font-size:32px}.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:24px 0 16px}.post-content h3{font-size:24px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a,.toc a:hover{box-shadow:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.post-content a code{margin:auto 0;border-radius:0;box-shadow:0 -1px 0 var(--text-main) inset}.post-content del{text-decoration:line-through}.post-content dl,.post-content figure,.post-content ol,.post-content p,.post-content ul{margin-bottom:1.25rem}.post-content ol,.post-content ul{padding-inline-start:20px}.post-content li{margin-top:5px}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:5px}.post-content table td,.post-content table th{min-width:30px;border-bottom:1px solid var(--border-color);padding:12px 8px;line-height:1}.post-content table th{font-size:14px;text-align:start}.post-content .highlight table{border-radius:.5rem}.post-content .highlight:not(table){margin:10px auto;border-radius:.5rem;background:var(--highlight-bg)!important;direction:ltr}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:-3rem}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0!important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content pre{margin:16px 0;overflow-x:auto;padding:10px}.post-content code,.post-content pre{border-radius:.5rem;background:var(--highlight-bg);color:var(--content-text)}.post-content code{display:inline-block;margin:auto 4px;padding:4px 6px;font-size:.78em}.post-content pre code{display:block;overflow-x:auto;background:transparent;color:var(--content-text);padding:0;word-break:break-word}.post-content pre code[class*=language-]{background:transparent!important;border-radius:inherit}.post-content blockquote{margin:20px 0;border-inline-start:3px solid var(--text-main);padding:0 14px}.post-content hr{margin:30px 0;height:2px;border:0;background:var(--surface-muted)}.post-content iframe{max-width:100%}.post-content img{margin:1rem 0;border-radius:4px}.post-content img[src*="#center"]{margin:1rem auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{margin:8px 0 16px;color:var(--text-main);font-size:16px;font-weight:700}.post-content figure>figcaption>p{color:var(--text-muted);font-size:14px;font-weight:400}.toc{border:1px solid var(--border-color);border-radius:.5rem;background:var(--code-bg);margin:0 2px 40px;padding:.4em}.dark .toc{background:var(--surface-bg)}.toc details summary{cursor:zoom-in;margin-inline-start:20px}.toc details[open] summary{cursor:zoom-out}.toc .details{display:inline;font-weight:500}.toc .inner{margin:0 20px;padding:10px 20px}.toc li ul{margin-inline-start:1.5rem}.toc summary:focus{outline:0}.post-footer{margin-top:56px}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.post-tags li{margin:0}.paginav,.post-tags a{border:1px solid var(--border-color);border-radius:.5rem;background:var(--code-bg)}.post-tags a{display:block;border-radius:6px;background:var(--surface-muted);display:inline-flex;align-items:center;padding:.5rem .9rem;color:var(--text-main);font-size:.92rem;font-weight:600}.paginav a:hover,.post-tags a:hover{background:var(--surface-strong)}.post-content blockquote{margin:1.75rem 0;padding:1rem 1.25rem;border-left:4px solid var(--border-color);background:var(--surface-muted);color:var(--text-main)}.post-content hr{margin:3rem auto;border:none;border-top:1px dashed var(--border-color);width:70%}.post-content img{max-width:100%;border-radius:.5rem;margin:1.75rem auto;display:block}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;margin-inline-start:8px;color:var(--text-muted);font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none}.paginav{display:flex;margin:10px 0;line-height:30px}.paginav a{border-radius:.5rem;padding-inline:14px}.paginav .title{color:var(--text-muted);font-size:small;letter-spacing:1px;text-transform:uppercase}.paginav .next,.paginav .prev{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}h1>a>svg{display:inline}#search-toggle-box{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--overlay-backdrop)}#search-toggle-box.hidden{display:none}.search-toggle-modal{width:min(80%,600px);border:1px solid var(--border-color);border-radius:.5rem;background:var(--surface-bg);padding:20px;text-align:center;box-shadow:0 8px 24px rgba(15,23,42,.14)}#search-toggle-box input,.search-entry input{width:100%;border-radius:.5rem;border:2px solid var(--surface-muted);padding:4px 10px;color:var(--text-main);font-weight:700}#search-toggle-box input:focus,.search-entry input:focus{border-color:var(--text-muted);box-shadow:0 0 0 4px var(--focus-ring)}.search-toggle-modal button{margin-top:10px;border-radius:.5rem;background:var(--surface-strong);color:var(--text-main);padding:10px 20px;transition:transform .12s ease}.search-toggle-modal button:hover{transform:scale(.96)}.search-results{margin:10px 0}.search-results.hidden{display:none}.search-entry{border:1px solid var(--border-color);border-radius:.5rem;background:var(--surface-bg);box-shadow:0 1px 3px rgba(0,0,0,.08);position:relative;margin-bottom:1.5rem;padding:1.5rem}.search-entry .post-entry{background:var(--code-bg)}.terms-tags{list-style:none}.terms-tags li{display:inline-block;margin:10px;font-weight:500}.terms-tags a{display:block;border-radius:6px;background:var(--surface-muted);padding:3px 10px;transition:transform .1s ease}.terms-tags a:active{transform:scale(.96)}.js .reveal-on-scroll{opacity:0;transform:translateY(1rem);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}.js .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.js .home-hero .entry-header{animation:hero-rise .7s cubic-bezier(.22,1,.36,1) both}.js .home-hero .entry-content{animation:soft-fade .7s cubic-bezier(.22,1,.36,1) .12s both}.js .home-hero .entry-footer{animation:soft-fade .7s cubic-bezier(.22,1,.36,1) .22s both}.js .home-social-icons a{animation:soft-fade .6s cubic-bezier(.22,1,.36,1) both}.js .home-social-icons a:nth-child(2){animation-delay:80ms}.js .home-social-icons a:nth-child(3){animation-delay:.14s}.js .home-social-icons a:nth-child(4){animation-delay:.2s}.js .home-social-icons a:nth-child(5){animation-delay:.26s}.js .home-social-icons a:nth-child(6){animation-delay:.32s}::-webkit-scrollbar-track{background:transparent}.list:not(.dark)::-webkit-scrollbar-track{background:var(--code-bg)}::-webkit-scrollbar-thumb{border:5px solid var(--theme-bg);border-radius:.5rem;background:var(--surface-muted)}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar:not(.highlighttable,.highlight table,.gist .highlight){background:var(--theme-bg)}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--highlight-bg);background:#717175}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:#a3a3a5}.post-content pre code::-webkit-scrollbar-thumb,.post-content table::-webkit-scrollbar-thumb{border-width:0}.visible{visibility:visible}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.min-h-\[60vh\]{min-height:60vh}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.text-center{text-align:center}.text-\[clamp\(5rem\2c 18vw\2c 10rem\)\]{font-size:clamp(5rem,18vw,10rem)}.font-black{font-weight:900}.leading-none{line-height:1}.tracking-\[-0\.08em\]{letter-spacing:-.08em}.text-\[var\(--text-main\)\]{color:var(--text-main)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.chroma .line{display:flex}.chroma .cp,.chroma .cpf,.chroma .k,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .nt,.chroma .o,.chroma .ow{color:#ff79c6}.chroma .kd,.chroma .kt,.chroma .nb,.chroma .nl,.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi{color:#8be9fd;font-style:italic}.chroma .dl,.chroma .s,.chroma .s1,.chroma .s2,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sr,.chroma .ss,.chroma .sx{color:#f1fa8c}.chroma .il,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#bd93f9}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm,.chroma .cs{color:#6272a4}.chroma .go{color:#44475a}@media screen and (min-width:768px){::-webkit-scrollbar{width:22px;height:11px}}@media screen and (max-width:768px){.main{padding:.875rem}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.footer{padding:calc(1.4375rem - 5px) .875rem}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media (prefers-reduced-motion:reduce){.js .home-hero .entry-content,.js .home-hero .entry-footer,.js .home-hero .entry-header,.js .home-social-icons a,.js .reveal-on-scroll{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}#searchResults .focus,#searchResults li:active,.button-container button:hover,.button:active,.post-entry:active,.post-entry:hover,.search-toggle-modal button:hover,.terms-tags a:active,.top-link{transform:none!important}}.hover\:text-\[var\(--accent-color\)\]:hover{color:var(--accent-color)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[var\(--focus-ring\)\]:focus-visible{--tw-ring-color:var(--focus-ring)}.focus-visible\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px}.focus-visible\:ring-offset-\[var\(--theme-bg\)\]:focus-visible{--tw-ring-offset-color:var(--theme-bg)}