@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-tight-cyrillic-500-normal-5ykfyGeh.woff2)format("woff2"),url(/assets/inter-tight-cyrillic-500-normal-CRXauZSq.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-tight-latin-500-normal-BFXNXuvF.woff2)format("woff2"),url(/assets/inter-tight-latin-500-normal-pobXraBK.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-tight-cyrillic-600-normal-BERwQ0yl.woff2)format("woff2"),url(/assets/inter-tight-cyrillic-600-normal-BeTasGgk.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-tight-latin-600-normal-BgSTtRxb.woff2)format("woff2"),url(/assets/inter-tight-latin-600-normal-D7bG6gX1.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}:root[data-theme=dark]{--bg:#0e0e10;--bg-2:#161619;--bg-3:#141417;--bg-hover:#1b1b20;--text:#ecebe7;--text-2:#b9b8be;--muted:#8d8c93;--dim:#6e6d75;--cap:#7a7980;--nav:#a3a2a9;--line:#ecebe71f;--line-2:#ecebe729;--line-3:#ecebe733;--line-soft:#ecebe714;--line-strong:#ecebe759;--grid:#ecebe70a;--code-bg:#ecebe70f;--danger:#f472b6;--accent:#a78bfa;--accent-strong:#7c3aed;--accent-mid:#8b5cf6;--accent-soft:#c4b5fd;--accent-deep:#5b21b6;--accent-deeper:#4c1d95;--accent-wash:#8b5cf652;--on-accent:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,:root[data-theme=light]{--bg:#f7f6f3;--bg-2:#efeee9;--bg-3:#efeee9;--bg-hover:#e9e7e1;--text:#141416;--text-2:#3d3c43;--muted:#5f5e66;--dim:#7d7c84;--cap:#6a6970;--nav:#4a4950;--line:#1414161f;--line-2:#14141629;--line-3:#14141638;--line-soft:#14141617;--line-strong:#14141661;--grid:#1414160d;--code-bg:#1414160f;--danger:#b42318;--accent:#5b21b6;--accent-strong:#6d28d9;--accent-mid:#7c3aed;--accent-soft:#6d28d9;--accent-deep:#5b21b6;--accent-deeper:#4c1d95;--accent-wash:#7c3aed33;--on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--soft:cubic-bezier(.16, 1, .3, 1);--glide:cubic-bezier(.65, 0, .35, 1);--e:var(--soft);--fast:.42s;--wrap:1440px;--pad:clamp(16px, 3.4vw, 48px);--gap:clamp(16px, 2vw, 28px);--f-head:"Inter Tight", "Inter", system-ui, sans-serif;--f-text:"Inter", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--f-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6;overflow-x:clip}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,textarea{font:inherit}::selection{background:var(--accent-mid);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip{z-index:3000;background:var(--accent-strong);color:var(--on-accent);border-radius:6px;padding:10px 16px;position:absolute;top:-100px;left:16px}.skip:focus{top:16px}.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--wrap);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.g{column-gap:var(--gap);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}@media (min-width:901px){.g{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (max-width:900px){.m-full{grid-column:1/-1!important}.m-hide{display:none!important}}.t{font-family:var(--f-head);letter-spacing:-.035em;font-weight:500}.mono{font-family:var(--f-mono);letter-spacing:0;font-size:13px}.c-muted{color:var(--muted)}.c-text2{color:var(--text-2)}.c-dim{color:var(--dim)}.c-accent{color:var(--accent)}.c-cap{color:var(--cap)}.list{margin:0;padding:0;list-style:none}.bt{border-top:1px solid var(--line)}.bb{border-bottom:1px solid var(--line)}.sec{padding-top:clamp(112px,13vw,200px)}.sec-m{padding-top:clamp(88px,10vw,150px)}.sec-end{padding-bottom:clamp(96px,11vw,160px)}@media (max-width:600px){.hero-sec{padding-top:24px!important}}.ul{transition:background-size .8s var(--e), color var(--fast) var(--e);background:linear-gradient(currentColor,currentColor) 100% 100%/0% 1px no-repeat}.ul-on{color:var(--text);background:linear-gradient(var(--accent), var(--accent)) 0 100% / 0% 1px no-repeat, linear-gradient(var(--line-strong), var(--line-strong)) 100% 100% / 100% 1px no-repeat;transition:background-size .9s var(--e), color var(--fast) var(--e);padding-bottom:2px}.cur{color:var(--text);background:linear-gradient(var(--accent-mid), var(--accent-mid)) 0 100% / 100% 1px no-repeat}.ar{transition:transform var(--fast) var(--e);display:inline-flex}.fill{isolation:isolate;background-color:var(--accent-strong);height:52px;color:var(--on-accent);font-family:var(--f-text);cursor:pointer;transition:transform .35s var(--e);border:0;border-radius:6px;align-items:center;gap:12px;padding:0 24px;font-size:16px;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}.fill:before{content:"";z-index:-1;background:var(--accent-deep);clip-path:inset(0 100% 0 0);transition:clip-path .5s var(--e);position:absolute;inset:0}.fill.sm{height:40px;padding:0 18px;font-size:15px}.fill:active{transform:scale(.97)}.fill:active:before{background:var(--accent-deeper)}.fill:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.btn-off{border:1px solid var(--line-2);height:52px;color:var(--muted);border-radius:6px;align-items:center;padding:0 24px;font-size:16px;display:inline-flex}.ln-row{border-top:1px solid var(--line);position:relative}.ln-row:before{content:"";background:var(--accent-mid);transform-origin:100%;height:1px;transition:transform 1.2s var(--e);pointer-events:none;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.rows{border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}.row .nm,.row .ds,.ln-row .hd{transition:color var(--fast) var(--e)}.feat{position:relative}.feat:not(.g):not(.feat-col):not(.wcard){display:block}.feat:before{content:"";background:var(--accent-mid);transform-origin:100%;width:100%;height:1px;transition:transform 1.3s var(--e);position:absolute;top:-1px;left:0;transform:scaleX(0)}.feat .name,.post .pt{transition:color var(--fast) var(--e)}.dz{border-top:1px solid var(--line);padding:22px 0 36px;display:block;position:relative}.dz:before{content:"";background:var(--accent-mid);transform-origin:100%;height:1px;transition:transform 1.2s var(--e);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.dz .dzh{transition:color var(--fast) var(--e), transform var(--fast) var(--e)}.dz .dzp{transition:color var(--fast) var(--e)}.dzl{color:var(--text);background:linear-gradient(var(--accent), var(--accent)) 0 100% / 0% 1px no-repeat, linear-gradient(var(--line-strong), var(--line-strong)) 100% 100% / 100% 1px no-repeat;transition:background-size .9s var(--e), color var(--fast) var(--e);align-items:center;gap:8px;padding-bottom:2px;font-size:15px;display:inline-flex}.cl{justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.cl .lb{color:var(--muted);transition:color var(--fast) var(--e);font-size:15px}.cl .cv{overflow-wrap:anywhere;text-align:right;background:linear-gradient(var(--accent-mid), var(--accent-mid)) 100% 100% / 0% 1px no-repeat;transition:color var(--fast) var(--e), background-size .9s var(--e);padding-bottom:2px;font-size:clamp(22px,2.2vw,30px)}.cl:focus-visible{outline:2px solid var(--accent-mid);outline-offset:4px}.cl-list{margin:0;padding:0;list-style:none}.cl-list li{border-bottom:1px solid var(--line)}.cl-list li:first-child .cl{padding-top:0}@media (max-width:900px){.cl-list{border-top:1px solid var(--line)}.cl-list li:first-child .cl{padding-top:18px}}.shot{background-color:var(--bg-2);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:48px 48px;border-radius:6px;display:block;position:relative;overflow:hidden}.shot:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line-soft);pointer-events:none;position:absolute;inset:0}.shot.ph{align-items:flex-end;padding:18px;display:flex}.shot.pic{background-image:none}.shot.pic img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform 1.2s var(--e);position:absolute;inset:0}.shot.fit{justify-content:center;align-items:center;padding:10%;display:flex}.shot.fit img{object-fit:contain;width:100%;height:100%}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:clamp(20px,3vw,40px);font-size:16px;display:flex}.tab{appearance:none;min-height:44px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 0}.tab[aria-selected=true]{color:var(--text);background:linear-gradient(var(--accent-mid), var(--accent-mid)) 0 calc(100% - 8px) / 100% 1px no-repeat}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fld{border:0;border-bottom:1px solid var(--line-3);width:100%;font:inherit;color:var(--text);transition:border-color var(--fast) var(--e);background:0 0;border-radius:0;padding:12px 0;font-size:18px}.fld::placeholder{color:var(--dim)}.fld:focus{border-bottom-color:var(--accent-mid);outline:none}.fld[aria-invalid=true]{border-bottom-color:var(--danger)}.opt{appearance:none;border:1px solid var(--line-3);height:40px;font:inherit;color:var(--text-2);cursor:pointer;transition:border-color var(--fast) var(--e), background-color var(--fast) var(--e), color var(--fast) var(--e);background:0 0;border-radius:6px;padding:0 16px;font-size:15px}.opt[aria-pressed=true]{background-color:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.opt:focus-visible{outline:2px solid var(--accent-mid);outline-offset:2px}.toc a{width:-moz-fit-content;width:fit-content;color:var(--muted);padding:6px 0;display:block}.mp{margin:0;padding:0;font-size:14px}.mp div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.mp dt{color:var(--dim)}.mp dd{color:var(--text-2);text-align:right;margin:0}.prog{background:var(--accent-mid);transform-origin:0;z-index:20;pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}@media (max-width:900px){.toc-col{display:none!important}}@media (hover:hover){.ul:hover{color:var(--text);background-position:0 100%;background-size:100% 1px}.ul-on:hover{color:var(--accent);background-size:100% 1px,0% 1px}.fill:hover:before{clip-path:inset(0)}.fill:hover .ar{transform:translate(3px)}.ln-row:hover:before,.feat:hover:before,.dz:hover:before{transform-origin:0;transform:scaleX(1)}.ln-row:hover .hd,.row:hover .nm,.feat:hover .name,.post:hover .pt{color:var(--accent)}.row:hover .ds{color:var(--text-2)}.feat:hover .shot.pic img{transform:scale(1.03)}.feat:hover .shot{background-color:var(--bg-hover)}.dz:hover .dzh{color:var(--accent);transform:translate(4px)}.dz:hover .dzp{color:var(--text-2)}.dz:hover .dzl,.feat:hover .dzl{color:var(--accent);background-size:100% 1px,0% 1px}.dz:hover .dzl .ar,.feat:hover .dzl .ar{transform:translate(4px)}.cl:hover .cv{color:var(--accent);background-position:0 100%;background-size:100% 1px}.cl:hover .lb,.tab:hover{color:var(--text)}.opt:hover{border-color:var(--accent-mid);color:var(--text)}.toc a:hover{color:var(--accent)}}.row:active .nm,.post:active .pt,.cl:active .cv{color:var(--accent)}.site-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;padding-bottom:26px;display:flex}.logo,.logo-s{letter-spacing:-.04em;align-items:baseline;font-weight:600;display:inline-flex}.logo{font-size:22px}.logo-s{color:var(--text);font-size:18px}.site-nav{color:var(--nav);flex-wrap:wrap;align-items:center;gap:clamp(16px,2.6vw,34px);font-size:15px;display:flex}.site-foot{color:var(--muted);border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:40px;padding-bottom:40px;font-size:15px;display:flex}.foot-nav{flex-wrap:wrap;gap:12px 24px;display:flex}.page-fallback{min-height:100vh}.hero{padding-top:clamp(56px,8vw,120px)}.crumbs{color:var(--muted);margin-bottom:clamp(24px,3vw,36px);font-size:14px}.hero-label{color:var(--muted);margin:0 0 clamp(24px,2.6vw,36px);font-size:15px}.hero-h{overflow-wrap:break-word;margin:0;font-weight:500;line-height:.98}.hero-h--home{font-size:clamp(40px,7.6vw,124px)}.hero-h--page{font-size:clamp(44px,7vw,112px)}.hero-h--case{font-size:clamp(40px,6.4vw,100px)}.hero-h--article{font-size:clamp(34px,5vw,76px)}.hero-lead-row{row-gap:24px;margin-top:clamp(36px,4.4vw,64px)}.hero-lead{color:var(--text-2);margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.55}.art-meta{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin:clamp(20px,2.4vw,32px) 0 0;font-size:14px;display:flex}.case-cta{flex-wrap:wrap;align-items:center;gap:28px;margin-top:clamp(28px,3.4vw,44px);display:flex}.home-hero{padding-top:clamp(64px,11vw,168px);padding-bottom:clamp(24px,4vw,48px)}.home-kicker{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin:0 0 clamp(28px,3vw,40px);font-size:15px;display:flex}.home-kicker .open{align-items:center;gap:10px;display:inline-flex}.home-kicker .dot{background:var(--accent-mid);border-radius:50%;width:7px;height:7px}.home-cta{flex-wrap:wrap;align-items:center;gap:28px;margin-top:clamp(44px,5.4vw,80px);display:flex}.home-cta .ul-on{font-size:16px}@media (max-width:600px){.home-kicker{margin-bottom:22px}}.sec-l{padding-top:clamp(96px,12vw,180px)}.sec-head{align-items:end;row-gap:20px;margin-bottom:clamp(48px,6vw,80px)}.sec-head--s{row-gap:16px;margin-bottom:clamp(28px,3.4vw,44px)}.sh{margin:0;font-weight:500;line-height:1}.sh--xl{font-size:clamp(38px,5vw,72px)}.sh--l{font-size:clamp(32px,4.4vw,64px)}.sh--m{font-size:clamp(28px,2.8vw,40px)}.sh--s{font-size:clamp(26px,2.4vw,34px)}.sh--cta{font-size:clamp(36px,4.6vw,64px)}.sh-count{align-items:baseline;gap:18px;display:flex}.row-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(32px,4vw,48px);display:flex}.row-head .ul-on{font-size:16px}.anchor-sec{scroll-margin-top:24px}.feat-text,.feat-col{flex-direction:column;gap:22px;display:flex}.feat-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.feat-h{margin:0;font-size:clamp(28px,2.8vw,40px);line-height:1.05}.feat-h--l{font-size:clamp(30px,3.6vw,52px);line-height:1.02}.feat-dl{grid-template-columns:96px minmax(0,1fr);row-gap:8px;margin:8px 0 0;font-size:15px;display:grid}.feat-dl dt{color:var(--muted)}.feat-dl dd{margin:0}.other-h{color:var(--muted);margin:0;font-size:15px;font-weight:500}.orow{color:var(--text);align-items:baseline;gap:20px;padding:18px 0;display:flex}.orow-name{letter-spacing:-.02em;flex:0 300px;font-size:22px}.orow-desc{color:var(--muted);flex:auto;font-size:15px}.orow-dom{text-align:right;flex:0 0 170px}.dz-list{column-gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.dz-wrap{border-top:1px solid var(--line)}.dz-wrap>.dz{border-top:0}.dzh{margin:0 0 8px;font-size:24px}.dzp{color:var(--muted);margin:0;font-size:15px}.dz .dzl{margin-top:18px}.svc-head{color:var(--dim);padding-bottom:14px;font-size:14px}.svc{row-gap:10px;padding:28px 0}.svc-h{margin:0;font-size:clamp(24px,2.2vw,30px);line-height:1.15}.step{align-items:baseline;row-gap:6px;padding:22px 0}.step-h{margin:0;font-size:clamp(22px,2vw,28px);line-height:1.2}.step-p{color:var(--muted);margin:0;font-size:16px}.split-p{color:var(--text-2);margin:0;font-size:clamp(18px,1.5vw,21px);line-height:1.6}.post-grid{gap:40px var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.post{flex-direction:column;flex:auto;gap:12px;padding-top:20px;display:flex}.pt{margin:0;font-size:24px;line-height:1.2}.home-contact{border-top:1px solid var(--line);margin-top:clamp(112px,13vw,200px)}.contact-h{font-size:clamp(42px,6.4vw,100px);line-height:.98}.contact-row{border-top:1px solid var(--line);align-items:start;row-gap:32px;margin-top:clamp(48px,6vw,80px);padding-top:22px}.owner{flex-direction:column;gap:4px;margin:0;display:flex}.owner-name{letter-spacing:-.025em;font-size:clamp(22px,2.2vw,30px);line-height:1.15}.prow{color:var(--text);align-items:baseline;row-gap:6px;padding:24px 0}.prow-name{letter-spacing:-.025em;font-size:clamp(22px,2.2vw,30px);line-height:1.15}.prow-desc{color:var(--muted);font-size:15px}.prow-type{color:var(--muted);font-size:14px}.arow{align-items:baseline;row-gap:6px;padding:18px 0}.arow-name{letter-spacing:-.02em;color:var(--text-2);font-size:20px}.arow-desc,.arow-type{color:var(--dim);font-size:15px}.arow-type{font-size:14px}.drow{align-items:baseline;gap:20px;padding:18px 0;display:flex}.drow-n{flex:0 0 48px}.drow-name{letter-spacing:-.025em;flex:auto;font-size:clamp(22px,2.2vw,30px)}.drow-go{align-items:center;gap:8px;font-size:15px;display:inline-flex}.brow{color:var(--text);align-items:baseline;row-gap:6px;padding:24px 0}.brow-title{letter-spacing:-.025em;font-size:clamp(20px,1.9vw,26px);line-height:1.2}.brow-desc{color:var(--muted);font-size:15px}.post-row:last-child{border-bottom:1px solid var(--line)}.nf-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;display:flex}.nf-name{letter-spacing:-.025em;font-size:clamp(22px,2.2vw,30px)}.anchors-wrap{padding-top:clamp(40px,5vw,64px)}.anchors{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px clamp(20px,3vw,40px);padding-bottom:14px;font-size:16px;display:flex}.wcard{flex-direction:column;gap:14px;padding-top:20px;display:flex}.wcard-h{margin:6px 0 0;font-size:clamp(22px,2vw,28px);line-height:1.15}.case-meta{border-top:1px solid var(--line);row-gap:20px;margin:0;padding-top:22px}.case-meta dt{color:var(--muted);margin-bottom:6px;font-size:14px}.case-meta dd{margin:0}.case-meta .mono{font-size:14px}.next-link{padding-top:28px}.next-label{color:var(--muted);margin-bottom:14px;font-size:15px;display:block}.next-name{overflow-wrap:break-word;font-size:clamp(40px,6vw,96px);line-height:1;display:block}.cta-side{flex-direction:column;align-items:flex-start;gap:22px;display:flex}.incl{border-top:1px solid var(--line);font-size:16px}.incl li{border-bottom:1px solid var(--line);padding:12px 0}.toc-col{flex-direction:column;gap:36px;font-size:15px;display:flex;position:sticky;top:32px}.brief{flex-direction:column;gap:36px;display:flex}.chips{border:0;min-width:0;margin:0;padding:0}.chips legend{color:var(--muted);margin-bottom:14px;padding:0;font-size:15px}.chips-row{flex-wrap:wrap;gap:8px;display:flex}.fl{color:var(--muted);flex-direction:column;gap:4px;font-size:15px;display:flex}.brief-two{gap:24px var(--gap);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:601px){.brief-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.brief-send{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.mb-l{margin-bottom:clamp(40px,5vw,64px)}.mb-m{margin-bottom:clamp(24px,3vw,40px)}.theme-btn{border:1px solid var(--line-2);width:40px;height:40px;color:var(--nav);cursor:pointer;transition:color var(--fast) var(--e), border-color var(--fast) var(--e), transform .35s var(--e);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-btn svg{transition:transform .6s var(--e)}.theme-btn:active{transform:scale(.94)}@media (hover:hover){.theme-btn:hover{color:var(--text);border-color:var(--line-strong)}.theme-btn:hover svg{transform:rotate(-20deg)}}@keyframes open{0%{transform:translateY(110%)}}@keyframes lead{0%{opacity:0;transform:translateY(14px)}}@keyframes blink{50%{opacity:0}}.ln,.ln>span{display:block}.hero-h .ln,[data-h] .ln{clip-path:inset(-.3em -50vw -.12em -.3em)}.mo .hero-h .ln>span{animation:open 1.4s var(--soft) both}.mo .hero-h .ln:nth-child(2)>span{animation-delay:90ms}.mo .hero-h .ln:nth-child(3)>span{animation-delay:.18s}.mo .lead{animation:1.4s cubic-bezier(.22,1,.36,1) .45s both lead}.mo .lead.l0{animation-delay:0s}[data-h] .ln>span{transition:transform 1.3s var(--soft)}[data-h] .ln:nth-child(2)>span{transition-delay:90ms}[data-h] .ln:nth-child(3)>span{transition-delay:.18s}.mo [data-h]:not([data-in]) .ln>span{transform:translateY(110%)}.mo [data-sr]{opacity:0;transition:opacity 1.1s cubic-bezier(.33, 1, .68, 1), transform 1.3s var(--soft);transform:translateY(30px)}.mo [data-sr][data-in]{opacity:1;transform:none}.mo [data-sr=line]{opacity:1;background:linear-gradient(var(--line-2), var(--line-2)) 0 0 / 0% 1px no-repeat;transition:background-size 1.4s var(--soft);transform:none;border-top-color:#0000!important}.mo [data-sr=line][data-in]{background-size:100% 1px}.mo [data-sr=line]>*{opacity:0;transition:opacity 1s ease .35s, transform 1.2s var(--soft) .35s;transform:translateY(16px)}.mo [data-sr=line][data-in]>*{opacity:1;transform:none}[data-rv] .rvf{transition:opacity .9s ease .35s, transform 1.1s var(--soft) .35s}.mo [data-rv]:not([data-in]) .rvf{opacity:0;transform:translateY(16px)}.mo .shot{clip-path:inset(12% 0 0);opacity:0;transition:clip-path 1.5s var(--soft), opacity .9s ease, transform 1.8s var(--soft), background-color .5s var(--soft);transform:scale(1.04)}.mo .shot[data-in]{clip-path:inset(0);opacity:1;transform:none}.xpl{z-index:2001;background:var(--accent-strong);pointer-events:none;animation:plout 1.1s var(--glide) 1.6s forwards;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.xpl-n{font-family:var(--f-head);letter-spacing:-.04em;color:var(--on-accent);animation:plnick 1.1s var(--glide) 1.6s forwards;align-items:baseline;font-size:clamp(26px,2.6vw,36px);font-weight:600;line-height:1;display:inline-flex}.xpl-c{background:var(--on-accent);width:.32em;height:.1em;margin-left:.08em;animation:1.1s step-end infinite blink;display:inline-block}.xpl .dc{position:relative}.xpl .dc.g0,.xpl .dc.g1{color:#0000}.xpl .dc.g1:after{content:attr(data-g);font-family:var(--f-mono);letter-spacing:0;color:#ddd6fe;font-size:.7em;font-weight:400;line-height:1;position:absolute;bottom:.1em;left:50%;transform:translate(-50%)}@keyframes plout{to{visibility:hidden;transform:translateY(-100%)}}@keyframes plnick{to{opacity:0;transform:translateY(-12vh)}}.mo .has-pl .hero-h .ln:first-child>span{animation-delay:1.85s}.mo .has-pl .hero-h .ln:nth-child(2)>span{animation-delay:1.94s}.mo .has-pl .hero-h .ln:nth-child(3)>span{animation-delay:2.03s}.mo .has-pl .lead{animation-delay:2.15s}.mo .has-pl .lead.l0{animation-delay:1.9s}html.mo-late .hero-h .ln>span{animation-delay:.15s!important}html.mo-late .lead{animation-delay:.35s!important}html.mo-late .has-pl .hero-h .ln:first-child>span{animation-delay:1.85s!important}html.mo-late .has-pl .hero-h .ln:nth-child(2)>span{animation-delay:1.94s!important}html.mo-late .has-pl .hero-h .ln:nth-child(3)>span{animation-delay:2.03s!important}html.mo-late .has-pl .lead{animation-delay:2.15s!important}.xpt{z-index:2000;background:var(--bg);pointer-events:none;opacity:0;transition:opacity .45s;position:fixed;inset:0}.xpt.in{opacity:1;pointer-events:auto}.bigmark{font-family:var(--f-head);letter-spacing:-.045em;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;align-items:flex-end;margin-bottom:-.12em;padding-bottom:.16em;font-size:clamp(84px,23vw,340px);font-weight:500;line-height:.92;display:flex;overflow:hidden}.bigmark .bm{display:inline-block}.bigmark .bc{background:var(--accent-mid);width:.32em;height:.1em;margin-left:.08em;animation:1.1s step-end infinite blink;display:inline-block}.cursor{background:var(--accent-mid);animation:1.1s step-end infinite blink;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}.xpl{display:none}}.cnum{gap:0 var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:901px){.cnum{grid-template-columns:repeat(var(--n,5), minmax(0, 1fr))}}.cnum>div{border-top:1px solid var(--line);padding:22px 0 26px}.cnum b{font-family:var(--f-head);letter-spacing:-.035em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(36px,3.6vw,56px);font-weight:500;line-height:1;display:block}.cnum>div>span{color:var(--muted);margin-top:10px;font-size:15px;display:block}.phx{font-family:var(--f-mono);color:var(--dim);letter-spacing:0;font-size:20px}.ctree{background:var(--bg-3);border:1px solid var(--line-soft);font-family:var(--f-mono);color:var(--muted);white-space:pre;border-radius:6px;margin:0;padding:22px 24px;font-size:13.5px;line-height:1.8;overflow-x:auto}.cgal,.sl2,.ba,.lg{grid-template-columns:minmax(0,1fr);gap:clamp(12px,1.6vw,24px);display:grid}@media (min-width:901px){.cgal,.sl2,.ba,.lg{grid-template-columns:repeat(2,minmax(0,1fr))}}.ba p{color:var(--muted);margin:12px 0 0;font-size:14px}.lg>div{aspect-ratio:4/3;background:var(--bg-2);border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}.lg img{width:42%;height:auto}.lg span{color:var(--cap);position:absolute;bottom:16px;left:18px}.stg{background:var(--bg-3);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.4vw,20px);padding:clamp(16px,2.4vw,36px);display:grid}@media (min-width:901px){.stg{grid-template-columns:repeat(6,minmax(0,1fr))}}.stg figure{aspect-ratio:1;justify-content:center;align-items:center;margin:0;display:flex}.stg img{object-fit:contain;width:100%;height:100%;transition:transform .6s var(--e)}.wgrid{gap:clamp(40px, 4vw, 56px) var(--gap);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:601px){.wgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1001px){.wgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}.dz-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin-top:clamp(40px,5vw,64px);display:grid}@media (min-width:901px){.dz-gal{grid-template-columns:repeat(var(--n,3), minmax(0, 1fr))}}@media (hover:hover){.stg figure:hover img{transform:scale(1.08)rotate(-3deg)}}.cnum-s{margin-bottom:clamp(24px,3vw,40px)}.cnum-s>div{padding:16px 0 18px}.cnum-s b{font-size:clamp(28px,2.6vw,40px)}.cnum-s>div>span{max-width:24ch;margin-top:8px;font-size:14px}.prose{color:var(--text-2);min-width:0;font-size:18px;line-height:1.75}.prose>section,.prose .group-section{border-top:1px solid var(--line);margin-top:clamp(40px,4vw,56px);padding-top:clamp(40px,4vw,56px);scroll-margin-top:24px}.prose>section:first-child,.prose .group-section .group-section{border-top:0;margin-top:0;padding-top:0}.prose h2{font-family:var(--f-head);letter-spacing:-.03em;color:var(--text);align-items:baseline;gap:16px;margin:0 0 .8em;font-size:clamp(28px,2.6vw,38px);font-weight:500;line-height:1.12;display:flex}.prose h2 .idx{font-family:var(--f-mono);letter-spacing:0;color:var(--accent);flex:none;font-size:13px;font-weight:400}.prose h3{font-family:var(--f-head);letter-spacing:-.02em;color:var(--text);margin:1.9em 0 .6em;font-size:clamp(21px,1.8vw,25px);font-weight:500;line-height:1.25}.prose h4{font-family:var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:400}.prose p{margin:0 0 1.15em}.prose b,.prose strong{color:var(--text);font-weight:600}.prose u{text-decoration:underline;-webkit-text-decoration-color:var(--accent-mid);text-decoration-color:var(--accent-mid);text-underline-offset:4px;text-decoration-thickness:1px}.prose a:not(.fill){color:var(--text);background:linear-gradient(var(--accent-mid),var(--accent-mid)) 0 100%/100% 1px no-repeat;padding-bottom:1px}.hl-purple,.prose mark{color:var(--text);background:linear-gradient(transparent 60%,var(--accent-wash) 60%);padding:0 2px}.prose code.inline-code,.prose .mono-text{font-family:var(--f-mono);color:var(--accent-soft);background:var(--code-bg);border-radius:4px;padding:2px 6px;font-size:.84em}.prose .mono-text{background:0 0;padding:0}.prose ul,.prose ol{margin:0 0 1.3em;padding:0;list-style:none}.prose ul.list-bullet li,.prose .pc-card li{margin-bottom:.45em;padding-left:22px;position:relative}.prose ul.list-bullet li:before,.prose .pc-card li:before{content:"";background:var(--accent-mid);width:9px;height:1px;position:absolute;top:.8em;left:2px}.prose ol.list-num{counter-reset:n}.prose ol.list-num li{counter-increment:n;margin-bottom:.6em;padding-left:44px;position:relative}.prose ol.list-num li:before{content:counter(n,decimal-leading-zero);font-family:var(--f-mono);color:var(--accent);font-size:12px;position:absolute;top:.35em;left:0}.prose blockquote.quote{border-left:1px solid var(--accent-mid);font-family:var(--f-head);letter-spacing:-.02em;color:var(--text);margin:2em 0;padding:4px 0 4px 24px;font-size:clamp(21px,1.9vw,26px);font-style:normal;line-height:1.35}.prose blockquote.quote .hl-purple{color:var(--accent);background:0 0;padding:0}.prose .callout{border-left:1px solid var(--accent-mid);margin:1.8em 0;padding:2px 0 2px 22px}.prose .callout .ic{display:none}.prose .callout .body b{font-family:var(--f-head);letter-spacing:-.015em;margin-bottom:4px;font-size:19px;font-weight:500;display:block}.prose .callout .body p{margin:0;font-size:16px}.prose .pros-cons{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:1.8em 0;display:grid}.prose .pc-card{border-top:1px solid var(--line-2);padding-top:16px;font-size:16px}.prose .pc-card.pros{border-top-color:var(--accent-mid)}.prose .pc-card ul{margin:0}.prose .card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:1.6em 0;display:grid}.prose .mini-card{border-top:1px solid var(--line-2);padding-top:14px}.prose .mini-card b{font-family:var(--f-head);letter-spacing:-.015em;margin-bottom:6px;font-size:18px;font-weight:500;display:block}.prose .mini-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.prose .tw{margin:1.6em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}.prose th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line-3);vertical-align:bottom;padding:0 16px 10px 0;font-size:13px;font-weight:400}.prose td{border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-2);padding:12px 16px 12px 0}.prose td:first-child{color:var(--text)}.prose .compare-table .highlight{color:var(--accent-soft)}.prose details{border-bottom:1px solid var(--line)}.prose .accordion{border-top:1px solid var(--line);margin:1.4em 0}.prose summary{cursor:pointer;font-family:var(--f-head);letter-spacing:-.015em;color:var(--text);transition:color var(--fast) var(--e);justify-content:space-between;gap:20px;padding:18px 0;font-size:19px;list-style:none;display:flex}.prose summary::-webkit-details-marker{display:none}.prose summary:after{content:"+";text-align:center;width:1em;font-family:var(--f-mono);color:var(--accent);transition:transform .5s var(--e);flex:none;margin-right:4px;display:inline-block}.prose details[open] summary:after{transform:rotate(45deg)}.prose .acc-body{max-width:60ch;padding:0 0 20px;font-size:16px}@media (hover:hover){.prose summary:hover{color:var(--accent)}}.prose .timeline{border-left:1px solid var(--line-2);margin:1.6em 0;padding-left:28px}.prose .t-item{margin-bottom:24px;position:relative}.prose .t-item:before{content:"";background:var(--accent-mid);width:7px;height:7px;position:absolute;top:.55em;left:-32px}.prose .t-item b{font-family:var(--f-head);letter-spacing:-.015em;font-size:19px;font-weight:500;display:block}.prose .t-item .date{font-family:var(--f-mono);color:var(--accent);font-size:12px}.prose .t-item p{margin:4px 0 0;font-size:16px}.prose ul.checklist li{align-items:flex-start;gap:12px;margin-bottom:.5em;display:flex}.prose ul.checklist .box{border:1px solid var(--line-strong);flex:0 0 16px;height:16px;margin-top:.4em;font-size:0}.prose ul.checklist li.done .box{background:var(--accent-strong);border-color:var(--accent-strong);position:relative}.prose ul.checklist li.done .box:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.prose dl.def-list{margin:1.4em 0}.prose dl.def-list dt{color:var(--text);font-family:var(--f-head);margin-top:1em;font-size:19px;font-weight:500}.prose dl.def-list dd{margin:4px 0 0}.prose .code-block{background:var(--bg-3);border:1px solid var(--line);margin:1.6em 0}.prose .code-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.prose .code-dots{display:none}.prose .code-lang{font-family:var(--f-mono);color:var(--muted);font-size:12px}.prose .code-copy{display:none}.prose pre{font-family:var(--f-mono);color:var(--text-2);margin:0;padding:18px 20px;font-size:13.5px;line-height:1.7;overflow-x:auto}.prose pre .k{color:var(--accent-soft)}.prose pre .c{color:var(--dim)}.prose pre .f{color:var(--accent)}.prose pre .s{color:var(--text)}.prose .hero-mini{border-top:1px solid var(--accent-mid);border-bottom:1px solid var(--line);margin:2.4em 0 0;padding:32px 0}.prose .hero-mini h3{margin:0 0 .4em;font-size:clamp(26px,2.4vw,34px)}.prose .hero-mini p{margin:0 0 1.2em}.prose .divider-fancy{font-family:var(--f-mono);color:var(--muted);align-items:center;gap:16px;margin:2.4em 0 .4em;scroll-margin-top:24px;font-size:12px;display:flex}.prose .divider-fancy:after{content:"";background:var(--line);flex:1;height:1px}.prose hr.divider{border:0;border-top:1px solid var(--line);margin:2em 0}.prose .block-label{font-family:var(--f-mono);color:var(--muted);margin:1.4em 0 0;font-size:12px}.prose figure,.af{margin:1.8em 0}.af figcaption{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.5}.af .shot{align-items:flex-end;padding:16px;display:flex}.prose .tw table{min-width:560px}.prose{overflow-wrap:break-word}.prose .hero-mini .fill{margin-top:4px}@media (max-width:900px){.prose .pros-cons,.prose .card-grid{grid-template-columns:minmax(0,1fr)}.prose{font-size:17px}}.prose summary{padding-right:36px;display:block;position:relative}.prose summary:after{position:absolute;top:18px;right:4px}
