.ribbonCanvas{inset:var(--ribbon-canvas-inset,-24%);z-index:var(--ribbon-z-index,2);pointer-events:none;opacity:var(--ribbon-canvas-opacity,.98);filter:saturate(var(--ribbon-canvas-saturation,1.12));position:absolute}.ribbonCanvas canvas,.ribbonCanvasFallback{width:100%;height:100%;position:absolute;inset:0}.ribbonCanvas canvas{opacity:0;transition:opacity var(--ribbon-fallback-fade,.25s) linear}.ribbonCanvas.is-drawn canvas{opacity:1}.ribbonCanvasFallback{transition:opacity var(--ribbon-fallback-fade,.25s) linear;will-change:opacity;background-image:-webkit-image-set(url(/images/home/hero-ribbon-fallback.v1.avif) 1x type("image/avif"),url(/images/home/hero-ribbon-fallback.v1.webp) 1x type("image/webp"),url(/images/home/hero-ribbon-fallback.v1.png) 1x type("image/png"));background-image:image-set("/images/home/hero-ribbon-fallback.v1.avif" 1x type("image/avif"),"/images/home/hero-ribbon-fallback.v1.webp" 1x type("image/webp"),"/images/home/hero-ribbon-fallback.v1.png" 1x type("image/png"));background-position:50%;background-repeat:no-repeat;background-size:100% 100%;transform:translate(0,0)}.ribbonCanvas.is-drawn .ribbonCanvasFallback,.ribbonCanvas.is-forced-fallback canvas{opacity:0}.ribbonCanvas.is-forced-fallback .ribbonCanvasFallback{opacity:1}@media (max-width:760px){.ribbonCanvas{inset:var(--ribbon-mobile-canvas-inset,-24%);opacity:var(--ribbon-mobile-canvas-opacity,.9)}}@media (prefers-reduced-motion:reduce){.ribbonCanvas canvas,.ribbonCanvasFallback{transition:none}}
:root{--pluvo-demo-surface:#fff;--pluvo-demo-surface-subtle:#fdfdff;--pluvo-demo-surface-border:#0303020f;--pluvo-demo-elevation-sm:0 0 0 1px #0303020b, 0 1px 2px #03030209, 0 6px 14px -10px #03030229;--pluvo-demo-elevation-md:0 0 0 1px #0303020d, 0 2px 4px #0303020a, 0 12px 28px -18px #0303022e, 0 28px 56px -40px #03030238;--pluvo-demo-elevation-lg:0 0 0 1px #0303020e, 0 2px 6px #0303020b, 0 16px 34px -24px #03030233, 0 36px 82px -54px #03030247, 0 72px 128px -86px #0303022e}@media (prefers-color-scheme:dark){:root{--pluvo-demo-surface:#171720;--pluvo-demo-surface-subtle:#101016;--pluvo-demo-surface-border:#ffffff14;--pluvo-demo-elevation-sm:0 0 0 1px #ffffff0e, 0 1px 2px #0000002e, inset 0 1px 0 #ffffff09;--pluvo-demo-elevation-md:0 0 0 1px #fff1, 0 6px 18px -14px #00000073, inset 0 1px 0 #ffffff0a;--pluvo-demo-elevation-lg:0 0 0 1px #ffffff13, 0 10px 26px -22px #00000085, 0 32px 80px -68px #0009, inset 0 1px 0 #ffffff0b}}.pluvo-demo-shell[data-theme=dark],[data-theme=dark] .pluvo-demo-shell,.dark .pluvo-demo-shell{--pluvo-demo-surface:#171720;--pluvo-demo-surface-subtle:#101016;--pluvo-demo-surface-border:#ffffff14;--pluvo-demo-elevation-sm:0 0 0 1px #ffffff0e, 0 1px 2px #0000002e, inset 0 1px 0 #ffffff09;--pluvo-demo-elevation-md:0 0 0 1px #fff1, 0 6px 18px -14px #00000073, inset 0 1px 0 #ffffff0a;--pluvo-demo-elevation-lg:0 0 0 1px #ffffff13, 0 10px 26px -22px #00000085, 0 32px 80px -68px #0009, inset 0 1px 0 #ffffff0b}.pluvo-demo-shell{isolation:isolate;contain:layout paint;background:var(--pluvo-demo-surface);border:1px solid var(--pluvo-demo-surface-border);box-shadow:var(--pluvo-demo-shell-shadow,var(--pluvo-demo-elevation-md));transition:background-color .24s var(--ease-brand,ease), border-color .24s var(--ease-brand,ease), box-shadow .24s var(--ease-brand,ease);position:relative}.pluvo-demo-elevation-sm{--pluvo-demo-shell-shadow:var(--pluvo-demo-elevation-sm)}.pluvo-demo-elevation-md{--pluvo-demo-shell-shadow:var(--pluvo-demo-elevation-md)}.pluvo-demo-elevation-lg{--pluvo-demo-shell-shadow:var(--pluvo-demo-elevation-lg)}.pluvo-product-demo{background:var(--bg,#fdfdff);height:100%;min-height:0;color:var(--text,#030302);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;isolation:isolate;flex-direction:row;display:flex;overflow:hidden}.pluvo-product-demo button,.pluvo-product-demo input,.pluvo-product-demo textarea,.pluvo-product-demo select{font:inherit}.pluvo-demo-frame{background:var(--bg,#fdfdff);height:100%;min-height:0;position:relative;overflow:hidden}.pluvo-demo-stage{--demo-scale:var(--pluvo-demo-scale,.92);width:calc(100% / var(--demo-scale));height:calc(100% / var(--demo-scale));min-width:1080px;transform:scale(var(--demo-scale));transform-origin:0 0}.pluvo-demo-loading{color:#3a4560;height:100%;min-height:0;font:500 13px/1.4 var(--font-body,system-ui, sans-serif);background:#fdfdff;place-items:center;display:grid}@media (max-width:767px){.pluvo-demo-shell{--pluvo-demo-scale:var(--pluvo-demo-mobile-scale,.31)}.pluvo-demo-stage{width:1080px;min-width:0;height:calc(100% / var(--demo-scale))}}
@keyframes pvCometIn{0%{stroke-dashoffset:.14px}38%,to{stroke-dashoffset:-1px}}@keyframes pvCometOut{0%,46%{stroke-dashoffset:.14px}78%,to{stroke-dashoffset:-1px}}@keyframes pvCometEdge{0%{stroke-dashoffset:.14px}60%,to{stroke-dashoffset:-1px}}@keyframes pvCoreBeat{0%,34%{transform:translate(-50%,-50%)scale(1)}42%{transform:translate(-50%,-50%)scale(1.07)}52%,to{transform:translate(-50%,-50%)scale(1)}}@keyframes pvChipHit{0%,74%{border-color:var(--pv-chip-border,#03030214);box-shadow:0 2px 10px -4px #281e5a2e}81%{border-color:#7c3cf78c;box-shadow:0 0 0 3px #7c3cf71f,0 2px 14px -4px #7c3cf761}94%,to{border-color:var(--pv-chip-border,#03030214);box-shadow:0 2px 10px -4px #281e5a2e}}@keyframes pvChipDot{0%,74%{transform:scale(1)}81%{transform:scale(1.5)}94%,to{transform:scale(1)}}@keyframes pvEdgeLabel{0%{color:#e7e0ffb8;border-color:#ffffff29}30%{color:#fff;border-color:#cbb8ffbf}70%,to{color:#e7e0ffb8;border-color:#ffffff29}}@keyframes pvNodeIn{0%{opacity:0;transform:translate(-50%,calc(7px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes pvDrawIn{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pvFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pvRipple{0%{opacity:0;transform:translate(-50%,-50%)scale(.55)}18%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}@keyframes pvSpin{to{transform:rotate(360deg)}}@keyframes pvDotBounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes pvTip{0%,32%{opacity:0;transform:translateY(4px)scale(.96)}38%,60%{opacity:1;transform:none}66%,to{opacity:0;transform:translateY(4px)scale(.96)}}@keyframes pvRing{0%,32%{box-shadow:0 0 #7c3cf700}40%{box-shadow:0 0 0 4px #7c3cf729}60%,to{box-shadow:0 0 #7c3cf700}}@keyframes pvScanY{0%{opacity:0;transform:translateY(-16%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(116%)}}.pv-scanline{animation:1.25s cubic-bezier(.4,0,.4,1) both pvScanY}@keyframes pvDraw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.pv-draw{stroke-dasharray:1 1;animation:pvDraw .5s var(--ease-brand,cubic-bezier(.12, .23, .5, 1)) both}.pv-io{transition:opacity .45s var(--ease-brand,cubic-bezier(.12, .23, .5, 1)), transform .45s var(--ease-brand,cubic-bezier(.12, .23, .5, 1))}.pv-io:not(.is-on){opacity:0;transform:translateY(7px)}.pv-io-pop{transition:opacity .4s var(--ease-brand), transform .4s cubic-bezier(.3, 1.4, .5, 1)}.pv-io-pop:not(.is-on){opacity:0;transform:scale(.9)}@keyframes pvSwapIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.pv-swap{animation:pvSwapIn .35s var(--ease-brand,cubic-bezier(.12, .23, .5, 1)) both}.pv-noscroll::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.pv-cards *,.pv-cards :before,.pv-cards :after{transition:none!important;animation:none!important}}
@keyframes pvxMsg{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pvx-msg{animation:pvxMsg .42s var(--ease-brand,cubic-bezier(.12, .23, .5, 1)) both}@keyframes pvxResolve{0%{background:#7c3cf747}to{background:0 0}}.pvx-resolve{animation:pvxResolve 1.1s var(--ease-brand,cubic-bezier(.12, .23, .5, 1)) both}@keyframes pvxCaret{0%,49%{opacity:1}50%,to{opacity:0}}.pvx-caret{animation:1s step-end infinite pvxCaret}@media (prefers-reduced-motion:reduce){.pvx *,.pvx :before,.pvx :after{transition:none!important;animation:none!important}}
