.go-route body > :not(#go-transition) { display: none !important; }
.go-route body { margin: 0; background: #f7f4ff; }
#go-transition { min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: 28px 20px; box-sizing: border-box; background: radial-gradient(ellipse at 50% 25%, #eee5ff, #faf8ff 65%); color: #281443; font-family: system-ui, -apple-system, sans-serif; }
.go-card { width: min(100%, 440px); text-align: center; }
.go-logo { width: 180px; height: auto; display: block; margin: 0 auto 40px; }
.go-motion { position: relative; width: 84px; height: 84px; margin: 0 auto 28px; display: grid; place-items: center; }
.go-ring { position: absolute; inset: 0; border: 3px solid #e3d8f7; border-top-color: #f72585; border-right-color: #3a1996; border-radius: 50%; animation: go-spin 1s linear infinite; }
.go-arrow { font-size: 34px; color: #3a1996; animation: go-pulse 1.2s ease-in-out infinite; }
.go-card h1 { font-size: clamp(23px, 6vw, 30px); line-height: 1.2; margin: 0 0 14px; font-weight: 750; }
.go-card p { font-size: 16px; line-height: 1.6; color: #665877; margin: 0 auto 26px; max-width: 340px; }
.go-progress { overflow: hidden; width: 180px; height: 4px; margin: 0 auto 28px; border-radius: 8px; background: #e8dff6; }
.go-progress span { display: block; height: 100%; width: 55%; background: linear-gradient(90deg, #3a1996, #f72585); border-radius: inherit; animation: go-slide 1.1s ease-in-out infinite; }
.go-continue { display: block; width: fit-content; margin: 0 auto 18px; border: 0; border-radius: 14px; padding: 14px 20px; background: #3a1996; color: #fff; font: inherit; font-weight: 650; text-decoration: none; cursor: pointer; }
.go-continue[hidden] { display: none; }
.go-back { color: #766487; font-size: 13px; text-underline-offset: 4px; }
.go-card :focus-visible { outline: 3px solid #f72585; outline-offset: 5px; }
.go-failed .go-motion, .go-failed .go-progress { display: none; }
@keyframes go-spin { to { transform: rotate(360deg); } }
@keyframes go-pulse { 50% { transform: translate(2px, -2px); } }
@keyframes go-slide { from { transform: translateX(-110%); } to { transform: translateX(210%); } }
@media (prefers-reduced-motion: reduce) { .go-ring, .go-arrow, .go-progress span { animation: none; } }
