:root{--ease-out:cubic-bezier(.2,.7,.2,1);--ease-in:cubic-bezier(.55,0,.75,.2);--ease-io:cubic-bezier(.65,0,.35,1);--spring:cubic-bezier(.34,1.56,.64,1);--ok:152 69% 40%;--bad:0 78% 58%}@supports (animation-timing-function:linear(0, 1)){:root{--spring:linear(0,.013 0.6%,.05 1.2%,.2 2.5%,.442 4%,.682 5.6%,.896 7.3%,1.035 9%,1.105 10.7%,1.122 12.4%,1.101 14.3%,1.052 16.6%,1.011 19%,.99 21.5%,.987 24.6%,.997 30.5%,1.002 37.9%,1)}}.dark{--ok:152 62% 52%}.skel{z-index:0;pointer-events:none;background:hsl(var(--muted));opacity:0;transition:opacity .35s;position:absolute;inset:0;overflow:hidden}.skel:after{content:"";background:linear-gradient(100deg,transparent 25%,hsl(var(--foreground)/.07)50%,transparent 75%);position:absolute;inset:0;transform:translate(-100%)}.skel[data-state=loading]{opacity:1;transition:none}.skel[data-state=loading]:after{animation:1.25s cubic-bezier(.4,0,.2,1) infinite skel-sweep}.skel-dark{background:#ffffff0a}.skel-dark:after{background:linear-gradient(100deg,#0000 25%,#ffffff17 50%,#0000 75%)}@keyframes skel-sweep{to{transform:translate(100%)}}img[data-develop]{animation:img-develop .55s var(--ease-out)both}@keyframes img-develop{0%{opacity:.2;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}.section-skel{min-height:70vh;animation:.3s .15s both section-skel-in}.section-skel .bar,.section-skel .block{background:hsl(var(--muted)/.7);border-radius:.75rem;position:relative;overflow:hidden}.section-skel .bar:after,.section-skel .block:after{content:"";background:linear-gradient(100deg,transparent 25%,hsl(var(--foreground)/.06)50%,transparent 75%);animation:1.25s cubic-bezier(.4,0,.2,1) infinite skel-sweep;animation-delay:calc(var(--i,0)*90ms);position:absolute;inset:0;transform:translate(-100%)}@keyframes section-skel-in{0%{opacity:0}}.g-tray,.g-arrow,.g-person,.g-plus,.g-tick,.g-nodes,.g-link,.g-node,.g-plane,.g-back,.g-front{transform-box:fill-box;transform-origin:50%}.glyph .g-tick{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .3s var(--ease-io)}.mo-drop .g-arrow{animation:.64s both g-drop}@keyframes g-drop{0%{opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45);transform:none}30%{opacity:0;transform:translateY(8px)}31%{opacity:0;animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:translateY(-11px)}to{opacity:1;transform:none}}.mo-drop .g-tray{transform-origin:bottom;animation:.64s both g-tray}@keyframes g-tray{0%,27%{transform:none}40%{animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:scale(1.08,.72)}to{transform:none}}.mo-launch .g-arrow{animation:.6s both g-launch}@keyframes g-launch{0%{opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45);transform:none}34%{opacity:0;transform:translateY(-10px)}35%{opacity:0;animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:translateY(10px)}to{opacity:1;transform:none}}[data-phase=done] .glyph,[data-phase=done] .phase-label{color:hsl(var(--ok))}[data-phase=fail] .glyph,[data-phase=fail] .phase-label{color:hsl(var(--bad))}[data-phase=fail] .glyph{animation:.38s cubic-bezier(.36,.07,.19,.97) both g-shake}@keyframes g-shake{20%,60%{transform:translate(-2.5px)}40%,80%{transform:translate(2.5px)}}.phase-label{display:inline-block}[data-phase=done] .phase-label,[data-phase=fail] .phase-label{animation:label-in .32s var(--ease-out)both}@keyframes label-in{0%{opacity:0;transform:translateY(5px)}}.g-plus{transition:transform .24s var(--ease-out),opacity .2s ease}[data-phase=done] .g-plus{opacity:0;transform:rotate(90deg)scale(0)}[data-phase=done] .g-tick{stroke-dashoffset:0;transition-delay:.16s}[data-phase=done] .g-person{animation:g-nod .42s var(--ease-out).12s}@keyframes g-nod{40%{transform:translateY(1.5px)}}[data-phase=wait] .glyph{opacity:.5;transition:opacity .2s}.g-front,.g-back{transition:transform .26s var(--ease-out),opacity .22s ease}[data-phase=done] .g-front{opacity:0;transition-timing-function:var(--ease-in);transform:translate(3px,-6px)rotate(10deg)}[data-phase=done] .g-back{opacity:0;transition-delay:80ms}[data-phase=done] .glyph .g-tick{stroke-dashoffset:0;transition-delay:.18s}.g-node,.g-link{transition:transform .3s var(--spring),opacity .2s ease}:is([data-phase=fold],[data-phase=wait],[data-phase=fly],[data-phase=done]) .g-node-a{transform:translate(-12px,7px)scale(.3)}:is([data-phase=fold],[data-phase=wait],[data-phase=fly],[data-phase=done]) .g-node-c{transform:translate(-12px,-7px)scale(.3)}:is([data-phase=fold],[data-phase=wait],[data-phase=fly],[data-phase=done]) .g-node{opacity:0;transition:transform .18s var(--ease-in),opacity .14s ease 60ms}:is([data-phase=fold],[data-phase=wait],[data-phase=fly],[data-phase=done]) .g-link{opacity:0;transition-duration:.14s;transform:scale(0)}.g-plane{opacity:0;transition:transform .2s var(--ease-in),opacity .15s ease;transform:scale(.3)rotate(-30deg)}:is([data-phase=fold],[data-phase=wait]) .g-plane{opacity:1;transition:transform .34s var(--spring).1s,opacity .12s ease .1s;transform:none}[data-phase=wait] .g-plane{animation:.9s ease-in-out .45s infinite alternate g-hover}@keyframes g-hover{0%{transform:translateY(.8px)rotate(-3deg)}to{transform:translateY(-1.2px)rotate(2deg)}}[data-phase=fly] .g-plane{opacity:1;animation:g-fly .42s var(--ease-in)forwards}@keyframes g-fly{0%{opacity:1;transform:none}25%{opacity:1;transform:translate(-1.5px,1px)rotate(-6deg)}to{opacity:0;transform:translate(18px,-16px)rotate(-10deg)scale(.6)}}[data-phase=done] .g-plane{transition:none}[data-phase=done] .glyph .g-tick{stroke-dashoffset:0}.share-menu{transform-origin:0 0;animation:menu-unfold .26s var(--ease-out)both}.share-menu>:is(a,button){animation:menu-item-in .28s var(--ease-out)both;animation-delay:calc(60ms + var(--i,0)*35ms)}.share-menu[data-closing]{animation:menu-fold .16s var(--ease-in)forwards}.share-menu[data-closing]>:is(a,button){animation:none}@keyframes menu-unfold{0%{clip-path:inset(0 0 100% round 12px);transform:translateY(-4px)}to{clip-path:inset(0 round 12px);transform:none}}@keyframes menu-fold{to{clip-path:inset(0 0 100% round 12px);opacity:.4;transform:translateY(-4px)}}@keyframes menu-item-in{0%{opacity:0;transform:translateY(-5px)}}.askai-bubble{z-index:70;pointer-events:none;width:34px;height:34px;position:fixed}.askai-bubble-in{background:hsl(var(--primary));width:100%;height:100%;color:hsl(var(--primary-foreground));box-shadow:0 8px 22px -8px hsl(var(--primary)/.7);border-radius:9999px;justify-content:center;align-items:center;display:flex}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}html.theme-vt::view-transition-old(root){mix-blend-mode:normal;animation:none}html.theme-vt::view-transition-new(root){mix-blend-mode:normal;animation:none}html.theme-vt .theme-ico{animation:theme-turn .6s var(--spring)80ms both}@keyframes theme-turn{0%{opacity:0;transform:rotate(-110deg)scale(.3)}}.lang-pill{transition:transform .34s var(--spring)}.js [data-reveal-group]:not([data-in]) .rv-side{transform:translateX(var(--from-x,-24px))}.rv-pop{transition-timing-function:var(--spring),var(--spring);transition-duration:.5s,.7s}.js [data-reveal-group]:not([data-in]) .rv-pop{transform:translateY(10px)scale(.82)}.rv-pin{transition-timing-function:ease,var(--spring);transition-duration:.3s,.6s}.js [data-reveal-group]:not([data-in]) .rv-pin{transform:scale(0)}.rv-follow{transition:opacity .45s var(--ease-out),translate .5s var(--spring);transition-delay:calc(var(--i,0)*70ms + var(--after,0s))}.js [data-reveal-group]:not([data-in]) .rv-follow{opacity:0;translate:var(--follow-from,-8px 0)}@supports (animation-timeline:view()){.xp-line{transform-origin:top;animation:linear both xp-line;animation-timeline:view();animation-range:entry cover 55%}}@keyframes xp-line{0%{scale:1 0}to{scale:1}}.xp-dot{position:relative}.xp-dot:after{content:"";opacity:0;pointer-events:none;border:2px solid;border-radius:9999px;position:absolute;inset:-4px}.js [data-reveal-group][data-in] .xp-dot:after{animation:pin-ring .75s var(--ease-out).5s}@keyframes pin-ring{0%{opacity:.55;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.ach-line{transition:transform 1.1s var(--ease-io).15s}.js [data-reveal-group]:not([data-in]) .ach-line-x{transform:scaleX(0)}.js [data-reveal-group]:not([data-in]) .ach-line-y{transform:scaleY(0)}.ach-burst{opacity:0;pointer-events:none;border:2px solid #facc15cc;border-radius:9999px;position:absolute;inset:-6px}.js [data-reveal-group][data-in] .ach-burst{animation:pin-ring .9s var(--ease-out);animation-delay:calc(var(--i,0)*70ms + .55s)}.rise-in{animation:rise-in .32s var(--ease-out)both}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}.dot-pop{animation:dot-pop .36s var(--spring)both}@keyframes dot-pop{0%{transform:scale(0)}}.reel-pop{animation:reel-pop .5s var(--spring)both;animation-delay:calc(.15s + var(--i,0)*.15s)}@keyframes reel-pop{0%{opacity:0;transform:translateY(8px)scale(.6)}}.medal-in{animation:medal-in .6s var(--spring).2s both}@keyframes medal-in{0%{opacity:0;transform:translateY(10px)rotate(-3deg)}}.medal-swing{transform-origin:50% 0;animation:1.3s ease-out .45s both medal-swing}@keyframes medal-swing{0%{transform:rotate(-14deg)}30%{transform:rotate(9deg)}55%{transform:rotate(-5deg)}78%{transform:rotate(2deg)}to{transform:none}}.chip-bg{transform-origin:0}.yt-ring{border:3px solid #ffffff40;border-top-color:#fff;border-radius:9999px;animation:.8s linear infinite yt-spin;position:absolute;inset:-6px}@keyframes yt-spin{to{transform:rotate(360deg)}}.yt-cover{transition:opacity .35s}.yt-cover[data-gone]{opacity:0;pointer-events:none}.yt-press{animation:yt-press .3s var(--spring)both}@keyframes yt-press{40%{transform:translate(-50%,-50%)scale(.86)}to{transform:translate(-50%,-50%)scale(1)}}.lb-chrome{animation:lb-chrome-in .3s var(--ease-out).2s both}@keyframes lb-chrome-in{0%{opacity:0;translate:0 6px}}.lb-slide{animation:lb-slide .34s var(--ease-out)both}@keyframes lb-slide{0%{opacity:.25;transform:translateX(calc(var(--dir,1)*36px))}}::view-transition-old(root){animation:vt-out .2s var(--ease-in)both}::view-transition-new(root){animation:vt-in .36s var(--ease-out)50ms both}@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px)}}.vt-proj{view-transition-class:proj}.vt-svc{view-transition-class:svc}::view-transition-group(*.proj){animation-duration:.48s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(*.svc){animation-duration:.48s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(*.proj){border-radius:1rem;overflow:clip}::view-transition-old(*.proj){-o-object-fit:cover;object-fit:cover;height:100%;animation-duration:.48s}::view-transition-new(*.proj){-o-object-fit:cover;object-fit:cover;height:100%;animation-duration:.48s}@media (prefers-reduced-motion:reduce){.skel[data-state=loading]:after,.section-skel .bar:after,.section-skel .block:after,img[data-develop],.section-skel,.mo-drop :is(.g-arrow,.g-tray),.mo-launch .g-arrow,[data-phase] .glyph,[data-phase] .phase-label,[data-phase] .g-person,[data-phase] .g-plane,.share-menu,.share-menu>:is(a,button),html.theme-vt .theme-ico,.xp-line,.xp-dot:after,.ach-burst,.rise-in,.dot-pop,.reel-pop,.medal-in,.medal-swing,.yt-press,.lb-chrome,.lb-slide{animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.glyph :is(g,path,line,circle,rect),.lang-pill,.rv-side,.rv-pop,.rv-pin,.rv-follow,.ach-line,.yt-cover{transition:none!important}.yt-ring{border-color:#fff9;animation:none}.js [data-reveal-group]:not([data-in]) :is(.rv-side,.rv-pop,.rv-pin,.ach-line-x,.ach-line-y){opacity:1;transform:none}.js [data-reveal-group]:not([data-in]) .rv-follow{opacity:1;translate:none}}.boot [data-reveal-group]:not([data-in]) :is(.rv-follow,.ach-line-x,.ach-line-y){animation:.6s 8s forwards rv-fallback}@keyframes rv-fallback{to{opacity:1;transform:translate(0,0)}}@media print{.rv-follow,.ach-line,.rv-side,.rv-pop,.rv-pin{opacity:1!important;transform:translate(0,0)!important}.skel{display:none}}.ikas-card{color:#fff;background:#0b1020;box-shadow:0 30px 80px -40px #3034ffb3,0 0 0 1px #ffffff1a}.ikas-glow{z-index:-1;background:var(--ikas);pointer-events:none;border-radius:9999px;position:absolute}.ikas-glow-a{opacity:.3;filter:blur(110px);width:30rem;height:30rem;top:-8rem;right:-6rem}.ikas-glow-b{opacity:.15;filter:blur(100px);width:20rem;height:20rem;bottom:-10rem;left:-5rem}.ikas-dots{z-index:-1;pointer-events:none;opacity:.09;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.ikas-ribbon{background:var(--ikas);color:#fff;box-shadow:0 6px 20px -6px #3034ffe6}.ikas-cta{background:var(--ikas);color:#fff;transition:filter .2s,transform .2s var(--ease-out);box-shadow:0 10px 30px -10px #3034ffe6}.ikas-cta:hover{filter:brightness(1.1);transform:translateY(-2px)}.ikas-ring,.ikas-bolt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ikas-ring{border-radius:9999px}.ikas-ring-outer{border:1px solid #ffffff12;width:15rem;height:15rem}.ikas-ring-inner{border:1px solid #3034ff73;width:10rem;height:10rem}.ikas-core{filter:blur(40px);background:#3034ff4d;width:8rem;height:8rem}.ikas-bolt{filter:drop-shadow(0 0 24px #3034fff2);width:7rem;height:7rem}@media (min-width:640px){.ikas-ring-outer{width:19rem;height:19rem}.ikas-ring-inner{width:13rem;height:13rem}.ikas-bolt{width:9rem;height:9rem}}@media (min-width:768px){.ikas-bolt{width:10rem;height:10rem}}.ikas-flash{pointer-events:none;opacity:0;background:radial-gradient(circle,#ffffff8c,#0000 55%);position:absolute;inset:0}.ikas-step{color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1020b3;border:1px solid #ffffff1a}.ikas-trail{background:linear-gradient(to right,transparent,var(--ikas),#ffffffe6);transform-origin:100%;opacity:.35;height:2px;transition:transform .7s cubic-bezier(.16,1,.3,1)var(--d,0s),opacity .7s ease var(--d,0s);border-radius:9999px;position:absolute;right:50%;transform:scaleX(.35)}.ikas-card:hover .ikas-trail{opacity:1;transform:scaleX(1)}@keyframes ikas-flash{0%,to{opacity:0}12%{opacity:1}24%{opacity:.15}36%{opacity:.8}}@keyframes ikas-jolt{0%,to{transform:translate(-50%,-50%)scale(1)}14%{transform:translate(-50%,-50%)scale(1.12)rotate(-4deg)}34%{transform:translate(-50%,-50%)scale(.98)rotate(1deg)}}.ikas-card:hover .ikas-flash{animation:.9s ease-out ikas-flash}.ikas-card:hover .ikas-bolt{animation:.9s cubic-bezier(.2,.9,.3,1.2) ikas-jolt}.fa-art{background:linear-gradient(135deg,#1fae66,#138a50 50%,#0a5533)}.fa-back{background:#ffffff40;border-radius:10px;width:74%;height:62%;position:absolute;transform:translate(.75rem,.5rem)rotate(4deg)}.fa-card{filter:drop-shadow(0 14px 22px #00000059);width:74%;transition:transform .5s var(--ease-out);position:relative;transform:rotate(-4deg)}.group:hover .fa-card{transform:rotate(0)scale(1.03)}@media (prefers-reduced-motion:reduce){.ikas-trail,.fa-card{transition:none}.ikas-card:hover .ikas-flash,.ikas-card:hover .ikas-bolt{animation:none}}@keyframes askai-launch-in{0%{opacity:0;transform:translateY(12px)scale(.6)}}.askai-launch-in{animation:askai-launch-in .42s var(--spring)backwards}@media (prefers-reduced-motion:reduce){.askai-launch-in{animation:none}}@media (min-width:768px){.pipe-grid{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}}.model-stage{background:radial-gradient(120% 90% at 50% 15%,#38bdf829,#0000 60%),radial-gradient(80% 60% at 50% 100%,#0f172ae6,#0000 70%),linear-gradient(#0f172a 0%,#070b14 100%)}.cv-pending{content-visibility:auto;contain-intrinsic-size:auto 900px}
