.article-body__prose>:first-child{margin-top:0}.article-body__prose>:last-child{margin-bottom:0}.article-body__prose p{color:#cfc7de;margin:0 0 1.5rem}.article-body__prose h2{font-family:var(--ff-heading);font-size:var(--fs-h3);letter-spacing:-.01em;color:#f5f3f7;margin:max(2.5rem,min(6vw,3.5rem)) 0 1rem;scroll-margin-top:6rem;line-height:1.2}.article-body__prose h3{font-family:var(--ff-heading);font-size:var(--fs-lead);color:#f5f3f7;margin:2rem 0 .75rem;line-height:1.3}.article-body__prose strong{color:#f5f3f7;font-weight:600}.article-body__prose a{color:#c084fc;text-underline-offset:.2em;overflow-wrap:break-word;-webkit-text-decoration:underline #a855f766;text-decoration:underline #a855f766}.article-body__prose a:hover{-webkit-text-decoration-color:#a855f7;text-decoration-color:#a855f7}.article-body__prose ul,.article-body__prose ol{margin:0 0 1.5rem;padding-left:1.25rem}.article-body__prose li{margin-bottom:.5rem}.article-body__prose hr{border:0;margin:max(2rem,min(5vw,3rem)) 0;display:none}.article-body__prose blockquote{background:#a855f70f;border-left:2px solid #a855f7;border-radius:0 .5rem .5rem 0;margin:0 0 1.5rem;padding:max(1.25rem,min(4vw,1.75rem))}.article-body__prose blockquote p{margin:0 0 .75rem}.article-body__prose blockquote p:last-child{margin-bottom:0}.article-body__prose blockquote strong{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;color:#a855f7}.article-body__prose pre,.article-body__prose table{max-width:100%;display:block;overflow-x:auto}.article-body__figure{margin:max(2rem,min(5vw,3rem)) 0}.article-body__cta{margin:max(2rem,min(5vw,3rem)) 0 0}
.fig-card{--fig-bg-2:#0b0812;--fig-line:#221a30;--fig-line-soft:#171021;--fig-text:#f5f3f7;--fig-body:#cfc7de;--fig-muted:#9d95ab;--fig-faint:#6e6680;--fig-purple:#a855f7;--fig-violet:#6d5df6;--fig-magenta:#d946ef;--fig-warn:#e0a86d;--fig-grad:linear-gradient(90deg,var(--fig-violet),var(--fig-purple));--fig-well:#130c20;--fig-sky-0:#0b0620;--fig-sky-1:#170e2c;--fig-sky-2:#221537;--fig-glow-0:#e879f9;--fig-glow-1:#a855f7;--fig-glow-2:#6d5df6;--fig-far-0:#40337a;--fig-far-1:#2a2050;--fig-mid-0:#2c2050;--fig-mid-1:#191033;--fig-near-0:#07040f;--fig-near-1:#0e0820;--fig-near-2:#1c1038;--fig-valley:#2a1b48;--fig-cloud-0:#cdbdf2;--fig-cloud-1:#ded2f8;--fig-cloud-2:#c1aeee;--fig-summit:#faf7fd;--fig-camp-far:#8d84a0;--fig-camp-near:#b8aecb;border:1px solid var(--fig-line);background:radial-gradient(120% 140% at 10% -10%,var(--fig-well)0%,var(--fig-bg-2)55%);border-radius:1rem;margin:0;padding:max(1.1rem,min(4vw,2rem))}.fig-card .xtag{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.22em;text-transform:uppercase;color:var(--fig-faint);margin:0 0 .5rem}.fig-card .xtitle{font-family:var(--ff-heading);color:var(--fig-text);margin:0 0 .3rem;font-size:max(1rem,min(3.2vw,1.2rem));font-weight:700;line-height:1.3}.fig-card .xframe{color:var(--fig-muted);margin:0 0 1.5rem;font-size:max(.82rem,min(2.3vw,.9rem))}.fig-card figcaption{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.15em;text-transform:uppercase;color:var(--fig-faint);margin-top:1rem;line-height:1.7}.fig-card .src{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.07em;color:var(--fig-faint);margin:.4rem 0 0;line-height:1.7}.fig-card .k{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.2em;text-transform:uppercase;color:var(--fig-faint);margin:0 0 .9rem}.fig-card .k.on{color:var(--fig-purple)}.fig-card .k.wa{color:var(--fig-warn)}.fig-card .k.mt{margin-top:1.75rem}.fig-card .k.under{margin:.9rem 0 0}.fig-card .rows{gap:1.15rem;display:grid}.fig-card .r{grid-template-columns:9.5rem 1fr 4.2rem;align-items:center;gap:.5rem 1rem;display:grid}.fig-card .r .lbl{color:var(--fig-muted);min-width:0;font-size:.86rem;display:block}.fig-card .r .lbl b{color:var(--fig-purple);font-weight:500}.fig-card .r .val{font-family:var(--ff-mono);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fig-text);font-size:1rem;font-weight:600;display:block}.fig-card .r .val.on{color:var(--fig-purple)}.fig-card .r .val.wa{color:var(--fig-warn)}.fig-card .track{background:#ffffff07;border-radius:3px;height:20px;display:block;position:relative}.fig-card .track.th:after{content:"";left:var(--t);border-left:1px dashed var(--fig-warn);width:0;position:absolute;top:-6px;bottom:-6px}.fig-card .bar{background:var(--fig-line);height:100%;width:var(--w);transform-origin:0;border-radius:3px;min-width:3px;display:block}.fig-card .bar.on{background:var(--fig-grad)}.fig-card .note{color:var(--fig-muted);grid-column:2/-1;margin-top:-.55rem;font-size:.78rem;display:block}.fig-card .note.wa{color:var(--fig-warn)}.fig-card .note.on{color:var(--fig-purple)}@media (max-width:640px){.fig-card .r{grid-template-columns:1fr auto;gap:.3rem .7rem}.fig-card .r .lbl{grid-column:1/-1;font-size:.82rem}.fig-card .r .track{grid-column:1/2}.fig-card .r .val{grid-column:2/3;font-size:.92rem}.fig-card .note{grid-column:1/-1;margin-top:.1rem}}.fig-card .foot{border-top:1px solid var(--fig-line-soft);color:var(--fig-muted);margin:1.4rem 0 0;padding-top:1rem;font-size:.8rem}.fig-card .foot b{color:var(--fig-purple);font-weight:500}.fig-card .foot.wa{color:var(--fig-warn);border:0;margin-top:.35rem;padding-top:.35rem}.fig-card .big{border-top:1px solid var(--fig-line-soft);flex-wrap:wrap;align-items:baseline;gap:.9rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.fig-card .big .num{font-family:var(--ff-mono);color:var(--fig-purple);font-size:max(2rem,min(9vw,2.6rem));font-weight:600;line-height:1}.fig-card .big .txt{color:var(--fig-muted);max-width:24rem;font-size:.88rem}.fig-card .split{grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.5rem;display:grid}@media (max-width:640px){.fig-card .split{grid-template-columns:1fr}}.fig-card .pane{border:1px solid var(--fig-line);border-radius:.65rem;padding:.9rem 1rem}.fig-card .pane.on{background:#a855f70f;border-color:#a855f780}.fig-card .pane h4{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.2em;text-transform:uppercase;color:var(--fig-faint);margin:0 0 .5rem;font-weight:500}.fig-card .pane.on h4{color:var(--fig-purple)}.fig-card .pane p{color:var(--fig-body);margin:.2rem 0;font-size:.84rem}.fig-card .pane .sm{color:var(--fig-muted);font-size:.78rem}.fig-card .climb{margin:.5rem -.25rem 0;position:relative}.fig-card .climb svg{border-radius:.6rem;width:100%;height:max(230px,min(30vw,400px));display:block}.fig-card .legend{grid-template-columns:repeat(3,1fr);gap:.9rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}@media (max-width:560px){.fig-card .legend{grid-template-columns:1fr;gap:.75rem}}.fig-card .legend li{border-top:1px solid var(--fig-line);padding-top:.6rem}.fig-card .legend li.on{border-top-color:var(--fig-purple)}.fig-card .legend .lk{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--fig-faint);margin:0}.fig-card .legend li.on .lk{color:var(--fig-purple)}.fig-card .legend .lv{font-family:var(--ff-mono);color:var(--fig-text);margin:0;font-size:1.15rem;font-weight:600}.fig-card .legend li.on .lv{color:var(--fig-purple)}.fig-card .legend .ln{color:var(--fig-muted);margin:0;font-size:.76rem}.fig-card .serp{border:1px solid var(--fig-line);border-radius:.7rem;margin-top:.4rem;overflow:hidden}.fig-card .serp-q{border-bottom:1px solid var(--fig-line);color:var(--fig-muted);background:#ffffff05;align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.86rem;display:flex}.fig-card .serp-q b{color:var(--fig-faint);font-weight:400;font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase}.fig-card .serp-row{border-bottom:1px solid var(--fig-line-soft);grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.4rem .8rem;padding:.7rem .9rem;display:grid}.fig-card .serp-row:last-child{border-bottom:0}.fig-card .serp-rank{font-family:var(--ff-mono);color:var(--fig-faint);font-size:.7rem}.fig-card .serp-name{color:var(--fig-text);font-size:.88rem}.fig-card .serp-meta{font-family:var(--ff-mono);color:var(--fig-muted);white-space:nowrap;font-size:.62rem}.fig-card .serp-row.absent{border-top:1px dashed var(--fig-warn);background:#e0a86d0d}.fig-card .serp-row.absent .serp-name,.fig-card .serp-row.absent .serp-meta,.fig-card .serp-row.absent .serp-rank{color:var(--fig-warn)}@media (max-width:520px){.fig-card .serp-row{grid-template-columns:1.4rem 1fr}.fig-card .serp-meta{grid-column:2/-1}}.fig-card .digitrow{flex-wrap:wrap;align-items:center;gap:.45rem;margin:.5rem 0 .3rem;display:flex}.fig-card .digit{border:1px solid var(--fig-line);width:2.6rem;height:2.6rem;font-family:var(--ff-mono);color:var(--fig-text);border-radius:.35rem;flex:none;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;display:flex}.fig-card .digit.ghost{color:var(--fig-faint);font-weight:400}.fig-card .digit.on{border-color:var(--fig-purple);background:#a855f714}.fig-card .digit.no{border-color:var(--fig-warn);color:var(--fig-warn);background:#e0a86d17}.fig-card .chip{font-family:var(--ff-mono);border:1px solid var(--fig-purple);color:var(--fig-purple);background:#a855f717;border-radius:.3rem;flex:none;padding:.25rem .5rem;font-size:.68rem}.fig-card .chip.wa{border-color:var(--fig-warn);color:var(--fig-warn);background:#e0a86d17}.fig-card .flow{gap:.45rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.fig-card .flow li{color:var(--fig-body);grid-template-columns:1.1rem 1fr;align-items:start;gap:.55rem;font-size:.84rem;display:grid}.fig-card .flow li b{color:var(--fig-text);font-weight:600}.fig-card .flow li:before{content:"↓";font-family:var(--ff-mono);color:var(--fig-faint);font-size:.7rem;line-height:1.5}.fig-card .flow li:first-child:before{content:"•"}.fig-card .flow li.ok:before{content:"✓";color:var(--fig-purple)}.fig-card .flow li.no:before{content:"✗";color:var(--fig-warn)}.fig-card .flow li.no{color:var(--fig-warn)}.fig-card .codes{grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:.7rem;display:grid}@media (max-width:560px){.fig-card .codes{grid-template-columns:repeat(2,1fr)}}.fig-card .codes>div{border-top:1px solid var(--fig-line);padding-top:.5rem}.fig-card .codes>div.on{border-top-color:var(--fig-purple)}.fig-card .codes .ct{color:var(--fig-muted);margin:0;font-size:.8rem}.fig-card .codes .cc{font-family:var(--ff-mono);color:var(--fig-text);font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:600}.fig-card .codes>div.on .cc{color:var(--fig-purple)}.fig-card .steps{grid-template-columns:1fr 5.5rem 1fr 5.5rem 1fr;align-items:stretch;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}@media (max-width:640px){.fig-card .steps{grid-template-columns:1fr;gap:.35rem}}.fig-card .steps .step{border:1px solid var(--fig-line);background:#ffffff04;border-radius:.6rem;padding:.8rem .9rem}.fig-card .steps .step.on{background:#a855f712;border-color:#a855f773}.fig-card .steps .sv{font-family:var(--ff-mono);color:var(--fig-text);font-variant-numeric:tabular-nums;font-size:max(1.35rem,min(5.5vw,1.75rem));font-weight:600;line-height:1.05;display:block}.fig-card .steps .step.on .sv{color:var(--fig-purple)}.fig-card .steps .sl{color:var(--fig-muted);margin-top:.3rem;font-size:.72rem;display:block}.fig-card .steps .op{text-align:center;font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--fig-faint);justify-content:center;align-items:center;padding:0 .15rem;line-height:1.5;display:flex}@media (max-width:640px){.fig-card .steps .op{padding:.2rem 0}}.fig-card .vh{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.figs-anim .fig-card .rv{opacity:0;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0)*70ms);transform:translateY(8px)}.figs-anim .fig-card.in .rv{opacity:1;transform:none}.figs-anim .fig-card .bar{transition:transform .85s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0)*.11s);transform:scaleX(0)}.figs-anim .fig-card.in .bar{transform:scaleX(1)}.figs-anim .fig-card .track.th:after{opacity:0;transition:opacity .5s .7s}.figs-anim .fig-card.in .track.th:after{opacity:1}.figs-anim .fig-card .draw{stroke-dasharray:1400;stroke-dashoffset:1400px;transition:stroke-dashoffset 1.9s cubic-bezier(.4,0,.2,1) .25s}.figs-anim .fig-card.in .draw{stroke-dashoffset:0}.figs-anim .fig-card .fade{opacity:0;transition:opacity 1.1s;transition-delay:calc(var(--i,0)*.11s)}.figs-anim .fig-card.in .fade{opacity:1}.fig-card .cloudband{animation:26s ease-in-out infinite alternate fig-drift}@keyframes fig-drift{0%{transform:translate(-26px)}to{transform:translate(26px)}}.fig-card .halo{transform-box:view-box;transform-origin:400px 118px;animation:7s ease-in-out infinite fig-breathe}@keyframes fig-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}@media (prefers-reduced-motion:reduce){.figs-anim .fig-card .rv,.figs-anim .fig-card .fade{opacity:1;transition:none;transform:none}.figs-anim .fig-card .bar{transition:none;transform:none}.figs-anim .fig-card .track.th:after{opacity:1;transition:none}.figs-anim .fig-card .draw{stroke-dashoffset:0;transition:none}.fig-card .cloudband,.fig-card .halo{animation:none}}.figure-placeholder{background:#a855f70a;border:1px dashed #a855f759;border-radius:.5rem;padding:max(1.5rem,min(5vw,2.5rem))}.figure-placeholder__tag{font-family:var(--ff-mono);font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;color:#a855f7;margin-bottom:.75rem;display:block}.figure-placeholder__label{font-family:var(--ff-ui);font-size:var(--fs-body);color:#9d95ab;margin:0;line-height:1.6}
