/*! © 2026 Артур Валеев (Avart Design). All rights reserved. Unauthorized copying, reproduction or reuse is prohibited. */
body{background:var(--bg)}.dsp-top{z-index:50;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s3) var(--gutter);background:var(--nav-bg);backdrop-filter:blur(1.125rem)saturate(1.6);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.dsp-top__back{min-height:2.75rem;color:var(--muted);font-size:var(--t14);align-items:center;font-weight:500;transition:color .3s;display:inline-flex}.dsp-top__back:hover{color:var(--ink)}.dsp-top__t{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:var(--t24);margin:0}.dsp-shell{gap:var(--s8);padding:var(--s12) var(--gutter) var(--s24);max-width:90rem;margin-inline:auto;display:grid}@media (width>=64em){.dsp-shell{gap:var(--s12);grid-template-columns:15rem minmax(0,1fr)}}.dsp-side{display:none}@media (width>=64em){.dsp-side{align-content:start;gap:var(--s1);max-height:calc(100svh - 7rem);padding-right:var(--s2);align-self:start;display:grid;position:sticky;top:5.5rem;overflow:auto}.dsp-side__g{margin:var(--s4) 0 var(--s1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:500}.dsp-side a{padding:var(--s2) var(--s3);border-radius:var(--r-md);color:var(--muted);font-size:var(--t14);transition:color .2s,background .2s;display:block}.dsp-side a:hover{color:var(--ink)}.dsp-side a.is-active{color:var(--ink);background:var(--panel)}}.dsp-main{gap:var(--s6);min-width:0;display:grid}.dsp-hero{gap:var(--s4);padding-bottom:var(--s8);display:grid}.dsp-title{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:var(--h-display);margin:0;line-height:.95}.dsp-lead{max-width:46ch;font-size:var(--h-lead);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.25}.dsp-group{margin:var(--s12) 0 0;padding-top:var(--s6);border-top:1px solid var(--line);font-family:var(--font-display);text-transform:uppercase;scroll-margin-top:5rem;font-size:clamp(2.25rem,1rem + 4vw,4.5rem);font-weight:700;line-height:.95}.spec{gap:var(--s4);padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-panel);min-width:0;scroll-margin-top:5rem;display:grid}.spec__head{gap:var(--s2);display:grid}.spec__head h3{font-size:var(--t24);margin:0;font-weight:800;line-height:1.2}.spec__head p{max-width:70ch;color:var(--muted);font-size:var(--t16);margin:0;line-height:1.5}.spec__stage{align-items:center;gap:var(--s4);padding:var(--s6);border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);--r:.75rem;--a:var(--accent-deep);flex-wrap:wrap;min-width:0;display:flex}.spec__stage--flow,.spec__stage--text{display:block}.dsp-code{font-size:var(--t14)}.dsp-code summary{cursor:pointer;min-height:2.75rem;color:var(--muted);align-items:center;font-weight:500;display:inline-flex}.dsp-code pre{padding:var(--s4);border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);margin:0;overflow:auto}.dsp-code code{color:var(--muted);white-space:pre;font:500 .8125rem/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}code{color:var(--muted);font:500 .75rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.dsp-colors{gap:var(--s2);display:grid}.dsp-crow{gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr);align-items:center;display:grid}.dsp-crow__sw{border-radius:var(--r-md);border:1px solid var(--line);display:flex;overflow:hidden}.dsp-crow__sw i{width:3.5rem;height:3.5rem;display:block}.dsp-crow__t{gap:var(--s1);min-width:0;display:grid}.dsp-crow__t b{font-weight:500;font-size:var(--t16)}.dsp-crow__t span{color:var(--muted);font-size:var(--t14)}.dsp-crow__v{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:.75rem;display:none}@media (width>=48em){.dsp-crow{grid-template-columns:auto 14rem minmax(0,1fr) auto}.dsp-crow__v{text-align:right;display:block}}.dsp-ctable{margin-top:var(--s6);gap:var(--s2);display:grid}.dsp-ctable h4{margin:0 0 var(--s2);font-size:var(--t14);color:var(--muted);font-weight:500}.dsp-contrast{gap:var(--s3);flex-wrap:wrap;display:flex}.dsp-contrast div{gap:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1px solid var(--line);min-width:11rem;display:grid}.dsp-contrast b{font-family:ui-monospace,Menlo,monospace;font-weight:500;font-size:var(--t16)}.dsp-contrast span{color:var(--muted);font-size:.75rem}.dsp-pass{color:#3bce85}.dsp-fail{color:#f04c67}.dsp-type{gap:var(--s6);display:grid}.dsp-trow{gap:var(--s2);padding-bottom:var(--s6);border-bottom:1px solid var(--line);display:grid}.dsp-trow__m{gap:var(--s2) var(--s6);color:var(--muted);flex-wrap:wrap;font-family:ui-monospace,Menlo,monospace;font-size:.75rem;display:flex}.dsp-trow__s{overflow-wrap:anywhere;margin:0}.dsp-space{gap:var(--s2);display:grid}.dsp-srow{gap:var(--s3);color:var(--muted);grid-template-columns:3rem 5.5rem minmax(0,1fr);align-items:center;font-family:ui-monospace,Menlo,monospace;font-size:.75rem;display:grid}.dsp-srow i{background:var(--accent);border-radius:.1875rem;height:.75rem;display:block}.dsp-radius{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.dsp-radius figure{gap:var(--s2);font-size:var(--t14);color:var(--muted);margin:0;display:grid}.dsp-radius figure>span{aspect-ratio:4/3;background:var(--panel);border:1px solid var(--line);display:block}.dsp-radius .dsp-shadow{box-shadow:var(--shadow-panel)}.dsp-motion{gap:var(--s6);display:grid}.dsp-mcards{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.dsp-mcard{gap:var(--s3);padding:var(--s4);border-radius:var(--r-md);border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 60%, var(--panel));cursor:pointer;display:grid}.dsp-mcard:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.dsp-mcard__h{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.dsp-mcard__h b{font-weight:500;font-size:var(--t18)}.dsp-mcard__d{font-size:var(--t14);color:var(--accent);font-variant-numeric:tabular-nums}.dsp-mcard__u{font-size:var(--t14);color:var(--muted);margin:0;line-height:1.4}.dsp-mstage{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);place-items:center;height:7.5rem;display:grid;overflow:hidden}.dsp-m{--e:var(--ease);transition:transform var(--dur) var(--e), opacity var(--dur) var(--e)}.dsp-m--btn{min-height:2.75rem;padding:0 var(--s6);background:var(--accent);color:var(--accent-ink);font-size:var(--t14);border-radius:62.4375rem;place-items:center;font-weight:500;display:inline-grid;transform:translate(0,0)}.dsp-m--btn.is-on{animation:dsp-lift calc(var(--dur) * 4) var(--ease) 1}@keyframes dsp-lift{0%{transform:none}35%{transform:translateY(-.375rem)}to{transform:none}}.dsp-m--card{gap:var(--s2);width:6.5rem;padding:var(--s3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);opacity:0;display:grid;transform:translateY(1rem)}.dsp-m--card.is-on{opacity:1;transform:none}.dsp-m--card i{background:var(--line);border-radius:99px;height:.5rem;display:block}.dsp-m--card i:first-child{background:var(--accent);width:60%}.dsp-m--sec{gap:var(--s2);width:78%;display:grid}.dsp-m--sec i{border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);opacity:0;height:1rem;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);transition-delay:calc(var(--k,0) * 60ms);display:block;transform:translateY(1.75rem)}.dsp-m--sec i:first-child{background:color-mix(in srgb, var(--accent) 35%, var(--panel))}.dsp-m--sec.is-on i{opacity:1;transform:none}.dsp-curve{align-items:center;gap:var(--s6);padding:var(--s4);border-radius:var(--r-md);border:1px solid var(--line);flex-wrap:wrap;display:flex}.dsp-curve svg{width:7.5rem;height:7.5rem;fill:var(--accent);flex:none}.dsp-curve .g{stroke:var(--line);fill:none;stroke-width:1px}.dsp-curve .c{stroke:var(--accent);fill:none;stroke-width:2.5px;stroke-linecap:round}.dsp-curve div{gap:var(--s1);min-width:0;display:grid}.dsp-curve b{font-weight:500}.dsp-curve span{color:var(--ink);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.dsp-curve small{color:var(--muted);font-size:var(--t14);max-width:46ch}.dsp-play{justify-content:center;justify-self:start;min-width:11rem}@media (prefers-reduced-motion:reduce){.dsp-m,.dsp-m--sec i{transition:none}.dsp-m--btn.is-on{animation:none}.dsp-m--card,.dsp-m--sec i{opacity:1;transform:none}}.dsp-layout{gap:var(--s4);display:grid}.dsp-bp{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));display:grid}.dsp-bp div{padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1px solid var(--line);gap:var(--s1);display:grid}.dsp-bp div.is-on{border-color:var(--accent)}.dsp-bp b{font-weight:500}.dsp-bp span{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:.75rem}.dsp-icons{gap:var(--s6) var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));display:grid}.dsp-ico{gap:var(--s3);font-size:var(--t14);justify-items:start;margin:0;display:grid}.dsp-ico figcaption{gap:var(--s1);display:grid}.dsp-logos{gap:var(--s8);margin-top:var(--s8);flex-wrap:wrap;display:flex}.dsp-logos figure{gap:var(--s3);font-size:var(--t14);color:var(--muted);justify-items:start;margin:0;display:grid}.dsp-states{gap:var(--s6);width:100%;display:grid}.dsp-row{gap:var(--s6) var(--s4);flex-wrap:wrap;display:flex}.dsp-state{gap:var(--s2);justify-items:start;display:grid}.dsp-state small{color:var(--muted);font-size:.75rem}.dsp-fieldrow{gap:var(--s4);flex-wrap:wrap;display:flex}.dsp-path,.dsp-tools{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:40rem}@media (width>=40em){.dsp-path,.dsp-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}.dsp-work{gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(17.5rem,26rem));width:100%;display:grid}.dsp-work .wcard{width:100%}.dsp-facts{gap:var(--s8);width:100%;display:grid}@media (width>=56.25em){.dsp-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dsp-facts .metrics{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}.dsp-steps{padding-bottom:var(--s2)}.dsp-steps .steps{gap:var(--s12)}.dsp-navwrap{border-radius:var(--r-md);border:1px solid var(--line);width:100%;min-height:8rem;position:relative;overflow:hidden}.dsp-navwrap .nav{position:relative;transform:none}.dsp-glass{gap:var(--s8);width:100%;display:grid}@media (width>=48em){.dsp-glass{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}}.dsp-dots{border-radius:var(--r-md);border:1px solid var(--line);place-items:center;width:100%;min-height:13rem;display:grid}.dsp-dots p{color:var(--muted);font-size:var(--t14);margin:0}.dsp-3d{gap:var(--s4);width:100%;display:grid}.dsp-3d .p3d{margin-top:0}.dsp-range{gap:var(--s4);font-size:var(--t14);color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.dsp-range input{width:100%;height:2.75rem;accent-color:var(--accent)}.dsp-range output{color:var(--ink);text-align:right;min-width:3rem;font-family:ui-monospace,Menlo,monospace}.dsp-list{gap:var(--s3);font-size:var(--t16);margin:0;padding:0;line-height:1.5;list-style:none;display:grid}.dsp-list li{padding-left:var(--s6);position:relative}.dsp-list li:before{content:"";background:var(--accent);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.6em;left:0}.dsp-list b{font-weight:800}.dsp-sample{margin:var(--s6) 0 0;padding:var(--s4) var(--s6);border-left:3px solid var(--accent);max-width:28rem;font-size:var(--h-lead);font-weight:500;line-height:1.25}.dsp-note{max-width:60ch;color:var(--muted);font-size:var(--t16);margin:0;line-height:1.5}.dsp-part{gap:var(--s3);margin-top:var(--s12);padding:var(--s8) var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-panel);scroll-margin-top:5rem;display:grid}.dsp-part:first-of-type{margin-top:0}.dsp-part__n{font-size:var(--t14);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-weight:500}.dsp-part__t{font-family:var(--font-display);text-transform:uppercase;overflow-wrap:break-word;margin:0;font-size:clamp(2.5rem,1rem + 5vw,5.5rem);font-weight:700;line-height:.95}.dsp-part__d{max-width:62ch;color:var(--muted);font-size:var(--t18);margin:0;line-height:1.5}.dsp-part--ext,.spec--ext{border-style:dashed}.dsp-part--ext{box-shadow:none;background:0 0}.spec--ext{box-shadow:none}@media (width>=48em){.dsp-part{padding:var(--s12) var(--s8)}}.dsp-side__part{margin:var(--s6) 0 0;padding-top:var(--s3);border-top:1px solid var(--line);font-size:var(--t14);color:var(--ink);font-weight:800}.dsp-side__part:first-child{border-top:0;margin-top:0;padding-top:0}.dsp-cols{gap:var(--s6);margin-bottom:var(--s6);display:grid}@media (width>=48em){.dsp-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}.dsp-cols figure{gap:var(--s2);min-width:0;color:var(--muted);margin:0;font-size:.75rem;display:grid}.dsp-col{gap:var(--s1);display:grid}.dsp-col i{background:color-mix(in srgb, var(--accent) 28%, transparent);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);border-radius:.1875rem;height:3rem;display:block}.dsp-col--4{grid-template-columns:repeat(4,minmax(0,1fr))}.dsp-col--8{grid-template-columns:repeat(8,minmax(0,1fr))}.dsp-col--12{grid-template-columns:repeat(12,minmax(0,1fr))}.dsp-measure{max-width:65ch;font-size:var(--t18);text-wrap:pretty;margin:0;line-height:1.5}.dsp-cues--one{grid-template-columns:minmax(0,1fr)}@media (width>=48em){.dsp-cues--one{grid-template-columns:minmax(0,1fr)}}.dsp-matrix{gap:var(--s8);display:grid}.dsp-mrow{gap:var(--s4);padding-top:var(--s6);border-top:1px solid var(--line);display:grid}.dsp-mrow:first-child{border-top:0;padding-top:0}.dsp-mrow__n{font-size:var(--t14);margin:0;font-weight:800}.dsp-mrow__s{gap:var(--s8) var(--s8);flex-wrap:wrap;align-items:flex-start;min-width:0;display:flex}@media (width>=48em){.dsp-mrow{grid-template-columns:11rem minmax(0,1fr)}}.dsp-mrow .dsp-state{min-width:0;max-width:100%}.dsp-mrow .dsp-tools{width:min(100%,16rem);margin:0;padding:0;display:block}.dsp-logo{padding:var(--s8) var(--s12);border-radius:var(--r-md);border:1px solid var(--line);place-items:center;display:grid}.dsp-logo--bg{background:var(--bg)}.dsp-logo--panel{background:var(--panel)}.dsp-logo .brandmark{height:3rem}