@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:oklch(25% .03 257);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:oklch(25% .03 257);--muted:oklch(52% .025 257);--quiet:oklch(65% .025 257);--canvas:oklch(97.5% .012 94);--surface:oklch(100% 0 0);--line:oklch(89% .022 257);--line-strong:oklch(82% .035 257);--brand:oklch(47% .155 163);--brand-deep:oklch(36% .11 163);--brand-soft:oklch(94% .045 163);--gold:oklch(78% .14 82);--danger:oklch(52% .16 25);--shadow-sm:0 1px 2px oklch(25% .03 257/.05), 0 8px 24px oklch(25% .03 257/.04);--shadow-lg:0 22px 60px oklch(25% .03 257/.1);background:oklch(97.5% .012 94);font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid oklch(70% .13 163/.55)}#root{min-height:100vh}.auth-shell{background:var(--canvas);grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.auth-intro{color:oklch(95% .025 163);background:var(--brand-deep);flex-direction:column;justify-content:space-between;padding:48px clamp(32px,7vw,112px) 42px;display:flex;position:relative;overflow:hidden}.auth-intro:before,.auth-intro:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.auth-intro:before{border:1px solid oklch(90% .06 163/.17);width:560px;height:560px;top:16%;right:-230px;box-shadow:0 0 0 36px oklch(90% .06 163/.05),0 0 0 72px oklch(90% .06 163/.04)}.auth-intro:after{filter:blur(4px);background:oklch(72% .14 83/.18);width:280px;height:280px;bottom:-150px;right:10%}.brand-lockup{color:inherit;letter-spacing:.07em;align-items:center;gap:10px;font:700 15px/1 Space Grotesk,sans-serif;text-decoration:none;display:inline-flex}.brand-lockup em{color:var(--gold);font-style:normal}.brand-mark{width:34px;height:34px;color:var(--gold);background:oklch(100% 0 0/.12);border:1px solid oklch(100% 0 0/.2);border-radius:10px;place-items:center;display:inline-grid}.intro-copy{z-index:1;max-width:560px;margin:auto 0;position:relative}.intro-copy h1{color:oklch(99% .01 163);letter-spacing:-.06em;max-width:520px;margin:18px 0 22px;font:600 clamp(42px,5.4vw,76px)/.98 Space Grotesk,sans-serif}.intro-copy>p:last-child{color:oklch(88% .03 163);max-width:430px;font-size:17px;line-height:1.65}.eyebrow{color:var(--brand);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:7px;margin:0;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.auth-intro .eyebrow{color:var(--gold)}.intro-note{z-index:1;color:oklch(82% .035 163);align-items:center;gap:10px;max-width:360px;font-size:12px;display:flex;position:relative}.auth-panel{background:var(--surface);place-items:center;padding:40px clamp(24px,7vw,112px);display:grid}.login-card{width:min(100%,430px)}.mobile-brand{color:var(--ink);margin-bottom:48px;display:none}.login-heading h2{color:var(--ink);letter-spacing:-.045em;margin:13px 0 12px;font:600 38px/1.08 Space Grotesk,sans-serif}.muted-copy{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.muted-copy strong{color:var(--ink);font-weight:600}.step-indicator{color:var(--quiet);grid-template-columns:28px 1fr 28px auto;align-items:center;gap:10px;margin:36px 0 30px;font-size:11px;font-weight:700;display:grid}.step-indicator span{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.step-indicator span.active,.step-indicator span.complete{border-color:var(--brand);background:var(--brand);color:#fff}.step-indicator i{background:var(--line);height:1px;display:block}.step-indicator small{color:var(--quiet);font-size:11px;font-weight:500}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form label{color:var(--ink);font-size:13px;font-weight:700}.input-wrap{border:1px solid var(--line-strong);min-height:50px;color:var(--quiet);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:0 14px;transition:border-color .18s,box-shadow .18s;display:flex}.input-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px oklch(47% .155 163/.12)}.input-wrap input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:15px}.input-wrap input::placeholder,.otp-input::placeholder{color:oklch(72% .02 257)}.field-hint{color:var(--quiet);margin:1px 0 12px;font-size:12px}.otp-input{border:1px solid var(--line-strong);width:100%;min-height:58px;color:var(--ink);background:var(--surface);letter-spacing:.28em;text-align:center;border-radius:10px;outline:0;font:600 28px/1 Space Grotesk,sans-serif;transition:border-color .18s,box-shadow .18s}.otp-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px oklch(47% .155 163/.12)}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 17px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.primary-button{color:#fff;background:var(--brand);width:100%;margin-top:10px;box-shadow:0 8px 18px oklch(47% .155 163/.18)}.primary-button:hover{background:var(--brand-deep);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.secondary-button{color:var(--brand-deep);background:var(--brand-soft)}.secondary-button:hover{background:oklch(91% .065 163)}.danger-button{min-height:40px;color:var(--danger);background:oklch(95% .025 25)}.danger-button:hover{background:oklch(92% .05 25)}.text-button{color:var(--brand-deep);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:5px 0;font-size:12px;font-weight:700;display:inline-flex}.text-button:disabled{color:var(--quiet);cursor:not-allowed}.code-actions{justify-content:space-between;align-items:center;margin:1px 0 10px;display:flex}.form-error{color:var(--danger);margin:2px 0;font-size:12px;line-height:1.45}.login-footer{color:var(--quiet);text-align:center;margin:38px 0 0;font-size:12px}.loading-screen{min-height:100vh;color:var(--muted);background:var(--canvas);place-content:center;justify-items:center;gap:12px;font-size:13px;display:grid}.spin{color:var(--brand);animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:var(--canvas);min-height:100vh}.topbar{border-bottom:1px solid var(--line);min-height:72px;color:var(--ink);background:var(--surface);align-items:center;gap:42px;padding:0 clamp(20px,5vw,72px);display:flex}.topbar .brand-lockup{color:var(--ink)}.topbar .brand-mark{border-color:var(--line);background:var(--brand-soft);color:var(--brand)}.topnav{gap:7px;margin-right:auto;display:flex}.nav-link{min-height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover,.nav-link.active{color:var(--brand-deep);background:var(--brand-soft)}.account-menu{align-items:center;gap:10px;display:flex}.avatar{width:34px;height:34px;color:var(--brand-deep);background:var(--brand-soft);border-radius:50%;place-items:center;font:700 14px Space Grotesk,sans-serif;display:grid}.account-name{gap:2px;min-width:100px;display:grid}.account-name strong{color:var(--ink);font-size:12px}.account-name span{max-width:160px;color:var(--quiet);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:grid}.icon-button:hover{border-color:var(--line-strong);color:var(--danger);background:oklch(95% .025 25)}.content-shell{width:min(100%,1240px);margin:0 auto;padding:clamp(28px,5vw,64px) clamp(20px,5vw,72px)}.page-stack{gap:26px;display:grid}.narrow-page{width:min(100%,900px)}.enrollment-section{gap:20px;display:grid}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.section-heading-row h2{color:var(--ink);letter-spacing:-.045em;margin:9px 0 6px;font:600 clamp(24px,3vw,32px)/1 Space Grotesk,sans-serif}.enrollment-summary{border:1px solid var(--line);background:var(--surface);text-align:right;min-width:112px;box-shadow:var(--shadow-sm);border-radius:11px;gap:3px;padding:11px 14px;display:grid}.enrollment-summary strong{color:var(--brand-deep);font:700 22px/1 Space Grotesk,sans-serif}.enrollment-summary span{color:var(--quiet);font-size:11px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.course-card{border:1px solid var(--line);min-width:0;color:inherit;background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;padding:20px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.course-card:hover{border-color:oklch(78% .07 163);transform:translateY(-2px);box-shadow:0 12px 30px oklch(25% .03 257/.08)}.course-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-domain{color:var(--brand);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.course-card h3{color:var(--ink);letter-spacing:-.035em;margin:17px 0 8px;font:600 20px/1.15 Space Grotesk,sans-serif}.course-description{min-height:42px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.course-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin:20px 0;font-size:11px;display:flex}.course-meta span{align-items:center;gap:5px;display:inline-flex}.course-meta svg{color:var(--quiet)}.course-progress{margin-top:auto}.course-progress-heading{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.course-progress-heading strong{color:var(--brand-deep);font:700 12px Space Grotesk,sans-serif}.course-progress-track{background:var(--brand-soft);border-radius:999px;height:7px;overflow:hidden}.course-progress-track span{border-radius:inherit;background:var(--brand);height:100%;transition:width .35s cubic-bezier(.22,1,.36,1);display:block}.course-card-footer{border-top:1px solid var(--line);color:var(--quiet);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;font-size:11px;display:flex}.course-access-label{color:var(--brand-deep);align-items:center;gap:4px;font-weight:700;display:inline-flex}.state-action{width:auto;min-height:38px;margin-top:6px}.empty-courses-state{min-height:180px}.course-skeleton{background:linear-gradient(105deg, var(--surface) 35%, oklch(97% .02 257) 50%, var(--surface) 65%);background-size:250% 100%;gap:15px;min-height:282px;animation:1.5s ease-in-out infinite shimmer}.course-skeleton span{background:var(--line);border-radius:5px;height:12px;display:block}.course-skeleton span:first-child{width:36%;height:10px}.course-skeleton span:nth-child(2){width:82%;height:26px;margin-top:12px}.course-skeleton span:nth-child(3){width:100%;height:42px}.course-skeleton span:nth-child(4){width:100%;height:8px;margin-top:auto}.error-state span{text-align:center;max-width:440px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.welcome-banner{color:oklch(97% .025 163);background:linear-gradient(125deg, var(--brand-deep), oklch(42% .13 178));min-height:250px;box-shadow:var(--shadow-lg);border-radius:18px;align-items:flex-end;padding:clamp(24px,5vw,48px);display:flex;position:relative;overflow:hidden}.welcome-banner h1{z-index:1;color:#fff;letter-spacing:-.055em;max-width:600px;margin:13px 0 12px;font:600 clamp(32px,4vw,52px)/1 Space Grotesk,sans-serif;position:relative}.welcome-banner .muted-copy{z-index:1;color:oklch(86% .035 163);position:relative}.banner-orbit{border:1px solid oklch(100% 0 0/.18);border-radius:50%;width:360px;height:360px;position:absolute;top:-60px;right:5%}.banner-orbit:before,.banner-orbit:after,.banner-orbit span{content:"";border:1px solid oklch(100% 0 0/.15);border-radius:50%;position:absolute}.banner-orbit:before{inset:34px}.banner-orbit:after{inset:74px}.banner-orbit span{background:var(--gold);border:0;width:9px;height:9px}.banner-orbit span:first-child{top:28px;left:58%}.banner-orbit span:nth-child(2){background:oklch(88% .08 163);bottom:33%;right:22px}.banner-orbit span:nth-child(3){bottom:36px;left:29%}.metric-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);min-height:154px;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.metric-card.accent-card{background:var(--brand-soft);border-color:oklch(80% .07 163)}.metric-icon,.empty-icon{width:34px;height:34px;color:var(--brand-deep);background:oklch(100% 0 0/.6);border-radius:9px;place-items:center;display:grid}.metric-card strong{color:var(--ink);font:600 15px Space Grotesk,sans-serif}.metric-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.empty-workspace{border:1px dashed var(--line-strong);background:oklch(100% 0 0/.5);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px;display:grid}.empty-workspace h2{color:var(--ink);letter-spacing:-.025em;margin:6px 0;font:600 21px Space Grotesk,sans-serif}.empty-workspace .muted-copy{max-width:530px;font-size:13px}.page-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-heading-row h1{color:var(--ink);letter-spacing:-.05em;margin:11px 0 8px;font:600 clamp(32px,4vw,48px)/1 Space Grotesk,sans-serif}.security-callout{color:var(--brand-deep);background:var(--brand-soft);border:1px solid oklch(81% .07 163);border-radius:10px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.security-callout svg{flex:none}.state-card{border:1px solid var(--line);min-height:140px;color:var(--muted);background:var(--surface);text-align:center;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.state-card strong{color:var(--ink)}.error-state{color:var(--danger);border-color:oklch(80% .07 25)}.session-list{gap:10px;display:grid}.session-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:13px;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.session-icon{width:42px;height:42px;color:var(--brand-deep);background:var(--brand-soft);border-radius:10px;place-items:center;display:grid}.session-details{min-width:0}.session-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-title strong{color:var(--ink);font:600 14px Space Grotesk,sans-serif}.active-pill{color:var(--brand-deep);background:var(--brand-soft);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.session-details p{color:var(--muted);margin:5px 0 3px;font-size:12px}.session-details small{color:var(--quiet);font-size:11px}.revoke-button{color:var(--danger)}.revoke-button:hover{color:oklch(42% .17 25)}.not-found{text-align:center;place-content:center;justify-items:center;gap:15px;min-height:100vh;display:grid}.not-found h1{margin:0 0 12px;font:600 40px Space Grotesk,sans-serif}@media (width<=860px){.auth-shell{display:block}.auth-intro{min-height:280px;padding:28px 24px}.intro-copy{margin:48px 0 0}.intro-copy h1{max-width:600px;font-size:clamp(38px,10vw,58px)}.intro-copy>p:last-child,.intro-note{display:none}.auth-panel{min-height:calc(100vh - 280px);padding:42px 24px}.mobile-brand{display:inline-flex}.auth-intro>.brand-lockup{display:none}.banner-orbit{opacity:.6;right:-110px}}@media (width<=640px){.topbar{flex-wrap:wrap;gap:12px;padding:14px 18px}.topnav{order:3;width:100%;margin:0}.account-menu{margin-left:auto}.account-name{display:none}.content-shell{padding:28px 18px}.metric-grid,.course-grid{grid-template-columns:1fr}.metric-card{min-height:auto}.empty-workspace{grid-template-columns:auto 1fr}.empty-workspace .secondary-button{grid-column:1/-1;width:100%}.page-heading-row{flex-direction:column;align-items:flex-start}.page-heading-row .danger-button{width:100%}.section-heading-row{flex-direction:column;align-items:flex-start}.enrollment-summary{text-align:left;min-width:0}.session-row{grid-template-columns:36px 1fr}.session-icon{width:36px;height:36px}.revoke-button{grid-column:2;justify-self:start}.login-heading h2{font-size:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.course-workspace{min-height:100vh;color:var(--ink);background:oklch(17% .025 257)}.workspace-topbar{color:#fff;background:oklch(20% .03 257);border-bottom:1px solid oklch(100% 0 0/.12);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:0 24px;display:flex}.workspace-topbar-left{align-items:center;gap:13px;min-width:0;display:flex}.workspace-back{color:oklch(88% .02 257);border:1px solid oklch(100% 0 0/.17);border-radius:8px;flex:none;place-items:center;width:34px;height:34px;text-decoration:none;display:grid}.workspace-back:hover{background:oklch(100% 0 0/.08);border-color:oklch(100% 0 0/.35)}.workspace-brand{color:oklch(94% .02 163);letter-spacing:.06em;flex:none;align-items:center;gap:6px;font:700 12px/1 Space Grotesk,sans-serif;display:inline-flex}.workspace-brand em{color:var(--gold);font-style:normal}.workspace-divider{background:oklch(100% 0 0/.16);flex:none;width:1px;height:22px}.workspace-course-name{color:oklch(86% .02 257);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.workspace-drawer-toggle,.drawer-close,.workspace-mobile-heading button{color:oklch(90% .02 257);cursor:pointer;background:0 0;border:1px solid oklch(100% 0 0/.17);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.workspace-drawer-toggle{min-height:36px;padding:0 12px}.workspace-drawer-toggle:hover,.drawer-close:hover{background:oklch(100% 0 0/.09)}.workspace-body{grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100vh - 64px);display:grid}.workspace-main{background:oklch(96.5% .01 94);min-width:0}.workspace-mobile-heading{display:none}.lesson-pane{width:min(100%,920px);margin:0 auto;padding:clamp(28px,5vw,62px) clamp(20px,6vw,78px) 42px}.lesson-header{border-bottom:1px solid var(--line);padding-bottom:22px}.lesson-kicker{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:800}.lesson-header h1{max-width:760px;color:var(--ink);letter-spacing:-.055em;margin:0;font:600 clamp(28px,4vw,44px)/1.05 Space Grotesk,sans-serif}.lesson-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:12px;display:flex}.lesson-type-icon{width:25px;height:25px;color:var(--brand-deep);background:var(--brand-soft);border-radius:7px;place-items:center;display:inline-grid}.lesson-type-icon.pdf{color:var(--danger);background:oklch(95% .025 25)}.lesson-complete{color:var(--brand-deep);align-items:center;gap:5px;margin-left:5px;font-weight:700;display:inline-flex}.lesson-intro{color:var(--muted);margin:28px 0 -4px;font-size:15px;line-height:1.7}.lesson-richtext{color:var(--ink);margin-top:34px;font-size:16px;line-height:1.8}.lesson-richtext h1,.lesson-richtext h2,.lesson-richtext h3,.lesson-richtext h4{color:var(--ink);letter-spacing:-.03em;margin:1.5em 0 .55em;font-family:Space Grotesk,sans-serif;line-height:1.2}.lesson-richtext h1{font-size:30px}.lesson-richtext h2{font-size:25px}.lesson-richtext h3{font-size:20px}.lesson-richtext p{margin:0 0 1.1em}.lesson-richtext ul,.lesson-richtext ol{margin:0 0 1.2em;padding-left:1.5em}.lesson-richtext li{margin:.35em 0}.lesson-richtext a{color:var(--brand-deep);text-underline-offset:3px;text-decoration:underline}.lesson-richtext blockquote{border-left:3px solid var(--brand);color:var(--muted);margin:1.5em 0;padding:.15em 0 .15em 1.2em}.lesson-richtext pre{color:oklch(93% .02 163);background:oklch(22% .03 257);border-radius:10px;padding:16px;font-size:13px;line-height:1.6;overflow-x:auto}.lesson-richtext code{background:oklch(91% .02 257);border-radius:4px;padding:2px 5px;font-size:.9em}.lesson-richtext pre code{background:0 0;padding:0}.lesson-pdf{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:12px;margin-top:34px;overflow:hidden}.lesson-pdf-heading{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:14px 16px;display:flex}.lesson-pdf-heading>div{flex:1;gap:3px;display:grid}.lesson-pdf-heading strong{color:var(--ink);font-size:13px}.lesson-pdf-heading span:not(.lesson-type-icon){color:var(--muted);font-size:11px}.lesson-pdf-heading a{color:var(--brand-deep);align-items:center;gap:5px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.lesson-pdf iframe{border:0;width:100%;height:min(70vh,720px);display:block}.lesson-footer{border-top:1px solid var(--line);color:var(--quiet);justify-content:space-between;align-items:center;gap:12px;margin-top:48px;padding-top:20px;font-size:11px;display:flex}.lesson-nav-button{border:1px solid var(--line-strong);min-height:38px;color:var(--brand-deep);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.lesson-nav-button:hover{border-color:var(--brand);background:var(--brand-soft)}.lesson-nav-button:disabled{opacity:.4;cursor:not-allowed}.lesson-nav-button.next{color:#fff;border-color:var(--brand);background:var(--brand)}.lesson-nav-button.next:hover{background:var(--brand-deep)}.workspace-drawer{z-index:4;color:oklch(91% .02 257);background:oklch(22% .03 257);border-left:1px solid oklch(100% 0 0/.12);position:relative;overflow-y:auto}.drawer-header{border-bottom:1px solid oklch(100% 0 0/.12);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:0 18px;display:flex}.drawer-label{color:inherit;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.drawer-close{border:0;place-items:center;width:31px;height:31px;display:grid}.workspace-stats{border-bottom:1px solid oklch(100% 0 0/.12);padding:17px 18px 18px}.stats-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-heading strong{color:var(--gold);font:700 18px/1 Space Grotesk,sans-serif}.workspace-progress-track{background:oklch(100% 0 0/.14);border-radius:999px;height:6px;margin-top:13px;overflow:hidden}.workspace-progress-track span{border-radius:inherit;background:var(--gold);height:100%;transition:width .3s;display:block}.workspace-stat-grid{color:oklch(72% .025 257);gap:7px;margin-top:14px;font-size:11px;display:grid}.workspace-stat-grid span{align-items:center;gap:7px;display:inline-flex}.workspace-stat-grid svg{color:oklch(78% .08 163)}.stats-loading{color:oklch(69% .025 257);border-bottom:1px solid oklch(100% 0 0/.12);padding:18px;font-size:11px}.curriculum-list{padding-bottom:20px}.curriculum-module{border-bottom:1px solid oklch(100% 0 0/.09)}.curriculum-module-header{color:oklch(92% .02 257);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:16px 18px 13px;display:flex}.curriculum-module-header:hover{background:oklch(100% 0 0/.05)}.module-index{width:24px;height:24px;color:var(--gold);background:oklch(100% 0 0/.09);border-radius:7px;flex:none;place-items:center;font:700 11px Space Grotesk,sans-serif;display:grid}.module-heading{flex:1;gap:4px;min-width:0;display:grid}.module-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.module-heading small{color:oklch(66% .025 257);font-size:10px}.module-chevron{flex:none;transition:transform .2s}.module-chevron.collapsed{transform:rotate(-90deg)}.curriculum-lectures{padding:0 10px 10px}.lecture-row{color:oklch(79% .02 257);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:10px 8px;display:flex}.lecture-row:hover{color:#fff;background:oklch(100% 0 0/.07)}.lecture-row.selected{color:#fff;background:oklch(47% .11 163/.3);border-color:oklch(78% .1 163/.45)}.lecture-status{color:oklch(65% .025 257);flex:none;place-items:center;width:22px;height:22px;display:grid}.lecture-row.selected .lecture-status,.lecture-row .lecture-status svg[data-lucide=circle-check-big]{color:var(--gold)}.lecture-copy{gap:4px;min-width:0;display:grid}.lecture-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.lecture-copy small{color:oklch(63% .025 257);font-size:10px}.lecture-row.selected .lecture-copy small{color:oklch(82% .035 163)}.lesson-state,.workspace-error-page{min-height:calc(100vh - 64px);color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:9px;padding:28px;display:grid}.lesson-state strong,.workspace-error-page h1{color:var(--ink);margin:2px 0;font:600 22px Space Grotesk,sans-serif}.lesson-state.error,.lesson-state.error strong,.workspace-error-page h1{color:var(--danger)}.lesson-state span,.workspace-error-page p{max-width:420px;margin:0;font-size:13px;line-height:1.55}.workspace-loading{color:oklch(77% .025 257);background:oklch(17% .025 257);place-content:center;justify-items:center;gap:14px;min-height:100vh;font-size:13px;display:grid}.workspace-loader{border:3px solid oklch(100% 0 0/.17);border-top-color:var(--gold);border-radius:50%;width:25px;height:25px;animation:1s linear infinite spin}.workspace-back-link{color:var(--brand-deep);align-items:center;gap:7px;margin-top:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.drawer-backdrop{display:none}.lecture-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.lecture-copy{flex:1}.lecture-checkbox{color:#fff;cursor:pointer;background:0 0;border:1px solid oklch(67% .025 257);border-radius:5px;flex:none;place-items:center;width:22px;height:22px;padding:0;display:grid}.lecture-checkbox:hover:not(:disabled){border-color:var(--gold);background:oklch(78% .14 82/.14)}.lecture-checkbox.checked{border-color:var(--gold);color:oklch(22% .03 257);background:var(--gold)}.lecture-checkbox:disabled{cursor:default}@media (width<=860px){.workspace-body{display:block;position:relative}.workspace-main{min-height:calc(100vh - 64px)}.workspace-drawer{z-index:5;border-left:1px solid oklch(100% 0 0/.18);width:min(360px,92vw);transition:transform .22s;position:fixed;top:64px;bottom:0;right:0;transform:translate(102%);box-shadow:-18px 0 40px oklch(0% 0 0/.25)}.workspace-drawer.open{transform:translate(0)}.drawer-backdrop{z-index:4;cursor:pointer;background:oklch(0% 0 0/.42);border:0;display:block;position:fixed;inset:64px 0 0}.workspace-mobile-heading{justify-content:flex-end;padding:15px 20px 0;display:flex}.workspace-mobile-heading button{min-height:35px;color:var(--brand-deep);border-color:var(--line-strong);background:var(--surface);padding:0 11px}.lesson-pane{padding-top:20px}}@media (width<=560px){.workspace-topbar{min-height:58px;padding:0 14px}.workspace-topbar-left{gap:9px}.workspace-brand,.workspace-divider{display:none}.workspace-course-name{font-size:12px}.workspace-drawer-toggle{padding:0 9px}.workspace-drawer-toggle span{display:none}.workspace-drawer,.drawer-backdrop{top:58px}.workspace-main,.lesson-state{min-height:calc(100vh - 58px)}.lesson-pane{padding:18px 17px 30px}.lesson-header h1{font-size:29px}.lesson-richtext{margin-top:26px;font-size:15px}.lesson-footer{flex-wrap:wrap;align-items:stretch}.lesson-footer>span{text-align:center;order:-1;width:100%}.lesson-nav-button{flex:1}.lesson-nav-button.next{justify-content:flex-end}}
