:root{--d-top:68px;--d-top-sm:104px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.d-skip{z-index:60;background:var(--ink);color:var(--bg);padding:8px 12px;font-size:12px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.d-skip:focus{transform:none}.d-top__inner{max-width:1400px;height:var(--d-top);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.d-brand{align-items:center;gap:14px;display:flex}.d-brand__tag{border:1px solid var(--l2);color:var(--dim);letter-spacing:.12em;border-radius:999px;padding:3px 8px;font-size:11px}.d-top__right{align-items:center;gap:22px;display:flex}.d-top__link{color:var(--dim);align-items:center;gap:8px;transition:color .2s;display:inline-flex}.d-top__link:hover,.d-top__link:focus-visible{color:var(--ink)}.d-menubtn{display:none}.d-shell{max-width:1400px;padding:calc(var(--d-top) + 40px) var(--gutter) 64px;grid-template-columns:220px minmax(0,1fr) 200px;align-items:start;gap:clamp(32px,4vw,64px);margin:0 auto;display:grid}.d-side,.d-toc{top:calc(var(--d-top) + 32px);max-height:calc(100vh - var(--d-top) - 48px);scrollbar-width:thin;font-size:12px;position:sticky;overflow-y:auto}.d-side__k{letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 14px;font-size:11px}.d-side ol,.d-side ul,.d-toc ul{margin:0;padding:0;list-style:none}.d-side ol>li>a{color:var(--dim);border-radius:6px;gap:12px;padding:7px 10px;transition:color .2s,background .2s;display:flex}.d-side ol>li>a span{color:var(--mute);font-variant-numeric:tabular-nums;font-size:11px}.d-side ol>li>a:hover,.d-side ol>li>a.is-on{color:var(--ink);background:var(--s2)}.d-side ol>li>a.is-on span{color:var(--deny)}.d-side__sub{border-left:1px solid var(--l2);display:none;margin:2px 0 8px 33px!important}.d-side__sub a{color:var(--dim);padding:5px 12px;font-size:12px;line-height:1.4;display:block}.d-side__sub a:hover,.d-side__sub a.is-on{color:var(--ink)}.d-side__sub a.is-on{box-shadow:inset 2px 0 0 var(--ink);margin-left:-1px}.d-side__out{border-top:1px solid var(--line);gap:10px;margin-top:24px;padding-top:16px;display:grid}.d-side__out a{color:var(--dim);padding:0 10px}.d-side__out a:hover{color:var(--ink)}.d-toc__sec{font:600 15px/1.2 var(--display);color:var(--ink);margin:-6px 0 12px}.d-toc ul{border-left:1px solid var(--l2)}.d-toc li a{color:var(--dim);padding:5px 12px;line-height:1.4;transition:color .2s;display:block}.d-toc li a:hover{color:var(--ink)}.d-toc li a.is-on{color:var(--ink);box-shadow:inset 2px 0 0 var(--ink);margin-left:-1px}.d-toc__top{color:var(--mute);margin-top:18px;display:inline-block}.d-toc__top:hover{color:var(--ink)}.d-main{min-width:0;max-width:820px}.d-sec{border-bottom:1px solid var(--line);margin-bottom:72px;padding-bottom:72px}.d-sec:last-of-type{border-bottom:0;margin-bottom:0}.d-main p,.d-main li{font-size:14px;line-height:1.8}.d-main p{margin:0 0 18px}.d-main b{color:var(--ink);font-weight:600}.d-main .kicker{margin-bottom:14px;font-size:11px}.d-h{scroll-margin-top:calc(var(--d-top) + 24px);position:relative}.d-h2{scroll-margin-top:calc(var(--d-top) + 64px)}.d-main .d-h2{margin:0 0 20px;font-size:clamp(30px,4vw,48px);line-height:1.02}.d-main .d-h3{letter-spacing:-.005em;margin:44px 0 14px;font-size:22px;line-height:1.2}.d-anchor{color:var(--mute);font-family:var(--mono);vertical-align:middle;opacity:0;margin-left:.35em;font-size:.6em;font-weight:400;transition:opacity .2s,color .2s}.d-h:hover .d-anchor,.d-anchor:focus-visible{opacity:1}.d-anchor:hover{color:var(--ink)}@media (hover:none){.d-anchor{opacity:.5}}.d-lede{color:var(--ink);opacity:.86;max-width:66ch;font-size:15px!important}.d-small{color:var(--dim);font-size:12.5px!important}.d-main :not(pre)>code{font-family:var(--ascii);background:var(--s2);border:1px solid var(--l1);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.9em}.d-link{color:var(--ink);border-bottom:1px solid var(--l3);transition:border-color .2s}.d-link:hover{border-color:var(--ink)}.d-list,.d-steps{gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.d-list li,.d-steps li{padding-left:26px;position:relative}.d-list li:before{content:"›";color:var(--mute);position:absolute;left:6px}.d-list--ok li:before{content:"✓";color:var(--ok);left:2px}.d-list--no li:before{content:"×";color:var(--deny);left:3px}.d-list--warn li:before{content:"!";color:var(--flag);font-weight:700;left:6px}.d-list--plain{gap:18px}.d-steps{counter-reset:s}.d-steps li{counter-increment:s;padding-left:38px}.d-steps li:before{content:counter(s, decimal-leading-zero);color:var(--mute);font-size:11px;position:absolute;top:.2em;left:0}.d-code{border:1px solid var(--l2);background:var(--s1);border-radius:8px;margin:0 0 22px;overflow:hidden}.d-code__bar{border-bottom:1px solid var(--l1);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 14px;font-size:11px;display:flex}.d-code__copy{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--l2);cursor:pointer;background:0 0;border-radius:5px;padding:4px 10px;transition:color .2s,border-color .2s,background .2s}.d-code__copy:hover,.d-code__copy:focus-visible{color:var(--ink);border-color:var(--ink)}.d-code pre{font:13px/1.65 var(--ascii);color:var(--ink);tab-size:2;margin:0;padding:14px 16px;overflow-x:auto}.d-table{border:1px solid var(--l2);border-radius:8px;margin:0 0 22px;overflow-x:auto}.d-table table{border-collapse:collapse;width:100%;font-size:13px}.d-table th,.d-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--l1);padding:10px 14px;line-height:1.6}.d-table th{letter-spacing:.1em;text-transform:uppercase;color:var(--mute);background:var(--s1);font-size:11px;font-weight:500}.d-table tr:last-child td{border-bottom:0}.d-table td:first-child,.d-table td:first-child code{white-space:nowrap}.d-note{border:1px solid var(--l2);border-left:2px solid var(--ink);background:var(--s1);border-radius:0 8px 8px 0;margin:0 0 22px;padding:14px 18px}.d-note p:last-child{margin-bottom:0}.d-note__t{font:600 13px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px!important}.d-verdicts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px;display:grid}.d-v{border:1px solid var(--l2);color:var(--dim);border-radius:8px;gap:6px;padding:16px;font-size:13px;line-height:1.5;display:grid}.d-v b{font:700 20px var(--display);letter-spacing:.04em}.d-v--ok b{color:var(--ok)}.d-v--flag b{color:var(--flag)}.d-v--deny b{color:var(--deny)}.d-v--ok{border-top:2px solid var(--ok)}.d-v--flag{border-top:2px solid var(--flag)}.d-v--deny{border-top:2px solid var(--deny)}.d-pipe{margin:8px 0 28px;container-type:inline-size}.d-pipe ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.d-pipe li{border:1px solid var(--l2);background:var(--s1);border-radius:8px;align-content:start;gap:4px;padding:12px 10px;display:grid;position:relative}.d-pipe li b{font:600 14px/1.2 var(--display)}.d-pipe li:not(.is-last):after{content:"→";color:var(--mute);font-size:12px;position:absolute;top:50%;right:-15px;transform:translateY(-50%)}.d-pipe li.is-last{background:var(--ink);border-color:var(--ink);color:var(--bg)}.d-main .d-pipe li.is-last b{color:var(--bg)}.d-pipe li.is-last .d-pipe__sub,.d-pipe li.is-last .d-pipe__n{color:var(--bg);opacity:.7}.d-pipe__n{color:var(--mute);letter-spacing:.1em;font-size:10px}.d-pipe__sub{color:var(--dim);font-size:11px!important;line-height:1.45!important}.d-pipe__model{border:1px dashed var(--l3);color:var(--dim);border-radius:8px;align-items:baseline;gap:12px;margin-top:12px;padding:10px 14px;font-size:12.5px;display:flex}.d-pipe__tag{letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--flag);color:var(--flag);border-radius:999px;flex:none;padding:2px 8px;font-size:10px}.d-pipe figcaption{color:var(--mute);margin-top:10px;font-size:12px}@container (width<=700px){.d-pipe ol{grid-template-columns:minmax(0,1fr);gap:14px}.d-pipe li{grid-template-columns:28px 120px minmax(0,1fr);align-items:baseline;gap:8px}.d-pipe li:not(.is-last):after{content:"↓";inset:auto auto -15px 18px;transform:none}}@container (width<=420px){.d-pipe li{grid-template-columns:24px minmax(0,1fr)}.d-pipe__sub{grid-column:2}}.d-stats{background:var(--l2);border:1px solid var(--l2);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 28px;display:grid;overflow:hidden}.d-stats div{background:var(--bg);flex-direction:column-reverse;gap:6px;padding:16px;display:flex}.d-stats dt{color:var(--dim);font-size:11px;line-height:1.4}.d-stats dd{font:700 clamp(22px, 2.4vw, 30px)/1 var(--display);font-variant-numeric:tabular-nums;margin:0}.d-roadmap,.d-team{gap:12px;margin:0 0 22px;padding:0;list-style:none;display:grid}.d-roadmap li,.d-team li{border:1px solid var(--l2);border-radius:8px;gap:4px;padding:16px 18px;display:grid;padding-left:18px!important}.d-roadmap b,.d-team b{font:600 17px var(--display)}.d-roadmap span,.d-team span{color:var(--dim);font-size:13px}.d-team{grid-template-columns:repeat(3,minmax(0,1fr))}.d-team .d-link{justify-self:start;font-size:13px}.d-foot{border-top:1px solid var(--line);color:var(--dim);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;justify-content:space-between;gap:12px 16px;padding-top:20px;font-size:11px;display:flex}.d-foot__links{gap:18px;display:inline-flex}.d-foot a:hover{color:var(--ink)}@media (width<=1180px){.d-shell{grid-template-columns:210px minmax(0,1fr)}.d-toc{display:none}.d-side__sub{display:block}}@media (width<=960px){.d-top__inner{height:60px}.d-top .nav__logo{height:32px}.d-menubtn{width:calc(100% + 2 * var(--gutter));margin:0 calc(-1 * var(--gutter));height:44px;padding:0 var(--gutter);border:0;border-top:1px solid var(--line);color:var(--ink);font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;display:flex}.d-menubtn__label{white-space:nowrap;text-overflow:ellipsis;gap:10px;min-width:0;display:flex;overflow:hidden}.d-menubtn__k{color:var(--mute)}.d-menubtn__plus{background:var(--ink);width:26px;height:26px;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:15px;line-height:1;display:grid}.d-shell{padding-top:calc(var(--d-top-sm) + 28px);grid-template-columns:minmax(0,1fr)}.d-side{top:var(--d-top-sm);z-index:29;max-height:calc(100dvh - var(--d-top-sm));padding:18px var(--gutter) 24px;background:var(--bg);border-bottom:1px solid var(--l2);box-shadow:0 30px 60px -30px var(--shadow);font-size:13px;display:none;position:fixed;left:0;right:0}.d-side.is-open{display:block}.d-h{scroll-margin-top:calc(var(--d-top-sm) + 20px)}.d-h2{scroll-margin-top:calc(var(--d-top-sm) + 56px)}}@media (width<=640px){.d-hide-sm{display:none}.d-top__right{gap:16px}.d-brand{gap:10px}.d-verdicts,.d-team{grid-template-columns:minmax(0,1fr)}.d-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.d-sec{margin-bottom:48px;padding-bottom:48px}.d-main .d-h3{margin-top:36px;font-size:20px}.d-code pre{padding:12px;font-size:12px}.d-table table{min-width:560px;font-size:12px}.d-table th,.d-table td{padding:9px 12px}}
