:root{--mute:#52647e;--dim:#65778f;--accsoft:#87b4f424}nav .logo{gap:8px}nav .logo svg{width:37px;height:37px}nav .links a{transition:color .2s}nav .links a[aria-current]{color:var(--ink)}.hero{isolation:isolate}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#294d7520 .7px,transparent .9px);background-size:24px 24px;mask-image:linear-gradient(black,transparent 90%)}h1 span{color:#426eab}.hero .wrap>div:first-child{animation:arrive .8s ease both}.curvecard{animation:arrive .9s .15s both}.curvecard .top{font-size:12px;gap:12px}.curvecard .mono{font-size:9px;letter-spacing:.08em;white-space:nowrap}.curvecard svg>path[stroke]{stroke-dasharray:600;animation:draw 1.8s ease both}.card{transition:transform .3s ease,box-shadow .3s,border-color .3s}.feat:hover,.hook:hover,.pillar:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px #1b385c66;border-color:#729bce55}.feat .ic{width:43px;height:43px}.feat .ic svg{width:26px;height:26px}.feat:nth-child(2) .ic{background:#e5dced;color:#78618e}.feat:nth-child(3) .ic{background:#f2e4ce;color:#97703e}.feat .id{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);word-break:normal;color:#536984}.taglist{padding-top:2px}.tag{font-size:12px}.tag:hover{background:#dce9fa;border-color:#9ebce2}.token .big{position:relative;overflow:hidden}.token .big:after{content:'';position:absolute;width:180px;height:180px;right:-80px;bottom:-80px;border:1px solid #a9ccff20;border-radius:36px;transform:rotate(35deg);pointer-events:none}.token .big p{color:#c7d6e9}.token .big .t{font-size:clamp(29px,4.4vw,46px)}.phase{border-radius:12px;padding-left:10px;padding-right:10px;transition:background .3s}.phase:hover{background:#ffffff66}.phase.now{background:#ffffff62;border:1px solid #8eaed438;padding:24px 20px}.phase.now+.phase{border-top:0}.ph-n{position:relative}.ph-n:after{content:'';position:absolute;left:17px;top:47px;width:1px;height:calc(100% + 65px);background:linear-gradient(#a4bbd840,transparent)}.phase:last-child .ph-n:after{display:none}.dod{font-size:12px;color:#60728b}.pillar h3{align-items:start}.pillar h3:before{flex-shrink:0;margin-top:6px}.pillar:nth-child(2) h3:before{background:#c0a8d6}.pillar:nth-child(3) h3:before{background:#d6b17b}.pillar:nth-child(4) h3:before{background:#8eb9aa}.final{background:radial-gradient(ellipse at 50% 100%,#9ec2f050,transparent 70%)}summary:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #628dc7;outline-offset:5px}details[open] p{animation:arrive .25s ease}.btn{cursor:pointer;font-family:var(--sans)}section[id]{scroll-margin-top:90px}.scroll-progress{position:fixed;z-index:50;top:0;left:0;width:100%;height:2px;background:#5987c5;transform:scaleX(0);transform-origin:left;pointer-events:none}.lab-page{padding:55px 0 80px;min-height:calc(100vh - 130px)}.back{font-size:13px;color:var(--mute);display:inline-block;margin-bottom:28px}.lab-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.lab-head h1{font-size:clamp(38px,5vw,58px);margin-top:12px}.lab-head p{font-size:14px;color:var(--mute);margin-top:15px;max-width:550px}.lab-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:start}.lab-controls{padding:28px}.lab-controls label{display:block;font-size:13px;font-weight:600;margin:0 0 12px}.lab-value{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:15px}.lab-value output{font-family:var(--head);font-size:32px;font-weight:700}.lab-value span{font-size:12px;color:var(--mute)}input[type=range]{width:100%;accent-color:#4c7bb7;margin:0 0 30px;cursor:pointer}.range-limits{display:flex;justify-content:space-between;margin:-21px 0 29px;font-size:10px;color:var(--mute)}.lab-controls .btn{width:100%;justify-content:center}.lab-note{font-size:12px;color:var(--mute);line-height:1.7;margin-top:18px}.lab-graph{padding:26px}.lab-graph h2{font-size:20px;margin:0}.lab-graph-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.lab-graph svg{display:block;width:100%;margin:25px 0 10px}.lab-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:20px;padding-top:20px;gap:12px}.lab-stats dt{font-size:10px;color:var(--mute);margin-bottom:7px}.lab-stats dd{font-size:18px;font-weight:700;font-family:var(--head);margin:0;overflow-wrap:anywhere}.lab-stage{font-size:10px;padding:5px 9px;border-radius:20px;background:#dbe9fb;color:#2d527e;white-space:nowrap}.lab-formula{font-family:var(--mono);font-size:11px;color:var(--mute);padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.lab-chart-caption{font-size:11px;color:var(--mute)}@keyframes arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes draw{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}@media(max-width:1000px){nav .links{gap:13px;font-size:12px}nav .wrap{gap:15px}nav .btn.sm:not(.dark){display:none}}@media(max-width:719px){.lab-layout{grid-template-columns:1fr}.lab-head{align-items:start;flex-direction:column}.lab-head .btn{display:none}.lab-controls,.lab-graph{padding:22px}.lab-stats dd{font-size:16px}.hero{padding-top:48px}.phase.now{padding:22px 10px}.phases{gap:0}.ph-n:after{display:none}.curvecard .top{font-size:10px}.lab-page{padding-top:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero .wrap>div:first-child,.curvecard{opacity:1;translate:none}}
