.dom-stack .dom-add{animation:.45s cubic-bezier(.34,1.56,.64,1) both ds-dom-add}@keyframes ds-dom-add{0%{opacity:0;transform:scale(.85);box-shadow:0 0 #6fcf8a99}60%{opacity:1;box-shadow:0 0 0 6px #6fcf8a40}to{transform:scale(1);box-shadow:0 0 #6fcf8a00}}.dom-stack .chart-bar{transform-origin:bottom;animation:.4s ease-out both ds-chart-bar}@keyframes ds-chart-bar{0%{transform:scaleY(0)}}.dom-stack .inspect{animation:.2s ease-out both ds-fade-in}.dom-stack .infra-card{animation:.35s cubic-bezier(.34,1.56,.64,1) both ds-infra-pop}@keyframes ds-infra-pop{0%{opacity:0;transform:translateY(12px)scale(.9)}}.dom-stack .wire{fill:none;stroke:#6fcf8a;stroke-width:1.5px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.35s ease-out forwards ds-wire-draw}@keyframes ds-wire-draw{to{stroke-dashoffset:0}}.dom-stack .wire-dot{animation:.2s both ds-fade-in}.dom-stack .wire-port{transform-box:fill-box;transform-origin:50%;animation:.2s both ds-fade-in,1.2s ease-out infinite ds-wire-port}@keyframes ds-fade-in{0%{opacity:0}}@keyframes ds-wire-port{to{opacity:0;transform:scale(3)}}.dom-stack .infra-mini{animation:.35s cubic-bezier(.34,1.56,.64,1) both ds-infra-mini}.dom-stack .lane-in{animation:.3s cubic-bezier(.34,1.56,.64,1) both ds-lane-in}@keyframes ds-lane-in{0%{opacity:0;transform:translate(-10px)scale(.96)}}.dom-stack .infra-grow{animation:.3s ease-out both ds-infra-grow}.dom-stack .infra-grow .infra-mini{animation-delay:.3s}@keyframes ds-infra-grow{0%{height:0;margin-top:0}}@keyframes ds-infra-mini{0%{opacity:0;transform:translate(8px)scale(.9)}}.dom-stack .infra-row{animation:.25s ease-out both ds-infra-row}@keyframes ds-infra-row{0%{opacity:0;transform:translate(-6px)}}.dom-stack .chat-in{animation:.3s ease-out ds-chat-in}@keyframes ds-chat-in{0%{opacity:0;transform:translateY(8px)}}.dom-stack .chat-shimmer{background:linear-gradient(90deg,#6a6a6a 0%,#d0d0d0 50%,#6a6a6a 100%) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite ds-shimmer}@keyframes ds-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}
.fh-stack{--k:.36}.fh-stack .iso-layer{transition:all 1.1s cubic-bezier(.68, 0, .77, 0) calc(1.29s * var(--k) - .2s);transform:translate(0)rotateX(0)rotate(0)translateZ(0)}.fh-stack[data-lifted] .iso-layer{transform:translate(calc(var(--stack-w) * -.35), calc(var(--stack-w) * -.08)) rotateX(60deg) rotateZ(-45deg) translateZ(calc(var(--lift) * var(--stack-w) * .34));transition:all 1.1s cubic-bezier(.23,1,.32,1)}.fh-stack .iso-layer>div{transition:box-shadow 1.1s cubic-bezier(.68, 0, .77, 0) calc(1.29s * var(--k) - .2s), border-color .3s, outline-color .3s;box-shadow:0 10px 20px #00000026}.fh-stack[data-lifted] .iso-layer>div{transition:box-shadow 1.1s cubic-bezier(.23,1,.32,1),border-color .3s,outline-color .3s;box-shadow:-20px 20px 60px #00000040,-2px 2px 5px #00000014}.fh-stack .annot-line{clip-path:inset(0 100% 0 0);transition:clip-path calc(.55s * var(--k)) cubic-bezier(.65, 0, .35, 1) calc((.74s - var(--i) * .12s) * var(--k))}.fh-stack .annot-text{opacity:0;transition-property:opacity,transform;transition-duration:calc(.5s * var(--k));transition-timing-function:ease-in;transition-delay:calc((.24s - var(--i) * .12s) * var(--k));transform:translate(-6px)}.fh-stack[data-lifted] .annot-line{clip-path:inset(0);transition-delay:calc(.9s + var(--i) * .12s * var(--k))}.fh-stack[data-lifted] .annot-text{opacity:1;transition-timing-function:ease-out;transition-delay:calc(.9s + (.55s + var(--i) * .12s) * var(--k));transform:translate(0)}.fh-stack .stack-shadow{transition:all 1.1s ease-in calc(1.29s * var(--k) - .2s)}.fh-stack[data-lifted] .stack-shadow{transition:all 1.1s ease-out}@media (max-width:1179px){.fh-stack[data-lifted] .iso-layer{transform:translate(0px, calc(var(--stack-w) * -.08)) rotateX(60deg) rotateZ(-45deg) translateZ(calc(var(--lift) * var(--stack-w) * .34))}}.fh-stack-section{--stack-w:min(440px, calc((calc(100*var(--vw)) - 48px) / 1.25))}@media (min-width:1180px){.fh-stack-section{--stack-w:var(--stack-w-md)}}@media (orientation:landscape) and (max-height:500px){.fh-stack-section{--stack-w:calc((100 * var(--svh) - 48px) / 1.2)}}
