.wp{--ink:#fff;--ink-2:#ffffffc7;--ink-3:#ffffff8a;--ink-4:#ffffff52;--line:#ffffff1a;--line-2:#ffffff0f;--card:#0b0b0c;--mono:var(--font-berkeley), ui-monospace, SFMono-Regular, Menlo, monospace;--sans:var(--font-avenir), "Avenir Next", system-ui, -apple-system, sans-serif;--gutter:clamp(16px, 5vw, 56px);color:var(--ink-2);font:400 17px/1.7 var(--sans)}.wp :focus-visible{outline-offset:3px;outline:2px solid #fff}.wp a:not(.btn){color:var(--ink);text-underline-offset:3px;-webkit-text-decoration:underline #ffffff59;text-decoration:underline #ffffff59}.wp a:not(.btn):hover{text-decoration-color:#fff}.wp b{color:var(--ink);font-weight:400}.wp em{font-style:italic}.wp-col{max-width:800px;padding:0 var(--gutter);box-sizing:content-box;margin:0 auto;position:relative}.wp-hero{padding:140px 0 24px;position:relative;overflow:hidden}.wp-hero .glow{aspect-ratio:1.6;pointer-events:none;filter:blur(30px);background:radial-gradient(closest-side,#ffffff21,#ffffff0a 45%,#0000 75%);width:min(1400px,170vw);position:absolute;top:-30vw;left:50%;transform:translate(-50%)}.wp-kicker{font:400 13px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.wp-hero h1{color:var(--ink);font:400 clamp(38px, 5.2vw, 64px)/1.04 var(--mono);letter-spacing:-.035em;text-wrap:balance;margin:18px 0 20px}.wp-lede{color:var(--ink-2);font-size:clamp(18px,1.6vw,21px);line-height:1.55}.wp-meta{color:var(--ink-3);margin-top:18px;font-size:14px}.wp-meta b{color:var(--ink-2)}.wp-btns{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.wp .wp-btns .btn{text-decoration:none}.wp-sec{padding:52px 0 8px;scroll-margin-top:90px}.wp-sec+.wp-sec{border-top:1px solid var(--line-2)}.wp-sec>.wp-kicker{margin-bottom:10px}.wp h2{color:var(--ink);font:400 clamp(28px, 3vw, 38px)/1.12 var(--mono);letter-spacing:-.03em;text-wrap:balance;margin-bottom:20px}.wp h3{color:var(--ink);font:400 19px/1.3 var(--mono);letter-spacing:-.015em;margin:34px 0 10px}.wp-sec p+p{margin-top:14px}.wp-sec ul,.wp-sec ol.list{margin:14px 0;padding-left:22px}.wp-sec ul{list-style:outside}.wp-sec ol.list{list-style:decimal}.wp-sec li{margin:8px 0;padding-left:4px}.wp-sec li::marker{color:var(--ink-4)}.wp .katex{color:var(--ink);font-size:1.06em}.wp .katex-display{margin:20px 0;padding:4px 2px;overflow:auto hidden}.wp .katex-display>.katex{white-space:nowrap}.eq-box{background:linear-gradient(#ffffff0f,#ffffff05);border-radius:18px;margin:20px 0;padding:2px 22px;box-shadow:inset 0 1px #ffffff1a}.eq-box .cap{font:400 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:14px;display:block}.note{border-left:2px solid var(--line);color:var(--ink-3);margin-top:20px;padding-left:16px;font-size:15px}details.derive{background:#ffffff08;border-radius:16px;margin:16px 0}details.derive>summary{cursor:pointer;font:400 14px/1.3 var(--mono);color:var(--ink-3);padding:12px 18px;list-style:none}details.derive>summary::-webkit-details-marker{display:none}details.derive>summary:before{content:"+";width:18px;display:inline-block}details.derive[open]>summary:before{content:"−"}details.derive>summary:hover{color:var(--ink)}details.derive>div{padding:0 18px 14px}.fig{background:linear-gradient(180deg, #ffffff0d, #ffffff03), var(--card);border-radius:24px;margin:28px 0;padding:22px;position:relative;box-shadow:inset 0 1px #ffffff17}.fig-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;margin-bottom:12px;display:flex}.fig-title{font:400 15px/1.35 var(--mono);color:var(--ink)}.fig-sub{color:var(--ink-3);font-size:14px}.fig figcaption{color:var(--ink-3);margin-top:14px;font-size:14px;line-height:1.55}.chart{touch-action:pan-y;width:100%;position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart text{font:400 11px/1 var(--mono);fill:var(--ink-3)}.chart .lbl{fill:var(--ink-2)}.chart .lbl-strong{fill:var(--ink)}.chart .axis{stroke:#ffffff29;stroke-width:1px;shape-rendering:crispedges}.chart .grid{stroke:#ffffff0f;stroke-width:1px;shape-rendering:crispedges}@media (max-width:620px){.fig{border-radius:20px;padding:16px 14px}.chart text{font-size:10px}}.tip{font-family:var(--mono);z-index:5;pointer-events:none;min-width:170px;max-width:250px;color:var(--ink-2);opacity:0;background:#141416f0;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;transition:opacity .12s;position:absolute;box-shadow:0 8px 30px #00000080,inset 0 0 0 1px #ffffff1a}.tip.on{opacity:1}.tip b{font:400 13px/1.3 var(--mono);color:var(--ink);margin-bottom:4px;display:block}.tip div{justify-content:space-between;gap:14px;display:flex}.tip span:last-child{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}.legend{font:400 12px/1.4 var(--mono);color:var(--ink-3);flex-wrap:wrap;gap:6px 18px;display:flex}.legend span{align-items:center;gap:8px;display:inline-flex}.legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.ctrls{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:4px 0 14px;display:flex}.ctrl{min-width:0;font:400 13px/1.3 var(--mono);color:var(--ink-3);flex:260px;align-items:center;gap:12px;display:flex}.ctrl label{white-space:nowrap}.ctrl output{font:400 14px/1 var(--mono);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;min-width:48px}.wp input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:80px;height:28px}.wp input[type=range]::-webkit-slider-runnable-track{background:#ffffff29;border-radius:4px;height:4px}.wp input[type=range]::-moz-range-track{background:#ffffff29;border-radius:4px;height:4px}.wp input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:18px;height:18px;margin-top:-7px;box-shadow:0 0 0 4px #0009}.wp input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:18px;height:18px}.wp select,.wp input[type=number]{appearance:none;height:36px;color:var(--ink);font:400 14px/1 var(--mono);box-shadow:inset 0 0 0 1px var(--line);background:#ffffff12;border:0;border-radius:10px;padding:0 12px}.wp input[type=number]{width:92px}.seg{background:#ffffff0d;border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{appearance:none;cursor:pointer;height:34px;color:var(--ink-3);font:400 13px/1 var(--mono);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 14px;transition:color .15s,background .15s}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{color:var(--ink);background:linear-gradient(#fff3,#ffffff14);box-shadow:inset 0 1px #ffffff2e}@media (max-width:520px){.seg button{padding:0 10px}}.wbtn{appearance:none;cursor:pointer;height:38px;font:400 14px/1 var(--mono);color:#000;background:#fff;border:0;border-radius:999px;padding:0 20px}.wbtn.ghost{color:var(--ink);background:#ffffff14}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 4px;display:grid}.stats>div,.quote>div{background:#ffffff0a;border-radius:14px;min-width:0;padding:12px 14px}.stats dt,.quote dt{font:400 12px/1.3 var(--mono);color:var(--ink-3)}.stats dd,.quote dd{font:400 18px/1.2 var(--mono);color:var(--ink);overflow-wrap:anywhere;margin-top:4px}.stats dd small,.quote dd small{font:400 12px/1.3 var(--sans);color:var(--ink-3);margin-top:2px;display:block}@media (max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats dd{font-size:16px}}.story{background:#ffffff09;border-radius:16px;margin-top:14px;padding:14px 18px;font-size:15.5px;line-height:1.6}.sandbox{background:#ffffff09;border-radius:16px;margin-top:12px;padding:16px 18px;display:none}.sandbox.on{display:block}.sandbox .row{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;display:flex}.quote{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}@media (max-width:620px){.quote{grid-template-columns:1fr}}.tbl-wrap{-webkit-overflow-scrolling:touch;max-width:100%;margin:18px 0;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14.5px}.tbl th{text-align:left;font:400 12px/1.3 var(--mono);color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 10px}.tbl td{border-bottom:1px solid var(--line-2);color:var(--ink-2);padding:9px 10px}.tbl td.n,.tbl th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.tbl td.n{color:var(--ink)}.tbl caption{caption-side:bottom;text-align:left;color:var(--ink-3);padding-top:10px;font-size:13px}details.tview{margin-top:12px}details.tview>summary{cursor:pointer;font:400 13px/1.3 var(--mono);color:var(--ink-3);list-style:none}details.tview>summary::-webkit-details-marker{display:none}details.tview>summary:hover{color:var(--ink)}.ens{grid-template-columns:minmax(0,1.2fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:center;display:grid}.ens-nodes{gap:8px;display:grid}.node{background:#ffffff0d;border-radius:12px;padding:10px 12px}.node b{font:400 13px/1.3 var(--mono);color:var(--ink);justify-content:space-between;gap:8px;margin-bottom:7px;display:flex}.node b span{color:var(--ink-3)}.node .w{background:#ffffff1a;border-radius:4px;height:4px;overflow:hidden}.node .w i{background:#fff;border-radius:4px;height:100%;display:block}.ens-arrow{color:var(--ink-4);font:400 18px/1 var(--mono);justify-content:center;align-items:center;display:flex}.ens-core{text-align:center;background:linear-gradient(#ffffff1f,#ffffff08);border-radius:18px;padding:18px 12px;box-shadow:inset 0 1px #fff3}.ens-core b{font:400 14px/1.3 var(--mono);color:var(--ink);margin-bottom:6px;display:block}.ens-core small{color:var(--ink-3);font-size:12.5px;line-height:1.45;display:block}.ens-out{background:#ffffff0a;border-radius:14px;padding:12px}.ens-out b{font:400 13px/1.3 var(--mono);color:var(--ink)}.ens-out svg{width:100%;height:80px;margin-top:8px;display:block}@media (max-width:700px){.ens{grid-template-columns:1fr}.ens-arrow{height:32px;transform:rotate(90deg)}}.refs{color:var(--ink-3);gap:8px;font-size:14px;line-height:1.55;list-style:none;display:grid}.refs li{grid-template-columns:34px minmax(0,1fr);display:grid}.refs li>i{font:400 12px/1.9 var(--mono);color:var(--ink-4);font-style:normal}.refs em{color:var(--ink-2)}.end-cta{background:linear-gradient(#ffffff12,#ffffff04);border-radius:24px;margin:40px 0 12px;padding:28px;box-shadow:inset 0 1px #ffffff1a}.end-cta h3{margin-top:0}.wp-sec#references{padding-bottom:40px}.wp [hidden]{display:none!important}.wp .muted{color:var(--ink-3)}.wp .up{color:#16c77c}.wp .down{color:#e8404c}.wp .lead{color:var(--ink);font-size:19px;line-height:1.6}.abstract p{color:var(--ink);font-size:18px;line-height:1.75}.abstract p+p{margin-top:16px}ol.lifecycle{counter-reset:lc;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 0;list-style:none;display:grid;padding:0!important}ol.lifecycle li{counter-increment:lc;background:#ffffff0a;border-radius:16px;margin:0!important;padding:16px!important}ol.lifecycle li b{font:400 15px/1.3 var(--mono);color:var(--ink);margin-bottom:6px;display:block}ol.lifecycle li b:before{content:counter(lc) " · ";color:var(--ink-4)}ol.lifecycle li p{color:var(--ink-3);font-size:14.5px;line-height:1.55}@media (max-width:760px){ol.lifecycle{grid-template-columns:1fr 1fr}}@media (max-width:460px){ol.lifecycle{grid-template-columns:1fr}}ol.phases{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 16px;list-style:none;display:grid;padding:0!important}ol.phases li{font:400 12px/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);border-top:2px solid #ffffff1f;margin:0!important;padding:8px 0 0!important}ol.phases li.done{color:var(--ink-3);border-top-color:#ffffff73}ol.phases li.on{color:var(--ink);border-top-color:#fff}@media (max-width:760px){ol.phases{grid-template-columns:1fr 1fr;gap:8px 4px}}@media (max-width:460px){ol.phases{grid-template-columns:1fr}}.fig .panel{margin-bottom:14px}.fig .row{font:400 13px/1.4 var(--mono);flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.fig .row+.row{margin-top:10px}.fig .calc{font:400 13px/1.7 var(--mono);color:var(--ink-2);background:#ffffff0a;border-radius:12px;margin-top:12px;padding:12px 14px}.fig .calc b{font-family:var(--mono);color:var(--ink);font-weight:400}.wp input#life-n{width:88px}.wbtn.sm{height:34px;padding:0 14px;font-size:13px}.wbtn:disabled{opacity:.35;cursor:default}.tbl tr.op td{border-top:1px solid var(--line);color:var(--ink)}.fig .legend+.panel{margin-top:16px}
