/* Wyckoff Agentic motion layer. Only loaded when MOTION is on. Transforms/opacity only: no layout shift. */
.mo .rv-pre{opacity:0;transform:translateY(18px);filter:blur(6px)}
.mo .rv-in{opacity:1;transform:none;filter:none;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;transition-delay:calc(var(--s,0)*70ms)}
/* home block */
.mo-home{width:100%;max-width:900px;margin:34px 0 8px}
.kick{font:600 11px var(--f-mono);letter-spacing:.4em;text-transform:uppercase;color:var(--vi);margin:0 0 14px;opacity:.8}
/* HLC schematic */
.schem{margin:28px 0 34px;padding:16px 14px 10px;border:1px solid rgba(107,92,255,.22);border-radius:14px;background:linear-gradient(180deg,rgba(14,11,46,.55),rgba(7,6,26,.25));position:relative;overflow:hidden}
.prose .schem{margin-left:-6%;margin-right:-6%}
.schem:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 70% 30%,rgba(0,229,255,.06),transparent 70%);pointer-events:none}
.schem figcaption{font:11px/1.6 var(--f-mono);color:var(--mut);text-align:left;margin-bottom:8px}
.schem figcaption .k{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-right:8px}
.schem svg{width:100%;height:auto;display:block;overflow:visible}
.hb path{fill:none;stroke-width:1.6;stroke-linecap:square}
.hb.u path{stroke:#7fe7ff}.hb.d path{stroke:#b388ff}
.hb rect{fill:rgba(107,92,255,.38)}.hb.u rect{fill:rgba(0,229,255,.32)}
.lv{stroke:rgba(255,210,63,.35);stroke-dasharray:3 5}.vdiv{stroke:rgba(107,92,255,.25)}
.lvt{fill:rgba(196,190,239,.55);font:10px var(--f-mono);text-anchor:end;letter-spacing:.1em}
.ph line{stroke:rgba(179,136,255,.28);stroke-dasharray:2 4}.ph text{fill:var(--vi);font:600 11px var(--f-mono);letter-spacing:.2em;text-anchor:middle;text-transform:uppercase}
.an text{fill:var(--tx);font:600 11px var(--f-mono);text-anchor:middle;letter-spacing:.06em;paint-order:stroke;stroke:#07061a;stroke-width:3px;filter:drop-shadow(0 0 4px rgba(0,229,255,.6))}
/* draw-in (only when JS armed it; otherwise the static end state shows) */
.schem.arm .hb{opacity:0}.schem.arm .hb rect{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%}
.schem.arm .ph,.schem.arm .an,.schem.arm .lv,.schem.arm .lvt{opacity:0}
.schem.arm.draw .hb{opacity:1;transition:opacity .25s;transition-delay:calc(var(--i)*38ms)}
.schem.arm.draw .hb rect{transform:none;transition:transform .45s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i)*38ms)}
.schem.arm.draw .lv,.schem.arm.draw .lvt{opacity:1;transition:opacity 1s .4s}
.schem.arm.draw .ph{opacity:1;transition:opacity .8s;transition-delay:calc(var(--d)*420ms + 600ms)}
.schem.arm.draw .an{opacity:1;transition:opacity .7s;transition-delay:calc(var(--i)*38ms + 300ms)}
/* stats strip */
.stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.stats li{border:1px solid rgba(107,92,255,.2);border-radius:12px;padding:16px 10px;background:rgba(14,11,46,.45);display:flex;flex-direction:column;gap:4px}
.stats b{font:22px var(--f-px);color:var(--cy);text-shadow:0 0 14px rgba(0,229,255,.45);font-variant-numeric:tabular-nums;min-width:3ch}
.stats span{font:600 11px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--tx)}
.stats small{font-size:11px;color:var(--mut);line-height:1.4}
@media(max-width:640px){.stats ul{grid-template-columns:repeat(2,1fr)}.prose .schem{margin-left:-10px;margin-right:-10px}.schem{padding:12px 6px 6px}.an text,.ph text{font-size:15px}.lvt{font-size:13px}}
/* depth field behind the orbit */
.mo .orbit .depth{position:absolute;inset:-8% -14%;width:128%;height:116%;z-index:0;pointer-events:none;opacity:0;transition:opacity 2.5s}
.mo .orbit .depth.on{opacity:1}.mo .orbit canvas.orb{z-index:1}
/* micro-animations */
.mo .lines a,.mo .prose a,.mo footer a.fl{text-decoration:none;border-bottom:0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat,linear-gradient(rgba(0,229,255,.35),rgba(0,229,255,.35)) 0 100%/100% 1px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1),color .2s}
.mo .lines a:hover,.mo .prose a:hover,.mo footer a.fl:hover,.mo .lines a:focus-visible,.mo .prose a:focus-visible{background-size:100% 1px,100% 1px}
.mo .join button{position:relative;overflow:hidden;animation:glow 4.5s ease-in-out infinite}
.mo .join button:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s}
.mo .join button:hover:after{transform:translateX(120%)}
@keyframes glow{0%,100%{box-shadow:0 0 0 rgba(0,229,255,0)}50%{box-shadow:0 0 18px rgba(0,229,255,.45)}}
.mo .gl dt{transition:transform .25s,text-shadow .25s}.mo .gl dt:hover{transform:translateX(4px);text-shadow:0 0 10px rgba(0,229,255,.6)}
.mo .gl dt a{transition:color .2s}.mo .gl dt:hover+dd{color:var(--tx);transition:color .25s}
@media (prefers-reduced-motion:reduce){.mo .rv-pre{opacity:1;transform:none;filter:none}.mo .join button{animation:none}.mo .orbit .depth{display:none}.schem.arm .hb,.schem.arm .ph,.schem.arm .an,.schem.arm .lv,.schem.arm .lvt{opacity:1}.schem.arm .hb rect{transform:none}}
