/* Motion is layered over the static site; no library or remote asset is needed. */
.hero h1 .hero-line{display:inline!important;color:inherit}
.hero h1 .hero-character{display:inline-block!important;color:inherit}
.hero h1>span:last-child{display:inline!important}
.hero h1 .hero-word-text{display:inline-block!important;color:inherit;min-width:2em;will-change:transform,opacity}
.hero-word{isolation:isolate;transition:background .7s ease;transform-origin:70% 90%}
.hero-word[data-word="1"]{background:#f4f1fa}
.hero-word[data-word="2"]{background:#eef4f4}
.hero-word svg path{stroke-dasharray:1;stroke-dashoffset:0}
.motion-enabled.motion-entered .hero-character{animation:letter-arrive .72s cubic-bezier(.2,.75,.2,1) var(--letter-delay,0ms) both}
.motion-enabled.motion-entered .hero>.eyebrow{animation:soft-arrive .7s ease both}
.motion-enabled.motion-entered .hero-word{animation:word-arrive .85s cubic-bezier(.2,.8,.2,1) .45s both}
.motion-enabled.motion-entered .hero-word svg path{animation:draw-accent .9s cubic-bezier(.5,0,.2,1) .95s both}
.motion-enabled.motion-entered .hero-description{animation:soft-arrive .8s cubic-bezier(.2,.7,.3,1) .45s both}
.motion-enabled.motion-entered .hero-actions{animation:soft-arrive .8s cubic-bezier(.2,.7,.3,1) .6s both}
.motion-enabled.motion-entered .platform-note{animation:soft-arrive .8s ease .72s both}
.motion-enabled .hero-word.word-exit .hero-word-text{opacity:0;transform:translateY(-.18em) rotate(-4deg);transition:transform .19s ease,opacity .17s ease}
.motion-enabled .hero-word.word-enter .hero-word-text{animation:word-replace .7s cubic-bezier(.16,.8,.24,1) both}
.motion-enabled .hero-word.word-enter svg path{animation:draw-accent .7s ease .1s both}
@keyframes letter-arrive{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:translateY(0)}}
@keyframes word-arrive{from{opacity:0;transform:translateY(13px) rotate(3deg) scale(.95)}to{opacity:1;transform:none}}
@keyframes word-replace{0%{opacity:0;transform:translateY(.24em) rotate(4deg)}75%{opacity:1;transform:translateY(-.025em) rotate(-.5deg)}100%{opacity:1;transform:none}}
@keyframes draw-accent{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes soft-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.will-reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.22,.7,.28,1) var(--reveal-delay,0ms),transform .85s cubic-bezier(.22,.7,.28,1) var(--reveal-delay,0ms)}
.will-reveal.revealed{opacity:1;transform:translateY(0)}
.button,.scene-demo,.file-card{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
@media(hover:hover){.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #28202912}.scene-demo:hover{transform:translateX(3px)}.file-card:hover{transform:translateY(-3px)}}

.mode-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,1fr)}
.mode-tabs::before{content:"";position:absolute;z-index:-1;inset:5px auto 5px 5px;width:calc((100% - 10px)/3);border-radius:100px;background:white;box-shadow:0 3px 12px #2321290d;transform:translateX(calc(var(--mode-index,0)*100%));transition:transform .55s cubic-bezier(.22,.8,.22,1)}
.mode-tabs button{position:relative;background:transparent!important;box-shadow:none!important;overflow:hidden;justify-content:center}
.mode-tabs button::after{content:"";position:absolute;bottom:3px;left:20%;right:20%;height:2px;background:#db6b68;border-radius:3px;transform:scaleX(0);transform-origin:left}
.mode-tabs button[aria-selected=true]::after{transform:scaleX(var(--demo-progress,0))}
.demo-tools{gap:12px}.pause-demo{border:0;background:transparent;padding:7px 0;font-size:12px;color:#60646e;min-width:49px;white-space:nowrap}
.pause-demo:hover,.replay:hover{color:var(--red)}.pause-demo:disabled{color:#96999f;cursor:default}
.replay{white-space:nowrap}
.demo-timeline{height:2px;position:absolute;bottom:0;left:0;right:0;background:#f1f0f2;overflow:hidden}
.demo-timeline span{display:block;height:100%;background:linear-gradient(90deg,#e9c2c0,#ce7773);transform:scaleX(var(--demo-progress,0));transform-origin:left}
.app-window{position:relative}.app-preview{position:relative;overflow:hidden}
.app-window .assistant-label,.app-window #demo-answer,.app-window .execution,.app-window .artifact{transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
.app-window:not(.has-answer) .assistant-label,.app-window:not(.has-answer) #demo-answer{opacity:0;transform:translateY(9px);pointer-events:none}
.app-window:not(.has-execution) .execution{opacity:0;transform:translateY(9px)}
.app-window:not(.has-result) .artifact{opacity:0;transform:translateY(12px);pointer-events:none}
.app-window[data-phase="0"] .user-message{animation:request-arrive .65s cubic-bezier(.2,.7,.3,1) both}
@keyframes request-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.execution>div{transition:opacity .4s ease,color .4s ease}
.execution>div.is-waiting{opacity:.28}.execution .check{width:13px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.execution>div.is-current .check::after{content:"";width:9px;height:9px;border:1.5px solid #edc9c7;border-top-color:#c86660;border-radius:50%;animation:working-spin 1s linear infinite}
@keyframes working-spin{to{transform:rotate(360deg)}}
.app-window .preview-tab #file-title,.app-window .preview-toolbar{transition:opacity .5s ease}
.app-window:not(.has-result) .preview-tab #file-title{opacity:.35}
.app-window:not(.has-result) .preview-toolbar{opacity:.38}
.preview-wait{position:absolute;inset:85px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none;transition:opacity .4s ease,transform .5s ease;color:#9399a5}
.preview-wait-icon{position:relative;width:65px;height:78px;border:1px solid #dfe3ea;border-radius:9px;background:#ffffffa6;box-shadow:5px 5px 0 -1px #f2f3f7,5px 5px 0 0 #e3e6ed;padding:25px 12px}
.preview-wait-icon i{display:block;height:3px;border-radius:3px;background:#dfe3eb;margin:0 0 7px;transform-origin:left}
.preview-wait-icon i:last-child{width:66%}
.preview-wait-icon::after{content:"";position:absolute;inset:-10px;background:linear-gradient(110deg,transparent 20%,#fff9 50%,transparent 80%);transform:translateX(-100%);opacity:0}
.has-execution .preview-wait-icon::after{animation:document-scan 2s ease infinite}
.preview-wait-label{font-size:12px;letter-spacing:.3px}
.preview-wait>small{font-size:10px;color:#afb4bd;margin-top:-10px}
.has-result .preview-wait{opacity:0;transform:translateY(-8px)}
@keyframes document-scan{0%{transform:translateX(-85%);opacity:0}25%,65%{opacity:.7}100%{transform:translateX(85%);opacity:0}}
.app-window .report{transition:opacity .6s ease,transform .75s cubic-bezier(.2,.7,.3,1);opacity:0;transform:translateY(15px) scale(.985);transform-origin:50% 20%}
.app-window.has-result .report{opacity:1;transform:none}
.report .result-part{opacity:0;transform:translateY(9px);transition:opacity .65s ease var(--part-delay,0ms),transform .65s cubic-bezier(.2,.7,.3,1) var(--part-delay,0ms)}
.has-result .result-part{opacity:1;transform:none}
.report-metrics strong{font-variant-numeric:tabular-nums;display:block}
.report .bar{background:none!important}
.report .bar::before{content:"";position:absolute;inset:0;border-radius:4px 4px 0 0;background:#dce1ea;transform:scaleY(0);transform-origin:bottom;transition:transform 1.1s cubic-bezier(.2,.8,.3,1) calc(200ms + var(--item-delay,0ms))}
.report .bar:last-child::before{background:#8294b7}
.has-result .report .bar::before{transform:scaleY(1)}
.report .progress-track>span{transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.2,.8,.3,1) .3s}
.has-result .progress-track>span{transform:scaleX(1)}
.report .delivery-list li{opacity:0;transform:translateX(7px);transition:opacity .45s ease calc(.25s + var(--item-delay,0ms)),transform .55s ease calc(.25s + var(--item-delay,0ms))}
.has-result .delivery-list li{opacity:1;transform:none}
.playback-paused .check::after,.playback-paused .preview-wait-icon::after,.playback-paused .user-message{animation-play-state:paused!important}

/* Quiet, original illustrations for the feature cards. */
.browser-illustration{overflow:visible}
.illustration-cursor{position:absolute;left:80%;top:155px;z-index:2;pointer-events:none;width:16px;height:21px;color:#6f83a2;filter:drop-shadow(1px 2px 2px #25314d18);opacity:0}
.illustration-cursor svg{display:block;width:100%;height:100%;fill:currentColor;stroke:white;stroke-width:1.5;stroke-linejoin:round}
.motion-enabled .feature-browser .illustration-cursor{animation:cursor-demo 9s cubic-bezier(.3,.65,.3,1) infinite;animation-play-state:paused}
.motion-enabled .feature-browser .highlight-row{animation:row-demo 9s ease infinite;animation-play-state:paused}
.motion-enabled .feature-browser .browser-bubble{animation:bubble-demo 9s ease infinite;animation-play-state:paused}
.motion-enabled .feature-browser .control-dot{animation:control-breathe 2.5s ease infinite;animation-play-state:paused}
.motion-enabled .feature-file .file-card{animation:file-breathe 7s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .feature-file .file-card.secondary{animation-delay:-3.5s}
.motion-enabled .download-heading .mascot{animation:mascot-float 6s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .motion-inview .illustration-cursor,.motion-enabled .motion-inview .highlight-row,.motion-enabled .motion-inview .browser-bubble,.motion-enabled .motion-inview .control-dot,.motion-enabled .motion-inview .file-card,.motion-enabled .motion-inview .mascot{animation-play-state:running}
@keyframes cursor-demo{0%,8%{opacity:0;transform:translate(15px,-16px)}16%{opacity:1;transform:translate(0,-16px)}36%,50%{opacity:1;transform:translate(-28px,62px)}55%{transform:translate(-28px,62px) scale(.8)}60%,72%{opacity:1;transform:translate(-28px,62px)}86%,100%{opacity:0;transform:translate(-8px,75px)}}
@keyframes row-demo{0%,30%,94%,100%{background:#f8fafc}42%,82%{background:#e8eef8}}
@keyframes bubble-demo{0%,40%{opacity:.4;transform:translateY(5px)}57%,88%{opacity:1;transform:translateY(0)}100%{opacity:.4;transform:translateY(5px)}}
@keyframes control-breathe{0%,100%{box-shadow:0 0 0 0 #798eac00}50%{box-shadow:0 0 0 4px #798eac15}}
@keyframes file-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-7px) rotate(-2deg)}}
.page-inactive *, .page-inactive *::before,.page-inactive *::after{animation-play-state:paused!important}
@media(max-width:640px){.hero h1{font-size:clamp(36px,10.5vw,50px);letter-spacing:-1.5px}}
@media(max-width:1120px){.demo-tools{gap:18px}.pause-demo{font-size:11px}}
@media(max-width:640px){.hero h1 .hero-character{display:inline-block!important}.demo-tools{gap:13px}.demo-label{font-size:10px}.pause-demo,.replay{font-size:11px}.mode-tabs{gap:0}.mode-tabs button{padding-left:9px;padding-right:9px}.preview-wait{inset:70px 0 0}.preview-wait-icon{width:51px;height:63px;padding:18px 10px}.preview-wait-label{font-size:11px}.demo-bottom{flex-direction:column;align-items:center;gap:5px}.demo-bottom>span:last-child{display:block;font-size:10px}.illustration-cursor{left:75%}.report-metrics strong{min-width:0}.will-reveal{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal,.will-reveal.revealed{opacity:1;transform:none}.hero-character,.hero-word,.hero-word-text{opacity:1!important;transform:none!important}.hero-word svg path{stroke-dashoffset:0}.illustration-cursor{display:none}.mode-tabs::before{transition:none}.mascot{transform:rotate(3deg)}}
