:root{--ink:#07101f;--navy:#0b1730;--navy-2:#102348;--paper:#f5f7fb;--white:#fff;--muted:#68758b;--line:#dfe5ef;--violet:#6c45eb;--blue:#315df4;--cyan:#12bde1;--green:#0ebd8b;--red:#df495d;--shadow:0 18px 50px rgba(7,16,31,.12);--radius:20px;--shell:min(1180px,calc(100% - 40px));font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}a{color:inherit}button,input{font:inherit}button{cursor:pointer}svg{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:#fff;padding:12px 18px;border-radius:10px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:.75rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.muted,.empty-copy{color:var(--muted)}h1,h2,h3,p{overflow-wrap:anywhere}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:760}.brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;font-weight:900;letter-spacing:-.06em;background:linear-gradient(135deg,var(--violet),var(--cyan));box-shadow:0 9px 26px rgba(73,84,235,.32)}.brand__mark--large{width:54px;height:54px;margin-bottom:18px}.brand__name{line-height:1.05}.brand__name b{display:block;color:var(--blue);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-weight:760;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button--primary{color:#fff;background:linear-gradient(110deg,var(--violet),var(--blue) 58%,#179ed7);box-shadow:0 10px 25px rgba(64,70,225,.26)}.button--secondary{color:var(--ink);background:#fff;border-color:var(--line)}.button--ghost{color:var(--blue);background:#eef1ff}.button--complete{color:#08775c;background:#d9f8ef;border-color:#9de5cf}.button--full{width:100%}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700;padding:12px 0}.spinner{display:inline-block;width:28px;height:28px;border:3px solid #d7ddeb;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.spinner--small{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.center-state{min-height:100vh;display:grid;place-content:center;justify-items:center;text-align:center;padding:40px}.center-state h1{margin-bottom:4px}.center-state p{max-width:520px;color:var(--muted)}.state-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fee8ec;color:var(--red);font-weight:900;font-size:1.4rem}
.academy-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(220,226,238,.9);backdrop-filter:blur(14px)}.academy-header__inner{height:76px;display:flex;align-items:center;justify-content:space-between}.academy-nav{position:relative;display:flex;align-items:center;gap:12px}.academy-nav__link{display:flex;align-items:center;gap:7px;text-decoration:none;font-weight:680;padding:10px}.profile-button{display:flex;align-items:center;gap:9px;border:0;background:transparent;border-radius:12px;padding:6px}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}.profile-button__text{text-align:left;font-weight:750}.profile-button__text small{display:block;color:var(--muted);font-weight:500}.profile-menu{position:absolute;right:0;top:60px;width:270px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.profile-menu p{margin:0 0 8px;font-size:.86rem;color:var(--muted)}.menu-action{width:100%;display:flex;align-items:center;gap:8px;margin-top:12px;padding:11px;border:0;border-radius:9px;background:#f3f5f9;color:var(--ink);font-weight:700}.academy-footer{margin-top:80px;padding:26px 0;background:var(--ink);color:#b9c4d7}.academy-footer .shell{display:flex;justify-content:space-between;gap:20px}.academy-footer p{margin:0}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);background:var(--ink);color:#fff}.auth-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(32px,6vw,80px);overflow:hidden;background:radial-gradient(circle at 24% 23%,rgba(61,92,245,.31),transparent 32%),radial-gradient(circle at 80% 76%,rgba(18,189,225,.22),transparent 27%),var(--ink)}.auth-intro:after{content:"";position:absolute;width:560px;height:560px;right:-260px;bottom:-270px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.014)}.auth-intro .brand{position:relative;z-index:1}.auth-intro .brand__name b{color:#9eeeff}.auth-intro__copy{position:relative;z-index:1;max-width:700px}.auth-intro__copy .eyebrow{color:#83dcf3}.auth-intro__copy h1{font-size:clamp(3rem,6vw,6.2rem);letter-spacing:-.065em;line-height:.92;margin:0}.auth-intro__copy h1 span{color:#8da9ff}.auth-intro__copy>p:last-child{max-width:560px;color:#b6c2d5;font-size:1.14rem;line-height:1.7}.auth-intro__note{position:relative;z-index:1;color:#8290a7;font-size:.85rem}.auth-panel{display:grid;place-items:center;background:#fff;color:var(--ink);padding:32px}.auth-card{width:min(420px,100%)}.auth-card h1,.auth-card h2{font-size:2rem;margin:0 0 8px}.auth-card .muted{line-height:1.6;margin-bottom:24px}.field{display:grid;gap:7px;margin:18px 0;font-weight:700}.field input{width:100%;height:50px;padding:0 14px;border:1px solid #ccd5e3;border-radius:11px;background:#fff;color:var(--ink)}.field small{min-height:17px;color:var(--red);font-weight:500}.password-wrap{position:relative}.password-wrap input{padding-right:76px}.password-wrap button{position:absolute;right:5px;top:5px;height:40px;border:0;background:#eff2f8;border-radius:8px;color:var(--blue);font-weight:700}.inline-message{padding:12px 14px;border-radius:10px;margin:14px 0;font-size:.9rem}.inline-message--error{color:#a51e34;background:#fee8ec}.inline-message--success{color:#08775c;background:#ddf8ef}.auth-help{margin-top:28px;color:var(--muted);font-size:.88rem}.auth-help a{color:var(--blue);font-weight:700}.auth-page--compact{grid-template-columns:1fr}.auth-page--compact .auth-panel{min-height:100vh}
.continue-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(115deg,#07101f 0%,#102652 58%,#2432b4 100%)}.continue-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(31,207,237,.24),transparent 27%)}.continue-hero__inner{position:relative;z-index:1;min-height:420px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;padding-block:64px}.continue-hero .eyebrow,.module-hero .eyebrow,.welcome-hero .eyebrow{color:#8de6f7}.continue-hero h1{max-width:720px;margin:0 0 16px;font-size:clamp(2.6rem,5vw,5.1rem);letter-spacing:-.055em;line-height:.98}.continue-hero__copy>p:not(.eyebrow){max-width:620px;color:#c4cee0;font-size:1.08rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.continue-hero .button--secondary,.module-hero .button--secondary,.welcome-hero .button--secondary{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}.continue-hero__art{justify-self:end;display:grid;place-content:center;justify-items:center;width:min(340px,34vw);aspect-ratio:1;position:relative}.continue-hero__art strong{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.09em}.continue-hero__art small{letter-spacing:.45em;color:#8de6f7}.orbit{position:absolute;inset:5%;border:1px solid rgba(255,255,255,.17);border-radius:50%;transform:rotate(18deg)}.orbit--two{inset:20%;transform:rotate(-35deg);border-color:rgba(91,221,244,.34)}.dashboard-section{padding-top:62px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}.section-heading h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.035em;margin:0}.section-heading>p{color:var(--muted);margin:0}.progress{display:flex;align-items:center;gap:12px;min-width:160px}.progress__track{height:9px;flex:1;background:#e7ebf2;border-radius:99px;overflow:hidden}.progress__fill{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--cyan))}.progress__value{font-weight:800;font-size:.84rem}.welcome-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.welcome-card__index{display:grid;place-items:center;width:82px;height:82px;border-radius:18px;color:#fff;background:var(--ink);font-weight:900;font-size:1.6rem}.welcome-card h2,.welcome-card p{margin:0 0 6px}.welcome-card p{color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.module-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}.module-card:hover{transform:translateY(-4px)}.module-card__link{height:100%;display:flex;flex-direction:column;text-decoration:none}.module-card__visual{position:relative;display:flex;align-items:end;min-height:180px;padding:22px;color:#fff;overflow:hidden;background:linear-gradient(135deg,#141d51,#414ae5)}.module-card__visual--2{background:linear-gradient(135deg,#073b56,#13a9d2)}.module-card__visual--3{background:linear-gradient(135deg,#35134d,#9f45d7)}.module-card__visual span{position:relative;z-index:1;font-size:3.8rem;font-weight:900;letter-spacing:-.08em}.module-card__visual i{position:absolute;width:180px;height:180px;right:-50px;top:-50px;border:30px solid rgba(255,255,255,.1);border-radius:50%}.module-card__body{display:flex;flex-direction:column;flex:1;padding:22px}.module-card__meta{color:var(--blue);font-size:.75rem;font-weight:800;text-transform:uppercase}.module-card h3{font-size:1.25rem;line-height:1.2;margin:0 0 10px}.module-card__body>p:not(.module-card__meta){color:var(--muted);line-height:1.55}.module-card .progress{margin-top:auto;padding-top:14px}
.content-page,.lesson-page{padding-top:36px}.back-link{display:inline-block;margin-bottom:22px;color:var(--blue);text-decoration:none;font-weight:700}.welcome-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;padding:clamp(34px,6vw,70px);border-radius:26px;color:#fff;background:linear-gradient(130deg,var(--ink),#182d69)}.welcome-hero h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;margin:0 0 18px;letter-spacing:-.05em}.welcome-hero>div>p:not(.eyebrow){color:#c9d2e0;line-height:1.7}.welcome-steps{display:grid;align-content:center;gap:13px}.welcome-steps span{display:flex;align-items:center;gap:12px;padding:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px}.welcome-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--blue)}.module-links{display:grid;gap:10px}.module-links a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:13px;text-decoration:none;font-weight:750}.module-links span{color:var(--blue)}.module-hero{color:#fff}.module-hero__inner{padding-block:50px}.module-hero h1{font-size:clamp(2.6rem,5vw,5rem);max-width:850px;line-height:1;margin:0 0 15px;letter-spacing:-.05em}.module-hero__inner>p:not(.eyebrow){max-width:680px;color:rgba(255,255,255,.8)}.module-hero .back-link{color:#fff}.module-hero__progress{max-width:560px;display:flex;align-items:center;gap:20px;margin:28px 0}.module-hero .progress{flex:1}.module-hero .progress__track{background:rgba(255,255,255,.2)}.module-hero .progress__value{color:#fff}.curriculum{padding-top:48px}.lesson-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.lesson-row{display:grid;grid-template-columns:58px 1fr auto 24px;align-items:center;gap:14px;min-height:84px;padding:12px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none}.lesson-row__number{color:var(--blue);font-weight:900}.lesson-row__copy b,.lesson-row__copy small{display:block}.lesson-row__copy small{color:var(--muted);margin-top:5px}.lesson-row__status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem;font-weight:700}.lesson-row__status.is-complete{color:#08775c}
.lesson-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;color:var(--muted);font-size:.88rem}.lesson-breadcrumb a{color:var(--blue);text-decoration:none}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px}.lesson-heading h1{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.045em;margin:0}.lesson-heading>p:last-child{color:var(--muted)}.video-shell{margin:25px 0;border-radius:20px;overflow:hidden;background:#050913;aspect-ratio:16/9;color:#fff}.video-state{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 35%,rgba(67,81,232,.28),transparent 38%),#050913}.video-state .eyebrow{color:#79dff5}.video-state h3{font-size:1.5rem;margin:0}.video-state p:last-child{color:#aeb9cb}.video-state__icon{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);margin-bottom:18px}.video-state__icon svg{width:30px;height:30px}.video-state video{width:100%;height:100%;object-fit:contain}.resource-card,.completion-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px}.resource-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;color:var(--blue);background:#eef1ff}.resource-icon svg{width:25px;height:25px}.resource-copy h2,.resource-copy p{margin:0 0 5px}.resource-copy p:last-child{color:var(--muted)}.resource-actions{display:flex;gap:8px;flex-wrap:wrap}.support-section{padding-top:40px}.support-list{list-style:none;padding:0;display:grid;gap:9px}.support-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.support-list b,.support-list small{display:block}.support-list small{color:var(--muted);text-transform:uppercase;margin-top:4px}.completion-card{margin-top:38px;border-color:#cdd7ff;background:#f1f3ff}.completion-card h2,.completion-card p{margin:0 0 5px}.completion-card p:last-child{color:var(--muted)}.lesson-pagination{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.lesson-pagination a{padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px;text-decoration:none}.lesson-pagination a.next{text-align:right}.lesson-pagination small,.lesson-pagination b{display:block}.lesson-pagination small{color:var(--muted);margin-bottom:5px}.playlist{position:sticky;top:102px;align-self:start;max-height:calc(100vh - 125px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:17px}.playlist__head{padding:20px;border-bottom:1px solid var(--line)}.playlist__head h2{font-size:1.15rem;margin:0}.playlist ol{list-style:none;margin:0;padding:8px}.playlist li a{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:7px;padding:12px 10px;border-radius:10px;text-decoration:none}.playlist li a[aria-current=page]{background:#eef1ff;color:var(--blue)}.playlist li span{font-size:.78rem;color:var(--muted)}.playlist li b{font-size:.84rem}.playlist li svg{color:var(--green)}
.lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.lesson-meta span{padding:7px 10px;border-radius:999px;background:#eaf0ff;color:#2947a8;font-size:.76rem;font-weight:800}.action-plan{display:grid;grid-template-columns:minmax(180px,.75fr) 1.25fr;gap:24px;margin:26px 0;padding:24px;border:1px solid #cfd9f4;border-radius:18px;background:linear-gradient(135deg,#f7f9ff,#eefbfe)}.action-plan h2,.action-plan p{margin:0 0 7px}.action-plan__intro>p:last-child{color:var(--muted);line-height:1.55}.action-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.action-plan li button{width:100%;display:flex;align-items:center;gap:11px;min-height:52px;padding:10px 13px;text-align:left;border:1px solid #dbe3f0;border-radius:12px;background:#fff;color:var(--ink);font-weight:720}.action-plan li.is-complete button{color:#08775c;background:#e1f9f1;border-color:#a9e9d3}.action-check{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:2px solid #a9b7ce;border-radius:8px}.is-complete .action-check{border-color:var(--green);background:var(--green);color:#fff}.action-check svg{width:17px;height:17px}
@media(max-width:960px){.module-grid{grid-template-columns:1fr 1fr}.lesson-layout{grid-template-columns:1fr}.playlist{position:static;max-height:none;order:-1}.auth-page{grid-template-columns:1fr}.auth-intro{display:none}.continue-hero__inner{grid-template-columns:1fr}.continue-hero__art{display:none}.action-plan{grid-template-columns:1fr}}
@media(max-width:680px){:root{--shell:min(100% - 28px,1180px)}.academy-header__inner{height:66px}.brand__name{display:none}.academy-nav__link span,.profile-button__text{display:none}.module-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:8px}.welcome-card{grid-template-columns:auto 1fr}.welcome-card .button{grid-column:1/-1}.welcome-hero{grid-template-columns:1fr;padding:28px}.lesson-row{grid-template-columns:44px 1fr 20px}.lesson-row__status{display:none}.resource-card,.completion-card{grid-template-columns:1fr}.resource-icon{display:none}.resource-actions,.resource-actions .button,.completion-card .button{width:100%}.support-list li{align-items:flex-start;flex-direction:column}.support-list .resource-actions{display:grid;grid-template-columns:1fr 1fr}.lesson-pagination{grid-template-columns:1fr}.academy-footer .shell{display:block}.academy-footer p+ p{margin-top:8px}.auth-panel{padding:22px}.auth-card h1,.auth-card h2{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

/* Academy UX: compact unavailable video and accessible curriculum disclosure. */
body{min-width:0}
.lesson-content{min-width:0}
.playlist summary:focus-visible{outline-offset:-4px}
.playlist__head{cursor:pointer;min-height:48px}
.playlist__label{display:block;font-weight:700;margin-bottom:10px}
.playlist__title{display:block;font-size:1.15rem;font-weight:700}
.playlist__head .eyebrow{margin-top:10px}
.video-shell--compact{aspect-ratio:auto}
.video-shell--compact .video-state{display:block;height:auto;text-align:left;padding:16px 20px}
.video-shell--compact .video-state p{margin:0}
.video-shell--compact .video-state .eyebrow{margin-bottom:6px}
#modules{scroll-margin-top:100px}
@media(max-width:960px){.playlist__head{padding:14px 18px}.playlist__label{display:inline;margin:0}.playlist__head .eyebrow,.playlist__title{display:none}}
.lesson-row__copy,.playlist li b,.resource-copy{min-width:0;overflow-wrap:anywhere}
.resource-actions{max-width:100%}
@media(min-width:681px) and (max-width:1100px){.resource-card{grid-template-columns:auto minmax(0,1fr)}.resource-card .resource-actions{grid-column:1/-1}}
.tutor-panel{padding:26px;margin:24px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.tutor-intro h2{margin:0 0 12px}.tutor-intro>p:last-child,.tutor-privacy{color:var(--muted);line-height:1.6}.tutor-history{display:grid;gap:16px;max-height:700px;overflow:auto;scrollbar-gutter:stable}.tutor-message{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere}.tutor-message h3{font-size:.85rem;margin:0 0 8px}.tutor-message p{margin:0 0 18px;line-height:1.7}.tutor-answer{white-space:pre-wrap}.tutor-sources{display:grid;gap:9px;margin:0 0 20px;font-size:.85rem}.tutor-sources a{overflow-wrap:anywhere;text-underline-offset:3px}.tutor-form{display:grid;gap:12px;margin-top:24px}.tutor-form label{font-weight:700}.tutor-form textarea{display:block;width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;line-height:1.5;resize:vertical}.tutor-form details summary{padding:12px 0;cursor:pointer;font-weight:650}.tutor-form details label{display:block;margin:8px 0}.tutor-privacy{font-size:.8rem;margin:0}.tutor-error{color:#ac2035;margin:0}.tutor-status{font-size:.85rem;margin:0;color:var(--muted)}.tutor-sent{color:#08775c}.tutor-message .button{max-width:100%;padding:10px 16px;text-align:left;line-height:1.4}.tutor-form>.button{justify-self:start}@media(max-width:540px){.tutor-panel{padding:18px}.tutor-message{padding:14px}.tutor-form>.button{width:100%}}
