:root{color-scheme:light;--lab-ink:#1d1d1f;--lab-muted:#63636c;--lab-line:#e4e4e9;--lab-blue:#245ee5;--lab-paper:#f5f5f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body.student-lab{margin:0;background:#fff;color:var(--lab-ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3871ed;outline-offset:5px}button:disabled{cursor:default}.lab-wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.lab-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lab-skip{position:fixed;top:-100px;left:20px;padding:12px;background:#fff;z-index:10000}.lab-skip:focus{top:10px}.lab-header{position:sticky;top:0;z-index:30;background:#ffffffdb;backdrop-filter:blur(22px);border-bottom:1px solid #e8e8ed}.lab-header>.lab-wrap{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:28px}.lab-brand{display:flex;align-items:center;gap:12px;font-size:20px;line-height:1.25;font-weight:650;letter-spacing:-.6px}.lab-brand svg{width:36px;height:36px}.lab-brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:6px;font-weight:600}.lab-header nav{display:flex;align-items:center;gap:28px;font-size:13px}.lab-header nav button{border:0;background:none;padding:10px 0;font-size:13px}.lab-header nav a[aria-current]{color:var(--lab-blue)}.lab-account{display:flex;align-items:center;gap:10px;border:1px solid var(--lab-line);border-radius:100px;padding:8px 16px;font-size:12px}.lab-account .public-account-avatar{background:#e9edfa;color:#234da5}.lab-eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;line-height:1.5;margin:0 0 24px}.lab-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#245ee5;margin-right:8px;vertical-align:2px;box-shadow:0 0 0 4px #245ee510}.lab-hero{text-align:center;padding-top:83px}.lab-hero h1,.lab-hub-hero h1{font-size:clamp(54px,6.8vw,88px);font-weight:650;line-height:1.02;letter-spacing:-5px;margin:0 0 28px}.lab-hero h1>span,.lab-hub-hero h1>span{background:linear-gradient(105deg,#2352b9 10%,#6c61d7 50%,#bd5f9b 90%);background-clip:text;-webkit-background-clip:text;color:transparent}.lab-lead{font-size:20px;line-height:1.6;color:var(--lab-muted);letter-spacing:-.4px;margin:0 auto 28px}.lab-actions{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap}.lab-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid #202023;border-radius:100px;background:#202023;color:white;padding:14px 24px;font-size:14px;font-weight:550;transition:transform .2s,box-shadow .2s}.lab-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0002}.lab-button.secondary{background:#fff;color:var(--lab-ink);border-color:#d6d6de}.lab-text-link{font-size:14px;color:var(--lab-blue);border:0;background:none;padding:4px 0}.lab-hero-art{height:360px;position:relative;margin:18px auto 0;max-width:840px;isolation:isolate;display:grid;place-items:center}.lab-hero-art:before{content:'';position:absolute;inset:45px 13%;z-index:-2;background:radial-gradient(ellipse at 25% 30%,#c9d5ffb0,transparent 62%),radial-gradient(ellipse at 75% 65%,#edcefa9e,transparent 62%);filter:blur(24px)}.lab-glass-core{width:285px;height:260px;border-radius:38px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:linear-gradient(130deg,#ffffffed,#fff8);border:1px solid white;box-shadow:0 25px 80px #394f8a18,inset 0 1px 3px white;transform:rotate(-7deg);backdrop-filter:blur(12px)}.lab-glass-core>svg{width:39px;color:#716bd2}.lab-glass-core>span{font-size:8px;letter-spacing:3px}.lab-glass-core strong{font-size:31px;line-height:1.1;letter-spacing:-1px;font-weight:600}.lab-glass-core small{font-size:7px;letter-spacing:1.5px;margin-top:9px;color:#777}.lab-orbit{position:absolute;z-index:-1;width:650px;height:180px;border:1px solid #d8dff0;border-radius:50%;transform:rotate(-18deg)}.orbit-two{width:550px;height:210px;transform:rotate(18deg);border-color:#e4dcf0}.lab-float{position:absolute;display:flex;align-items:center;gap:12px;border-radius:18px;padding:14px 20px;background:#ffffffdc;border:1px solid white;box-shadow:0 15px 50px #32375e12;backdrop-filter:blur(10px);font-size:12px;font-weight:550}.lab-float i{font-style:normal;font-size:22px;color:#6b68c2}.float-one{left:3%;top:94px;transform:rotate(-5deg)}.float-two{right:1%;bottom:70px;transform:rotate(5deg)}.lab-hero-caption{font-size:11px;color:#73737c;margin:0}.lab-section{padding-block:105px}.lab-section-heading{max-width:660px;margin-bottom:46px}.lab-section h2,.lab-feature h2,.lab-scout h2,.lab-apply-guide h2{font-size:clamp(36px,4.4vw,56px);line-height:1.09;letter-spacing:-2px;font-weight:600;margin:0 0 24px}.lab-section-heading>p:last-child,.lab-feature>div>p,.lab-scout>p:not(.lab-eyebrow){font-size:17px;color:var(--lab-muted);line-height:1.75}.lab-three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.lab-three article{border-top:1px solid var(--lab-line);padding-top:22px}.lab-three article>span{font-size:10px;letter-spacing:1.5px;color:#787883}.lab-three h3{font-size:22px;line-height:1.25;letter-spacing:-.7px;font-weight:600;margin:18px 0 12px}.lab-three p{color:var(--lab-muted);font-size:14px}.lab-feature{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;border-radius:32px;padding:64px;background:var(--lab-paper)}.lab-feature h2>span{color:#73737c}.lab-feature p.lab-small,.lab-small{font-size:12px!important;color:var(--lab-muted)}.lab-preview{border:1px solid #e4e4eb;border-radius:24px;background:#ffffffa8;padding:28px;box-shadow:0 20px 50px #232b5110;transform:rotate(3deg)}.lab-preview>.lab-eyebrow{font-size:9px;display:block;color:#777}.lab-preview>a{display:flex;gap:14px;align-items:center;padding:22px 0;border-top:1px solid #e7e7ee}.lab-preview a>span:last-child{margin-left:auto}.lab-preview strong{font-size:13px;display:block;font-weight:600;line-height:1.4}.lab-preview small{font-size:10px;color:#777}.lab-preview-icon{background:#eef0f8;padding:9px;border-radius:11px;color:#7670aa;font-size:10px}.lab-scout{padding:105px 0;text-align:center;max-width:850px}.scout-orb{width:104px;height:104px;border-radius:36px;display:grid;place-items:center;margin:0 auto 36px;background:radial-gradient(circle at 20% 15%,#fff 0%,#eef0ff 35%,#e4e7fa 60%,#e7d8f0);border:1px solid #f6f5ff;box-shadow:0 15px 50px #7775b126,inset 0 0 20px white}.scout-orb svg{width:58px;color:#6661b5}.lab-scout>p:not(.lab-eyebrow){max-width:630px;margin:0 auto 28px}.lab-prompt-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.lab-prompt-row button{border:1px solid var(--lab-line);background:#fff;border-radius:100px;padding:12px 18px;font-size:12px}.lab-prompt-row button:hover{border-color:#b1b8d7;background:#f7f7fc}.lab-scout-note{max-width:650px;text-align:left;background:#f5f5f8;border:1px solid #e9e9ef;border-radius:20px;padding:26px 30px;margin:32px auto 0}.lab-scout-note strong{font-size:14px}.lab-scout-note p{font-size:13px;color:#666671;margin:10px 0}.lab-scout-note small{display:block;font-size:11px;color:#76767f;line-height:1.6}.lab-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lab-product{border:1px solid #e6e6ec;border-radius:24px;overflow:hidden;background:#fafafa;scroll-margin-top:100px}.lab-product-art{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:radial-gradient(ellipse at 40% 15%,white,#e8eafb);overflow:hidden}.lab-product-art>span{font-size:75px;line-height:1;width:116px;height:116px;display:grid;place-items:center;border-radius:24px;color:#6a67bd;background:#ffffffb0;box-shadow:0 16px 40px #8988b833,inset 0 0 1px 1px white;transform:rotate(-9deg);font-weight:200}.lab-product-art>div{font-size:8px;letter-spacing:2px;color:#5e5e7b}.art-1{background:radial-gradient(ellipse at 40% 15%,white,#f3e7eb)}.art-1>span{color:#b87e91;transform:rotate(7deg)}.art-2{background:radial-gradient(ellipse at 40% 15%,white,#e6edf3)}.art-2>span{color:#6693b2;transform:rotate(-4deg)}.lab-product-copy{padding:28px}.lab-chip{display:inline-block;font-size:10px;padding:4px 10px;border:1px solid #dfdfe8;border-radius:100px;background:#fff;color:#65656f;line-height:1.5}.lab-product h3{font-size:27px;letter-spacing:-.8px;line-height:1.2;margin:16px 0}.lab-product h4{font-size:16px;line-height:1.4;font-weight:550;margin:0 0 12px}.lab-product p,.lab-product li{font-size:13px;color:var(--lab-muted);line-height:1.7}.lab-product ul{padding-left:18px}.lab-product li{margin-bottom:12px}details{border-top:1px solid var(--lab-line);margin-top:20px}summary{list-style:none;font-size:13px;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}details[open]>summary{color:var(--lab-blue)}details>p{margin-top:0}.lab-bridge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.lab-bridge-grid>a{padding:26px 0;border-top:1px solid var(--lab-line)}.lab-bridge-grid h3{font-size:22px;line-height:1.25;letter-spacing:-.7px;font-weight:600}.lab-bridge-grid p{font-size:14px;color:var(--lab-muted)}.lab-bridge-grid .lab-eyebrow{font-size:9px;color:#7b7b85}.lab-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:0}.lab-faq details{margin:0}.lab-faq summary{font-size:15px;padding-block:24px}.lab-faq details p{font-size:14px;color:var(--lab-muted)}.lab-faq a{text-decoration:underline}.lab-footer{padding:50px 0 32px;border-top:1px solid var(--lab-line);display:grid;grid-template-columns:1fr 1fr;gap:30px}.lab-footer>div>p{font-size:14px;color:var(--lab-muted)}.lab-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;align-content:start}.lab-footer-note{grid-column:1/-1;border-top:1px solid #eee;padding-top:24px;font-size:10px;color:#7b7b85;max-width:850px}.lab-hub-hero{padding:56px 0}.lab-hub-hero>.lab-text-link{display:inline-block;margin-bottom:40px}.lab-hub-hero h1{font-size:72px;letter-spacing:-3.5px}.lab-hub-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.lab-hub-summary>span{font-size:10px;padding:7px 14px;border:1px solid #e5e5ec;border-radius:100px}.lab-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.lab-directory-heading h2{font-size:25px;font-weight:600;letter-spacing:-.8px}.lab-directory-note{font-size:12px;color:var(--lab-muted);max-width:780px;margin:0 0 24px}.lab-filters{display:grid;grid-template-columns:1fr 220px auto;gap:15px;padding:22px;background:#f5f5f7;border-radius:18px;align-items:end}.lab-filters label{font-size:11px;display:grid;gap:6px}.lab-filters input,.lab-filters select{width:100%;height:46px;border:1px solid #dedee6;border-radius:10px;padding:0 14px;background:#fff;font-size:13px;min-width:0;color:#303036}.lab-saved-filter{height:46px;border:1px solid #dcdce5;border-radius:10px;background:#fff;font-size:13px;padding:0 20px}.lab-saved-filter[aria-pressed=true]{background:#25252c;color:#fff}.lab-result-bar{display:flex;justify-content:space-between;align-items:center;min-height:60px;font-size:12px;color:var(--lab-muted)}.lab-opportunity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.lab-opportunity{padding:30px;border:1px solid var(--lab-line);border-radius:22px;display:flex;flex-direction:column;align-items:stretch;background:#fff}.lab-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.lab-save{border:0;background:#f4f4f7;padding:8px 13px;border-radius:100px;font-size:11px}.lab-save[aria-pressed=true]{background:#e9edff;color:#244fae}.lab-provider{font-size:10px!important;letter-spacing:1.5px;text-transform:uppercase;margin:24px 0 10px!important}.lab-opportunity h3{font-size:24px;line-height:1.2;letter-spacing:-.6px;font-weight:600;margin:0 0 16px;max-width:370px}.lab-opportunity p{font-size:14px;color:var(--lab-muted);margin:0 0 20px}.lab-opportunity dl{border-top:1px solid #eee;border-bottom:1px solid #eee;padding:15px 0;font-size:12px;margin:0 0 0;margin-top:auto}.lab-opportunity dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;margin:6px 0}.lab-opportunity dt{color:#80808a}.lab-opportunity dd{margin:0}.lab-opportunity details{margin-top:0;border:0}.lab-opportunity details p{font-size:13px}.lab-card-link{font-size:13px;font-weight:550;color:var(--lab-blue);display:flex;justify-content:space-between;padding-top:10px}.lab-opportunity>small{font-size:10px;color:#7b7b85;margin-top:12px}.lab-empty{text-align:center;background:#f5f5f7;border-radius:22px;padding:50px 20px}.lab-empty p{font-size:14px;color:#777}.lab-storage-note{font-size:11px;color:#70707a;margin:22px 0}.lab-apply-guide{padding-block:90px}.lab-apply-guide>.lab-button{margin-top:25px}.student-lab .earth-helper-launcher{background:#fff;color:#25252c;border-color:#e0e0e7;box-shadow:0 12px 40px #384a7226}.student-lab .earth-helper-ai-label{background:#ebecf8;color:#555b91}.student-lab .earth-helper-dialog{--earth-ink:#25252c;--earth-muted:#666674;--earth-line:#e1e1ea;--earth-accent:#3b55ad;--earth-panel:#fff;--earth-soft:#f4f4f8;background:#fff;color:#25252c}.student-lab .earth-helper-shell{background:#fff;color:#25252c}.student-lab .earth-helper-model,.student-lab .earth-helper-prompt,.student-lab .earth-helper-composer{background:#f5f5fa;border-color:#dedee9;color:#343440}.student-lab .earth-helper-send,.student-lab .earth-helper-model-button:not(.is-subtle){background:#303444;color:#fff}.student-lab .earth-helper-brand,.student-lab .earth-helper-model-heading{color:#6269a4}.student-lab .earth-helper-message-user{background:#eaeefa;color:#303444}.student-lab .earth-helper-source{color:#3455a5}.student-lab .earth-helper-dialog textarea{color:#25252c}[hidden]{display:none!important}
@media(max-width:850px){.lab-wrap{width:calc(100% - 40px)}.lab-header>.lab-wrap{gap:14px}.lab-header nav{gap:16px}.lab-feature{padding:36px;gap:30px}.lab-three{gap:24px}.lab-product-grid{grid-template-columns:1fr}.lab-product{display:grid;grid-template-columns:35% 1fr}.lab-product-art{height:100%;min-height:250px}.lab-product-copy{padding:28px}.lab-bridge-grid{grid-template-columns:repeat(2,1fr)}.lab-faq{gap:40px}.float-one{left:0}.float-two{right:0}.lab-orbit{max-width:90%}.lab-hero h1{letter-spacing:-3px}.lab-header nav a:nth-child(2){display:none}}
@media(max-width:600px){.lab-header>.lab-wrap{min-height:70px;flex-wrap:wrap;padding-block:14px;gap:14px}.lab-brand{font-size:17px}.lab-brand svg{width:30px;height:30px}.lab-header nav{order:3;justify-content:space-between;width:100%;border-top:1px solid #eee;padding-top:8px}.lab-header nav a:nth-child(2){display:block}.lab-account{margin-left:auto;font-size:11px;padding:6px 12px}.lab-hero{padding-top:52px}.lab-hero h1{font-size:54px;letter-spacing:-2.8px}.lab-lead{font-size:16px}.lab-lead br{display:none}.lab-eyebrow{font-size:9px;letter-spacing:1.5px}.lab-actions{gap:20px}.lab-button{padding:12px 20px;font-size:13px}.lab-hero-art{height:300px;margin-top:25px}.lab-glass-core{width:205px;height:215px;border-radius:28px}.lab-glass-core strong{font-size:26px}.lab-float{padding:8px 12px;font-size:9px;gap:6px}.float-one{top:18px}.float-two{bottom:22px}.lab-orbit{height:140px}.lab-hero-caption{font-size:10px}.lab-section{padding-block:70px}.lab-section h2,.lab-feature h2,.lab-scout h2,.lab-apply-guide h2{font-size:37px;letter-spacing:-1.5px}.lab-section-heading>p:last-child,.lab-feature>div>p,.lab-scout>p:not(.lab-eyebrow){font-size:15px}.lab-three{grid-template-columns:1fr;gap:16px}.lab-three h3{font-size:21px;margin-top:12px}.lab-feature{grid-template-columns:1fr;padding:28px;border-radius:24px;gap:24px}.lab-preview{transform:rotate(1deg);padding:22px}.lab-scout{padding:70px 0}.lab-scout-note{padding:22px}.lab-prompt-row{align-items:stretch;flex-direction:column}.lab-prompt-row button{display:flex;justify-content:space-between;text-align:left;font-size:12px}.lab-product{display:block}.lab-product-art{height:190px;min-height:0}.lab-product-copy{padding:26px}.lab-bridge-grid{gap:20px}.lab-bridge-grid h3{font-size:19px}.lab-bridge-grid p{font-size:12px}.lab-faq{grid-template-columns:1fr;gap:12px;padding-top:0}.lab-footer{grid-template-columns:1fr;padding-bottom:110px}.lab-footer nav{gap:16px}.lab-hub-hero{padding:30px 0}.lab-hub-hero>.lab-text-link{margin-bottom:28px}.lab-hub-hero h1{font-size:55px;letter-spacing:-2.8px}.lab-directory-heading h2{font-size:21px}.lab-filters{grid-template-columns:1fr auto;padding:16px;gap:12px}.lab-search{grid-column:1/-1}.lab-filters select{width:100%}.lab-opportunity-grid{grid-template-columns:1fr}.lab-opportunity{padding:24px}.lab-opportunity h3{font-size:23px}.lab-directory-note{font-size:11px}.lab-apply-guide{padding-block:65px}.lab-opportunity dl>div{grid-template-columns:95px 1fr}.student-lab .earth-helper-launcher{bottom:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lab-arrival{display:none}*,*:before,*:after{animation:none!important;transition:none!important}}
html[data-theme="light"] .student-lab :is(.earth-helper-launcher,.earth-helper-dialog){--eh-ink:#272731;--eh-muted:#686875;--eh-surface:#fff;--eh-soft:#f4f4fa;--eh-line:#36364c25;--eh-accent:#5d63a9;--eh-on-accent:#fff;--eh-focus:#6c73bb}.student-lab .earth-helper-launcher-icon{color:#7072b4;background:#eeeeF8}.student-lab .earth-helper-dialog::backdrop{background:#1e213d42}.student-lab .earth-helper-composer:focus-within{border-color:#797db6;box-shadow:0 0 0 1px #797db6}

/* The entrance fills the viewport; all motion ends without network or model work. */
.lab-arrival{display:none;position:fixed;inset:0;z-index:9000;min-height:100dvh;background:#fcfcff;overflow:hidden;isolation:isolate;color:#202026}
html[data-lab-arrival="play"] .lab-arrival{display:grid;place-items:center;animation:lab-arrival-exit 6.4s ease both}
.lab-arrival-brand{position:absolute;left:clamp(24px,5vw,72px);top:30px;font-size:17px;font-weight:600;letter-spacing:-.6px}
.lab-arrival-skip{position:absolute;right:clamp(20px,5vw,72px);top:24px;z-index:2;border:1px solid #dedee8;border-radius:100px;background:#fff9;padding:10px 16px;font-size:12px;display:flex;gap:18px;align-items:center}
.lab-arrival-glow{position:absolute;inset:10% -15%;z-index:-1;background:radial-gradient(ellipse at 32% 45%,#d9dfffbb,transparent 48%),radial-gradient(ellipse at 70% 55%,#f2dcf2bb,transparent 45%);filter:blur(36px);animation:lab-arrival-glow 4.2s ease 2.2s both}
.lab-arrival-scene{width:100%;padding:100px 20px;text-align:center;display:flex;align-items:center;flex-direction:column}
.lab-arrival-mark{width:68px;height:68px;color:#6c68bd;animation:lab-arrival-mark 4.2s cubic-bezier(.22,1,.36,1) 2.2s both}
.lab-arrival-mark svg{width:100%;height:100%}
.lab-arrival-words{position:relative;width:100%;height:clamp(145px,19vw,240px);display:grid;place-items:center;margin:26px 0 8px;font-weight:600;letter-spacing:-.065em;line-height:1.02;font-size:clamp(58px,9vw,128px)}
.lab-arrival-first,.lab-arrival-second{grid-area:1/1}
.lab-arrival-first{animation:lab-arrival-first 4.2s cubic-bezier(.22,1,.36,1) 2.2s both}
.lab-arrival-second{font-size:clamp(50px,9.5vw,138px);animation:lab-arrival-second 4.2s cubic-bezier(.22,1,.36,1) 2.2s both;letter-spacing:-.065em}
.lab-arrival-period{color:#7368c6}
.lab-arrival-tag{font-size:clamp(8px,1.1vw,11px);letter-spacing:clamp(1.5px,.3vw,4px);color:#6c697b;animation:lab-arrival-second 4.2s ease 2.2s both}
.lab-arrival-bottom{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(260px,70vw);text-align:center}
.lab-arrival-bottom>span{font-size:8px;letter-spacing:2.6px;color:#777485}
.lab-arrival-progress{height:1px;background:#dcdbe6;margin-top:22px;overflow:hidden}
.lab-arrival-progress:after{content:'';display:block;width:100%;height:100%;background:#7873ae;transform-origin:left;animation:lab-arrival-progress 6s linear both}
.lab-replay{text-align:left;font-size:12px;width:fit-content}
@keyframes lab-arrival-exit{0%,86%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes lab-arrival-first{0%{opacity:0;transform:translateY(26px) scale(.97)}12%,31%{opacity:1;transform:none}43%,100%{opacity:0;transform:translateY(-22px) scale(1.025)}}
@keyframes lab-arrival-second{0%,38%{opacity:0;transform:translateY(24px) scale(.98)}54%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes lab-arrival-mark{0%{opacity:0;transform:translateY(14px) rotate(-25deg) scale(.8)}18%,86%{opacity:1;transform:none}100%{opacity:0;transform:scale(1.06)}}
@keyframes lab-arrival-glow{0%{opacity:0;transform:scale(.85)}30%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.1)}}
@keyframes lab-arrival-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lab-scout-planner{margin:36px auto 0;text-align:left;border:1px solid #e2e2ec;border-radius:24px;padding:30px;background:linear-gradient(135deg,#f8f9ff,#fdfbff);max-width:800px}
.lab-planner-heading .lab-eyebrow{color:#65618e;font-size:9px}
.lab-planner-heading h3{font-size:23px;font-weight:600;letter-spacing:-.6px;line-height:1.3;margin:12px 0}
.lab-planner-heading p,.lab-planner-bottom p{font-size:12px;color:#696976;line-height:1.6}
.lab-planner-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:24px 0}
.lab-planner-fields label{font-size:11px;font-weight:550;display:grid;gap:8px}
.lab-planner-fields select{width:100%;min-width:0;background:#fff;border:1px solid #dcdce7;border-radius:10px;padding:12px 10px;color:#33333f;font-size:12px}
.lab-planner-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.lab-planner-bottom .lab-button{white-space:nowrap;font-size:12px;padding:12px 18px;background:#373347;border-color:#373347}
@media(max-width:600px){.lab-scout-planner{padding:24px}.lab-planner-fields{grid-template-columns:1fr}.lab-planner-bottom{align-items:stretch;flex-direction:column;gap:8px}.lab-planner-bottom p{margin:0 0 8px}.lab-arrival-brand{font-size:15px}.lab-arrival-words{height:150px}.lab-arrival-mark{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){html[data-lab-arrival="play"] .lab-arrival{display:none!important}}

/* Move through a dark portal, then retain the existing white Student Lab reveal. */
.lab-portal{position:absolute;inset:0;z-index:0;overflow:hidden;background:#03040c;animation:lab-portal-reveal 2.7s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
.lab-portal-aura{position:absolute;inset:-35%;background:radial-gradient(ellipse at 50% 50%,#02020a 0 8%,#33257190 17%,#1f275e88 28%,#03040c 49%);animation:lab-portal-approach 2.5s cubic-bezier(.55,0,.8,.4) both}
.lab-portal-tunnel{position:absolute;inset:0;overflow:hidden;mask-image:radial-gradient(ellipse at center,transparent 0 3%,#000 16%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 0 3%,#000 16%)}
.lab-portal-ring{position:absolute;left:50%;top:50%;width:40vmin;height:40vmin;margin:-20vmin;border:1px solid #8b98f142;border-top-color:#bbb8ff94;border-right-color:#829fff80;border-radius:48% 52% 51% 49%;box-shadow:0 0 18px #6659de1a,inset 0 0 12px #566dea12;animation:lab-portal-ring 1.9s cubic-bezier(.45,0,.85,.45) infinite;animation-delay:calc(var(--i)*-.158s);will-change:transform,opacity}
.lab-portal-ray{position:absolute;left:50%;top:50%;height:1px;width:45vmax;transform-origin:left center;background:linear-gradient(90deg,transparent,#7687e630 35%,#c8c9ffb0);animation:lab-portal-ray var(--speed) cubic-bezier(.45,0,.85,.4) var(--delay) infinite;will-change:transform,opacity}
.lab-portal-ray:nth-of-type(3n){height:2px;background:linear-gradient(90deg,transparent,#a383ed30 35%,#d7c9ff80)}
.lab-portal-core{position:absolute;left:50%;top:50%;width:24vmin;height:24vmin;margin:-12vmin;border-radius:50%;background:radial-gradient(ellipse,#01020a 45%,#03040c 65%,#06071100 73%);box-shadow:0 0 65px 18px #02030c80;animation:lab-portal-core 2.5s cubic-bezier(.5,0,.8,.5) both}
.lab-portal-edge{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 20%,#03040c22 60%,#03040cbb 100%);box-shadow:inset 0 0 14vmin #0006}
.lab-arrival-scene{position:relative;z-index:1}
.lab-arrival-brand{z-index:3;animation:lab-portal-brand 6.4s ease both}
.lab-arrival-skip{z-index:3}
.lab-arrival-bottom{z-index:3}
.lab-hero-replay{display:block;margin:13px auto 0;font-size:11px;color:#6e6990}
@keyframes lab-portal-reveal{0%,72%{opacity:1;visibility:visible;transform:scale(1)}100%{opacity:0;visibility:hidden;transform:scale(1.08)}}
@keyframes lab-portal-approach{0%{transform:scale(.8);opacity:.6}65%{opacity:1}100%{transform:scale(1.6);opacity:.8}}
@keyframes lab-portal-ring{0%{opacity:0;transform:scale(.12) rotate(calc(var(--i)*11deg))}18%{opacity:.7}80%{opacity:.65}100%{opacity:0;transform:scale(12) rotate(calc(var(--i)*11deg + 35deg))}}
@keyframes lab-portal-ray{0%{opacity:0;transform:rotate(var(--angle)) translateX(5vmin) scaleX(.035)}20%{opacity:.15}60%{opacity:.7}100%{opacity:0;transform:rotate(var(--angle)) translateX(100vmax) scaleX(1.7)}}
@keyframes lab-portal-core{0%{transform:scale(.8)}70%{transform:scale(1.25)}100%{transform:scale(3.5)}}
@keyframes lab-portal-brand{0%,30%{color:#f4f3ff}43%,100%{color:#202026}}
@media(prefers-reduced-motion:reduce){.lab-portal{display:none}}

.student-lab #main:focus{outline:none}
