.stack-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.stack-instruction{color:#575b7b;letter-spacing:.025em;flex-shrink:0;align-items:center;gap:9px;padding-bottom:5px;font-size:.875rem;line-height:1.5;display:flex}.stack-instruction-dot{background:#1a21ff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #1a21ff12}.stack-surface{background:linear-gradient(145deg,#ffffffad,#e8ebfc99);border:1px solid #1812911f;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px -50px #1812914d}.stack-board{isolation:isolate;background:radial-gradient(#baa9ff42,#0000 65%);height:480px;position:relative}.stack-board:before{z-index:-1;content:"";background-image:radial-gradient(#18129124 .7px,#0000 .7px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 15%,#0000 75%);mask-image:radial-gradient(#000 15%,#0000 75%)}.stack-orbit{pointer-events:none;border:1px solid #5247c312;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stack-orbit-outer{width:76%;height:85%}.stack-orbit-inner{width:53%;height:65%}.stack-connections{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stack-wire{stroke:#d0d4eb;stroke-width:1.5px;stroke-dasharray:1;stroke-dashoffset:0}.stack-wire-active{stroke:#5552ee;stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:0;opacity:0;transition:opacity .22s}.stack-wire-active[data-active=true]{opacity:1}.stack-product{background:linear-gradient(145deg,#fff,#eef0ff);border:1px solid #645be147;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;width:224px;min-height:220px;padding:22px 16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 45px -18px #4c39bd4d,0 0 0 7px #ffffff61}.stack-product-icon{color:#fff;background:linear-gradient(135deg,#181291,#4d48ec 60%,#2bc3fd);border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:14px;display:grid;box-shadow:0 6px 16px -6px #1a21ff80}.stack-product-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#535675;font-size:.875rem;line-height:1.5}.stack-product-title{letter-spacing:-.04em;margin-top:5px;font-size:25px;font-weight:600}.stack-product-caption{text-align:center;color:#535675;margin-top:4px;font-size:.875rem;line-height:1.5}.stack-node{top:var(--stack-y);left:var(--stack-x);width:200px;position:absolute;transform:translate(-50%,-50%)}.stack-tile{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa8;border:1px solid #1812911f;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:174px;padding:22px 16px 18px;transition:border-color .22s,background .22s,box-shadow .22s;display:flex;position:relative;box-shadow:0 6px 24px -14px #18129129}.stack-tile[aria-pressed=true]{background:#fffffff0;border-color:#6a64eb;box-shadow:0 0 0 3px #6a64eb14,0 12px 30px -18px #1a21ff4d}@media (hover:hover){.stack-tile:hover{background:#fff;border-color:#827aed;box-shadow:0 10px 28px -16px #1a21ff4d}}.stack-tile:focus-visible{outline-offset:5px;outline:3px solid #1a21ff}.stack-tile-indicator{color:#747991;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:12px;right:12px}.stack-tile[aria-pressed=true] .stack-tile-indicator{color:#4338ca;background:#eae9ff}.stack-logo{-o-object-fit:contain;object-fit:contain;width:44px;height:44px;margin-bottom:11px}.stack-tile-name{letter-spacing:-.025em;font-size:18px;font-weight:600}.stack-tile-role{color:#535675;min-height:3em;margin-top:3px;font-size:.875rem;line-height:1.5}.stack-detail{background:#ffffff94;border-top:1px solid #1812911a;align-items:center;gap:32px;padding:28px 36px;display:flex}.stack-detail-label{color:#535675;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:.875rem;line-height:1.5}.stack-detail-label>span{color:#5a4fec;margin-right:8px}.stack-detail-content{flex:1;min-width:0;display:grid}.stack-detail-content>div{grid-area:1/1}.stack-detail-sizing{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.stack-detail-name{letter-spacing:-.025em;font-size:20px;font-weight:600}.stack-detail-description{color:#535675;margin-top:5px;font-size:1rem;line-height:1.65}.stack-detail-count{color:#4338ca;white-space:nowrap;font-size:.875rem}.stack-detail-count>span{color:#626581}.stack-footnote{text-align:center;color:#535675;margin-top:18px;font-size:.875rem;line-height:1.7}.technology-stack[data-entered=true] .stack-tile{animation:.65s both stackTileEnter;animation-delay:var(--stack-delay)}.technology-stack[data-entered=true] .stack-wire,.technology-stack[data-entered=true] .stack-wire-active{animation:.95s both stackWireEnter}@keyframes stackTileEnter{0%{opacity:0}to{opacity:1}}@keyframes stackWireEnter{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (width<=1023px){.stack-heading{flex-direction:column;align-items:flex-start}.stack-node{width:176px}.stack-product{width:208px}.stack-detail{gap:22px;padding:26px}}@media (width<=767px){.stack-heading{margin-bottom:24px}.stack-surface{border-radius:24px}.stack-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;height:auto;padding:24px 18px;display:grid}.stack-orbit,.stack-connections{display:none}.stack-product{width:100%;min-height:auto;box-shadow:none;background:#ffffff80;border-color:#645be129;grid-column:1/-1;margin-bottom:8px;padding:20px 12px;position:relative;top:auto;left:auto;transform:none}.stack-product-icon{border-radius:12px;width:38px;height:38px;margin-bottom:10px}.stack-product-icon svg{width:23px}.stack-product-title{font-size:23px}.stack-node{width:auto;min-width:0;position:relative;top:auto;left:auto;transform:none}.stack-tile{border-radius:16px;height:100%;min-height:170px;padding:24px 8px 16px}.stack-tile-name{font-size:17px}.stack-logo{width:38px;height:38px}.stack-detail{flex-direction:column;align-items:stretch;gap:12px;padding:22px;position:relative}.stack-detail-count{position:absolute;top:22px;right:22px}.stack-detail-name{font-size:20px}}@media (prefers-reduced-motion:reduce){.technology-stack[data-entered=true] .stack-tile,.technology-stack[data-entered=true] .stack-wire,.technology-stack[data-entered=true] .stack-wire-active{animation:none}.stack-tile,.stack-wire-active{transition:none}}
