.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-bg .girih{position:absolute;inset:0;background-size:56px 56px}.hero-bg .base{opacity:.05;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 75%)}.hero-bg .lit{opacity:0;-webkit-mask-image:radial-gradient(240px circle at var(--x, 30%) var(--y, 40%),#000,transparent 80%);mask-image:radial-gradient(240px circle at var(--x, 30%) var(--y, 40%),#000,transparent 80%);transition:opacity .4s}.dark .hero-bg .base{opacity:.07}@media(hover:hover){[data-hero]:hover .hero-bg .lit{opacity:.2}.dark [data-hero]:hover .hero-bg .lit{opacity:.16}}.aurora{position:absolute;border-radius:50%;will-change:transform}.aurora.a1{top:-16rem;left:50%;width:46rem;height:46rem;margin-left:-23rem;background:radial-gradient(closest-side,color-mix(in srgb,var(--primary) 22%,transparent),transparent);animation:drift1 18s ease-in-out infinite alternate}.aurora.a2{top:30%;right:-12rem;width:30rem;height:30rem;background:radial-gradient(closest-side,color-mix(in srgb,#e2b04a 16%,transparent),transparent);animation:drift2 22s ease-in-out infinite alternate}.aurora.a3{bottom:-14rem;left:-10rem;width:34rem;height:34rem;background:radial-gradient(closest-side,color-mix(in srgb,#4f8fe0 14%,transparent),transparent);animation:drift1 26s ease-in-out infinite alternate-reverse}@keyframes drift1{to{transform:translate(6rem,4rem) scale(1.15)}}@keyframes drift2{to{transform:translate(-5rem,-3rem) scale(.9)}}.word{display:inline-block;animation:word .9s var(--ease-out-expo) backwards;animation-delay:calc(var(--i) * 90ms + 60ms)}@keyframes word{0%{opacity:0;transform:translateY(.45em) rotate(-2deg);filter:blur(10px)}}.draw path{stroke-dasharray:210;stroke-dashoffset:210;animation:draw 1.1s .75s var(--ease-out-expo) forwards}@keyframes draw{to{stroke-dashoffset:0}}.hl{background:linear-gradient(100deg,var(--primary) 20%,color-mix(in srgb,var(--primary) 55%,#e2b04a) 50%,var(--primary) 80%) 0 0 / 220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:word .9s var(--ease-out-expo) backwards,flow 6s linear 1.2s infinite;animation-delay:calc(var(--i) * 90ms + 60ms),1.2s}@keyframes flow{to{background-position:-220% 0}}.fade-up{animation:fadeup .9s var(--ease-out-expo) backwards;animation-delay:var(--d, 0s)}@keyframes fadeup{0%{opacity:0;transform:translateY(18px);filter:blur(6px)}}.badge-ring{position:relative;isolation:isolate}.badge-ring:before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a),transparent 0 65%,var(--primary) 80%,#e2b04a 88%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 4s linear infinite}@property --a{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes spin{to{--a: 360deg}}.ping{position:relative}.ping:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(2.6);opacity:0}}.stage{perspective:1400px}.tiltable{transform:rotateY(calc(var(--px, 0) * -5deg)) rotateX(calc(var(--py, 0) * 4deg));transition:transform .6s var(--ease-out-expo);transform-style:preserve-3d}.par{translate:calc(var(--px, 0) * var(--k, 14px)) calc(var(--py, 0) * var(--k, 14px));transition:translate .6s var(--ease-out-expo)}.float{animation:float 6s ease-in-out infinite}.float-b{animation:float 7s ease-in-out -2s infinite}@keyframes float{50%{transform:translateY(-9px)}}.pop{animation:pop .8s var(--ease-spring) backwards;animation-delay:var(--d, 0s)}@keyframes pop{0%{opacity:0;transform:scale(.6) translateY(20px)}}@keyframes bubble{0%,8%{opacity:0;transform:translateY(10px) scale(.96)}14%,92%{opacity:1;transform:none}to{opacity:0}}@keyframes typing{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.dot3 i{animation:typing 1.2s infinite}.dot3 i:nth-child(2){animation-delay:.2s}.dot3 i:nth-child(3){animation-delay:.4s}.star-fill{animation:starfill 5s ease-out infinite;animation-delay:calc(var(--i) * .15s + 1.5s)}@keyframes starfill{0%,6%{color:var(--line-strong);transform:scale(.7)}12%,88%{color:#e2b04a;transform:scale(1)}to{color:var(--line-strong)}}.scroll-hint .wheel{animation:wheel 1.8s ease-in-out infinite}@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(9px);opacity:0}to{opacity:0}}.marquee{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee var(--t, 40s) linear infinite}.marquee-track.rev{animation-direction:reverse}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}[data-play]:not(.on) *,[data-play]:not(.on){animation-play-state:paused!important}.typer{display:inline-block;clip-path:inset(0 0 0 100%);animation:type 5s steps(26) infinite}@keyframes type{0%{clip-path:inset(0 0 0 100%)}55%,85%{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 0);opacity:0}}.caret{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.canned-hl{animation:canned 6s var(--ease-out-expo) infinite}@keyframes canned{0%,30%{transform:translateY(0)}33%,63%{transform:translateY(100%)}66%,96%{transform:translateY(200%)}to{transform:translateY(0)}}.beam-path{stroke-dasharray:26 260;animation:beam 2.8s linear infinite;animation-delay:var(--d, 0s)}@keyframes beam{0%{stroke-dashoffset:286}to{stroke-dashoffset:0}}.hand{transform-origin:50% 50%;animation:spin360 8s linear infinite}.hand-s{transform-origin:50% 50%;animation:spin360 60s linear infinite}@keyframes spin360{to{transform:rotate(360deg)}}.status-on{animation:statusA 8s steps(1) infinite}.status-off{animation:statusB 8s steps(1) infinite}@keyframes statusA{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes statusB{0%,49%{opacity:0}50%,to{opacity:1}}.wave i{display:block;width:3px;border-radius:3px;background:currentColor;height:var(--h);animation:wave 1.1s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.13s);transform-origin:center}@keyframes wave{0%{transform:scaleY(.3)}}.bar{transform:scaleY(.05);transform-origin:bottom;transition:transform 1.2s var(--ease-spring);transition-delay:calc(var(--i) * 90ms + .2s)}.in .bar,.on .bar{transform:scaleY(1)}.toast{animation:toast 6s var(--ease-spring) infinite}@keyframes toast{0%,12%{opacity:0;transform:translateY(14px) scale(.95)}20%,80%{opacity:1;transform:none}90%,to{opacity:0;transform:translateY(-8px) scale(.98)}}.row-in{opacity:0;transform:translate(-10px);transition:opacity .6s,transform .7s var(--ease-out-expo);transition-delay:calc(var(--i) * .12s + .25s)}.in .row-in{opacity:1;transform:none}.panel-wrap{perspective:1600px}@supports (animation-timeline: view()){.js .panel-tilt{animation:tilt linear both;animation-timeline:view();animation-range:entry 5% cover 42%}.js .rail-fill{animation:rail linear both;animation-timeline:view();animation-range:cover 15% cover 70%}.js .scroll-fade{animation:sfade linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}@keyframes tilt{0%{transform:rotateX(28deg) scale(.88) translateY(40px);opacity:.5}to{transform:none;opacity:1}}@keyframes rail{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes sfade{0%{opacity:0;transform:translateY(40px) scale(.97)}}.rail-fill{transform-origin:top}.code-line{opacity:0;transform:translate(-8px);transition:opacity .4s,transform .5s var(--ease-out-expo);transition-delay:calc(var(--i) * .11s + .2s)}.in .code-line{opacity:1;transform:none}.beam-card{position:relative;isolation:isolate}.beam-card:before{content:"";position:absolute;inset:-1.5px;z-index:-1;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a),transparent 0 62%,var(--primary) 78%,#e2b04a 86%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 5s linear infinite}.seg{position:relative}.seg-pill{position:absolute;top:4px;bottom:4px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow-1);transition:transform .5s var(--ease-spring),width .5s var(--ease-spring)}.faq details{interpolate-size:allow-keywords}.faq details::details-content{height:0;overflow:clip;transition:height .45s var(--ease-out-expo),content-visibility .45s allow-discrete}.faq details[open]::details-content{height:auto}.faq summary{list-style:none}.faq summary::-webkit-details-marker{display:none}.faq details[open] .plus{transform:rotate(45deg);background:var(--primary);color:var(--on-primary)}.meteor{position:absolute;top:-10%;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #ffffff1a;transform:rotate(215deg);animation:meteor var(--t, 6s) linear infinite;animation-delay:var(--d, 0s);left:var(--l)}.meteor:before{content:"";position:absolute;top:50%;width:90px;height:1px;transform:translateY(-50%);background:linear-gradient(90deg,#fff,transparent)}@keyframes meteor{0%{transform:rotate(215deg) translate(0);opacity:1}70%{opacity:1}to{transform:rotate(215deg) translate(-700px);opacity:0}}.cv{content-visibility:auto;contain-intrinsic-size:auto 800px}.bm{stroke-dasharray:14 120;animation:bm 3s linear infinite;animation-delay:var(--d, 0s)}@keyframes bm{0%{stroke-dashoffset:134}to{stroke-dashoffset:0}}.hub:before,.hub:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1.5px solid color-mix(in srgb,var(--primary) 50%,transparent);animation:hubring 3s var(--ease-out-expo) infinite}.hub:after{animation-delay:1.5s}@keyframes hubring{0%{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}.dev-pane:not(.in) .code-line{opacity:0;transform:translate(-8px);transition:none}.f-item .f-title,.f-item .f-text{transition:opacity .5s,color .5s}@media(min-width:1024px){[data-feats] .f-item:not(.on) .f-title,[data-feats] .f-item:not(.on) .f-text{opacity:.3}[data-feats] .f-item.on .f-dot{background:var(--primary);color:var(--on-primary);transform:translateY(-50%) scale(1.1);box-shadow:0 0 0 8px var(--bg),0 10px 30px color-mix(in srgb,var(--primary) var(--glow-md),transparent)}[data-feats] .f-item:not(.on) .f-dot{box-shadow:0 0 0 8px var(--bg)}}.f-pip.on{width:1.5rem;background:var(--primary)}.f-stage .scene{opacity:0;transform:translateY(24px) scale(.97);filter:blur(8px);transition:opacity .6s var(--ease-out-expo),transform .8s var(--ease-out-expo),filter .6s;pointer-events:none}.f-stage .scene.on{opacity:1;transform:none;filter:none}.scene .s-in,.scene .s-side,.scene .s-type{opacity:0}.scene.run .s-in{animation:s-in .7s var(--ease-spring) both;animation-delay:var(--t, 0s)}.scene.run .s-in.s-out{animation:s-in .7s var(--ease-spring) both,s-out .4s ease-in forwards;animation-delay:var(--t, 0s),var(--o, 3s)}.scene.run .s-side{animation:s-side .7s var(--ease-out-expo) both;animation-delay:var(--t, 0s)}.scene.run .s-type{opacity:1;display:inline-block;animation:s-type 1.8s steps(24) both;animation-delay:var(--t, 0s)}@keyframes s-in{0%{opacity:0;transform:translateY(14px) scale(.92);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes s-out{to{opacity:0;transform:translateY(8px) scale(.96)}}@keyframes s-side{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}@keyframes s-type{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}.scene .s-hl{transform:translateY(0)}.scene.run .s-hl{animation:s-hl .6s var(--ease-spring) forwards;animation-delay:var(--t, 0s)}@keyframes s-hl{to{transform:translateY(100%)}}.scene .s-draw{stroke-dasharray:1;stroke-dashoffset:1}.scene.run .s-draw{animation:s-draw .8s var(--ease-out-expo) forwards;animation-delay:var(--t, 0s)}@keyframes s-draw{to{stroke-dashoffset:0}}.scene.run .s-pick{animation:s-pick .5s var(--ease-spring) forwards;animation-delay:var(--t, 0s)}@keyframes s-pick{to{background:var(--soft);border-color:var(--primary);color:var(--soft-ink);transform:scale(1.06);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 15%,transparent)}}.scene .s-cursor{opacity:0}.scene.run .s-cursor{animation:s-cursor 1.4s var(--ease-out-expo) forwards;animation-delay:var(--t, 0s)}@keyframes s-cursor{0%{opacity:0;transform:translate(50px,60px)}50%{opacity:1;transform:none}60%{transform:scale(.8)}70%{transform:none}to{opacity:0;transform:none}}.scene.run .h-hand{transform-origin:50px 50px;animation:spin360 8s linear infinite}.h-sky{background:linear-gradient(to bottom,color-mix(in srgb,#4f6fe0 14%,transparent),transparent 70%);opacity:0}.scene.run .h-sky,.scene.run .h-moon,.scene.run .h-off{animation:h-night 8s ease-in-out infinite}.scene.run .h-sun,.scene.run .h-on{animation:h-day 8s ease-in-out infinite}.h-moon,.h-off{opacity:0}@keyframes h-day{0%,62%{opacity:1;transform:none}68%,96%{opacity:0;transform:scale(.8)}to{opacity:1}}@keyframes h-night{0%,62%{opacity:0;transform:scale(.8)}68%,96%{opacity:1;transform:none}to{opacity:0}}.v-grid{background-image:radial-gradient(color-mix(in srgb,var(--primary) 30%,transparent) 1px,transparent 1.5px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);opacity:.6}@property --rn{syntax: "<integer>"; inherits: false; initial-value: 0;}.r-num{counter-reset:rn var(--rn)}.r-num:after{content:counter(rn,persian)}.scene.run .r-num{animation:r-num 1.6s var(--ease-out-expo) forwards .3s}@keyframes r-num{to{--rn: 96}}.r-bar{transform:scaleY(.04);transform-origin:bottom}.scene.run .r-bar{animation:r-bar 1.1s var(--ease-spring) forwards;animation-delay:var(--t, 0s)}@keyframes r-bar{to{transform:none}}.r-star{color:var(--line-strong);display:inline-block}.scene.run .r-star{animation:r-star .5s var(--ease-spring) forwards;animation-delay:var(--t, 0s)}@keyframes r-star{50%{transform:scale(1.35) rotate(-12deg)}to{color:#e2b04a;transform:none}}.r-who{opacity:0;transform:translateY(10px);filter:blur(6px);transition:opacity .45s,transform .6s var(--ease-out-expo),filter .45s;pointer-events:none}.r-who.on{opacity:1;transform:none;filter:none}.r-perm{background:var(--bg);transition:background .5s,box-shadow .5s;transition-delay:var(--d)}.r-perm .r-yes,.r-perm .r-no,.r-perm .r-label{transition:opacity .4s,transform .6s var(--ease-spring),color .4s;transition-delay:var(--d)}.r-perm .r-yes{opacity:0;transform:scale(.3) rotate(-90deg)}.r-perm .r-label{color:var(--faint)}.r-perm.ok{background:color-mix(in srgb,var(--primary) 7%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.r-perm.ok .r-yes{opacity:1;transform:none}.r-perm.ok .r-no{opacity:0;transform:scale(.3) rotate(90deg)}.r-perm.ok .r-label{color:var(--ink)}.scene .s-ripple{opacity:0}.scene.run .s-ripple{animation:s-ripple .7s ease-out forwards;animation-delay:var(--t, 0s)}@keyframes s-ripple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35,1.6)}}.rw[data-astro-cid-emcwcinw]{display:inline-block;height:1.3em;overflow:hidden;vertical-align:bottom;line-height:1.3em;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:800;letter-spacing:-.01em;mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}.rw-track[data-astro-cid-emcwcinw]{display:flex;flex-direction:column;animation:rw-cycle 11s cubic-bezier(.76,0,.24,1) infinite}.rw-word[data-astro-cid-emcwcinw]{display:block;height:1.3em;padding-inline:.08em;text-align:center;white-space:nowrap;background:linear-gradient(90deg,var(--primary),#7b4ae2);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes rw-cycle{0%,16%{transform:translateY(0)}20%,36%{transform:translateY(-1.3em)}40%,56%{transform:translateY(-2.6em)}60%,76%{transform:translateY(-3.9em)}80%,96%{transform:translateY(-5.2em)}to{transform:translateY(-6.5em)}}@media(prefers-reduced-motion:reduce){.rw-track[data-astro-cid-emcwcinw]{animation:none}}
