.grid-background{position:fixed;top:0;left:0;pointer-events:none;--grid-size: 80px;--bg-noise: url('data:image/svg+xml,<svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><filter id="noiseFilter"><feTurbulence type="fractalNoise" baseFrequency="10.5" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noiseFilter)" opacity="0.1"/></svg>');background:var(--bg-noise),linear-gradient(rgba(231,231,231,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(231,231,231,.9) 1px,transparent 1px);background-size:200px 200px,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size);background-repeat:repeat;width:100%;height:100%}.dark .grid-background{background:var(--bg-noise),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:200px 200px,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size)}.falling-lines-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.falling-line{will-change:transform;width:1px;height:100px;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:forwards;position:absolute;top:-100px;&:after{content:"";position:absolute;inset:0;filter:blur(2px)}}.falling-line.color-blue{background:var(--gradient-blue);&:after{background:var(--gradient-blue)}}.falling-line.color-lightblue{background:var(--gradient-lightblue);&:after{background:var(--gradient-lightblue)}}.falling-line.color-darkblue{background:var(--gradient-darkblue);&:after{background:var(--gradient-darkblue)}}.falling-line.color-orange{background:var(--gradient-orange);&:after{background:var(--gradient-orange)}}.falling-line.color-yellow{background:var(--gradient-yellow);&:after{background:var(--gradient-yellow)}}@keyframes fall{0%{transform:translateY(0);opacity:1}10%{opacity:1}90%{opacity:1}to{transform:translateY(calc(100vh + 100px));opacity:0}}.tile-tracer{position:absolute;width:5px;height:5px;border-radius:50%;offset-distance:0%;offset-rotate:0deg;animation:trace-tile .05s linear forwards;pointer-events:none;will-change:offset-distance,opacity;&:after{content:"";position:absolute;inset:0;border-radius:50%;transform:scale(2.5);filter:blur(3px);opacity:.6}}.tile-tracer.color-blue{background:var(--gradient-blue);&:after{background:var(--gradient-blue)}}.tile-tracer.color-lightblue{background:var(--gradient-lightblue);&:after{background:var(--gradient-lightblue)}}.tile-tracer.color-darkblue{background:var(--gradient-darkblue);&:after{background:var(--gradient-darkblue)}}.tile-tracer.color-orange{background:var(--gradient-orange);&:after{background:var(--gradient-orange)}}.tile-tracer.color-yellow{background:var(--gradient-yellow);&:after{background:var(--gradient-yellow)}}.tracer-tile-bg{position:absolute;pointer-events:none;background:#0000000d;animation:tile-bg-fade linear forwards;animation-iteration-count:1}.dark .tracer-tile-bg{background:#ffffff0a}@keyframes tile-bg-fade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.tile-tracer-trail{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.tile-tracer-trail path{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;animation-timing-function:linear;animation-fill-mode:forwards;animation-iteration-count:1}.tile-tracer-trail.color-blue path{stroke:hsl(var(--wps-color-primary-500))}.tile-tracer-trail.color-lightblue path{stroke:hsl(var(--wps-color-primary-300))}.tile-tracer-trail.color-darkblue path{stroke:hsl(var(--wps-color-primary-700))}.tile-tracer-trail.color-orange path{stroke:#f05c07}.tile-tracer-trail.color-yellow path{stroke:#fd0}.tile-tracer-trail.color-blue{filter:drop-shadow(0 0 3px hsl(var(--wps-color-primary-500) / .9)) drop-shadow(0 0 8px hsl(var(--wps-color-primary-500) / .4))}.tile-tracer-trail.color-lightblue{filter:drop-shadow(0 0 3px hsl(var(--wps-color-primary-300) / .9)) drop-shadow(0 0 8px hsl(var(--wps-color-primary-300) / .4))}.tile-tracer-trail.color-darkblue{filter:drop-shadow(0 0 3px hsl(var(--wps-color-primary-700) / .9)) drop-shadow(0 0 8px hsl(var(--wps-color-primary-700) / .4))}.tile-tracer-trail.color-orange{filter:drop-shadow(0 0 3px rgb(240 92 7 / .9)) drop-shadow(0 0 8px rgb(240 92 7 / .4))}.tile-tracer-trail.color-yellow{filter:drop-shadow(0 0 3px rgb(255 221 0 / .9)) drop-shadow(0 0 8px rgb(255 221 0 / .4))}@keyframes trail-base{0%{stroke-dashoffset:1;opacity:0}8%{opacity:.25}88%{opacity:.25}to{stroke-dashoffset:0;opacity:0}}@keyframes trail-sweep{0%{stroke-dashoffset:.3;opacity:0}8%{stroke-dashoffset:.22;opacity:.8}99%{stroke-dashoffset:-.69;opacity:.8}to{stroke-dashoffset:-.7;opacity:0}}@keyframes trace-tile{0%{offset-distance:0%;opacity:0}8%{opacity:1}83%{opacity:1}to{offset-distance:100%;opacity:0}}.tracer-marker{position:absolute;width:3px;height:3px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:var(--marker-color);box-shadow:0 0 5px 1px var(--marker-color);&:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--marker-color);animation:tracer-marker-ring 1.5s ease-out infinite}}.tracer-marker-origin{--marker-color: #ef4444}.tracer-marker-half.color-blue{--marker-color: hsl(var(--wps-color-primary-500))}.tracer-marker-half.color-lightblue{--marker-color: hsl(var(--wps-color-primary-300))}.tracer-marker-half.color-darkblue{--marker-color: hsl(var(--wps-color-primary-700))}.tracer-marker-half.color-orange{--marker-color: rgb(240 92 7)}.tracer-marker-half.color-yellow{--marker-color: rgb(255 221 0)}@keyframes tracer-marker-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(4);opacity:0}}@media (prefers-reduced-motion: reduce){.falling-lines-container,.tile-tracer,.spotlight-follow{display:none}}.spotlight-follow{background:radial-gradient(50vh circle at var(--mouse-x, 0) var(--mouse-y, 0),rgba(255,255,255,0) 50%,rgba(255,255,255,.25) 60%,rgba(255,255,255,.5) 70%,rgba(255,255,255,.7) 100%);position:absolute;top:0;left:0;width:100%;height:100%}.dark .spotlight-follow{background:radial-gradient(50vh circle at var(--mouse-x, 0) var(--mouse-y, 0),rgba(0,0,0,0) 50%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.6) 100%)}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;background:var(--c-bg);color:var(--c-text);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6,p{margin:0}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1{font-size:3.75rem;font-weight:700;letter-spacing:-.025em;line-height:1.25;margin-bottom:2rem}h2{font-size:1.5rem;font-weight:300;margin-bottom:1.5rem}h3{font-size:1.5rem;font-weight:300;margin-bottom:1rem}h4{font-size:1rem;font-weight:600;margin-bottom:1.2rem}p{font-size:.875rem;margin-bottom:1rem}figure{margin:0}figure img{margin:0}::selection{background-color:var(--c-full-contrast-flip);color:var(--c-full-contrast)}a{color:hsl(var(--wps-color-primary-500));transition:color .2s ease;&:hover{color:hsl(var(--wps-color-primary-700))}}pre code.hljs{display:block;overflow-x:auto}code.hljs{display:inline-block}tr{height:1.5rem}td.hljs-ln-numbers{padding:0 1rem}.hljs-ln{counter-reset:hljs-ln}.hljs-ln tbody tr{counter-increment:hljs-ln}.hljs-ln-n:before{content:counter(hljs-ln,decimal-leading-zero)}.hljs{background:#f6f8fa;color:#24292e;display:block;overflow-x:auto;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.65}.hljs-keyword,.hljs-selector-tag{color:#cf222e}.hljs-string,.hljs-regexp{color:#032f62}.hljs-number,.hljs-literal{color:#0550ae}.hljs-title,.hljs-title.function_{color:#8250df;font-style:italic}.hljs-title.class_,.hljs-class .hljs-title{color:#953800}.hljs-comment,.hljs-quote{color:#6e7781;font-style:italic}.hljs-built_in{color:#0550ae}.hljs-variable,.hljs-template-variable{color:#953800}.hljs-attr,.hljs-attribute{color:#0550ae}.hljs-meta{color:#735c0f}.hljs-params{color:#24292e}.hljs-name{color:#22863a}.hljs-type{color:#8250df}.hljs-addition{color:#116329;background:#dafbe1}.hljs-deletion{color:#82071e;background:#ffebe9}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.dark .hljs{background:var(--c-bg);color:#abb2bf}.dark .hljs-keyword,.dark .hljs-selector-tag{color:#c678dd}.dark .hljs-string,.dark .hljs-regexp{color:#98c379}.dark .hljs-number,.dark .hljs-literal{color:#d19a66}.dark .hljs-title,.dark .hljs-title.function_{color:#61afef;font-style:italic}.dark .hljs-title.class_,.dark .hljs-class .hljs-title{color:#e5c07b}.dark .hljs-comment,.dark .hljs-quote{color:#5c6370;font-style:italic}.dark .hljs-built_in{color:#56b6c2}.dark .hljs-variable,.dark .hljs-template-variable{color:#e06c75}.dark .hljs-attr,.dark .hljs-attribute{color:#d19a66}.dark .hljs-meta{color:#e5c07b}.dark .hljs-params{color:#d19a66}.dark .hljs-name{color:#e06c75}.dark .hljs-type{color:#e5c07b}.dark .hljs-addition{color:#98c379;background:#98c3791f}.dark .hljs-deletion{color:#e06c75;background:#e06c751f}.dark .hljs-emphasis{font-style:italic}.dark .hljs-strong{font-weight:600}.wps-color-primary{color:hsl(var(--wps-color-primary))}.wps-color-secondary{color:#e06c79}.hidden{display:none!important}.wps-center{margin-right:auto;margin-left:auto}.wps-text-center{text-align:center;@media (min-width: var(--breakpoint-sm)){text-align:center}}.wps-text-right{text-align:right;@media (min-width: var(--breakpoint-sm)){text-align:right}}.wps-text-left{text-align:left;@media (min-width: var(--breakpoint-sm)){text-align:left}}.wps-text-right-lg-left-sm{text-align:left;@media (min-width: 768px){text-align:right}}.wps-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wps-section{margin-bottom:2rem}.text-muted{color:var(--c-text-muted)}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.text-gradient{background:linear-gradient(135deg,hsl(var(--wps-color-primary-700)),hsl(var(--wps-color-primary-500)) 35%,hsl(var(--wps-color-primary-300)) 60%,hsl(var(--wps-color-primary-600)));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 8s ease infinite}.wps-card{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:.75rem}.dark .wps-card{background:#11182799;border-color:var(--gray-800)}.wps-card--sm{padding:1rem;border-radius:.5rem}.wps-card--lg{padding:2rem;border-radius:1rem}.tag{background-color:var(--c-full-contrast);border:1px solid var(--c-border);padding:3px 8px;border-radius:2rem;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted)}.tag--cyan{background:var(--cyan-800);border-color:var(--cyan-900);color:var(--blue-50)}.tag--blue{background:var(--blue-800);border-color:var(--blue-900);color:var(--blue-50)}.tag--amber{background:var(--amber-700);border-color:var(--amber-900);color:#fff}.btn--outline{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.5rem;border:1px solid var(--gray-300);box-shadow:none;color:var(--gray-700);text-align:center;text-decoration:none;transition:border-color .15s,color .15s,box-shadow .15s,transform .15s;cursor:pointer;font-family:inherit;font-size:.875rem}.dark .btn--outline{border-color:var(--gray-700);color:var(--gray-300)}.btn--outline:hover{border-color:var(--gray-400);color:var(--gray-900);box-shadow:inset 0 0 15px 5px #ffffff1a;transform:translateY(1px)}.dark .btn--outline:hover{border-color:var(--gray-500);color:#fff}.corner-cross-left-top,.corner-cross-right-bottom{position:relative;&:after,&:before{background-color:var(--c-border-strong);content:"";width:1px;height:40px;position:absolute;top:-20px;left:0;opacity:1;transition:top .2s;@media (min-width: 640px){opacity:0;transition:opacity .2s}}&:hover{&:after,&:before{opacity:1}}&:before{transform:rotate(-90deg);@starting-style{top:0}}}.corner-cross-right-bottom{&:after,&:before{bottom:-20px;right:0}}.bg-light-gray{background-color:var(--gray-100);border:1px solid white;transition:background-color .2s;.dark &{border:1px solid black}&:hover{@media (min-width: 640px){background-color:var(--gray-100-60)}}}.page-section{>div{margin-right:auto;margin-left:auto}>div:not(.content-width-wide):not(.content-width-narrow){max-width:72rem}.content-wide{margin:0 auto}}.content-width-wide{max-width:96rem}.content-width-medium{max-width:72rem}.content-width-narrow{max-width:48rem}.dark .bg-light-gray{background-color:var(--gray-950-60);@media (min-width: 640px){background-color:var(--gray-950);&:hover{background-color:var(--gray-950-60)}}}.wps-grid{display:grid;grid-template-columns:var(--grid-cols, 1fr);grid-template-rows:var(--grid-rows, auto);gap:var(--grid-gap, 3rem);align-items:var(--grid-align, start);justify-content:var(--grid-justify, start)}@media (min-width: 640px){.page-section{.content-wide{max-width:80%}}}@media (min-width: 768px){.wps-grid{grid-template-columns:var(--grid-cols-md, repeat(2, 1fr))}}@media (min-width: 1024px){.wps-grid{grid-template-columns:var(--grid-cols-lg, repeat(3, 1fr))}}.wps-grid-featured{background:var(--c-border-subtle);& li{grid-area:auto;background:var(--c-full-contrast);transition:background-color .2s;height:100%;position:relative;overflow:hidden;isolation:isolate;&:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}>*{position:relative;z-index:1}h3{font-weight:700;letter-spacing:-.025em;line-height:1;margin-bottom:1rem;color:var(--c-heading)}&:hover{.feature-icon{scale:1.5}}}.feature-icon{color:hsl(var(--wps-color-primary-500));margin-right:.5rem;transition:scale .2s}& h3{margin-bottom:0}& header{margin-bottom:.5rem}}@media (min-width: 1024px){.wps-grid-featured{& li{grid-area:var(--feature-grid-area, auto)}}}.wps-bg-noise{background:var(--bg-noise)}.wps-pad{padding:1rem}.wps-text-lg{font-size:120%;line-height:1.5;letter-spacing:-.025em;margin-bottom:2rem;color:var(--c-heading)}.wps-text-xl{font-size:200%;font-weight:700;line-height:1.2;letter-spacing:-.025em;margin-bottom:2rem;color:var(--c-heading)}.gradient-bg{background:linear-gradient(to bottom,#fff,#fff0);border-top:1px solid;border-left:1px solid;border-right:1px solid;border-image:linear-gradient(to bottom,var(--gray-200),transparent) 1;padding:3rem 3rem 0;.dark &{background:hsl(var(--wps-color-primary-500) / .15);border-color:hsl(var(--wps-color-primary-500) / .3);color:hsl(var(--wps-color-primary-400))}}.wps-gradient-overlay{position:relative;overflow:hidden;@media (min-width: 1024px){&:before{content:"";position:absolute;inset:0;background:var(--gradient-white);transition:opacity .2s ease-in-out;opacity:1;pointer-events:none}.dark &{&:before{background:var(--gradient-black)}}}&:hover{&:before{opacity:0}}}.wps-rounded{border-radius:9999px;border:1px solid var(--c-border);background-color:var(--c-full-contrast);padding:1rem 2rem}.wps-grid-featured li .ws-svg-wrap{opacity:.5;transition:opacity .3s ease}.wps-grid-featured li:hover .ws-svg-wrap{opacity:1}.wps-grid-featured li:hover .ws-svg-wrap .g-publisher rect{stroke:#ffffffe6}.wps-grid-featured li:hover .ws-svg-wrap .fp-pub{animation:flow .8s linear 0s infinite;stroke:#fffc}.wps-grid-featured li:hover .ws-svg-wrap .fp-trunk{animation:flow .55s linear .4s infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .ws-svg-wrap .fp-bus{animation:flow .55s linear .55s infinite;stroke:#ffffff80}.wps-grid-featured li:hover .ws-svg-wrap .fp-c1{animation:flow .4s linear .65s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ws-svg-wrap .fp-c2{animation:flow .4s linear .75s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ws-svg-wrap .fp-c3{animation:flow .4s linear .85s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ws-svg-wrap .g-relay>rect:first-child{animation:ws-relay-pulse 1.8s ease-in-out .3s infinite}.wps-grid-featured li:hover .ws-svg-wrap .relay-label{fill:#fff}.wps-grid-featured li:hover .ws-svg-wrap .g-c1 rect{animation:ws-client-arrive 1.8s ease-in-out .65s infinite}.wps-grid-featured li:hover .ws-svg-wrap .g-c2 rect{animation:ws-client-arrive 1.8s ease-in-out .8s infinite}.wps-grid-featured li:hover .ws-svg-wrap .g-c3 rect{animation:ws-client-arrive 1.8s ease-in-out .95s infinite}.wps-grid-featured li:hover .ws-svg-wrap .fork-dot{animation:ws-fork-pulse 1s ease-in-out .5s infinite}.wps-grid-featured li:hover .ws-svg-wrap .arc1,.wps-grid-featured li:hover .ws-svg-wrap .arc2,.wps-grid-featured li:hover .ws-svg-wrap .arc3{@starting-style{opacity:0}}.wps-grid-featured li:hover .ws-svg-wrap .arc1{opacity:1;animation:arc-pulse 2.4s ease-in-out 0s infinite}.wps-grid-featured li:hover .ws-svg-wrap .arc2{opacity:1;animation:arc-pulse 2.4s ease-in-out .45s infinite}.wps-grid-featured li:hover .ws-svg-wrap .arc3{opacity:1;animation:arc-pulse 2.4s ease-in-out .9s infinite}@keyframes arc-pulse{0%,to{opacity:.15}50%{opacity:1}}@keyframes ws-relay-pulse{0%,to{stroke:#ffffff59}50%{stroke:#fff}}@keyframes ws-client-arrive{0%,55%,to{stroke:#ffffff4d}30%{stroke:#fff}}@keyframes ws-fork-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes ws-return-flash{0%,73%,to{opacity:0}78%,90%{opacity:1}95%{opacity:0}}.wps-grid-featured li:hover .ws-svg-wrap .ws-ret-1{animation:flow 1s linear 0s infinite,ws-return-flash 8s ease-in-out 0s infinite}.wps-grid-featured li:hover .ws-svg-wrap .ws-ret-2{animation:flow 1s linear 0s infinite,ws-return-flash 7.4s ease-in-out 3s infinite}.wps-grid-featured li:hover .ws-svg-wrap .ws-ret-3{animation:flow 1s linear 0s infinite,ws-return-flash 9.2s ease-in-out 5.6s infinite}.wps-grid-featured li .trigger-svg-wrap{opacity:.5;transition:opacity .3s ease}.wps-grid-featured li:hover .trigger-svg-wrap{opacity:1}.wps-grid-featured li:hover .trigger-svg-wrap .fp0{animation:flow .8s linear infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .trigger-svg-wrap .fp1{animation:flow .8s linear .1s infinite;stroke:#ffffffa6}.wps-grid-featured li:hover .trigger-svg-wrap .fp2{animation:flow .6s linear .05s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .trigger-svg-wrap .fp3{animation:flow .45s linear .55s infinite;stroke:#fff}.wps-grid-featured li:hover .trigger-svg-wrap .g-hook rect,.wps-grid-featured li:hover .trigger-svg-wrap .g-condition rect,.wps-grid-featured li:hover .trigger-svg-wrap .g-data rect{stroke:#ffffffe6}.wps-grid-featured li:hover .trigger-svg-wrap .g-trigger>rect:first-child{animation:tr-pulse 1.8s ease-in-out .3s infinite}.wps-grid-featured li:hover .trigger-svg-wrap .tr-label{fill:#fff}.wps-grid-featured li:hover .trigger-svg-wrap .g-out rect{stroke:#fff}.wps-grid-featured li:hover .trigger-svg-wrap .ch{animation:ch-pulse 1.8s ease-in-out .6s infinite}.wps-grid-featured li:hover .trigger-svg-wrap .ch2{animation-delay:.75s}.wps-grid-featured li:hover .trigger-svg-wrap .ch3{animation-delay:.9s}.wps-grid-featured li:hover .trigger-svg-wrap .out-label{fill:#fff}@keyframes tr-pulse{0%,to{stroke:#ffffff59}50%{stroke:#fff}}@keyframes ch-pulse{0%,to{fill:#ffffff80}50%{fill:#fffffff2}}.wps-grid-featured li .encrypt-svg-wrap{opacity:.5;transition:opacity .3s ease}.wps-grid-featured li:hover .encrypt-svg-wrap{opacity:1}.wps-grid-featured li:hover .encrypt-svg-wrap .fp0{animation:flow .8s linear infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .encrypt-svg-wrap .fp1{animation:flow .8s linear .1s infinite;stroke:#ffffffa6}.wps-grid-featured li:hover .encrypt-svg-wrap .fp2{animation:flow .6s linear .05s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .encrypt-svg-wrap .fp3{animation:flow .45s linear .55s infinite;stroke:#fff}.wps-grid-featured li:hover .encrypt-svg-wrap .g-plaintext rect,.wps-grid-featured li:hover .encrypt-svg-wrap .g-iv rect,.wps-grid-featured li:hover .encrypt-svg-wrap .g-ekey rect{stroke:#ffffffe6}.wps-grid-featured li:hover .encrypt-svg-wrap .g-aes>rect:first-child{animation:ae-pulse 1.8s ease-in-out .3s infinite}.wps-grid-featured li:hover .encrypt-svg-wrap .ae-label{fill:#fff}.wps-grid-featured li:hover .encrypt-svg-wrap .g-cipher rect{stroke:#fff}.wps-grid-featured li:hover .encrypt-svg-wrap .cd{animation:cd-pulse 1.8s ease-in-out .6s infinite}.wps-grid-featured li:hover .encrypt-svg-wrap .cd2{animation-delay:.75s}.wps-grid-featured li:hover .encrypt-svg-wrap .cd3{animation-delay:.9s}.wps-grid-featured li:hover .encrypt-svg-wrap .cipher-label{fill:#fff}@keyframes ae-pulse{0%,to{stroke:#ffffff59}50%{stroke:#fff}}@keyframes cd-pulse{0%,to{fill:#ffffff80}50%{fill:#fffffff2}}.wps-grid-featured li .ms-svg-wrap{opacity:.5;transition:opacity .3s ease}.wps-grid-featured li:hover .ms-svg-wrap{opacity:1}*/ .wps-grid-featured li:hover .ms-svg-wrap .g-sa rect,.wps-grid-featured li:hover .ms-svg-wrap .g-sb rect,.wps-grid-featured li:hover .ms-svg-wrap .g-sc rect{stroke:#ffffffe6}.wps-grid-featured li:hover .ms-svg-wrap .fp-ta1{animation:flow .55s linear 0s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ms-svg-wrap .fp-ta2{animation:flow .55s linear 0s infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .ms-svg-wrap .fp-ta3{animation:flow .55s linear 0s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ms-svg-wrap .fp-bus-l{animation:flow .55s linear .15s infinite;stroke:#ffffff80}.wps-grid-featured li:hover .ms-svg-wrap .fp-tl{animation:flow .55s linear .3s infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .ms-svg-wrap .fp-tr{animation:flow .55s linear .6s infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .ms-svg-wrap .fp-bus-r{animation:flow .55s linear .7s infinite;stroke:#ffffff80}.wps-grid-featured li:hover .ms-svg-wrap .fp-tc1{animation:flow .4s linear .75s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ms-svg-wrap .fp-tc2{animation:flow .4s linear .85s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ms-svg-wrap .fp-tc3{animation:flow .4s linear .95s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ms-svg-wrap .g-relay>rect:first-child{animation:ms-relay-pulse 1.8s ease-in-out .4s infinite}.wps-grid-featured li:hover .ms-svg-wrap .relay-label{fill:#fff}.wps-grid-featured li:hover .ms-svg-wrap .g-cha rect{animation:ms-ch-arrive 1.8s ease-in-out .8s infinite}.wps-grid-featured li:hover .ms-svg-wrap .g-chb rect{animation:ms-ch-arrive 1.8s ease-in-out .95s infinite}.wps-grid-featured li:hover .ms-svg-wrap .g-chc rect{animation:ms-ch-arrive 1.8s ease-in-out 1.1s infinite}.wps-grid-featured li:hover .ms-svg-wrap .fork-dot-l,.wps-grid-featured li:hover .ms-svg-wrap .fork-dot-r{animation:ws-fork-pulse 1s ease-in-out .5s infinite}@keyframes ms-relay-pulse{0%,to{stroke:#ffffff59}50%{stroke:#fff}}@keyframes ms-ch-arrive{0%,55%,to{stroke:#ffffff4d}30%{stroke:#fff}}.wps-grid-featured li .ex-svg-wrap{opacity:.5;transition:opacity .3s ease}.wps-grid-featured li:hover .ex-svg-wrap{opacity:1}*/ .wps-grid-featured li:hover .ex-svg-wrap .g-ws rect{stroke:#ffffffe6}.wps-grid-featured li:hover .ex-svg-wrap .fp-ws{animation:flow .7s linear 0s infinite;stroke:#fffc}.wps-grid-featured li:hover .ex-svg-wrap .fp-trunk{animation:flow .55s linear .3s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ex-svg-wrap .fp-bus{animation:flow .55s linear .45s infinite;stroke:#ffffff80}.wps-grid-featured li:hover .ex-svg-wrap .fp-ct{animation:flow .4s linear .55s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ex-svg-wrap .fp-cl{animation:flow .4s linear .65s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .ex-svg-wrap .g-explorer>rect:first-child{animation:ex-panel-pulse 1.8s ease-in-out .2s infinite}.wps-grid-featured li:hover .ex-svg-wrap .g-token rect{animation:ex-arrive 1.8s ease-in-out .6s infinite}.wps-grid-featured li:hover .ex-svg-wrap .g-log rect{animation:ex-arrive 1.8s ease-in-out .75s infinite}.wps-grid-featured li:hover .ex-svg-wrap .fork-dot{animation:ws-fork-pulse 1s ease-in-out .5s infinite}.wps-grid-featured li:hover .ex-svg-wrap .ev-r1{animation:ev-in 3.6s ease-in-out 0s infinite}.wps-grid-featured li:hover .ex-svg-wrap .ev-r2{animation:ev-in 3.6s ease-in-out .6s infinite}.wps-grid-featured li:hover .ex-svg-wrap .ev-r3{animation:ev-in 3.6s ease-in-out 1.2s infinite}.wps-grid-featured li:hover .ex-svg-wrap .ev-r4{animation:ev-in 3.6s ease-in-out 1.8s infinite}.wps-grid-featured li:hover .ex-svg-wrap .status-dot{animation:ex-heartbeat 2.4s ease-in-out infinite}@keyframes ex-heartbeat{0%,75%,to{opacity:.6}40%{opacity:1}}@keyframes ev-in{0%,to{opacity:.25}25%,65%{opacity:1}}@keyframes ex-panel-pulse{0%,to{stroke:#ffffff59}50%{stroke:#fff}}@keyframes ex-arrive{0%,55%,to{stroke:#ffffff4d}30%{stroke:#fff}}.wps-grid-featured li .hmac-svg-wrap{opacity:.5;transition:opacity .3s ease}.wps-grid-featured li:hover .hmac-svg-wrap{opacity:1}*/ .wps-grid-featured li:hover .hmac-svg-wrap .fp0{animation:flow .8s linear infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .hmac-svg-wrap .fp1{animation:flow .8s linear .1s infinite;stroke:#ffffffa6}.wps-grid-featured li:hover .hmac-svg-wrap .fp2{animation:flow .6s linear .05s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .hmac-svg-wrap .fp3{animation:flow .45s linear .55s infinite;stroke:#fff}.wps-grid-featured li:hover .hmac-svg-wrap .g-payload rect,.wps-grid-featured li:hover .hmac-svg-wrap .g-ts rect,.wps-grid-featured li:hover .hmac-svg-wrap .g-secret rect{stroke:#ffffffe6}.wps-grid-featured li:hover .hmac-svg-wrap .concat-dot{fill:#ffffff8c;animation:cdpulse 1.2s ease-in-out infinite}.wps-grid-featured li:hover .hmac-svg-wrap .g-hmac>rect:first-child{animation:hpulse 1.8s ease-in-out .3s infinite}.wps-grid-featured li:hover .hmac-svg-wrap .hd{animation:hdpulse 1.8s ease-in-out .6s infinite}.wps-grid-featured li:hover .hmac-svg-wrap .hd2{animation-delay:.75s}.wps-grid-featured li:hover .hmac-svg-wrap .hd3{animation-delay:.9s}.wps-grid-featured li:hover .hmac-svg-wrap .fp0{animation:flow .65s linear infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .hmac-svg-wrap .fp1{animation:flow .9s linear .05s infinite;stroke:#ffffffa6}.wps-grid-featured li:hover .hmac-svg-wrap .fp2{animation:flow 1.4s linear .1s infinite;stroke:#ffffff8c}.wps-grid-featured li:hover .hmac-svg-wrap .fp3{animation:flow .9s linear .08s infinite;stroke:#ffffffa6}.wps-grid-featured li:hover .hmac-svg-wrap .fp4{animation:flow .55s linear .22s infinite;stroke:#ffffffbf}.wps-grid-featured li:hover .hmac-svg-wrap .fp5{animation:flow .9s linear .4s infinite;stroke:#ffffffd9}.wps-grid-featured li:hover .hmac-svg-wrap .fp6{animation:flow .75s linear .28s infinite;stroke:#ffffffb3}.wps-grid-featured li:hover .hmac-svg-wrap .fp7{animation:flow .4s linear .55s infinite;stroke:#fff}.wps-grid-featured li:hover .hmac-svg-wrap .g-key rect,.wps-grid-featured li:hover .hmac-svg-wrap .g-msg rect{stroke:#ffffffe6}.wps-grid-featured li:hover .hmac-svg-wrap .g-xor circle:first-child{stroke:#fff;animation:xpulse 1.4s ease-in-out infinite}.wps-grid-featured li:hover .hmac-svg-wrap .g-hash-inner>rect:first-child{animation:hpulse 1.8s ease-in-out infinite}.wps-grid-featured li:hover .hmac-svg-wrap .g-hash-outer>rect:first-child{animation:hpulse 1.8s ease-in-out .35s infinite}.wps-grid-featured li:hover .hmac-svg-wrap .h-label{fill:#fff}.wps-grid-featured li:hover .hmac-svg-wrap .g-out rect{stroke:#fff}.wps-grid-featured li:hover .hmac-svg-wrap .hd{animation:hdpulse 1.8s ease-in-out infinite}.wps-grid-featured li:hover .hmac-svg-wrap .hd2{animation-delay:.2s}.wps-grid-featured li:hover .hmac-svg-wrap .hd3{animation-delay:.4s}.wps-grid-featured li:hover .hmac-svg-wrap .out-label{fill:#fff}.wps-grid-featured li:hover .hmac-svg-wrap .fork-dot{animation:fdpulse 1s ease-in-out infinite}@keyframes xpulse{0%,to{stroke:#ffffffe6}50%{stroke:#ffffff73}}@keyframes fdpulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes flow{to{stroke-dashoffset:-10}}@keyframes hpulse{0%,to{stroke:#ffffffb3}50%{stroke:#fff}}@keyframes hdpulse{0%,to{fill:#ffffff80}50%{fill:#fffffff2}}@keyframes cdpulse{0%,to{fill:#ffffff59}50%{fill:#ffffffb3}}@media (hover: hover) and (pointer: fine){.wps-grid-featured li:hover .hmac-svg-wrap .g-hmac{filter:url(#hg)}.wps-grid-featured li:hover .hmac-svg-wrap .g-out rect{filter:url(#hgs)}}:root{--wps-color-primary: 192 64% 50%;--wps-color-primary-50: 192 78% 97%;--wps-color-primary-100: 192 72% 92%;--wps-color-primary-200: 192 67% 83%;--wps-color-primary-300: 192 64% 72%;--wps-color-primary-400: 192 64% 61%;--wps-color-primary-500: 192 64% 50%;--wps-color-primary-600: 192 66% 40%;--wps-color-primary-700: 193 69% 31%;--wps-color-primary-800: 194 72% 22%;--wps-color-primary-900: 195 75% 14%;--wps-color-primary-950: 196 79% 8%;--wps-color-secondary: 34 91% 48%;--wps-color-secondary-50: 34 91% 97%;--wps-color-secondary-100: 34 91% 92%;--wps-color-secondary-200: 34 91% 83%;--wps-color-secondary-300: 34 91% 72%;--wps-color-secondary-400: 34 91% 61%;--wps-color-secondary-500: 34 91% 50%;--wps-color-secondary-600: 34 91% 40%;--wps-color-secondary-700: 34 91% 31%;--wps-color-secondary-800: 34 91% 22%;--wps-color-secondary-900: 34 91% 14%;--wps-color-secondary-950: 34 91% 8%;--gradient-blue: linear-gradient( to bottom, transparent 0%, hsl(var(--wps-color-primary-500) / .25) 20%, hsl(var(--wps-color-primary-500) / .5) 50%, hsl(var(--wps-color-primary-500) / .75) 80%, hsl(var(--wps-color-primary-500) / 1) 100% );--gradient-darkblue: linear-gradient( to bottom, transparent 0%, hsl(var(--wps-color-primary-700) / .25) 20%, hsl(var(--wps-color-primary-700) / .5) 50%, hsl(var(--wps-color-primary-700) / .75) 80%, hsl(var(--wps-color-primary-700) / 1) 100% );--gradient-lightblue: linear-gradient( to bottom, transparent 0%, hsl(var(--wps-color-primary-300) / .25) 20%, hsl(var(--wps-color-primary-300) / .5) 50%, hsl(var(--wps-color-primary-300) / .75) 80%, hsl(var(--wps-color-primary-300) / 1) 100% );--gradient-orange: linear-gradient( to bottom, transparent 0%, rgba(240, 92, 7, .25) 20%, rgba(240, 92, 7, .5) 50%, rgba(240, 92, 7, .75) 80%, rgba(240, 92, 7, 1) 100% );--gradient-yellow: linear-gradient( to bottom, transparent 0%, rgba(255, 221, 0, .25) 20%, rgba(255, 221, 0, .5) 50%, rgba(255, 221, 0, .75) 80%, rgba(255, 221, 0, 1) 100% );--gradient-black: linear-gradient( to right, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 1) 100% );--gradient-white: linear-gradient( to right, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 1) 100% );--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--bg-noise: url('data:image/svg+xml,<svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><filter id="noiseFilter"><feTurbulence type="fractalNoise" baseFrequency="10.5" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noiseFilter)" opacity="0.2"/></svg>')}:root{--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #eaeaea;--gray-300: #dcdcdc;--gray-400: #b0b0b0;--gray-500: #6c6c6c;--gray-600: #5b5b5b;--gray-700: #4e4e4e;--gray-800: #3c3c3c;--gray-900: #2d2d2d;--gray-950: #111111;--gray-50-50: rgba(249, 250, 251, .5);--gray-50-60: rgba(249, 250, 251, .6);--gray-50-80: rgba(249, 250, 251, .8);--gray-100-60: rgba(243, 244, 246, .6);--gray-300-60: rgba(229, 231, 235, .6);--gray-700-60: rgba(55, 65, 81, .6);--gray-900-60: rgba(17, 24, 39, .6);--gray-950-60: rgba(10, 14, 23, .6);--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--amber-900: #78350f;--amber-950: #451a03;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--blue-50: #eff6ff;--blue-200: #bfdbfe;--blue-400: #60a5fa;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--cyan-50: #ecfeff;--cyan-200: #96fcfd;--cyan-400: #2dd4bf;--cyan-700: #14b8a6;--cyan-800: #0d9488;--cyan-900: #0f766e}:root{color-scheme:light dark;--c-bg: light-dark(#ffffff, #000000);--c-bg-subtle: light-dark(rgba(249, 250, 251, .6), rgba(17, 24, 39, .6));--c-bg-muted: light-dark(var(--gray-100), var(--gray-800));--c-border: light-dark(var(--gray-200), var(--gray-800));--c-border-strong: var(--gray-500);--c-border-subtle: light-dark(var(--gray-100), rgba(55, 65, 81, .5));--c-text: light-dark(var(--gray-900), var(--gray-100));--c-text-muted: light-dark(var(--gray-600), var(--gray-400));--c-text-subtle: var(--gray-500);--c-heading: light-dark(var(--gray-900), #ffffff);--c-code-text: light-dark(var(--gray-700), var(--gray-300));--c-code-bg: light-dark(var(--gray-100), var(--gray-800));--c-white: #ffffff;--c-border-grid: light-dark(var(--gray-300), var(--gray-600));--c-full-contrast: light-dark(#ffffff, #000000);--c-full-contrast-flip: light-dark(#000000, #ffffff)}.wps-signal-text{fill:url(#gradient-animated)}.eyebrow{font-size:.875rem;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;letter-spacing:.1em;color:hsl(var(--wps-color-primary-500));margin:0 0 .75rem}.dark .eyebrow{color:hsl(var(--wps-color-primary-400))}.eyebrow--center{text-align:center}.btn--arrow[data-astro-cid-vnzlvqnm]{display:inline-flex;align-items:center;color:var(--c-text-muted);font-size:1.2rem;gap:.75rem;padding:.1rem;& svg[data-astro-cid-vnzlvqnm]{width:1rem;height:1rem}.btn--arrow-icon[data-astro-cid-vnzlvqnm]{transition:color .2s,background-color .2s;border-radius:50%;background-color:var(--c-full-contrast);border:2px solid var(--c-text-muted);padding:.5rem}&[data-astro-cid-vnzlvqnm]:hover{color:var(--c-text);.btn--arrow-icon[data-astro-cid-vnzlvqnm]{border:2px solid var(--c-text);color:var(--c-full-contrast);background-color:var(--c-text)}}}.btn--rounded[data-astro-cid-vnzlvqnm]{border-radius:9999px;border:1px solid transparent;padding:.25rem .75rem;color:var(--c-text-muted);transition:border-color .2s,color .2s;&[data-astro-cid-vnzlvqnm]:hover{border-color:var(--c-full-contrast-flip);color:var(--c-full-contrast-flip)}}.hero-content{position:relative;max-width:72rem;margin:0 auto;padding:6rem 1rem 5rem;text-align:center}@media (min-width: 640px){.hero-content{padding-left:1.5rem;padding-right:1.5rem}}@keyframes radar-pulse{0%{box-shadow:0 0 hsl(var(--wps-color-primary-500) / .6)}70%{box-shadow:0 0 0 7px hsl(var(--wps-color-primary-500) / 0)}to{box-shadow:0 0 hsl(var(--wps-color-primary-500) / 0)}}.radar-pulse{animation:radar-pulse 2.5s ease-out infinite;border-radius:50%}.card-lift{position:relative;overflow:hidden}@keyframes btn-border-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.btn--primary{display:inline-flex;align-items:center;justify-content:center;position:relative;color:hsl(var(--wps-color-primary-700));border:1px solid transparent;transition:color .2s ease,transform .15s ease;padding:.625rem 1.5rem;font-size:.875rem}.dark .btn--primary{color:hsl(var(--wps-color-primary-300))}.btn--primary:before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(135deg,hsl(var(--wps-color-primary-700)),hsl(var(--wps-color-primary-400)),hsl(var(--wps-color-primary-300)),hsl(var(--wps-color-primary-500)));background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s cubic-bezier(.16,1,.3,1)}.btn--primary:hover{transform:translateY(1px)}.btn--primary:hover:before{opacity:1;animation:btn-border-flow 3s ease infinite}.btn--primary:active{transform:translateY(0)}.step-num{transition:background .25s ease,border-color .25s ease,color .25s ease}.card-lift:hover .step-num{background:hsl(var(--wps-color-primary-500) / .08);border-color:hsl(var(--wps-color-primary-500) / .25);color:hsl(var(--wps-color-primary-600))}.dark .card-lift:hover .step-num{background:hsl(var(--wps-color-primary-500) / .1);border-color:hsl(var(--wps-color-primary-500) / .3);color:hsl(var(--wps-color-primary-400))}.nav-scroll{-ms-overflow-style:none;scrollbar-width:none}.nav-scroll::-webkit-scrollbar{display:none}@media (prefers-reduced-motion: reduce){.text-gradient,.radar-pulse{animation:none!important}.btn--primary:hover:before{animation:none!important}.btn--primary,.card-lift,.card-lift:hover,.feature-icon,.step-num{transition:none!important}}.wpsignal-wrapper{position:relative}.wpsignal-main{display:grid;grid-template-columns:minmax(0,1fr);gap:4rem;margin:0 1rem}#disclaimer-banner{position:relative;z-index:30;background:var(--amber-50);border-bottom:1px solid var(--amber-200);padding:.625rem 1rem;text-align:center;font-size:.75rem;color:var(--amber-800)}.dark #disclaimer-banner{background:#451a0366;border-bottom-color:#92400e80;color:var(--amber-300)}#dismiss-banner{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);padding:.25rem;border-radius:.25rem;color:var(--amber-600);background:transparent;border:none;cursor:pointer;transition:background-color .15s;line-height:0}.dark #dismiss-banner{color:var(--amber-400)}#dismiss-banner:hover{background:var(--amber-100)}.dark #dismiss-banner:hover{background:#78350f80}.dismiss-icon{width:.875rem;height:.875rem;display:block}.wpsignal-header{border-bottom:1px solid var(--gray-100);background:#ffffffe6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);position:sticky;top:0;z-index:20}.dark .wpsignal-header{background:var(--c-full-contrast);border-bottom:1px solid var(--gray-950)}.wpsignal-header-inner{max-width:72rem;margin:0 auto;padding-left:1rem;padding-right:1rem;display:flex;flex-wrap:wrap;align-items:center;column-gap:.5rem}@media (min-width: 640px){.wpsignal-header-inner{flex-wrap:nowrap;padding-left:1.5rem;padding-right:1.5rem}}.wpsignal-logo-link{flex-shrink:0;height:3.5rem;display:flex;align-items:center;font-family:ui-monospace,Cascadia Code,monospace;font-weight:700;font-size:1.125rem;color:var(--gray-700);letter-spacing:-.025em;transition:color .15s;text-decoration:none}@media (min-width: 640px){.wpsignal-logo-link{height:4rem}}.wpsignal-logo-link:hover{color:#000}.dark .wpsignal-logo-link{color:var(--gray-300)}.dark .wpsignal-logo-link:hover{color:#fff}.wpsignal-logo-img{height:1.875rem;width:auto}.wpsignal-nav{overflow-x:auto;order:3;width:100%;padding-bottom:.5rem;font-size:.875rem;-ms-overflow-style:none;scrollbar-width:none}.wpsignal-nav::-webkit-scrollbar{display:none}@media (min-width: 640px){.wpsignal-nav{order:2;width:auto;min-width:0;padding-bottom:0;text-align:center;margin-left:1rem}}.wpsignal-nav-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.25rem;height:3.5rem}@media (min-width: 640px){.wpsignal-nav-inner{height:4rem;gap:.5rem}}.nav-link{white-space:nowrap;padding:.5rem .75rem;border-radius:9999px;color:var(--c-text-muted);text-decoration:none;transition:color .15s,background-color .15s;font-size:.875rem;line-height:1}.nav-link:hover{color:var(--c-heading);background:var(--gray-100)}.dark .nav-link:hover{background:var(--gray-900);color:#fff}.nav-link--active{color:var(--c-heading);background:var(--gray-100);font-weight:500}.dark .nav-link--active{background:var(--gray-900);color:#fff}.wpsignal-header-actions{display:flex;flex:1;justify-content:flex-end;align-items:center;gap:.25rem;flex-shrink:0;margin-left:auto;order:2;height:3.5rem;min-width:162px}@media (min-width: 640px){.wpsignal-header-actions{margin-left:0;order:3;height:4rem}}.theme-toggle-btn{padding:.375rem;border-radius:.375rem;color:var(--gray-500);background:transparent;border:none;cursor:pointer;transition:color .15s,background-color .15s;line-height:0}.theme-toggle-btn:hover{color:var(--c-full-contrast-flip)}.toggle-icon{width:1rem;height:1rem;display:block}.wpsignal-footer{background-color:var(--c-full-contrast);border-top:1px solid var(--gray-100);padding:2.5rem 0;margin-top:4rem}.dark .wpsignal-footer{background-color:var(--c-full-contrast);border-top:1px solid var(--gray-950)}.wpsignal-footer-inner{max-width:72rem;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.wpsignal-footer-inner{padding-left:1.5rem;padding-right:1.5rem}}.footer-newsletter{margin-bottom:2.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding-bottom:2.5rem;text-align:center;& h3{margin-bottom:1rem}}.footer-nl-title{font-size:2rem;font-weight:400;color:var(--gray-800);text-align:center}.dark .footer-nl-title{color:var(--gray-200)}@media (min-width: 640px){.footer-newsletter{flex-direction:row;align-items:center;text-align:left}.footer-nl-title{text-align:left}}.footer-nl-subtitle{font-size:.75rem;color:var(--c-text-subtle);margin-top:.25rem}.footer-nl-right{display:flex;flex-direction:column;gap:.625rem;width:100%}@media (min-width: 640px){.footer-nl-right{width:auto}}.newsletter-form{width:100%}@media (min-width: 640px){.newsletter-form{width:auto}}.newsletter-pill{display:flex;align-items:center;border:1px solid var(--c-border-subtle);border-radius:9999px;overflow:hidden;transition:border-color .15s,box-shadow .15s;width:100%}@media (min-width: 640px){.newsletter-pill{width:22rem}}.newsletter-pill:focus-within{border-color:var(--c-full-contrast-flip);box-shadow:0 0 0 3px hsl(var(--wps-color-primary-100) / .15)}.newsletter-input{flex:1;min-width:0;padding:.5rem 1rem;font-size:.875rem;background:transparent;color:var(--c-text);border:none;outline:none;font-family:inherit}.newsletter-input::placeholder{color:var(--c-text-subtle)}.newsletter-submit{padding:.5rem 1.125rem;border:1px solid var(--c-border-subtle);font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer;border-radius:9999px;margin:3px;font-family:inherit;background-color:var(--c-full-contrast-flip);color:var(--c-full-contrast);transition:background-color .15s;flex-shrink:0}.newsletter-submit:hover{background:var(--c-full-contrast);color:var(--c-full-contrast-flip)}.newsletter-submit:disabled{opacity:.6;cursor:not-allowed}.newsletter-feedback{font-size:.75rem;display:flex;align-items:center;gap:.375rem;padding-left:.25rem}.newsletter-feedback--success{color:var(--green-600)}.dark .newsletter-feedback--success{color:var(--green-400)}.newsletter-feedback--error{color:#ef4444}.footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.875rem;color:var(--gray-500)}@media (min-width: 640px){.footer-bottom{flex-direction:row}}.footer-brand{display:flex;align-items:center;gap:.75rem}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;column-gap:1.5rem;row-gap:.5rem}.footer-nav-link{color:var(--gray-500);text-decoration:none;transition:color .15s}.footer-nav-link:hover{color:var(--gray-700)}.dark .footer-nav-link:hover{color:var(--gray-300)}.footer-social{display:flex;align-items:center;gap:.75rem}.footer-social-link{color:var(--gray-400);text-decoration:none;transition:color .15s;line-height:0}.footer-social-link:hover{color:var(--gray-700)}.dark .footer-social-link:hover{color:var(--gray-300)}.footer-icon{width:1rem;height:1rem;display:block}
