.install-intro[hidden],.intro-replay[hidden]{display:none}
.install-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;min-height:100dvh;background:radial-gradient(ellipse at 50% 42%,#46505b 0%,#3c4249 36%,#373b40 70%);opacity:1;transition:opacity .6s ease,visibility .6s;overflow:hidden}
.install-intro__content{text-align:center;max-width:100%;padding:30px 24px 80px}
.install-intro__logo{display:block;object-fit:contain;width:300px;max-width:70vw;height:94px;margin:0 auto 36px;opacity:0;transform:translateY(12px) scale(.96);animation:intro-logo 1.1s cubic-bezier(.2,.7,.2,1) .1s forwards}
.install-intro__greeting{font-size:clamp(25px,4.6vw,40px);font-weight:350;letter-spacing:-1px;line-height:1.3;min-height:1.3em;margin:0 0 18px;color:#f1f4f9;white-space:nowrap}
.install-intro__cursor{display:inline-block;width:2px;height:.9em;vertical-align:-.02em;background:#c5d9ef;margin-left:5px;animation:intro-cursor .8s ease-in-out infinite}
.install-intro__caption{font-size:13px;letter-spacing:.5px;color:#c3cbd5;opacity:0;margin:0;animation:intro-caption .7s ease 1.9s forwards}
.install-intro__line{display:block;width:100px;height:1px;overflow:hidden;background:#ffffff12;margin:35px auto 0;opacity:0;animation:intro-caption .7s ease .7s forwards}
.install-intro__line::after{content:"";display:block;width:100%;height:100%;background:#b9d1ed;transform:translateX(-100%);animation:intro-line 2.5s cubic-bezier(.2,.3,.4,1) .65s forwards}
.install-intro__skip{position:absolute;right:32px;bottom:26px;border:0;background:transparent;color:#c3cbd5;font-size:12px;font-weight:400;padding:12px;letter-spacing:.2px}
.install-intro__skip span{margin-left:9px;color:#e6eef9}.install-intro__skip:hover{color:#fff;background:#ffffff08}
.intro-pending .shell{opacity:0;visibility:hidden;transform:translateY(12px)}
.intro-pending body{overflow:hidden}
.intro-revealed .shell{animation:intro-page .65s cubic-bezier(.2,.7,.2,1) both}
.install-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
@keyframes intro-logo{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes intro-caption{to{opacity:1}}
@keyframes intro-cursor{0%,100%{opacity:0}50%{opacity:.85}}
@keyframes intro-line{to{transform:translateX(0)}}
@keyframes intro-page{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){.install-intro__logo{width:240px;height:75px;margin-bottom:30px}.install-intro__skip{right:18px;bottom:18px}.install-intro__greeting{letter-spacing:-.6px}}
@media(prefers-reduced-motion:reduce){.install-intro,.intro-replay{display:none!important}.intro-pending .shell{opacity:1;visibility:visible;transform:none}.intro-revealed .shell{animation:none}.intro-pending body{overflow:auto}}
