
.public-site{--ink:#251c42;--purple:#7043c6;--cream:#fcfaf4;color:var(--ink);font:17px/1.65 system-ui,sans-serif;background:var(--cream)}.public-site *{box-sizing:border-box}.public-site[hidden]{display:none}.public-site a{color:inherit}.public-site h1,.public-site h2,.public-site h3{line-height:1.08;letter-spacing:-.035em;margin:0 0 20px;font-weight:850}.public-site p{margin:0 0 24px}.public-site .wrap{max-width:1220px;margin:auto;padding:0 32px}.public-site .public-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 32px;max-width:1284px;margin:auto}.public-site .public-nav img{width:180px;height:92px;object-fit:contain}.public-site .nav-links{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:750}.public-site .nav-links a{text-decoration:none}.public-site .cta{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;background:var(--purple);color:#fff;border-radius:13px;text-decoration:none;font-weight:800;box-shadow:0 4px 0 #482786;transition:transform .15s}.public-site .cta:hover{transform:translateY(-2px)}.public-site a:focus-visible{outline:3px solid #eea92c;outline-offset:5px}.public-site .public-hero{position:relative;isolation:isolate;overflow:hidden;min-height:610px;border-radius:30px;margin:0 24px;color:white;background:#202a3a;display:flex;align-items:center}.public-site .public-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.public-site .public-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,22,48,.94),rgba(24,22,48,.76) 35%,rgba(24,22,48,.06) 76%)}.public-site .marketing-copy{padding:64px;max-width:660px}.public-site .eyebrow-public{display:block;letter-spacing:.17em;font-size:12px;font-weight:850;text-transform:uppercase;color:#8052bd;margin-bottom:18px}.public-site .public-hero .eyebrow-public{color:#d0ee8a}.public-site h1{font-size:clamp(38px,5.2vw,70px)}.public-site h1 em{font-style:normal;color:#d0ee8a}.public-site .marketing-copy p{max-width:440px;font-size:18px;color:#efedf7}.public-site .marketing-copy .cta{background:#dbf28f;color:#2c3933;box-shadow:0 4px 0 #9bac62}.public-site .hero-note{display:block;margin-top:18px;color:#ddd9e9;font-size:13px}.public-site .metrics{display:flex;justify-content:center;gap:80px;padding:30px 24px;border-bottom:1px solid #e4dfd1;text-align:center}.public-site .metrics strong{font-size:30px;display:block;color:#6141a0}.public-site .metrics span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.public-site .section-space{padding:78px 0}.public-site h2{font-size:clamp(30px,3.5vw,46px)}.public-site .section-lead{max-width:650px;color:#6e657b}.public-site .world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.public-site .world-card{background:white;border:1px solid #e8e0ed;border-radius:23px;overflow:hidden;box-shadow:0 10px 26px #36224b08}.public-site .world-card img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.public-site .world-card div{padding:26px}.public-site h3{font-size:25px}.public-site .world-card p{color:#71667c;font-size:15px;margin:0}.public-site .split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.public-site .split img{width:100%;border-radius:26px;display:block}.public-site .split p{color:#70657b}.public-site .lavender{background:#eee6fa}.public-site .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:40px}.public-site .step-number{display:grid;place-items:center;width:46px;height:46px;background:#e8dcfa;border-radius:15px;color:#7043c6;font-weight:850;margin-bottom:20px}.public-site .steps p{color:#70657b;font-size:16px}.public-site details{border-bottom:1px solid #ddd4e7;padding:22px 0}.public-site summary{font-weight:750;cursor:pointer}.public-site details p{margin:18px 0 0;color:#70657b}.public-site .public-footer{display:flex;justify-content:space-between;gap:24px;padding:30px 32px;border-top:1px solid #ded5e6;font-size:13px;color:#70657b}.public-site .public-footer a{margin-left:18px}.public-site .closing{text-align:center;padding:64px 24px;background:#2d2048;color:white}.public-site .closing p{color:#ded3eb}.public-site .closing img{width:220px;height:auto;margin:0 auto 22px;display:block}body.public-about{margin:0;background:#fcfaf4}.account-page{min-height:auto!important;padding-top:60px!important}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.public-site .cta{transition:none}}@media(max-width:720px){.public-site .public-nav{padding:12px 20px}.public-site .public-nav img{width:132px;height:70px}.public-site .nav-links{gap:14px;font-size:12px}.public-site .nav-links .cta{padding:10px 14px}.public-site .public-hero{margin:0 12px;min-height:650px;align-items:flex-end;border-radius:22px}.public-site .public-hero>img{object-position:65% center}.public-site .public-hero:after{background:linear-gradient(0deg,#201a35 0%,#201a35dd 38%,#201a3510 90%)}.public-site .marketing-copy{padding:32px 26px}.public-site h1{font-size:43px}.public-site .marketing-copy p{font-size:16px}.public-site .metrics{gap:25px}.public-site .metrics strong{font-size:24px}.public-site .metrics span{font-size:10px}.public-site .wrap{padding:0 24px}.public-site .world-grid,.public-site .split,.public-site .steps{grid-template-columns:1fr;gap:26px}.public-site .section-space{padding:52px 0}.public-site .public-footer{flex-direction:column;text-align:center}.public-site .public-footer a{margin:0 8px}}

.public-site .marketing-copy{width:660px;flex:0 1 660px}.public-site .public-nav>a{display:block;flex-shrink:0}.public-site .public-nav img{display:block}@media(max-width:720px){.public-site .marketing-copy{width:100%;flex-basis:100%}}

/* Keep public layouts independent of game utility classes. */
.public-site .wrap{width:100%;max-width:1220px;margin-left:auto;margin-right:auto;padding-left:36px;padding-right:36px}.public-site .section-space{margin:28px 24px;padding-top:64px;padding-bottom:64px;border-radius:28px}.public-site .section-space.wrap{width:calc(100% - 48px);margin-left:auto;margin-right:auto}.public-site .teacher-features{padding-left:22px;color:#655872}.public-site .teacher-features li{margin-bottom:16px}.public-site #teacher-tools{scroll-margin-top:24px}.auth-overlay{width:min(680px,calc(100vw - 32px))!important;max-width:680px!important;padding:0!important;overflow-y:auto;max-height:90dvh}.auth-overlay .account-page{padding:32px 18px 20px!important;min-height:0!important}.auth-overlay .account-logo{width:250px}.auth-overlay .account-card{padding:24px;box-shadow:none}.auth-overlay>button{z-index:3}.public-site .public-footer{margin:0 24px}@media(max-width:720px){.public-site .section-space{margin:18px 12px;padding-top:40px;padding-bottom:40px}.public-site .section-space.wrap{width:calc(100% - 24px)}.public-site .wrap{padding-left:24px;padding-right:24px}.auth-overlay .account-card{padding:18px}.public-site .split{gap:32px}}

.auth-overlay .account-logo{width:180px;margin-bottom:10px}.auth-overlay .account-page{padding-top:22px!important}.auth-overlay .auth-modes{margin:16px 0}.auth-overlay .account-card{padding:20px}.auth-overlay .account-card h1{font-size:27px}.auth-overlay .account-card label{margin:12px 0}

/* Preserve faces when wide hero artwork is cropped vertically. */
.public-site .public-hero>img{object-position:center top}
.public-site #teacher-tools .split{align-items:start}
.public-site #teacher-tools .split>img{align-self:start}
@media(max-width:720px){.public-site .public-hero>img{object-position:65% top}}

/* Hidden dialog headings must not create grid rows or margins above the form. */
.auth-overlay{display:block!important;gap:0!important}.auth-overlay>[data-slot="dialog-title"],.auth-overlay>[data-slot="dialog-description"]{margin:0!important}.auth-overlay .instructor-activation h2{margin-top:0}
/* Paint the gradient on the popup itself, including its top edge. */
.auth-overlay{background:radial-gradient(ellipse at top,#eee4ff,transparent 65%),#fff!important;overflow-x:hidden}
.auth-overlay .account-page{background:transparent!important;margin:0!important;width:100%}
