/* A modal must sit above the shared feedback launcher (2147483000).
   Feedback stays unchanged and becomes reachable again when the modal closes. */
.ws-intro-overlay{position:fixed;inset:0;z-index:2147483001;display:grid;place-items:center;padding:24px;background:rgba(6,18,42,.72);backdrop-filter:blur(8px)}
.ws-intro-dialog{position:relative;width:min(920px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:28px;background:var(--ev-surface,#fff);box-shadow:0 28px 90px rgba(5,18,45,.35);color:var(--ev-text,#172033)}
.ws-intro-close{position:absolute;z-index:3;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(5,18,45,.82);color:#fff;font-size:24px;cursor:pointer}
.ws-intro-dialog :focus-visible{outline:3px solid var(--ev-focus,#4c8dff);outline-offset:3px}
.ws-intro-stage{position:relative;min-height:440px;background:#071a3d url("worksheet-lab-intro-poster.png") center/cover no-repeat;color:#fff}
.ws-intro-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;width:48%;padding:48px;background:linear-gradient(90deg,rgba(5,18,45,.97),rgba(5,18,45,.76) 72%,transparent)}
.ws-intro-kicker{margin:0 0 10px;color:#d7ff35;font-weight:900;letter-spacing:.08em}
.ws-intro-title{margin:0;font-size:clamp(30px,4vw,54px);line-height:1.08;letter-spacing:-.04em}
.ws-intro-desc{margin:16px 0 22px;max-width:34rem;color:#e6efff;font-size:17px;line-height:1.6}
.ws-intro-play,.ws-intro-cta{min-height:50px;border:0;border-radius:14px;padding:0 22px;background:#d7ff35;color:#11233e;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 9px 24px rgba(215,255,53,.24)}
.ws-intro-player{display:none;min-height:440px;background:#071a3d;color:#fff}
.ws-intro-player.is-active{display:grid;place-items:center}
.ws-intro-player video{display:block;width:100%;max-height:520px;background:#000}
.ws-intro-show{width:min(760px,100%);padding:42px;text-align:center}
.ws-intro-mission{display:inline-flex;border:1px solid #d7ff35;border-radius:999px;padding:7px 13px;color:#d7ff35;font-weight:900}
.ws-intro-show h3{margin:22px 0 12px;font-size:clamp(28px,5vw,52px);line-height:1.15}
.ws-intro-show p{margin:0 auto 24px;max-width:38rem;color:#e6efff;font-size:18px;line-height:1.65}
.ws-intro-progress{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.2)}
.ws-intro-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#d7ff35,#ff4f9a);transition:width .35s linear}
.ws-intro-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--ev-surface,#fff)}
.ws-intro-actions button{border:0;background:transparent;color:var(--ev-text-muted,#5d6879);font:inherit;text-decoration:underline;cursor:pointer}
.ws-intro-actions .ws-intro-today{margin-left:auto}
.ws-intro-cta{display:none;text-decoration:none;align-items:center;justify-content:center}
.ws-intro-cta.is-visible{display:inline-flex}
@media(max-width:640px){.ws-intro-overlay{place-items:end center;padding:0;background:rgba(6,18,42,.5)}.ws-intro-dialog{max-height:92dvh;max-height:92svh;border-radius:24px 24px 0 0}.ws-intro-stage{min-height:70dvh;min-height:70svh;background-position:64% center}.ws-intro-copy{justify-content:flex-end;width:100%;padding:70px 24px max(28px,env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(5,18,45,.98),rgba(5,18,45,.76) 62%,rgba(5,18,45,.12))}.ws-intro-title{font-size:34px}.ws-intro-desc{font-size:15px}.ws-intro-player{min-height:62dvh;min-height:62svh}.ws-intro-show{padding:70px 24px 30px}.ws-intro-actions{flex-wrap:wrap;padding-bottom:max(16px,env(safe-area-inset-bottom))}.ws-intro-actions button{min-height:44px}.ws-intro-actions .ws-intro-today{margin-left:0}.ws-intro-play,.ws-intro-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.ws-intro-progress span{transition:none}.ws-intro-dialog *{animation:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.ws-intro-dialog,.ws-intro-close,.ws-intro-play,.ws-intro-cta{border:1px solid ButtonText}.ws-intro-overlay{backdrop-filter:none}}
