
:root{--mo-acc:var(--acc,#1F55F5);--mo-ease:cubic-bezier(.16,1,.3,1);--mo-io:cubic-bezier(.65,0,.35,1)}

.xi,.xr{--mo-c:#4ADE80}
.xi{--mo-rs:1.45}
.jc-h .ic{--mo-c:var(--mo-acc)}
p a:not([class]):hover,footer a:not(.logo):hover,.calc-links a:hover,.alink:hover{position:relative}
p a:not([class]):hover::after,footer a:not(.logo):hover::after,.calc-links a:hover::after,.alink:hover::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;opacity:.55;transform-origin:left center;pointer-events:none}
.links a:not(.on):hover{position:relative}
.links a:not(.on):hover::before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(10,15,26,.05);z-index:-1;pointer-events:none}
.field,.fbox{position:relative}
.field::after,.fbox::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  box-shadow:inset 0 0 0 1.5px var(--mo-acc),0 0 0 4px color-mix(in srgb,var(--mo-acc) 13%,transparent)}
.field:hover::after,.fbox:hover::after{opacity:.4}
.field:focus-within::after,.fbox:focus-within::after{opacity:1}
.ask[data-state="invalid"] .field::after,.fbox[data-bad="true"]::after{opacity:0}

@media (prefers-reduced-motion:no-preference){

.btn,.nbtn,.tlink{transition:translate .22s var(--mo-ease),scale .22s var(--mo-ease)}
.btn:hover,.nbtn:hover,.tlink:hover{translate:0 -1px}
.btn:active,.nbtn:active,.tlink:active{translate:0 0;scale:.985;transition-duration:.08s}
.btn:disabled{translate:none;scale:none}
p a:not([class]):hover::after,footer a:not(.logo):hover::after,.calc-links a:hover::after,.alink:hover::after{animation:mo-line .35s var(--mo-ease) both}
.links a:not(.on):hover::before{animation:mo-fade .2s var(--mo-ease) both}
.field::after,.fbox::after{transition:opacity .18s var(--mo-ease)}
html.mo .ask[data-state="invalid"] .field,html.mo .fbox[data-bad="true"]{animation:mo-shake .34s var(--mo-io)}
html.mo .res>div,html.mo .ask-msg p{animation:mo-in .35s var(--mo-ease) both}

html.mo [data-mo-breathe]{animation:mo-breathe 11s var(--mo-io) infinite alternate;will-change:transform,opacity}
html.mo [data-mo-bars] rect{transform-box:fill-box;transform-origin:center;animation:mo-swell 6.5s var(--mo-io) infinite alternate;animation-delay:calc(var(--mo-i,0) * -.11s)}
html.mo .mo-paused,html.mo .mo-paused rect{animation-play-state:paused}

html.mo .mo-wait{opacity:0;translate:0 14px}
html.mo .mo-wait[data-mo-reveal="fade"]{translate:none}
html.mo .mo-go{transition:opacity .8s var(--mo-ease),translate .8s var(--mo-ease);transition-delay:var(--mo-d,0s)}

html.mo [data-mo-viz] svg *{transform-box:fill-box;transform-origin:center}
html.mo .mo-viz[data-mo-viz="pickup"] svg circle:nth-of-type(2){animation:mo-ripple-in .7s var(--mo-ease) both;animation-delay:calc(var(--mo-d,0s) + .25s)}
html.mo .mo-viz[data-mo-viz="pickup"] svg circle:nth-of-type(3){animation:mo-ripple-in .7s var(--mo-ease) both;animation-delay:calc(var(--mo-d,0s) + .4s)}
html.mo .mo-viz[data-mo-viz="pickup"] svg circle:nth-of-type(4),html.mo .mo-viz[data-mo-viz="pickup"] svg path:nth-of-type(3){animation:mo-pop .55s var(--mo-ease) both;animation-delay:calc(var(--mo-d,0s) + .75s)}
html.mo .mo-viz[data-mo-viz="write"] svg rect:nth-of-type(even){transform-origin:left center;animation:mo-write .55s var(--mo-ease) both}
html.mo .mo-viz[data-mo-viz="write"] svg rect:nth-of-type(2){animation-delay:calc(var(--mo-d,0s) + .25s)}
html.mo .mo-viz[data-mo-viz="write"] svg rect:nth-of-type(4){animation-delay:calc(var(--mo-d,0s) + .4s)}
html.mo .mo-viz[data-mo-viz="write"] svg rect:nth-of-type(6){animation-delay:calc(var(--mo-d,0s) + .55s)}
html.mo .mo-viz[data-mo-viz="write"] svg rect:nth-of-type(8){animation-delay:calc(var(--mo-d,0s) + .7s)}
html.mo .mo-viz[data-mo-viz="ring"] svg path:nth-of-type(2),html.mo .mo-viz[data-mo-viz="ring"] svg path:nth-of-type(4){animation:mo-ripple-in .6s var(--mo-ease) both;animation-delay:calc(var(--mo-d,0s) + .3s)}
html.mo .mo-viz[data-mo-viz="ring"] svg path:nth-of-type(3),html.mo .mo-viz[data-mo-viz="ring"] svg path:nth-of-type(5){animation:mo-ripple-in .6s var(--mo-ease) both;animation-delay:calc(var(--mo-d,0s) + .45s)}
html.mo .mo-viz[data-mo-viz="check"] svg rect:nth-of-type(2),html.mo .mo-viz[data-mo-viz="check"] svg path:nth-of-type(3){animation:mo-pop .55s var(--mo-ease) both;animation-delay:calc(var(--mo-d,0s) + .4s)}

html.mo .mo-railon::after{content:"";position:absolute;left:var(--mo-rl);top:var(--mo-rt);bottom:var(--mo-rb);width:1px;background:var(--mo-acc);transform-origin:center top;scale:1 var(--mo-p,0);pointer-events:none}
html.mo .mo-railon li>:first-child{z-index:1}
html.mo .mo-railon li>:first-child::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--mo-acc);opacity:0;scale:.86;transition:opacity .35s var(--mo-ease),scale .35s var(--mo-ease);pointer-events:none}
html.mo .mo-railon li.mo-lit>:first-child::after{opacity:1;scale:1}

