:root{--brand-400:color-mix(in srgb, var(--brand-600) 58%, white);--iso-edge:color-mix(in srgb, var(--ground) 70%, white);--iso-brand-top:color-mix(in srgb, var(--brand-600) 52%, white);--iso-brand-right:var(--brand-600);--iso-brand-mid:color-mix(in srgb, var(--brand-600) 86%, black);--iso-brand-left:color-mix(in srgb, var(--brand-600) 70%, black);--iso-deep-top:color-mix(in srgb, var(--brand-800) 55%, white);--iso-deep-right:var(--brand-800);--iso-deep-mid:color-mix(in srgb, var(--brand-800) 84%, black);--iso-deep-left:color-mix(in srgb, var(--brand-900) 78%, black);--iso-signal-top:color-mix(in srgb, var(--signal) 62%, white);--iso-signal-right:var(--signal);--iso-signal-mid:color-mix(in srgb, var(--signal) 84%, black);--iso-signal-left:color-mix(in srgb, var(--signal) 66%, black);--iso-accel-top:color-mix(in srgb, var(--accel) 55%, white);--iso-accel-right:var(--accel);--iso-accel-mid:color-mix(in srgb, var(--accel) 84%, black);--iso-accel-left:color-mix(in srgb, var(--accel) 68%, black);--iso-guarantee-top:color-mix(in srgb, var(--guarantee) 55%, white);--iso-guarantee-right:var(--guarantee);--iso-guarantee-mid:color-mix(in srgb, var(--guarantee) 84%, black);--iso-guarantee-left:color-mix(in srgb, var(--guarantee) 68%, black);--iso-muted-top:var(--rule);--iso-muted-right:var(--rule-strong);--iso-muted-mid:color-mix(in srgb, var(--rule-strong) 90%, black);--iso-muted-left:color-mix(in srgb, var(--rule-strong) 78%, black)}.hero-scene,.sol-hero{--iso-edge:#ffffff8c}@keyframes iso-dash{to{stroke-dashoffset:-140px}}@keyframes iso-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes iso-drop{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:none}}@keyframes iso-pulse{0%{opacity:.8;transform:scale(.55)}70%{opacity:0;transform:scale(2.1)}to{opacity:0}}@keyframes iso-travel{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes iso-cell-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes rise-up{0%{transform:translateY(22px)}to{transform:none}}@keyframes race{0%{inline-size:0}to{inline-size:100%}}@keyframes sheen{0%{background-position:-160% 0}to{background-position:260% 0}}.iso-dash{stroke-dashoffset:140px;animation:2.4s linear infinite iso-dash}.iso-float{transform-origin:50%;animation:7s ease-in-out infinite iso-bob}.build{animation:.5s cubic-bezier(.2,.8,.3,1) backwards iso-drop;animation-delay:calc(var(--i,0) * 90ms)}.iso-build>g{transition:transform .32s cubic-bezier(.2,.8,.3,1)}.card:hover .iso-build>g:nth-child(odd){transform:translateY(-3px)}.card:hover .iso-build>g:nth-child(2n){transform:translateY(3px)}.iso-pulse{animation:3s steps(12,end) infinite iso-pulse}.iso-packet{offset-rotate:0deg;animation:2.6s ease-in-out infinite iso-travel}.iso-cell{animation:.5s ease-out backwards iso-cell-in}.parallax{--px:0;--py:0}.iso-layer{transform:translate3d(calc(var(--px) * var(--depth,1) * 14px), calc(var(--py) * var(--depth,1) * 10px), 0);will-change:transform;transition:transform .45s cubic-bezier(.22,.61,.36,1)}.iso-layer[data-depth="0.2"]{--depth:.2}.iso-layer[data-depth="0.35"]{--depth:.35}.iso-layer[data-depth="0.4"]{--depth:.4}.iso-layer[data-depth="0.5"]{--depth:.5}.iso-layer[data-depth="1"]{--depth:1}:root{--mo-dir:1;--mo-rise:10px;--mo-step:90ms;--mo-spring:var(--ease-calm)}[dir=rtl]{--mo-dir:-1}@keyframes mo-in{0%{opacity:0;translate:var(--mo-x,0) var(--mo-y,var(--mo-rise));scale:var(--mo-s,1)}to{opacity:1;translate:0;scale:1}}@keyframes mo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes mo-blink{0%,62%,to{opacity:1}70%,90%{opacity:.25}}@keyframes mo-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){html.mo [data-reveal]:not([data-in]),html.mo [data-reveal-stagger]:not([data-in])>*{opacity:0}html.mo [data-reveal][data-in],html.mo [data-reveal-stagger][data-in]>*{animation:mo-in .9s var(--mo-spring) both;animation-delay:calc(var(--ri,0) * var(--mo-step))}html.mo [data-reveal][data-in] [data-reveal-stagger][data-in]>*{animation-delay:calc(.12s + var(--ri,0) * var(--mo-step))}html.mo [data-from-top],html.mo [data-from-top]>*{--mo-y:calc(-1 * var(--mo-rise))}html.mo [data-reveal=start]{--mo-x:calc(var(--mo-dir) * -12px);--mo-y:0px}html.mo [data-reveal=end]{--mo-x:calc(var(--mo-dir) * 12px);--mo-y:0px}html.mo [data-reveal=zoom]{--mo-s:1;--mo-y:8px}html.mo [data-reveal=down]{--mo-y:calc(-1 * var(--mo-rise))}html.mo .stagger[data-reveal-stagger]>*{animation-name:mo-in}html.mo .stagger[data-reveal-stagger]:not([data-in])>*,html.mo [data-rest] :is(.brick,.kb,.lk,.dgm-b,.dgm-r,.dgm-f,.dgm-w,.dgm-t,.iso-cell){animation:none}html.mo .build .brick{animation-duration:.7s;animation-timing-function:var(--ease-out)}html.mo [data-parallax]{translate:0 var(--mo-py,0px)}html.mo [data-off] *,html.mo [data-off]:before,html.mo [data-off] :before,html.mo.mo-idle *,html.mo.mo-idle :before,html.mo.mo-idle :after{animation-play-state:paused!important}.cbar-items li{animation:mo-in .5s var(--mo-spring) both;--mo-x:calc(var(--mo-dir) * 28px);--mo-y:0px;--mo-s:.9}.ph-tabs a[aria-current=page]{position:relative}.ph-tabs a[aria-current=page]:after{content:"";background:var(--signal);block-size:3px;transform-origin:var(--mo-origin,left);animation:mo-bar .5s var(--mo-spring) both .1s;position:absolute;inset-block-start:-1px;inset-inline:-1px}[dir=rtl] .ph-tabs a[aria-current=page]:after{--mo-origin:right}.journey-bar li[data-state=current]:after{content:"";background:var(--signal);transform-origin:0;block-size:3px;animation:mo-bar .55s var(--mo-spring) both .15s;position:absolute;inset-block-end:0;inset-inline:0}[dir=rtl] .journey-bar li[data-state=current]:after{transform-origin:100%}:root{interpolate-size:allow-keywords}@supports selector(::details-content){details::details-content{block-size:0;transition:block-size .38s var(--ease-out), content-visibility .38s allow-discrete;overflow-y:clip}details[open]::details-content{block-size:auto}}details[open]>:not(summary){animation:mo-in .45s var(--ease-out) both;--mo-rise:10px;--mo-s:1}.acc-item>summary:after{transition:background-color .2s ease, transform .3s var(--mo-spring)}.acc-item[open]>summary:after{transform:rotate(180deg)}}@media print{html.mo [data-reveal],html.mo [data-reveal-stagger]>*,details[open]>:not(summary){opacity:1!important;animation:none!important;translate:none!important}html.mo [data-parallax],html.mo [data-float]{animation:none!important;translate:none!important}details::details-content{block-size:auto!important;transition:none!important}}.card:hover .cover svg,.lc:hover .vmark svg{transform:none}.topic-chip:active,.cmp-toggle:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.985)}.cmp-toggle[aria-pressed=true] svg{animation:mo-in .4s var(--mo-spring) both;--mo-s:.4;--mo-rise:0px}.cover svg,.vmark svg{transition:transform .4s cubic-bezier(.22,.61,.36,1)}.read-progress{block-size:3px;inline-size:var(--progress,0%);background:var(--brand-600);z-index:60;transition:inline-size .1s linear;position:fixed;inset-block-start:0;inset-inline-start:0}.fig{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);margin:34px 0;overflow:hidden}.fig-head{border-block-end:1px solid var(--rule);background:var(--sunk);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.fig-kicker{font-family:var(--font-ui);color:var(--brand-600);margin:0 0 3px;font-size:13px}.fig-head h3{margin:0;font-size:17px;line-height:1.3}.fig-reset,.fig-run{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:0;flex:none;padding:7px 14px;font-size:13px}.fig-reset:hover,.fig-run:hover{border-color:var(--brand-600);color:var(--brand-600)}.fig-run{background:var(--brand-600);color:var(--on-brand,#fff);border-color:var(--brand-600);font-weight:600}.fig-run:hover{background:var(--brand-700);color:var(--on-brand,#fff)}.fig-stage{padding:22px 20px}.fig-svg,.fig-iso{block-size:auto;max-block-size:260px;inline-size:100%;display:block}.fig-tick{font-family:var(--font-ui);fill:var(--ink-3);font-size:14px}.fig-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:0 20px 20px;display:grid}.fig-field label{color:var(--ink-2);justify-content:space-between;gap:10px;margin-block-end:6px;font-size:13px;display:flex}.fig-field output{font-family:var(--font-ui);color:var(--ink);font-weight:600}.fig-field input[type=range]{inline-size:100%;accent-color:var(--brand-600)}.fig-choice{border:0;min-inline-size:0;margin:0;padding:0}.fig-choice legend{color:var(--ink-2);margin-block-end:6px;padding:0;font-size:13px}.fig-choice-row,.fig-toggles{flex-wrap:wrap;gap:7px;display:flex}.fig-opt,.fig-toggle{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:0;padding:7px 13px;font-size:13px}.fig-opt:hover,.fig-toggle:hover{border-color:var(--brand-600);color:var(--brand-600)}.fig-opt[aria-pressed=true]{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand,#fff)}.fig-toggle[aria-pressed=true]{color:var(--on-deep)}.fig-toggle[aria-pressed=true][data-tone=brand]{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand,#fff)}.fig-toggle[aria-pressed=true][data-tone=deep]{background:var(--brand-800);border-color:var(--brand-800)}.fig-toggle[aria-pressed=true][data-tone=accel]{background:var(--accel);border-color:var(--accel);color:var(--on-accel)}.fig-toggle[aria-pressed=true][data-tone=guarantee]{background:var(--guarantee);border-color:var(--guarantee);color:var(--on-guarantee)}.fig-toggle[aria-pressed=true][data-tone=signal]{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.fig-toggle[aria-pressed=false]{opacity:.62;text-decoration:line-through}.fig-readout{border-block-start:1px solid var(--rule);background:var(--brand-50);color:var(--ink-2);margin:0;padding:15px 20px;font-size:14.5px;line-height:1.65}.fig-readout strong{color:var(--ink)}.fig figcaption{border-block-start:1px solid var(--rule);color:var(--ink-3);margin:0;padding:12px 20px;font-size:13px}.fig-bars{flex-direction:column;gap:14px;display:flex}.fig-bar-label{color:var(--ink-2);justify-content:space-between;margin-block-end:5px;font-size:13.5px;display:flex}.fig-bar-label strong{font-family:var(--font-ui);color:var(--ink)}.fig-bar-track{background:var(--sunk);border-radius:0;block-size:12px;overflow:hidden}.fig-bar-fill{border-radius:0;block-size:100%;transition:inline-size .35s cubic-bezier(.22,.61,.36,1)}.fig-bar-fill[data-tone=brand]{background:var(--brand-600)}.fig-bar-fill[data-tone=accel]{background:var(--accel)}.fig-bar-fill[data-tone=signal]{background:var(--signal)}.fig-bar-fill[data-tone=muted]{background:var(--rule-strong)}.fig-bar-fill[data-tone=crit]{background:var(--crit)}.fig-bar-note{color:var(--ink-3);margin:5px 0 0;font-size:12px}.fig-ledger{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.fig-ledger ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.fig-ledger-h{color:var(--ink-3);font-size:14px;font-family:var(--font-ui);margin:0 0 9px;font-weight:500}.fig-ledger-h[data-ok=true]{color:var(--ok)}.fig-ledger-empty{color:var(--ink-3)}.fig-race{flex-direction:column;gap:11px;display:flex}.fig-race-row{grid-template-columns:84px 1fr 46px;align-items:center;gap:12px;display:grid}.fig-race-name{color:var(--ink-2);font-size:13.5px}.fig-race-time{font-family:var(--font-ui);color:var(--ink-3);text-align:end;font-size:14px}.fig-race-track{background:var(--sunk);border-radius:0;block-size:10px;overflow:hidden}.fig-racer{border-radius:0;block-size:100%;inline-size:0;display:block}.fig-racer.is-running{animation-name:race;animation-timing-function:cubic-bezier(.3,.7,.4,1);animation-fill-mode:forwards}.fig-racer[data-tone=accel]{background:var(--accel)}.fig-racer[data-tone=brand]{background:var(--brand-600)}.fig-racer[data-tone=signal]{background:var(--signal)}.fig-racer[data-tone=deep]{background:var(--brand-800)}@media (max-width:620px){.fig-controls{grid-template-columns:1fr}.fig-race-row{grid-template-columns:68px 1fr 40px}}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.topic-chip{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:inherit;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.topic-chip:hover{border-color:var(--brand-600);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.topic-chip svg{flex:none}.topic-chip span{flex-direction:column;min-inline-size:0;display:flex}.topic-chip strong{font-size:14.5px;font-weight:600}.topic-chip em{font-style:normal;font-family:var(--font-ui);color:var(--ink-3);font-size:14px}.chip-sponsor{--dot:var(--warn);color:var(--warn)}.filter-label{font-family:var(--font-ui);color:var(--ink-3);align-self:center;margin-inline-end:4px;font-size:13px}.filter-level[aria-current=true][data-level=foundation]{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand,#fff)}.filter-level[aria-current=true][data-level=applied]{background:var(--accel);border-color:var(--accel);color:var(--on-accel)}.filter-level[aria-current=true][data-level=advanced]{background:var(--guarantee);border-color:var(--guarantee);color:var(--on-guarantee)}.result-count{font-family:var(--font-ui);color:var(--ink-3);margin-block-end:18px;font-size:14px}.hero-short{padding-block-end:0}.container.article-head,.container.article-cover,.container.article-grid{--rail:250px;--rail-gap:clamp(28px, 3vw, 64px);--shell:calc(var(--measure) + 2 * var(--bleed) + var(--rail) + var(--rail-gap));max-inline-size:calc(var(--shell) + 2 * var(--gutter));margin-inline:auto}.container.article-head{padding-block:clamp(32px,3.4vw,56px) 22px;padding-inline:calc(var(--gutter) + var(--bleed))}.article-head>*{max-inline-size:78ch}.article-head h1{letter-spacing:-.03em;margin:14px 0 0;font-size:clamp(30px,4.6vw,50px);line-height:1.1}.article-lede{color:var(--ink-2);margin-block-start:16px;font-size:19px;line-height:1.6}.article-meta,.article-topics{margin-block-start:18px}.article-cover{margin-block-end:8px}.article-cover svg,.article-cover img{border-radius:var(--radius-media);background:var(--sunk);object-fit:cover;block-size:auto;max-block-size:clamp(260px,30vw,480px);inline-size:100%}.article-grid{gap:var(--rail-gap);grid-template-columns:minmax(0,1fr);align-items:start;padding-block:20px 40px;display:grid}.article-body{min-inline-size:0;padding-inline:var(--bleed)}.article-toc{order:2;font-size:13.5px;position:sticky;inset-block-start:88px}@media (min-width:1080px){.article-grid{grid-template-columns:minmax(0, 1fr) var(--rail)}.article-toc{order:2}}@media (max-width:1079px){.container.article-head,.container.article-cover,.container.article-grid{--shell:calc(var(--measure) + 2 * var(--bleed))}}.article-body .fig,.article-body .diagram,.article-body .prose>pre,.article-body .prose>.table-wrap{inline-size:calc(100% + 2 * var(--bleed));margin-inline:calc(-1 * var(--bleed));max-inline-size:none}.article-toc h2{font-family:var(--font-ui);color:var(--ink-3);margin:0 0 10px;font-size:13px;font-weight:500}.article-toc ul{border-inline-start:1px solid var(--rule);flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.article-toc li{padding-inline-start:12px}.article-toc li[data-depth="3"]{padding-inline-start:24px;font-size:12.5px}.article-toc a{color:var(--ink-2);text-decoration:none}.article-toc a:hover{color:var(--brand-600)}@media (max-width:1079px){.article-toc{border-block-end:1px solid var(--rule);order:0;padding-block-end:16px;position:static}}.sources{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--sunk);margin-block-start:42px;padding:22px 24px}.sources h2{margin:0;font-size:17px}.sources-lead{color:var(--ink-3);margin:6px 0 16px;font-size:13.5px}.sources ol{flex-direction:column;gap:12px;margin:0;padding-inline-start:1.3em;display:flex}.sources li{color:var(--ink-2);font-size:14.5px;line-height:1.55}.sources a{color:var(--brand-600);font-weight:500}.sources-pub{font-family:var(--font-ui);color:var(--ink-3);margin-block-start:2px;font-size:14px;display:block}.cite{font-size:.72em;line-height:0;font-family:var(--font-ui);margin-inline-start:1px;font-weight:600}.cite a{color:var(--brand-600);padding:0 2px;text-decoration:none}.cite a:before{content:"[";opacity:.6}.cite a:after{content:"]";opacity:.6}.cite a:hover,.cite a:focus-visible{background:var(--brand-600);color:var(--on-brand);text-decoration:none}.sources li{scroll-margin-top:96px}.sources li:target{outline:2px solid var(--signal);outline-offset:6px;background:color-mix(in srgb, var(--signal) 8%, transparent)}.prose-tight>:first-child{margin-block-start:0}.prose-tight h2{font-size:19px}.prose-tight h3{font-size:16px}.fig-help{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fig-help li{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13.5px;display:flex}.fig-help code{font-family:var(--font-mono);background:var(--sunk);padding:3px 7px;font-size:12px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sec-mark{flex:none}.prose h2{align-items:center;gap:10px;display:flex}.art-tools{flex-wrap:wrap;gap:8px;margin-block-start:20px;display:flex}.art-tools button,.art-tools a{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:var(--radius);padding:6px 12px;font-size:12.5px;text-decoration:none}.art-tools button:hover,.art-tools a:hover{border-color:var(--brand-600);color:var(--brand-600)}.article-toc a{align-items:center;gap:8px;display:flex}@media print{.site-header,.site-footer,.art-tools,.read-progress,.article-toc,.fig-controls,.fig-reset,.fig-run,.section-sunk{display:none!important}html,body{color:#000!important;background:#fff!important}.container{max-inline-size:none;padding:0}.article-grid{display:block}.article-cover{display:none}.article-head{padding-block:0 12pt}.article-head h1{font-size:22pt}.article-lede{font-size:12pt}.prose{font-size:10.5pt;line-height:1.5}.prose h2{break-after:avoid;font-size:13pt}.prose h3{break-after:avoid;font-size:11.5pt}.prose p,.prose li{orphans:3;widows:3}.sec-mark{display:none}.prose a:after,.sources a:after{content:" (" attr(href) ")";color:#444;word-break:break-all;font-size:8.5pt}.prose .cite a:after{content:"]";font-size:inherit;color:inherit}.fig{break-inside:avoid;border:1pt solid #999}.fig-readout{background:#f2f2f2!important}.sources{break-before:auto;border:1pt solid #999;background:#fff!important}}.art-section{margin-block-end:6px}.art-h2{letter-spacing:-.02em;align-items:center;gap:11px;margin-block:40px 14px;scroll-margin-block-start:84px;font-size:clamp(19px,2.4vw,25px);display:flex}.art-h2>span{min-inline-size:0}.art-anchor{font-family:var(--font-ui);color:var(--rule-strong);opacity:0;font-size:14px;text-decoration:none;transition:opacity .15s}.art-h2:hover .art-anchor{opacity:1}.art-anchor:hover{color:var(--brand-600)}.art-section .prose>:first-child{margin-block-start:0}.prose h2{display:block}.diagram{border:0;border-block:1px solid var(--rule);background:0 0;border-radius:0;margin-block:clamp(34px,3.4vw,56px);padding:clamp(22px,2.4vw,44px);padding-inline:0}.dgm-art{isolation:isolate;display:block;overflow:visible}.dgm-title{letter-spacing:-.01em;margin:0 0 clamp(20px,1.8vw,30px);font-size:clamp(16px,1.3vw,20px)}.diagram figcaption{border-block-start:1px solid var(--rule);color:var(--ink-3);margin-block-start:18px;padding-block-start:14px;font-size:13px;line-height:1.55}.dgm-note{color:var(--ink-3);margin:5px 0 0;font-size:12.5px;line-height:1.5}.dgm-swatch{border-radius:50%;flex:none;block-size:12px;inline-size:12px;margin-block-start:5px}.dgm-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:end;gap:clamp(20px,2vw,38px);display:grid}.dgm-stat{flex-direction:column;align-items:flex-start;display:flex}.dgm-stat-art{align-self:flex-end;block-size:auto;max-block-size:190px;inline-size:min(100%,170px);margin-block-end:12px}.dgm-stat strong{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(34px,4vw,56px);line-height:1}.dgm-stat span{color:var(--ink);margin-block-start:10px;font-size:15px;font-weight:500}.dgm-stat em{color:var(--ink-3);margin-block-start:5px;font-size:13px;font-style:normal;line-height:1.55}.dgm-bar-plot{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:end;gap:clamp(14px,1.6vw,30px);display:grid}.dgm-bar-col{flex-direction:column;align-items:stretch;display:flex}.dgm-bar-art{block-size:auto;inline-size:min(100%,84px);margin-block-end:14px}.dgm-bar-col strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(22px,2.2vw,30px);line-height:1}.dgm-bar-col>span{color:var(--ink);margin-block-start:8px;font-size:14.5px;font-weight:500}.dgm-bar-col .dgm-note{margin-block-start:5px}.dgm-layers{align-items:center;gap:clamp(22px,2.6vw,52px);display:grid}@media (min-width:760px){.dgm-layers{grid-template-columns:minmax(280px,46%) 1fr}}.dgm-layers-art{block-size:auto;max-block-size:620px;inline-size:100%}.dgm-layer-list,.dgm-block-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.dgm-layer-list li,.dgm-block-list li{align-items:flex-start;gap:13px;display:flex}.dgm-layer-list strong,.dgm-block-list strong{font-size:15.5px}.dgm-layer-list p,.dgm-block-list p{color:var(--ink-2);margin:4px 0 0;font-size:14px;line-height:1.6}.dgm-blocks{align-items:center;gap:clamp(22px,2.6vw,52px);display:grid}@media (min-width:760px){.dgm-blocks{grid-template-columns:minmax(300px,50%) 1fr}}.dgm-blocks-art{block-size:auto;max-block-size:620px;inline-size:100%}.dgm-flow-wrap{flex-direction:column;gap:clamp(20px,2.2vw,36px);display:flex}.dgm-flow-art{block-size:auto;max-block-size:320px;inline-size:100%;display:block}.dgm-flow{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:clamp(18px,1.8vw,32px);margin:0;padding:0;list-style:none;display:grid}.dgm-flow li{position:relative}.dgm-step-n{font-family:var(--font-ui);margin-block-end:8px;font-size:14px;display:block}.dgm-step-rule{block-size:3px;inline-size:34px;margin-block-end:12px;display:block}.dgm-flow strong{font-size:15.5px;line-height:1.35;display:block}.dgm-flow p{color:var(--ink-2);margin:7px 0 0;font-size:14px;line-height:1.6}.dgm-matrix{background:var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1px;display:grid}.dgm-quad{background:var(--surface);flex-direction:column;gap:9px;padding:clamp(18px,1.6vw,26px);display:flex}.dgm-quad-art{block-size:auto;inline-size:62px;margin-block-end:4px}.dgm-quad strong{font-size:15.5px}.dgm-quad p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.6}.dgm-timeline-wrap{flex-direction:column;gap:clamp(18px,2vw,32px);display:flex}.dgm-timeline-art{block-size:auto;max-block-size:260px;inline-size:100%;display:block}.dgm-timeline{margin:0;padding:0;list-style:none}.dgm-timeline li{border-block-end:1px solid var(--rule);grid-template-columns:16px 110px 1fr;align-items:baseline;gap:8px 14px;padding-block:12px;display:grid}.dgm-timeline li:last-child{border-block-end:0}.dgm-tick{align-self:center}.dgm-timeline time{font-family:var(--font-ui);color:var(--ink-3);font-size:14px}.dgm-timeline strong{font-size:15px}.dgm-timeline p{color:var(--ink-2);grid-column:3;margin:4px 0 0;font-size:13.5px;line-height:1.55}@media (max-width:620px){.dgm-timeline li{grid-template-columns:16px 1fr}.dgm-timeline p{grid-column:2}}.dgm-compare{overflow-x:auto}.dgm-compare table{border-collapse:collapse;inline-size:100%;font-size:14px}.dgm-compare th,.dgm-compare td{text-align:start;vertical-align:top;border-block-end:1px solid var(--rule);padding:11px 14px 11px 0}.dgm-compare thead th{font-family:var(--font-mono);color:var(--ink-3);font-size:11px;font-weight:500}.dgm-compare tbody th{color:var(--ink);inline-size:34%;font-weight:600}.dgm-compare td{color:var(--ink-2);line-height:1.55}@media print{.diagram{break-inside:avoid;border:1pt solid #999}}
.kit{position:relative}.kit-svg{isolation:isolate;block-size:auto;inline-size:100%;display:block;overflow:visible}.lk-fill{mix-blend-mode:var(--art-blend,normal)}.kit .lk{animation-duration:.9s;animation-timing-function:cubic-bezier(.22,.8,.3,1);animation-fill-mode:both;animation-delay:calc(var(--i,0) * var(--kit-step,40ms))}.kit .lk-draw{stroke-dasharray:1 1;animation-name:lk-draw;animation-duration:1.1s}.kit .lk-draw.lk-beam[stroke-dasharray]{stroke-dasharray:.012 .02;animation-name:lk-fade}.kit .lk-pop{transform-box:fill-box;transform-origin:50%;animation-name:lk-pop}.kit .lk-drift{animation-name:lk-drift;animation-duration:1.3s}.kit .lk-fade{animation-name:lk-fade}@keyframes lk-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes lk-pop{0%{opacity:0;scale:.35}to{opacity:1;scale:1}}@keyframes lk-drift{0%{opacity:0;translate:var(--dx,0px) var(--dy,0px)}to{opacity:1;translate:0}}@keyframes lk-fade{0%{opacity:0}to{opacity:1}}@media (scripting:enabled){.kit:not(.is-in) .lk,.kit:not(.is-live) .kl{animation-play-state:paused}}@media (scripting:none){.kit .lk{animation:none}}.kit .lk-breathe{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite lk-breathe;animation-delay:var(--kit-wait,0s)}@keyframes lk-breathe{0%,to{opacity:.9;scale:1}50%{opacity:.45;scale:1.12}}.kit .lk-arrive{animation:5.2s cubic-bezier(.22,.8,.3,1) infinite lk-arrive;animation-delay:var(--kit-wait,0s)}@keyframes lk-arrive{0%{translate:var(--dx,0px) var(--dy,0px);opacity:0}12%{opacity:1}45%,80%{opacity:1;translate:0}to{opacity:0;translate:0}}.lk-chase{stroke-dasharray:.14 .86;stroke-dashoffset:.14px;opacity:0}.kit .lk-chase{animation:2.8s ease-in-out infinite lk-chase;animation-delay:calc(var(--kit-wait,0s) + var(--k,0s))}@keyframes lk-chase{0%{stroke-dashoffset:.14px;opacity:0}15%{opacity:.9}85%{opacity:.9}to{stroke-dashoffset:-.86px;opacity:0}}.lk-run{offset-rotate:0deg;offset-distance:var(--at,50%)}.kit .lk-run{animation:lk-run var(--t,5s) linear infinite backwards;animation-delay:calc(var(--kit-wait,0s) + var(--k,0s) + var(--t,5s))}@keyframes lk-run{0%{offset-distance:0%;opacity:0}8%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}.kit-paths{max-inline-size:720px;margin-inline:auto}.kit-sieve{max-inline-size:300px}.kit-gates{max-inline-size:460px}.kit-matrix{max-inline-size:300px}.kit-scale{max-inline-size:320px}.kit-trust,.kit-crane{max-inline-size:300px}.kit-stairs{max-inline-size:360px}.kit-flow{max-inline-size:560px}.kit-hub{max-inline-size:280px}[dir=rtl] .kit-dir .kit-svg{transform:scaleX(-1)}.kit-paths-links{block-size:2.6em;margin:4px 0 0;padding:0;list-style:none;position:relative}.kit-paths-links li{inset-block-start:0;left:var(--p);white-space:nowrap;position:absolute;translate:-50%}[dir=rtl] .kit-paths-links li{left:calc(100% - var(--p))}.kit-paths-links a{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-family:var(--font-display);padding:4px 12px;font-size:13px;font-weight:600;line-height:1.25;text-decoration:none;display:inline-block}.kit-paths-links a:hover,.kit-paths-links a:focus-visible{border-color:var(--brand-600);color:var(--ink)}.kit-paths-links li[data-active] a{border-color:var(--signal);color:var(--ink);background:var(--signal-soft)}@media (max-width:560px){.kit-paths-links{block-size:4.6em}.kit-paths-links li:nth-child(2n){inset-block-start:2.2em}.kit-paths-links a{padding:3px 8px;font-size:12px}}.kit-glyph{inline-size:var(--size,56px);vertical-align:middle;view-timeline:--kit-glyph block;flex:none;display:inline-block}.kit-glyph .kit-svg{transition:translate .3s var(--ease-out)}a:hover .kit-glyph .kit-svg,.kit-glyph:hover .kit-svg{translate:0 -3px}.kit-div{block-size:var(--kit-div-h,46px);view-timeline:--kit-div block;margin-block:10px;overflow:hidden}.kit-div .kit-svg{block-size:100%}.kit-div-track{--kit-div-h:34px}.kit-div-steps{--kit-div-h:44px}.kit-ride{offset-rotate:0deg;offset-distance:var(--at,0%)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.kit-glyph .lk{animation:linear both kit-settle;animation-timeline:--kit-glyph;animation-range:entry calc(var(--i,0) * 12%) entry calc(55% + var(--i,0) * 12%)}.kit-div .lk{animation:linear both kit-settle;animation-timeline:--kit-div;animation-range:entry calc(var(--i,0) * 1.2%) entry calc(40% + var(--i,0) * 1.2%)}.kit-div .kit-ride{animation:linear both kit-ride;animation-timeline:--kit-div;animation-range:cover}}}@keyframes kit-settle{0%{translate:0 10px}to{translate:0}}@keyframes kit-ride{0%{offset-distance:var(--at,0%)}to{offset-distance:calc(var(--at,0%) + 16%)}}@media (prefers-reduced-motion:reduce){.kit .lk,.kit .kl,.kit-glyph .lk,.kit-div .lk,.kit-div .kit-ride{animation:none!important}.kit .lk-chase{opacity:0}.kit-glyph .kit-svg{transition:none}}@media print{.kit .lk,.kit .kl{animation:none!important}}.kitref{flex-direction:column;gap:22px;display:flex}.kitref-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kitref-bar button{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:var(--radius);padding:6px 12px;font-size:13px}.kitref-bar button[aria-pressed=true]{border-color:var(--brand-600);color:var(--brand-600)}.kitref-item{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);gap:16px;min-inline-size:0;padding:18px;display:grid}@media (min-width:1100px){.kitref-item{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}.kitref-item h2{margin:0 0 4px;font-size:17px}.kitref-item p{color:var(--ink-2);margin:0 0 10px;font-size:14px;line-height:1.5}.kitref-sig{background:var(--sunk);border:1px solid var(--rule);font-family:var(--font-ui);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);border-radius:var(--radius);margin:0 0 10px;padding:10px 12px;font-size:14px;line-height:1.55}.kitref-meta{color:var(--ink-2);gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.kitref-meta b{color:var(--ink);font-weight:600}.kitref-samples{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:end;gap:14px;min-inline-size:0;display:grid}.kitref-samples-wide{grid-template-columns:1fr}.kitref-sample{border:1px dashed var(--rule);flex-direction:column;align-items:center;gap:8px;min-inline-size:0;padding:10px;display:flex}.kitref-sample>.kit{inline-size:100%}.kitref-sample figcaption{font-family:var(--font-ui);color:var(--ink-3);text-align:center;font-size:14px}.kitref-glyphs{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.kitref-glyphs figure{border:1px dashed var(--rule);flex-direction:column;align-items:center;gap:6px;margin:0;padding:8px 4px;display:flex}.kitref-glyphs figcaption{font-family:var(--font-ui);color:var(--ink-3);text-align:center;overflow-wrap:anywhere;font-size:13px}.kitref-rtl{border:1px dashed var(--rule);padding:10px}
