.web-studio{--background:#14171c;--foreground:#f4f6fa;--card:#1e242d;--card-foreground:#f4f6fa;--popover:#1e242d;--popover-foreground:#f4f6fa;--muted:#1e242d;--muted-foreground:#b5bdc9;--primary:#4385ff;--primary-foreground:#0b1020;--accent:#1e242d;--accent-foreground:#f4f6fa;--border:#ffffff17;--input:#ffffff1f;--ring:#78a9ff;--ws-alt:#181d24;--ws-blue-2:#78a9ff;--ws-border-blue:#4385ff73;--ws-glow:#4385ff29;--ws-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--ws-ease:cubic-bezier(.22, 1, .36, 1);background:var(--background);color:var(--foreground);overflow-x:clip}body:has(.web-studio) header.fixed{--background:#14171c;--foreground:#f4f6fa;--muted-foreground:#b5bdc9;--border:#ffffff17;--primary:#4385ff}body:has(.web-studio) header.fixed .brand-logo-stable{filter:invert()}body:has(.web-studio) footer{--background:#101318;--foreground:#f4f6fa;--muted-foreground:#b5bdc9;--border:#ffffff14;--primary:#4385ff;background:var(--background);color:var(--foreground)}body:has(.web-studio) footer .brand-logo-stable{filter:invert()}.web-studio{--color-primary:#4385ff;--color-primary-foreground:#0b1020}body:has(.web-studio) header.fixed{--color-primary:#4385ff;--color-primary-foreground:#0b1020}body:has(.web-studio) footer{--color-primary:#4385ff;--color-primary-foreground:#0b1020}body:has(.web-studio) footer .eyebrow{color:var(--ws-blue-2,#78a9ff)}body:has(.web-studio) header.fixed .site-eyebrow{color:#78a9ff}.web-studio a:focus-visible,.web-studio button:focus-visible{outline:2px solid var(--ws-blue-2);outline-offset:4px}.web-studio .eyebrow{color:var(--ws-blue-2)}.ws-mono{font-family:var(--ws-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ws-blue-2);font-size:11px}.ws-alt{background:var(--ws-alt)}.ws-section{padding-block:clamp(4.5rem,9vw,8rem);position:relative}.ws-glow{pointer-events:none;background:radial-gradient(closest-side, var(--ws-glow), transparent);filter:blur(10px);z-index:0;border-radius:50%;position:absolute}.ws-card{background:var(--card);border:1px solid var(--border);border-radius:1.25rem}.ws-btn-ghost{color:var(--foreground);border:1px solid #ffffff2e;border-radius:9999px;align-items:center;gap:.6rem;padding:1rem 1.75rem;font-size:.875rem;font-weight:700;transition:border-color .25s,background .25s;display:inline-flex}.ws-btn-ghost:hover{border-color:var(--ws-border-blue);background:#4385ff14}.ws-btn-ghost svg{transition:transform .25s var(--ws-ease)}.ws-btn-ghost:hover svg{transform:translateY(2px)}.ws-hero{padding-top:clamp(7rem,12vw,10rem);padding-bottom:clamp(4rem,8vw,7rem);position:relative}.ws-enter{animation:ws-enter .7s var(--ws-ease) both;animation-delay:var(--d,0s)}@keyframes ws-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.ws-stage{position:relative}.ws-stage .ws-glow{inset:-18% -20%}.ws-browser{z-index:1;background:#0f1217;border:1px solid #ffffff1a;border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 40px 90px -40px #000c,0 0 0 1px #4385ff0f}.ws-browser-bar{background:#181d24;border-bottom:1px solid #ffffff12;align-items:center;gap:6px;padding:11px 14px;display:flex}.ws-browser-bar i{background:#ffffff24;border-radius:50%;width:9px;height:9px}.ws-browser-url{height:20px;font-family:var(--ws-mono);color:#b5bdc9b3;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border-radius:6px;flex:1;margin-left:10px;padding-inline:10px;font-size:10px;line-height:20px;overflow:hidden}.ws-hero-shot{animation:ws-fade 1.1s var(--ws-ease) .25s both}@keyframes ws-fade{0%{opacity:0}to{opacity:1}}.ws-scan{z-index:2;pointer-events:none;background:linear-gradient(90deg, transparent, var(--ws-blue-2), transparent);width:38%;height:1px;box-shadow:0 0 12px var(--primary);opacity:0;animation:ws-scan 1.8s var(--ws-ease) .7s 1 both;position:absolute;top:-1px;left:0}@keyframes ws-scan{0%{opacity:0;transform:translate(-40%)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(210%)}}.ws-stage{container-type:inline-size}.ws-code-badge{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;animation:7s ease-in-out 2s infinite ws-float;position:absolute;bottom:calc(100% + 1.5rem);left:0;right:0}@keyframes ws-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ws-code{font-family:var(--ws-mono);white-space:pre;color:#f4f6fa;font-size:min(15px,2.32558cqw);line-height:1.75;animation:4.5s ease-in-out 2.4s infinite ws-neon}@keyframes ws-neon{0%,to{filter:brightness(.92)drop-shadow(0 0 2px #4385ff40)}50%{filter:brightness(1.12)drop-shadow(0 0 10px #4385ff8c)}}.ws-tk-t{color:#dbe8ff;text-shadow:0 0 10px #4385ff4d}.ws-tk-a{color:#c3d4ff;text-shadow:0 0 4px #78a9ffcc,0 0 14px #4385ff73}.ws-tk-v{color:#e6f6ff;text-shadow:0 0 3px #fff,0 0 8px #7dd3fc,0 0 20px #38bdf899}.ws-tk-p{color:#b5bdc9bf;text-shadow:0 0 6px #78a9ff66}.ws-line{width:calc(var(--n) * 1ch);display:block;overflow:hidden}.ws-typing .ws-line{width:0;animation:ws-type calc(var(--n) * 20ms) steps(var(--n), end) var(--d) forwards}@keyframes ws-type{to{width:calc(var(--n) * 1ch)}}.ws-faq-code{pointer-events:none;-webkit-user-select:none;user-select:none;margin-top:3rem;animation:7s ease-in-out 2s infinite ws-float;display:none}.ws-faq-code .ws-code{font-size:14px}@media (width>=768px){.ws-faq-code{display:block}}.ws-cursor{vertical-align:-.2em;background:var(--ws-blue-2);opacity:0;width:.55em;height:1.1em;animation:.9s steps(2,end) 1.6s 4 both ws-blink;display:inline-block}@keyframes ws-blink{0%{opacity:.8}to{opacity:0}}.ws-project{height:100%;transition:transform .3s var(--ws-ease), border-color .3s;flex-direction:column;display:flex;position:relative;overflow:hidden}.ws-project-media{border-bottom:1px solid var(--border);background:#0f1217;position:relative;overflow:hidden}.ws-project-media img,.ws-project .ws-arrow{transition:transform .3s var(--ws-ease)}@media (hover:hover) and (pointer:fine){.ws-project:hover{border-color:var(--ws-border-blue);transform:translateY(-4px)}.ws-project:hover .ws-project-media img{transform:scale(1.025)}.ws-project:hover .ws-arrow{transform:translate(4px)}}.ws-chip{border:1px solid var(--border);color:var(--muted-foreground);border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}@media (width>=1024px){.ws-project.is-lead{grid-template-columns:1.45fr 1fr;display:grid}.ws-project.is-lead .ws-project-media{border-bottom:0;border-right:1px solid var(--border)}}.ws-icon{border:1px solid var(--ws-border-blue);width:44px;height:44px;color:var(--ws-blue-2);background:#4385ff0f;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.ws-icon svg{stroke-width:1.5px}.ws-tile{transition:border-color .3s}@media (hover:hover){.ws-tile:hover{border-color:var(--ws-border-blue)}}.ws-timeline{--p:0;position:relative}.ws-track{width:2px;left:21px;top:var(--t0,0);height:var(--tl,0);pointer-events:none;position:absolute}.ws-track:before{content:"";background:#ffffff1a;border-radius:2px;position:absolute;inset:0}.ws-fill{transform-origin:top;transform:scaleY(var(--p));background:linear-gradient(var(--primary), var(--ws-blue-2));will-change:transform;border-radius:2px;position:absolute;inset:0}.ws-head{left:50%;top:calc(var(--p) * 100%);width:8px;height:8px;box-shadow:0 0 0 4px #78a9ff40, 0 0 16px 4px var(--primary);opacity:calc(min(var(--p) * 20, 1));background:#fff;border-radius:50%;margin:-4px 0 0 -4px;position:absolute}.ws-step{grid-template-columns:44px 1fr;gap:1.5rem;padding-block:1.75rem;display:grid;position:relative}.ws-marker{z-index:1;background:var(--ws-alt);border:1px solid #ffffff29;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .3s,border-color .3s,box-shadow .4s;display:grid;position:relative}.ws-marker:after{content:"";background:#fff3;border-radius:50%;width:10px;height:10px;transition:background .3s}.ws-step[data-on=true] .ws-marker{background:var(--primary);border-color:var(--ws-blue-2);box-shadow:0 0 0 6px #4385ff24,0 0 28px #4385ff73}.ws-step[data-on=true] .ws-marker:after{background:#fff}.ws-stepnum{letter-spacing:-.04em;color:#ffffff1f;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1;transition:color .4s}.ws-step[data-on=true] .ws-stepnum{color:var(--ws-blue-2)}@media (width>=768px){.ws-step{grid-template-columns:44px 9rem 1fr;align-items:start;gap:2.5rem;padding-block:2.75rem}}.ws-price.is-featured{border-color:var(--ws-border-blue);background:#232a35}.ws-faq-row{transition:background .3s}.ws-faq-row[data-open=true]{background:#ffffff06}.ws-plus{width:14px;height:14px;color:var(--ws-blue-2);transition:transform .3s var(--ws-ease);flex-shrink:0;margin-top:.35rem;position:relative}.ws-plus:before,.ws-plus:after{content:"";background:currentColor;width:100%;height:1.5px;margin-top:-.75px;position:absolute;top:50%;left:0}.ws-plus:after{transition:transform .3s var(--ws-ease);transform:rotate(90deg)}.ws-faq-row[data-open=true] .ws-plus{transform:rotate(180deg)}.ws-faq-row[data-open=true] .ws-plus:after{transform:rotate(0)}.ws-cta-line{background:linear-gradient(90deg, transparent, var(--primary), var(--ws-blue-2), transparent);transform-origin:0;width:100%;max-width:22rem;height:1px;transition:transform 1.2s var(--ws-ease) .15s;margin-inline:auto;transform:scaleX(0)}.ws-cta-line[data-drawn=true]{transform:scaleX(1)}@media (width<=767px){.ws-code-badge{display:none}.ws-glow{opacity:.6}}@media (prefers-reduced-motion:reduce){.web-studio *,.web-studio :before,.web-studio :after{transition-duration:1ms!important;animation:none!important}.ws-typing .ws-line{width:calc(var(--n) * 1ch)}.ws-scan,.ws-cursor{display:none}.ws-cta-line{transform:scaleX(1)}.web-studio .reveal{opacity:1!important;transform:none!important}}.ws-stage .ws-browser{border-color:#78a9ff8c;animation:5s ease-in-out 1.5s infinite ws-edge;overflow:visible;box-shadow:0 0 0 1px #4385ff59,0 0 18px #4385ff59,0 0 48px -6px #38bdf84d,0 40px 90px -40px #000c}.ws-stage .ws-browser-bar{border-radius:1rem 1rem 0 0}.ws-stage .ws-hero-shot{border-radius:0 0 1rem 1rem;overflow:hidden}@keyframes ws-edge{0%,to{box-shadow:0 0 0 1px #4385ff4d,0 0 14px #4385ff47,0 0 40px -8px #38bdf838,0 40px 90px -40px #000c}50%{box-shadow:0 0 0 1px #78a9ff99,0 0 24px #4385ff80,0 0 64px -4px #38bdf861,0 40px 90px -40px #000c}}