html.mo [data-mo-scene]:not(.mo-play) *,html.mo [data-mo-scene]:not(.mo-play) *::before,html.mo [data-mo-scene]:not(.mo-play) *::after{animation-play-state:paused!important}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo]{--mo-t:calc(var(--mo-at,0) * 1s)}

html.mo [data-mo-scene]:not(.mo-rest) [data-mo="show"]{animation:mo-in .6s var(--mo-ease) both;animation-delay:var(--mo-t)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="enter"]{animation:mo-rise .8s var(--mo-ease) both;animation-delay:var(--mo-t)}

html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ring"]{position:relative}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ring"]>svg{animation:mo-wiggle 1.8s var(--mo-io) both;animation-delay:var(--mo-t);animation-iteration-count:var(--mo-n,1)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ring"]::before,html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ring"]::after,html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ringing"] i::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 1.5px var(--mo-c,var(--mo-acc));pointer-events:none;animation:mo-ripple 1.8s var(--mo-ease) both;animation-delay:var(--mo-t);animation-iteration-count:var(--mo-n,1)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ring"]::after{animation-delay:calc(var(--mo-t) + .32s)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ringing"] i{position:relative}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="ringing"] i::after{background:var(--mo-c,var(--mo-acc));box-shadow:none}

html.mo [data-mo-scene]:not(.mo-rest) [data-mo="step"]{animation:mo-undim .5s var(--mo-ease) both;animation-delay:var(--mo-t)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="step"][data-mo-done]>i{animation:mo-pop .5s var(--mo-ease) both;animation-delay:var(--mo-td)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="step"][data-mo-done]>i::before{content:"";position:absolute;inset:0;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px var(--mo-acc);animation:mo-uncover .3s var(--mo-ease) both;animation-delay:var(--mo-td)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="step"]:not([data-mo-done])>i::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 1.5px var(--mo-acc);animation:mo-ripple 1.8s var(--mo-ease) both;animation-delay:var(--mo-t)}

html.mo [data-mo-scene]:not(.mo-rest) [data-mo="write"]{position:relative}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="write"]:not(.mo-split) dd{opacity:0}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="write"] .mo-w{animation:mo-word .45s var(--mo-ease) both;animation-delay:calc(var(--mo-wt) * 1s)}
html.mo [data-mo-scene]:not(.mo-rest) [data-mo="write"]::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1.5px var(--mo-acc),0 0 0 4px color-mix(in srgb,var(--mo-acc) 12%,transparent);
  animation:mo-focus var(--mo-dur,1s) linear both;animation-delay:calc(var(--mo-t) - .15s)}

html.mo [data-mo-scene]:not(.mo-rest) [data-mo="wave"] .mo-b{transform-box:fill-box;transform-origin:center;
  animation:mo-bar .5s var(--mo-ease) both,mo-talk .26s var(--mo-io) alternate both;
  animation-delay:calc(var(--mo-wt) * 1s),calc(var(--mo-wt) * 1s + .5s);
  animation-iteration-count:1,var(--mo-n,0)}

@keyframes mo-in{from{opacity:0;translate:0 4px}}
@keyframes mo-rise{from{opacity:0;translate:0 10px}}
@keyframes mo-undim{from{opacity:.36}}
@keyframes mo-word{from{opacity:0}}
@keyframes mo-uncover{to{opacity:0;scale:.5}}
@keyframes mo-pop{0%{scale:1}45%{scale:1.16}100%{scale:1}}
@keyframes mo-wiggle{0%{rotate:0deg}6%{rotate:-14deg}12%{rotate:12deg}18%{rotate:-10deg}24%{rotate:8deg}30%,100%{rotate:0deg}}
@keyframes mo-ripple{0%{opacity:0;scale:1}5%{opacity:.6;scale:1}50%,100%{opacity:0;scale:var(--mo-rs,1.9)}}
@keyframes mo-focus{0%{opacity:0}10%{opacity:1}85%{opacity:1}100%{opacity:0}}
@keyframes mo-bar{from{transform:scaleY(.06);opacity:.2}}
@keyframes mo-talk{to{scale:1 var(--mo-amp,.6)}}
@keyframes mo-shake{20%{translate:-3px 0}45%{translate:3px 0}70%{translate:-2px 0}100%{translate:0 0}}
@keyframes mo-breathe{to{opacity:.8;scale:1.06}}
@keyframes mo-swell{to{scale:1 .74}}
@keyframes mo-ripple-in{from{opacity:0;scale:.55}}
@keyframes mo-write{from{scale:0 1}}
@keyframes mo-line{from{scale:0 1;opacity:0}}
@keyframes mo-fade{from{opacity:0}}
}
