.brand-intro{display:none}
html.taskbridge-brand-intro-pending{background:#f4f8f9}
html.taskbridge-brand-intro-pending body{overflow:hidden}
html.taskbridge-brand-intro-pending .brand-intro{position:fixed;z-index:2147482000;inset:0;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));overflow:hidden;background:#f4f8f9;color:#17324d;font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;opacity:1;transition:opacity .5s ease,visibility .5s ease}
.brand-intro::before,.brand-intro::after{position:absolute;left:50%;width:min(560px,78vw);height:1px;background:#d6e4e8;content:"";transform:translateX(-50%) scaleX(0);animation:taskbridge-intro-line 1s .05s cubic-bezier(.22,.8,.3,1) forwards}
.brand-intro::before{top:calc(50% - 158px);transform-origin:right center}
.brand-intro::after{bottom:calc(50% - 178px);transform-origin:left center}
.brand-intro-stage{position:relative;z-index:1;display:flex;width:min(420px,100%);flex-direction:column;align-items:center;text-align:center}
.brand-intro-logo{opacity:0;transform:translateY(18px) scale(.9);animation:taskbridge-intro-logo .85s .18s cubic-bezier(.2,.8,.25,1) forwards}
.brand-intro-logo .taskbridge-logo{width:144px;height:144px}
.brand-intro-kicker{margin:14px 0 0;color:#168a77;font-size:11px;font-weight:800;letter-spacing:.16em;opacity:0;transform:translateY(8px);animation:taskbridge-intro-copy .38s .72s ease-out forwards}
.brand-intro-slogan{margin:9px 0 0;color:#17324d;font-size:19px;font-weight:750;line-height:1.5;letter-spacing:0;opacity:0;transform:translateY(8px);animation:taskbridge-intro-copy .42s .9s ease-out forwards}
html.taskbridge-brand-intro-leaving .brand-intro{visibility:hidden;opacity:0;pointer-events:none}
html.taskbridge-brand-intro-leaving .brand-intro-stage{transform:translateY(-8px);transition:transform .5s ease}
@keyframes taskbridge-intro-logo{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes taskbridge-intro-copy{to{opacity:1;transform:translateY(0)}}
@keyframes taskbridge-intro-line{to{transform:translateX(-50%) scaleX(1)}}
@media(max-width:780px){.brand-intro::before{top:calc(50% - 150px)}.brand-intro::after{bottom:calc(50% - 168px)}.brand-intro-logo .taskbridge-logo{width:132px;height:132px}.brand-intro-kicker{margin-top:12px}.brand-intro-slogan{font-size:18px}}
@media(prefers-reduced-motion:reduce){.brand-intro::before,.brand-intro::after,.brand-intro-logo,.brand-intro-kicker,.brand-intro-slogan{animation:none!important}.brand-intro::before,.brand-intro::after{transform:translateX(-50%) scaleX(1)}.brand-intro-logo,.brand-intro-kicker,.brand-intro-slogan{opacity:1;transform:none}.brand-intro,html.taskbridge-brand-intro-leaving .brand-intro-stage{transition-duration:.25s!important}}
