/* A short, optional welcome; isolated from the workspace layout. */
.rally-intro{display:none}html[data-rally-intro] .rally-intro{display:flex;position:fixed;inset:0;z-index:10000;overflow:hidden;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#377aff 0%,#245bfa 48%,#1744d8 100%);color:white;animation:intro-safety 0s 4.5s forwards}
.rally-intro.is-leaving{opacity:0;pointer-events:none;transition:opacity .35s ease}
.intro-grain{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff08 50%,transparent 70%);pointer-events:none}
.intro-brand{position:relative;text-align:center;margin-top:0;animation:intro-brand-in .55s both}
.intro-wordmark{font-family:'Outfit',sans-serif;font-size:clamp(38px,7vw,56px);font-weight:800;letter-spacing:-2.5px;line-height:1.1;color:white}
.intro-caption{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#dce7ff;margin-top:17px}
.intro-skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom));border:1px solid #ffffff66;background:#ffffff12;color:white;border-radius:30px;padding:12px 20px;font-size:13px;min-height:44px}.intro-skip:hover{background:#ffffff26}.intro-skip:focus-visible{outline:3px solid white;outline-offset:5px}
@keyframes intro-brand-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-safety{to{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){html[data-rally-intro] .rally-intro{display:none}.rally-intro *{animation:none!important}}
@media print{html[data-rally-intro] .rally-intro{display:none!important}}
@media(max-width:500px){.intro-caption{font-size:10px;letter-spacing:2px}}
