@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:64px;transition:background var(--dur-hover) var(--ease-hover), border-color var(--dur-hover) var(--ease-hover);background:0 0;border-bottom:1px solid #0000;align-items:center;display:flex;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs].is-scrolled{background:rgba(var(--bg-rgb), .85);backdrop-filter:blur(8px);border-bottom-color:var(--border)}.site-header__inner[data-astro-cid-nen7h5rs]{width:100%;max-width:1200px;padding:0 var(--s-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-toggle-input[data-astro-cid-nen7h5rs]{opacity:0;pointer-events:none;position:absolute}.nav-toggle-label[data-astro-cid-nen7h5rs]{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none}.nav-toggle-label[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--text);width:22px;height:2px}.site-nav[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-8);display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text);transition:color var(--dur-hover) var(--ease-hover);font-size:.8125rem;text-decoration:none}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}.download-btn[data-astro-cid-nen7h5rs]{background:var(--accent);color:var(--on-accent);border-radius:var(--r-btn);padding:8px 18px}.download-btn[data-astro-cid-nen7h5rs]:hover{background:var(--accent-hover)}@media (width<=767px){.nav-toggle-label[data-astro-cid-nen7h5rs]{display:flex}.site-nav[data-astro-cid-nen7h5rs]{background:var(--bg);justify-content:center;gap:var(--s-8);transition:transform var(--dur-hover) var(--ease-hover);flex-direction:column;position:fixed;inset:64px 0 0;transform:translate(100%)}.nav-toggle-input[data-astro-cid-nen7h5rs]:checked~.site-nav[data-astro-cid-nen7h5rs]{transform:translate(0)}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--surface);border-top:1px solid var(--border);padding:var(--s-16) var(--s-6) var(--s-8)}.site-footer__inner[data-astro-cid-jo6i4kqk]{gap:var(--s-8);grid-template-columns:repeat(3,1fr);max-width:1200px;margin:0 auto;display:grid}.site-footer__brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin-top:var(--s-3)}.site-footer__nav[data-astro-cid-jo6i4kqk]{gap:var(--s-2);flex-direction:column;display:flex}.site-footer__nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.site-footer__get[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text);transition:color var(--dur-hover) var(--ease-hover);text-decoration:none}.site-footer__nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.site-footer__get[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.site-footer__get[data-astro-cid-jo6i4kqk]{gap:var(--s-2);flex-direction:column;display:flex}.site-footer__copyright[data-astro-cid-jo6i4kqk]{max-width:1200px;margin:var(--s-12) auto 0;padding-top:var(--s-6);border-top:1px solid var(--border)}@media (width<=767px){.site-footer__inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#111;--surface:#1c1c1c;--border:#2a2a2a;--accent:#c41200;--accent-hover:#e01500;--text:#f2f2f2;--muted:#888;--on-accent:#fff;--bg-rgb:17, 17, 17;--accent-rgb:196, 18, 0;--sev-high:#e3b341;--sev-medium:#c8a000;--sev-low:#79c0ff;--font-mono:"IBM Plex Mono", "Consolas", monospace;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-6:1.5rem;--s-8:2rem;--s-12:3rem;--s-16:4rem;--s-24:6rem;--r-btn:5px;--r-card:6px;--ease-enter:cubic-bezier(.47, 0, .745, .715);--ease-reveal:cubic-bezier(.645, .045, .355, 1);--ease-tilt:cubic-bezier(.215, .61, .355, 1);--ease-hover:ease-in;--dur-hover:.2s}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}body{font-family:var(--font-mono);color:var(--text);background:var(--bg);min-height:100vh;font-size:.9375rem;font-weight:400;line-height:1.6}h1{text-transform:uppercase;font-size:clamp(2.5rem,6vw,4.25rem);font-weight:500;line-height:1.05}h2{font-size:clamp(1.75rem,4vw,2.6rem);font-weight:400;line-height:1.15}h3{font-size:1.25rem;font-weight:500}small,.label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:500}nav a{font-size:.8125rem;font-weight:400}.muted{color:var(--muted)}.logo{font-family:var(--font-mono);color:var(--text);font-size:1.05rem;font-weight:600;text-decoration:none}.logo__accent{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes shutters-in{0%{clip-path:polygon(0% 0%,0% 100%,0% 100%,0% 0%,33% 0%,33% 100%,33% 100%,33% 0%,66% 0%,66% 100%,66% 100%,66% 0%)}to{clip-path:polygon(0% 0%,0% 100%,33% 100%,33% 0%,33% 0%,33% 100%,88% 100%,88% 0%,66% 0%,66% 100%,166% 100%,166% 0%)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes blur-in{0%{filter:blur(6px)}to{filter:blur()}}@keyframes reveal-in{0%{clip-path:polygon(0 0,100% 0,100% 0,0 0)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes tilt-in-rotate{0%{transform:perspective(800px)rotateX(-90deg)}to{transform:perspective(800px)rotateX(0)}}@keyframes tilt-in-clip{0%{clip-path:polygon(0 0,100% 0,100% 0,0 0);transform:rotate(30deg)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:rotate(0)}}@media (prefers-reduced-motion:no-preference){.anim-shutters,.anim-fade-blur,.anim-reveal,.anim-tilt{opacity:0}.anim-fade-blur{filter:blur(6px)}.anim-shutters.in{opacity:1;animation:shutters-in 1.2s var(--ease-enter) forwards}.anim-fade-blur.in{animation:fade-in 1.4s var(--ease-enter) forwards, blur-in 2s var(--ease-enter) forwards}.anim-reveal.in{opacity:1;animation:reveal-in 1.2s var(--ease-reveal) forwards}.anim-tilt.in{transform-origin:bottom;animation:fade-in .2s var(--ease-tilt) forwards, tilt-in-rotate 1s var(--ease-tilt) forwards, tilt-in-clip .8s var(--ease-tilt) forwards}}.btn{border-radius:var(--r-btn);padding:var(--s-3) var(--s-6);transition:background var(--dur-hover) var(--ease-hover), color var(--dur-hover) var(--ease-hover), border-color var(--dur-hover) var(--ease-hover);font-weight:500;text-decoration:none;display:inline-block}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{color:var(--text);border:1px solid var(--border)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.prose{max-width:1200px;padding:0 var(--s-6) var(--s-24);margin:0 auto}.prose h2{max-width:72ch;margin-top:var(--s-12)}.prose p{max-width:72ch;margin-top:var(--s-4);color:var(--text)}.form-status{margin:var(--s-4) 0}.form-status--ok,.form-status--error{color:var(--text);border-left:2px solid var(--accent);padding-left:var(--s-4)}@media (width<=767px){.prose{padding:0 var(--s-4) var(--s-16)}}.prose h3{max-width:72ch;margin-top:var(--s-8);color:var(--text);font-size:1.25rem;font-weight:500}.prose ul,.prose ol{max-width:72ch;margin-top:var(--s-4);padding-left:var(--s-6);color:var(--text)}.prose li{margin-top:var(--s-2)}.prose a{color:var(--text)}.prose a:hover{color:var(--accent)}.prose strong{color:var(--text);font-weight:600}.prose code{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-btn);padding:.1em .35em;font-size:.9em}.prose pre{max-width:72ch;margin-top:var(--s-4);padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0;font-size:.875rem}.table-scroll{max-width:72ch;margin-top:var(--s-4);overflow-x:auto}.docs-table{border-collapse:collapse;width:100%;min-width:32rem}.docs-table th,.docs-table td{border:1px solid var(--border);padding:var(--s-2) var(--s-3);text-align:left;vertical-align:top}.docs-table th{background:var(--surface);color:var(--text);font-weight:600}.docs-table td{color:var(--muted)}.prose details{max-width:72ch;margin-top:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.prose summary{padding:var(--s-3) var(--s-4);cursor:pointer;color:var(--text);font-weight:600}.prose summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose details[open] summary{border-bottom:1px solid var(--border)}.prose details p{padding:0 var(--s-4) var(--s-4)}.post-list{max-width:72ch;padding:0 var(--s-6) var(--s-24);margin:0 auto;list-style:none}.post-card{margin-top:var(--s-4);padding:var(--s-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);transition:border-color var(--dur-hover) var(--ease-hover);text-decoration:none;display:block}.post-card:hover{border-color:var(--accent)}.post-card__date{color:var(--muted);font-size:.875rem}.post-card__title{margin-top:var(--s-2);color:var(--text);font-size:1.25rem}.post-card__excerpt{margin-top:var(--s-2);color:var(--muted)}@media (width<=767px){.post-list{padding:0 var(--s-4) var(--s-16)}}@keyframes oratune-fade-out{0%{opacity:1}to{opacity:0}}@keyframes oratune-fade-in{0%{opacity:0}to{opacity:1}}.skip-link{top:-100%;left:var(--s-4);background:var(--accent);color:var(--on-accent);padding:var(--s-2) var(--s-4);border-radius:var(--r-btn);z-index:100;transition:top var(--dur-hover) var(--ease-hover);position:absolute}.skip-link:focus{top:var(--s-4)}
