#splash.swack-logo-launch{display:grid!important;place-items:center;pointer-events:none!important;background:var(--bp-bg,#faf9fc)!important;color:var(--bp-ink,#111323);animation:swack-brand-reveal 200ms ease-out 1600ms forwards}
@keyframes swack-brand-reveal{from{opacity:1}to{opacity:0;visibility:hidden}}
#splash.swack-logo-launch[data-mode=warm]{animation-delay:180ms}
#splash.swack-logo-launch.hide{opacity:0!important;visibility:hidden!important;transition:none!important;animation:none!important}
.swack-logo-brand{width:210px;margin-top:-10vh}
.swack-logo-brand strong{display:block;text-align:center;font:850 54px/1.1 var(--sw-font-display,system-ui);letter-spacing:-3px;margin-top:18px;animation:swack-brand-word 450ms cubic-bezier(.2,.8,.2,1) 820ms both}
.swack-logo-rail{height:4px;position:relative}
.swack-logo-rail:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#7547fb,#b69aff);border-radius:4px;transform-origin:left;animation:swack-brand-rail 850ms cubic-bezier(.2,.8,.2,1) both}
.swack-logo-rail i{position:absolute;left:0;top:-6px;width:16px;height:16px;border-radius:50%;background:#9669ff;animation:swack-brand-dot 900ms cubic-bezier(.2,.8,.2,1) both}
@keyframes swack-brand-rail{from{transform:scaleX(0);opacity:.4}to{transform:scaleX(1);opacity:1}}
@keyframes swack-brand-dot{0%{transform:translateX(0) scale(.85);opacity:0}8%{opacity:1}88%{transform:translateX(202px) scale(1.04)}100%{transform:translateX(202px) scale(1)}}
@keyframes swack-brand-word{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.swack-logo-launch[data-mode=warm] .swack-logo-brand strong,.swack-logo-launch[data-mode=warm] .swack-logo-rail:before{animation:none}
.swack-logo-launch[data-mode=warm] .swack-logo-rail i{animation:none;transform:translateX(202px)}
.swack-shell-skeleton{padding:28px 18px calc(110px + env(safe-area-inset-bottom));max-width:720px;margin:auto;display:grid;gap:18px}.swack-shell-skeleton>div{background:color-mix(in srgb,var(--bp-muted) 13%,var(--bp-card));border:1px solid var(--bp-line);border-radius:24px}
.swack-shell-skeleton .skeleton-heading{height:30px;width:62%;border-radius:10px}.swack-shell-skeleton .skeleton-coach{height:58px}.swack-shell-skeleton .skeleton-workout{height:252px}.swack-shell-skeleton .skeleton-meal{height:170px}.skeleton-status{font-size:14px;color:var(--bp-muted);line-height:1.5}.skeleton-status:empty{display:none}.skeleton-status button{display:block;border:1px solid var(--bp-line);border-radius:14px;padding:12px 18px;color:var(--bp-purple);background:var(--bp-card);margin-top:12px}
@media(prefers-reduced-motion:reduce){#splash.swack-logo-launch,.swack-logo-brand *,.swack-logo-rail:before{animation:none!important;transition:none!important}}
