@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Inter-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Inter-400-latin.woff2)format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/Inter-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/Inter-700-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/JetBrainsMono-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/JetBrainsMono-400-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/JetBrainsMono-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/JetBrainsMono-700-latin.woff2)format("woff2");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:Kholodos;src:url(/assets/fonts/Kholodos.woff2)format("woff2");font-display:swap}:root{--desk:#2c3138;--desk-deep:#16191d;--paper:#e8e1cf;--paper-2:#dcd3bd;--ink:#1b1814;--ink-soft:#4b453a;--ink-faint:#6b6252;--accent:#c62112;--accent-hi:#e0341f;--accent-lo:#8f150a;--ok:#2f7d4f;--shot-bg:#16181c;--shot-panel:#1c1f24;--shot-line:#343a42;--shot-text:#d7dee6;--shot-muted:#8b98a6;--grid:8px;--font-serif:"Kholodos", Georgia, "Times New Roman", "PT Serif", serif;--font-sans:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;--grain-paper:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='linear' slope='.28'/></feComponentTransfer></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");--torn:polygon(0% 1.6%, 3% 0.5%, 6.5% 1.9%, 10% 0.6%, 13.5% 2.1%, 17% 0.4%, 20.5% 1.8%, 24% 0.7%, 27.5% 2.0%, 31% 0.5%, 34.5% 1.7%, 38% 0.6%, 41.5% 2.1%, 45% 0.4%, 48.5% 1.8%, 52% 0.7%, 55.5% 2.0%, 59% 0.5%, 62.5% 1.7%, 66% 0.6%, 69.5% 2.1%, 73% 0.4%, 76.5% 1.8%, 80% 0.7%, 83.5% 2.0%, 87% 0.5%, 90.5% 1.7%, 94% 0.6%, 97% 2.0%, 100% 0.9%, 99.1% 6%, 100% 12%, 99.0% 18%, 100% 24%, 99.2% 30%, 100% 36%, 98.9% 42%, 100% 48%, 99.1% 54%, 100% 60%, 99.0% 66%, 100% 72%, 99.2% 78%, 100% 84%, 98.9% 90%, 100% 95%, 97% 99.1%, 93.5% 98.0%, 90% 99.4%, 86.5% 98.1%, 83% 99.5%, 79.5% 98.0%, 76% 99.3%, 72.5% 98.2%, 69% 99.6%, 65.5% 98.1%, 62% 99.4%, 58.5% 98.0%, 55% 99.5%, 51.5% 98.2%, 48% 99.6%, 44.5% 98.1%, 41% 99.3%, 37.5% 98.0%, 34% 99.4%, 30.5% 98.2%, 27% 99.6%, 23.5% 98.1%, 20% 99.5%, 16.5% 98.0%, 13% 99.4%, 9.5% 98.2%, 6% 99.6%, 3% 98.1%, 0% 99.2%, 1.0% 94%, 0% 88%, 0.9% 82%, 0% 76%, 1.1% 70%, 0% 64%, 1.0% 58%, 0% 52%, 0.9% 46%, 0% 40%, 1.1% 34%, 0% 28%, 1.0% 22%, 0% 16%, 0.9% 10%, 0% 5%)}*{box-sizing:border-box;margin:0;padding:0}:focus{outline:none}:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans);color:var(--ink);background-color:var(--desk);background-image:radial-gradient(circle at 50% 0, #ffffff0f, transparent 60%), var(--noise,none);background-attachment:fixed;line-height:1.6}.art-header{z-index:20;background-color:var(--paper-2);background-image:var(--grain-paper);background-blend-mode:multiply;align-items:center;gap:16px;padding:12px clamp(16px,4vw,48px);display:flex;position:sticky;top:0;transform:rotate(-.25deg);box-shadow:0 6px #00000073}.art-header__brand{font-family:var(--font-sans);color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.art-header__brand img{width:auto;height:30px}.art-header__name{font-family:var(--font-serif);font-size:24px;line-height:1}.art-header__name b{color:var(--accent);font-weight:400}.art-header__docs{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);border-left:2px solid var(--accent);padding-left:12px;font-size:13px}.art-header__nav{align-items:center;gap:10px;margin-left:auto;display:flex}.art-header__link{font-family:var(--font-mono);color:var(--ink);border-bottom:1px solid #0000;font-size:13px;text-decoration:none}.art-header__link:hover{color:var(--accent);border-bottom-color:var(--accent)}.art-header__lang{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--accent);border-radius:2px;padding:4px 12px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s;transform:rotate(-2deg)}.art-header__lang:hover{color:var(--paper);background:var(--accent);border-color:var(--accent);box-shadow:3px 3px 0 var(--ink);transform:rotate(-2deg)translate(-1px,-1px)}.art-header__cta{font-family:var(--font-mono);color:var(--paper);background:var(--accent);border:1.5px solid var(--accent-lo);border-radius:2px;padding:4px 12px;font-size:13px;text-decoration:none;transform:rotate(-2deg)}.art-header__cta:hover{background:var(--ink);border-color:var(--ink)}.art-shell{grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,4vw,48px);max-width:1100px;margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,48px) 64px;display:grid}.art-nav{align-self:start;padding:16px 18px;position:sticky;top:88px}.art-nav:before{content:"";z-index:-1;pointer-events:none;background-color:var(--paper-2);background-image:radial-gradient(#0000000d .8px, transparent 1.1px), var(--grain-paper);background-blend-mode:multiply, normal;clip-path:var(--torn);filter:drop-shadow(5px 6px #0000008c);background-size:3px 3px,150px 150px;position:absolute;inset:0}.art-nav__title{font-family:var(--font-serif);border-bottom:2px solid var(--accent);margin-bottom:12px;padding-bottom:4px;font-size:20px;display:inline-block}.art-nav ul{flex-direction:column;gap:6px;list-style:none;display:flex}.art-nav a{font-family:var(--font-mono);color:var(--ink-soft);border-left:2px solid #0000;padding:3px 0 3px 10px;font-size:13.5px;text-decoration:none;display:block}.art-nav a:hover{color:var(--ink)}.art-nav a.is-active{color:var(--accent);border-left-color:var(--accent);font-weight:700}.art-nav__group-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:10px 0 4px;font-size:12px;display:block}.art-nav__group>ul{gap:4px}.art-nav__group a{padding-left:14px}.art-nav__group a.is-active{font-weight:700}.art-content{filter:drop-shadow(6px 7px #0000008c);min-width:0;padding:clamp(24px,4vw,48px);position:relative}.art-content:before{content:"";z-index:-1;pointer-events:none;background-color:var(--paper);background-image:radial-gradient(#0000000d .8px, transparent 1.1px), var(--grain-paper);background-blend-mode:multiply, normal;clip-path:var(--torn);background-size:3px 3px,150px 150px;position:absolute;inset:0}.art-content h1{font-family:var(--font-serif);margin-bottom:8px;font-size:clamp(30px,5vw,44px);font-weight:400;line-height:1.1}.art-content h2{font-family:var(--font-serif);border-bottom:2px solid var(--accent);margin:32px 0 10px;padding-bottom:4px;font-size:clamp(22px,3.2vw,28px);font-weight:400;display:inline-block}.art-content h3{font-family:var(--font-sans);margin:22px 0 6px;font-size:17px;font-weight:700}.art-content p{color:var(--ink-soft);margin:10px 0}.art-content strong{color:var(--ink)}.art-content a{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}.art-content ul,.art-content ol{color:var(--ink-soft);margin:10px 0 10px 22px}.art-content li{margin:4px 0}.art-content code{font-family:var(--font-mono);color:var(--ink);background:#00000012;border-radius:3px;padding:1px 5px;font-size:.9em}.art-content pre{color:var(--shot-text);background:var(--shot-bg);border:1px solid var(--shot-line);border-radius:6px;margin:14px 0;padding:16px;overflow-x:auto;box-shadow:4px 5px #00000080}.art-content pre code{color:inherit;background:0 0;padding:0;font-size:13px}.art-content blockquote{border-left:3px solid var(--accent);color:var(--ink-soft);background:#0000000a;margin:14px 0;padding:8px 16px}.art-content hr{border:none;border-top:1px dashed var(--ink-faint);margin:28px 0}.art-content table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14px}.art-content th,.art-content td{text-align:left;border-bottom:1px solid #00000026;padding:8px 10px}.art-content th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:12px}.art-content img{border:1px solid #000;max-width:100%;height:auto;box-shadow:4px 5px #00000080}.changelog__date{font-family:var(--font-mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;font-size:.55em;font-weight:400}.art-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:20px;display:grid}.art-card{color:var(--ink);border:1px solid var(--ink-faint);border-left:4px solid var(--accent);background:#0000000a;padding:18px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:block}.art-card:hover{transform:translate(-3px,-3px);box-shadow:4px 5px #00000080}.art-card h3{font-family:var(--font-serif);margin:0 0 6px;font-size:20px;font-weight:400}.art-card p{color:var(--ink-soft);margin:0;font-size:14px}.art-card__meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.art-card__tag{color:var(--accent);font-weight:700}.art-card__dot,.art-card__time{color:var(--ink-faint)}.art-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 18px;font-size:12px;display:flex}.art-meta__tag{color:var(--accent);font-weight:700}.art-meta time{color:var(--ink-faint)}.art-faq{margin:14px 0 20px}.art-faq__item{border-bottom:1px dashed var(--ink-faint);padding:10px 0}.art-faq__item summary{cursor:pointer;font-family:var(--font-sans);color:var(--ink);font-size:16px;font-weight:700;list-style:none}.art-faq__item summary::-webkit-details-marker{display:none}.art-faq__item summary:before{content:"+";width:1.2em;color:var(--accent);font-family:var(--font-mono);font-weight:700;display:inline-block}.art-faq__item[open] summary:before{content:"−"}.art-faq__item p{color:var(--ink-soft);margin:8px 0 4px 1.6em}.art-card--group{display:block}.art-card--group:hover{box-shadow:none;transform:none}.art-card__links{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.art-card__links a{font-family:var(--font-mono);color:var(--accent);border-bottom:1px solid #0000;font-size:13px;text-decoration:none}.art-card__links a:hover{border-bottom-color:var(--accent)}.art-footer{border-top:1px dashed var(--ink-faint);font-family:var(--font-mono);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:40px;padding-top:16px;font-size:12px;display:flex}.art-footer a{color:var(--ink-soft);text-decoration:none}.art-footer a:hover{color:var(--accent)}@media (width<=760px){.art-shell{grid-template-columns:1fr}.art-nav{position:static}.art-nav ul{flex-flow:wrap;gap:4px 14px}.art-nav a{border-left:none;padding:2px 0}.art-nav a.is-active{border-bottom:2px solid var(--accent)}.art-nav__group{width:100%}.art-nav__group-title{margin:6px 0 2px}.art-nav__group>ul{flex-flow:wrap;gap:4px 14px}.art-nav__group a{padding-left:0}}@media (width<=560px){.art-header{gap:10px;padding:10px 16px}.art-header__brand img{height:24px}.art-header__name{font-size:20px}.art-header__docs{display:none}.art-header__nav{gap:8px}.art-header__nav .art-header__link{display:none}.art-header__link:first-child{display:inline}.art-content{padding:22px 18px}.art-content h1{font-size:30px}.art-content h2{font-size:22px}.art-content table{white-space:nowrap;display:block;overflow-x:auto}.art-content pre{font-size:12px}.art-content blockquote{padding:8px 12px}.art-cards{grid-template-columns:1fr}.art-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-card{transition:none}}
