/* Fonts are bundled locally in learning.css; no Google Fonts network dependency. */
.course-intro{background:#e9e5ff}.course-intro p,.course-description{max-width:720px;line-height:1.6;color:#56535f;margin:22px 0}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.course-tile{display:flex;flex-direction:column;min-height:315px;background:#f3f1fa;border-radius:26px;padding:24px}.course-tile h2{font-size:clamp(2rem,4vw,3.1rem);margin:25px 0 13px}.course-tile p{line-height:1.55;color:#5e5d66}.course-tile-top,.course-tile-bottom,.course-assignment-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.course-tile-bottom{margin-top:auto}.course-tile-bottom span{font-size:.82rem;color:#777}.course-actions,.course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}.course-meta{font-size:.8rem;color:#73717b}.course-list{display:grid;gap:10px}.course-lesson{border:1px solid #e5e3eb;border-radius:24px;overflow:hidden}.course-lesson-toggle{border:0;background:#f6f5f9;display:flex;align-items:center;gap:16px;text-align:left;padding:18px 20px;width:100%;color:#18171d}.course-lesson-toggle>span:nth-child(2){flex:1}.course-lesson-toggle strong{display:block;font-size:1rem}.course-lesson-toggle small{display:block;margin-top:5px;color:#777}.course-number{font-family:'Oswald',sans-serif;font-size:2rem;color:#6c61b0}.course-lesson-body{padding:24px}.course-lesson-text{white-space:pre-line;max-width:780px;line-height:1.7}.course-assignment{border-top:1px solid #e6e4ec;margin-top:22px;padding-top:22px}.course-assignment h3{margin:8px 0}.course-assignment p{line-height:1.6}.course-feedback{padding:16px;margin:14px 0;background:#f7f6fa;border-radius:16px}.course-feedback a{display:inline-block;margin-right:14px}.course-material{padding:16px;border-radius:18px;background:#f0edff}.course-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.course-admin-grid h3{font-size:1.2rem}.course-roster{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid #eee}.course-roster span{font-size:.82rem;color:#727279}.course-modal{width:min(100%,640px)}.course-modal p{line-height:1.6}.course-check{display:block;margin:14px 0;font-weight:700}.course-check input{accent-color:#6e5dd0}.course-preview{width:100%;height:min(70vh,700px);border:0;border-radius:12px;background:#eee}
.course-slides img{display:block;width:100%;height:auto;border-radius:12px;background:#eee}.course-slide-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.course-modal:has(.course-slides){width:min(100%,1000px)}
.course-progress-track{height:7px;margin-top:9px;border-radius:99px;background:#e9e6f4;overflow:hidden}.course-progress-track>div{height:100%;border-radius:99px;background:#6e5dd0}
@media(max-width:700px){.course-admin-grid{grid-template-columns:1fr}.course-tile{min-height:280px}.course-tile-bottom{align-items:flex-start;flex-direction:column}.course-assignment-head{align-items:flex-start}.nav{max-width:calc(100vw - 12px)}}
.avatar-choice{display:flex;gap:12px;margin:10px 0 18px}.avatar-choice label{position:relative;display:block;cursor:pointer;flex:0 0 76px;width:76px;height:76px}.avatar-choice input[type=radio]{position:absolute;z-index:1;inset:0;opacity:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;cursor:pointer}.avatar-choice img{display:block;width:76px;height:76px;object-fit:cover;border-radius:50%;border:3px solid transparent}.avatar-choice input:checked+img{border-color:#6f5cff;box-shadow:0 0 0 3px #e7e3ff}.avatar-choice input:focus-visible+img{outline:3px solid #6b52c7;outline-offset:4px}.auth-extra{border-top:1px solid #e7e7eb;margin:14px 0;padding-top:14px}
:root{font-family:Manrope,Arial,sans-serif;color:#131316;background:#101013;font-synthesis:none;--ink:#101013;--lav:#b8b0ff;--muted:#727279;--line:#e5e5e9;--panel:#f4f4f6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}svg{width:1.2em;height:1.2em;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}h1,h2,.display,.brand,.step-no,.big-stat{font-family:'Oswald','Arial Narrow',Impact,sans-serif;letter-spacing:-.035em;line-height:.98}h1{font-size:clamp(3.45rem,8vw,6.4rem);margin:0}h2{font-size:clamp(2.35rem,5vw,4.2rem);margin:0 0 22px}h3{font-size:1.13rem;line-height:1.22;margin:0 0 8px}.app-shell{max-width:1280px;margin:auto;min-height:100vh;padding:18px 18px 126px}.surface{background:#fff;border-radius:32px;margin-bottom:5px;padding:28px;overflow:hidden;animation:rise .55s both;box-shadow:0 6px 24px #00000008}.surface:nth-child(2){animation-delay:.06s}.surface:nth-child(3){animation-delay:.1s}.surface:nth-child(4){animation-delay:.14s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#74747d}.muted{color:var(--muted)}.small{font-size:.83rem}.topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:1.7rem;font-weight:800;letter-spacing:-.06em}.brand b{color:#a79bff}.avatar{width:42px;height:42px;border-radius:15px;background:#eeeaff;display:grid;place-items:center;font-weight:800;color:#4a409e}.topline-right{display:flex;align-items:center;gap:12px}.icon-btn{border:0;background:#f2f2f4;border-radius:15px;width:42px;height:42px;display:grid;place-items:center;color:#25252a;transition:transform .2s,background .2s}.icon-btn:hover{transform:translateY(-2px);background:#e6e2ff}.greeting{margin-top:28px}.greeting p{font-size:1rem;margin:11px 0 0;color:#696972}.greeting strong{color:#151519}.hero-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:6px}.hero-card{background:#b8afff;color:#101014;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-card:after{content:'';position:absolute;right:-8%;bottom:-55%;width:360px;height:360px;border:1px solid #ffffffaa;border-radius:50%;box-shadow:0 0 0 32px #ffffff24,0 0 0 65px #ffffff20,0 0 0 100px #ffffff19;pointer-events:none}.hero-card>*{position:relative;z-index:1}.hero-card h2{font-size:clamp(3rem,6vw,5.1rem);max-width:600px;margin:12px 0}.hero-card .eyebrow{color:#373060}.hero-card .hero-foot{display:flex;align-items:end;justify-content:space-between;gap:12px}.round-arrow{background:#121216;color:white;width:52px;height:52px;border:0;border-radius:50%;font-size:1.5rem;display:grid;place-items:center;transition:transform .25s}.round-arrow:hover{transform:rotate(-35deg) scale(1.07)}.progress-card{background:#e9e9eb;display:flex;flex-direction:column;justify-content:space-between;min-height:280px}.big-stat{font-size:clamp(4.8rem,9vw,7rem);margin:20px 0 10px}.progress-track{height:10px;border-radius:10px;background:#d1d1d8;overflow:hidden}.progress-track span{display:block;height:100%;background:#17171a;border-radius:10px;transition:width .7s}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:22px}.section-head h2{margin:0}.text-btn{border:0;background:none;font-weight:800;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.card{background:var(--panel);border-radius:25px;padding:22px;transition:transform .2s,background .2s}.card:hover{background:#efeff2}.card.selectable{cursor:pointer}.card.selectable:hover{transform:translateY(-3px)}.card + .card{margin-top:12px}.pill{display:inline-flex;align-items:center;gap:6px;background:#e6e3ff;color:#51489b;padding:7px 11px;border-radius:30px;font-size:.78rem;font-weight:800}.pill.gray{background:#e8e8eb;color:#55555e}.pill.dark{background:#18181c;color:white}.pill.green{background:#ddf4e8;color:#16724b}.pill.orange{background:#fff0d5;color:#915a11}.pill.red{background:#ffe3e3;color:#9b3535}.pills{display:flex;gap:7px;flex-wrap:wrap}.card-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.card h3{font-size:1.3rem;margin:9px 0}.card p{line-height:1.5;margin:8px 0 14px}.card-foot{border-top:1px solid #dedee4;padding-top:13px;margin-top:15px;display:flex;justify-content:space-between;gap:8px;align-items:center;color:#66666f;font-size:.83rem}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stack-list{display:grid;gap:9px}.step-item{display:flex;align-items:center;gap:16px;border:0;text-align:left;width:100%;padding:14px 16px;background:#f4f4f6;border-radius:20px;transition:transform .2s,background .2s}.step-item:hover{transform:translateX(4px);background:#eae7ff}.step-item:disabled:hover{transform:none}.step-no{font-size:1.65rem;min-width:36px;color:#8c83d9}.step-title{flex:1;font-weight:800}.step-item .pill{white-space:nowrap}.nav{position:fixed;z-index:20;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#080809;border-radius:999px;display:flex;align-items:center;gap:4px;padding:8px;box-shadow:0 16px 40px #0005;max-width:calc(100vw - 24px)}.nav button{background:transparent;border:0;border-radius:999px;color:#8c8c95;min-width:54px;height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;transition:background .25s,color .25s,transform .25s}.nav button:hover{color:#fff;transform:translateY(-2px)}.nav button.active{background:#b8afff;color:#101014}.nav button span{display:none;font-size:.83rem;font-weight:800}.nav button.active span{display:inline}.nav svg{width:22px;height:22px;flex:none}.heading-block{margin:24px 0 26px}.heading-block p{margin:10px 0 0;color:#696972}.back{border:0;background:none;padding:0 0 24px;font-weight:800;display:flex;gap:8px;align-items:center}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.75fr);gap:6px}.content-block{padding:20px 0;border-top:1px solid #e7e7eb}.content-block:first-child{border:0;padding-top:0}.content-block h3{font-size:1rem;margin:0 0 9px}.content-block p{line-height:1.7;margin:0;color:#55555d;white-space:pre-wrap}.subtle{background:#f5f5f7;border-radius:22px;padding:20px}.button{border:0;border-radius:16px;background:#111115;color:white;padding:13px 19px;font-weight:800;min-height:46px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#393345}.button.light{background:#e8e4ff;color:#352b82}.button.light:hover{background:#d9d2ff}.button.ghost{background:#f1f1f3;color:#17171a}.actions{display:flex;gap:8px;flex-wrap:wrap}.field{display:block;margin:12px 0;font-weight:800;font-size:.86rem}.field input,.field textarea,.field select{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #dedee4;background:#f7f7f9;border-radius:14px;outline:0;font-weight:500;color:#17171a;min-height:46px}.field textarea{min-height:112px;resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus{border-color:#9184f6;box-shadow:0 0 0 3px #b8afff55}.field input[type=file]{font-size:.82rem}.notice{background:#eeeaff;padding:15px;border-radius:16px;color:#423b78;line-height:1.45}.toast{position:fixed;z-index:40;top:18px;right:18px;background:#141419;color:white;border-radius:17px;padding:14px 20px;box-shadow:0 15px 30px #0003;animation:rise .25s}.empty{text-align:center;padding:34px 20px;color:#777780;background:#f5f5f7;border-radius:22px}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.event-card{min-height:245px;display:flex;flex-direction:column;justify-content:space-between}.event-date{font-family:'Oswald',Impact,sans-serif;font-size:2.3rem;font-weight:800;line-height:1}.event-date small{font-family:Manrope;font-size:.75rem;font-weight:800;margin-left:7px;letter-spacing:.07em}.event-card h3{font-size:1.35rem}.filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px}.filter{border:0;border-radius:100px;padding:10px 15px;background:#eeeef1;color:#66666e;font-size:.82rem;font-weight:800;white-space:nowrap}.filter.active{background:#18181b;color:#fff}.timeline{border-left:2px solid #dfdafd;margin-left:8px;padding-left:18px}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:before{content:'';position:absolute;left:-24px;top:3px;width:10px;height:10px;background:#a99eff;border:3px solid white;border-radius:50%}.timeline-item:last-child{padding-bottom:0}.timeline-item p{margin:3px 0;color:#43434b}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{background:#f2f2f5;border-radius:22px;padding:20px}.metric strong{font-family:'Oswald',Impact,sans-serif;display:block;font-size:2.8rem;line-height:1}.metric span{font-size:.78rem;font-weight:700;color:#777780}.team-people{display:flex;flex-wrap:wrap;gap:10px}.person{background:#f4f4f6;border-radius:18px;padding:13px 16px;display:flex;align-items:center;gap:10px}.person .avatar{width:34px;height:34px;border-radius:11px;font-size:.8rem}.modal-backdrop{position:fixed;z-index:30;inset:0;background:#0009;display:grid;place-items:center;padding:18px;animation:fade .2s}@keyframes fade{from{opacity:0}to{opacity:1}}.modal{background:white;border-radius:28px;padding:26px;width:min(100%,500px);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 30px 80px #0006}.modal-head{display:flex;align-items:start;justify-content:space-between}.modal h2{font-size:2.4rem;margin-bottom:18px}.copy-box{word-break:break-all;padding:14px;background:#f4f4f7;border-radius:13px;font-size:.82rem}.boot{color:white;font-family:Impact,sans-serif;font-size:4rem;padding:38vh 20px;text-align:center}.boot-dot{color:#b8afff}.access{max-width:680px;margin:12vh auto;background:white;border-radius:32px;padding:34px}.access h1{font-size:4rem}.access p{line-height:1.6}.review-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:50%;background:#a99fff;color:#111;font-size:.7rem;font-weight:800}.slide-card{min-height:185px;background:#dcd7ff;border-radius:25px;padding:23px;display:flex;flex-direction:column;justify-content:space-between}.slide-card:nth-child(2){background:#e6e6e9}.slide-card:nth-child(3){background:#c7c4ce}.slide-card .display{font-size:2rem}.slide-card p{max-width:190px;margin:0;font-weight:700}.slide-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.slide-card{flex:0 0 205px;scroll-snap-align:start}.side-note{background:#151519;color:white}.side-note .eyebrow{color:#aea5ff}.side-note h3{font-family:'Oswald',Impact,sans-serif;font-size:2.3rem}.side-note p{color:#c0c0c8;line-height:1.55}.form-divider{border:0;border-top:1px solid #e5e5e9;margin:22px 0}.desktop-hide{display:none}
@media(max-width:700px){.app-shell{padding:5px 5px 116px}.surface{border-radius:30px;padding:24px;margin-bottom:4px}.hero-row,.grid-two,.detail-grid,.event-grid{grid-template-columns:1fr}.hero-card,.progress-card{min-height:225px}.progress-card{min-height:175px}.hero-card:after{width:270px;height:270px}.greeting{margin-top:26px}.heading-block{margin:16px 0 22px}.heading-block p{font-size:.89rem}.section-head h2{font-size:2.7rem}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric{padding:14px}.metric strong{font-size:2.1rem}.metric span{font-size:.7rem}.nav{bottom:calc(12px + env(safe-area-inset-bottom));width:min(450px,calc(100vw - 28px));justify-content:space-around}.nav button{min-width:44px;padding:0 11px}.nav button.active span{display:none}.nav button.active{min-width:65px}.step-item{gap:9px}.step-title{font-size:.87rem}.step-item .pill{font-size:.65rem;padding:6px}.topline-right .eyebrow{display:none}.brand{font-size:clamp(1.23rem,5vw,1.7rem)}.desktop-hide{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
