:root{--bg:#f4f8fc;--text:#16324b;--muted:#60768a;--line:#e0eaf3;--shadow:0 12px 36px #0c385b0c}
html{scroll-behavior:smooth;scroll-padding-top:95px}body{font-size:14px;line-height:1.6}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #0896d8;outline-offset:4px}img{max-width:100%}.card,.course-card{box-shadow:var(--shadow)}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.school-logo{width:45px;height:51px;object-fit:contain;flex-shrink:0}.brand{align-items:center;gap:10px}.brand b{font-size:14px;line-height:1.4;display:block}.brand small{font-size:9px}.auth-logo{width:78px;height:86px;object-fit:contain;margin:0 auto 8px}.login-card{gap:16px}.login-card h2{line-height:1.3}.login-card p{margin-bottom:0}.login-card label,.form-stack label{font-size:13px}.login-visual h1{font-size:clamp(32px,3.5vw,52px)}.login-card input,.login-card select{min-height:47px}.topbar{height:76px}.topbar small{font-size:10px}.content{padding-top:103px}.sidebar{overflow-y:auto}.sidebar nav a{font-size:12px}.sidebar-user{padding-top:15px;margin-top:22px}.topbar b{display:block;line-height:1.3}.topbar>div:first-of-type{min-width:0}.top-actions{flex-shrink:0}.card-head h2{font-size:18px;line-height:1.4;margin-bottom:4px}.card-head p{font-size:12px}.mobile-nav,.close-menu,.nav-scrim{display:none}
.student-welcome{border-radius:26px;padding:32px 36px;background:linear-gradient(115deg,#075a8b,#028fca);color:white;box-shadow:0 14px 30px #087bad22}.welcome-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d3f1ff;font-size:12px}.pill{font-size:10px;letter-spacing:1.4px;background:#ffffff1c;border:1px solid #ffffff30;border-radius:30px;padding:6px 11px}.student-welcome h1{font-weight:500;line-height:1.3;font-size:clamp(24px,3vw,35px);margin:18px 0 12px;overflow-wrap:anywhere}.student-welcome h1 strong{font-weight:800}.student-welcome p{color:#e4f5ff;max-width:630px;line-height:1.8;font-size:14px}.student-identity{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;color:#d0efff}.student-identity b{color:white;margin-left:6px}.welcome-button{background:white;color:#075a8b;margin-top:22px;border-radius:13px}.student-stats{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);border-radius:20px;margin:18px 0 28px;padding:19px 8px;box-shadow:var(--shadow)}.student-stats article{text-align:center;padding:0 10px;border-right:1px solid var(--line)}.student-stats article:last-child{border:0}.student-stats strong{display:block;color:#075e90;font-size:27px;line-height:1.3}.student-stats span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.section-heading h2{font-size:22px;letter-spacing:-.4px;margin:4px 0 18px}.section-heading .eyebrow{color:#7791a5;font-size:9px}.student-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}.student-shortcuts a{padding:18px;background:white;border:1px solid var(--line);border-radius:18px;color:var(--text);transition:transform .15s,box-shadow .15s}.student-shortcuts a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.student-shortcuts b,.student-shortcuts small{display:block}.student-shortcuts b{font-size:14px;margin:12px 0 3px}.student-shortcuts small{font-size:11px}.shortcut-icon{width:44px;height:44px;border-radius:14px;font-size:23px;display:grid;place-items:center}.sky{background:#e3f4ff;color:#027aad}.mint{background:#e0f7ee;color:#168159}.peach{background:#fff0df;color:#b96a17}.lilac{background:#eee8ff;color:#7352b3}.student-panels{align-items:start}.student-panels .card{padding:24px;border-radius:21px}.friendly-empty{text-align:center;padding:28px 10px 20px}.friendly-empty>span{display:grid;place-items:center;margin:0 auto 14px;width:55px;height:55px;border-radius:19px;background:#eaf5fc;color:#0b87b8;font-size:26px}.friendly-empty h3{font-size:16px;margin:0 0 9px}.friendly-empty p{font-size:13px;color:var(--muted);max-width:300px;margin:0 auto 14px}.friendly-empty a{font-weight:700;font-size:13px}.lesson-row{display:flex;align-items:start;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.lesson-time{background:#e8f4fc;border-radius:12px;padding:11px 9px;flex:0 0 auto;color:#036e9e;font-size:14px;font-weight:800}.lesson-time small{display:block;text-align:center;font-weight:500;font-size:9px}.lesson-copy{min-width:0;flex:1}.lesson-copy h3{font-size:15px;margin:0 0 4px}.lesson-copy p{font-size:12px;color:var(--muted);margin-bottom:8px}.lesson-copy .btn{display:flex;margin-top:12px;font-size:12px}.student-task{display:flex;gap:12px;align-items:center;color:var(--text);padding:17px 0;border-top:1px solid var(--line)}.student-task>div{flex:1;min-width:0}.student-task small{font-size:10px}.student-task h3{font-size:14px;margin:4px 0}.student-task p{font-size:11px;color:var(--muted);margin:0}.task-dot{display:grid;place-items:center;background:#edeaff;color:#7857b3;width:36px;height:40px;border-radius:11px;flex-shrink:0}.learning-tip{padding:20px 25px;background:#eaf4fb;border-radius:17px;margin-top:22px;font-size:13px}.learning-tip p{margin:5px 0 0;color:var(--muted)}.course-body h3,.session-item b,.student-task h3,.lesson-copy h3{overflow-wrap:anywhere}.form-grid>*{min-width:0}.page-loader{display:none}.js .page-loader{display:flex;position:fixed;inset:0;z-index:1000;background:#f5fbff;align-items:center;justify-content:center;flex-direction:column;gap:12px;pointer-events:none;transition:opacity .22s,visibility .22s}.page-loader img{width:86px;height:96px;object-fit:contain}.page-loader b{font-size:17px;color:#085f8b}.page-loader span{font-size:12px;color:var(--muted)}.page-loader i{width:90px;height:4px;border-radius:5px;background:linear-gradient(90deg,#d9edf8,#028dc8,#d9edf8);background-size:200% 100%;animation:loadline 1.1s linear infinite}.js.ready .page-loader{opacity:0;visibility:hidden}.js.ready.navigating .page-loader{opacity:1;visibility:visible}@keyframes loadline{to{background-position:-200% 0}}
@media(max-width:1100px){.student-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.student-panels{grid-template-columns:1fr}.student-welcome{padding:28px}.topbar{padding-left:22px;padding-right:22px}}
@media(max-width:760px){body{font-size:14px}.content{padding:94px 16px 110px;max-width:100%;overflow-x:clip}.topbar{padding:0 16px;height:74px;gap:5px}.topbar b{font-size:14px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .menu-button{width:42px;height:44px;padding:0;margin:0 8px 0 0}.top-actions{gap:0}.avatar{width:34px;height:34px;border-radius:12px}.sidebar{width:min(310px,86vw);z-index:61;padding-bottom:30px}.sidebar nav a{font-size:14px;min-height:46px}.sidebar-user{margin-top:24px}.brand{padding-top:10px;padding-right:25px}.brand b{font-size:14px}.close-menu{display:block;position:absolute;right:10px;top:7px;background:transparent;border:0;color:#d5e9f4;font-size:28px;width:38px;height:38px}.nav-open .nav-scrim{display:block;position:fixed;inset:0;border:0;background:#102b4966;z-index:60;backdrop-filter:blur(3px)}body.nav-open{overflow:hidden}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);background:#ffffffee;backdrop-filter:blur(16px);border-top:1px solid #e3edf5;padding:8px 10px max(8px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #12395508}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#7890a3;min-height:48px;border-radius:13px}.mobile-nav a span{font-size:24px;line-height:1.2}.mobile-nav a.active{background:#e8f5fd;color:#037db5}.student-welcome{padding:24px 22px;border-radius:23px}.student-welcome h1{font-size:26px;line-height:1.35}.student-welcome p{font-size:13px}.welcome-meta{font-size:10px;gap:6px}.pill{font-size:8px;padding:5px 8px}.student-identity{display:grid;gap:5px;font-size:11px}.student-stats{padding:17px 2px;margin-top:14px;border-radius:17px}.student-stats strong{font-size:24px}.student-stats span{font-size:10px;line-height:1.5}.student-stats article{padding:0 7px}.student-shortcuts{gap:11px}.student-shortcuts a{padding:16px;border-radius:17px}.student-shortcuts b{font-size:13px}.student-shortcuts small{font-size:10px}.section-heading h2{font-size:20px}.student-panels .card{padding:20px 17px}.student-panels .card-head h2{font-size:17px}.card-head{gap:9px}.card{padding:18px}.login-panel{padding:30px 22px;background:linear-gradient(160deg,#edf8ff,#fff 60%)}.login-card{max-width:440px;text-align:center;background:#fff;padding:25px 20px;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}.login-card label{font-size:13px}.login-card input,.login-card select,.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select{font-size:16px}.auth-logo{width:65px;height:75px}.login-card h2{font-size:24px}.login-card .form-grid{gap:16px}.login-card .muted{font-size:12px}.hero,.course-hero{padding:24px;border-radius:21px}.course-cover{height:98px}.course-body{padding:20px}.course-body h3{font-size:18px}.course-body p{font-size:13px}.badge{font-size:10px}.tabs{gap:3px}.tabs button{font-size:12px;min-height:46px;padding:10px}.session-item{flex-wrap:wrap;align-items:start}.session-item>div:nth-child(2){min-width:160px}.session-item p,.session-item small{font-size:12px}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}td,th{font-size:12px}.form-stack{gap:16px}.messages small{display:block;margin:4px 0}.messages article>div>div{font-size:14px}.meeting-room{gap:12px}.meeting-room h3{overflow-wrap:anywhere}.page-intro h2{font-size:22px}.page-intro p{font-size:13px}.schedule-grid{gap:14px}.day article{padding:16px 0}.day p,.day small{font-size:12px}.learning-tip{font-size:12px;padding:18px}.install-card{padding:24px 18px}.install-body{padding:18px}.narrow{max-width:100%}.student-welcome .welcome-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.page-loader,.mobile-nav,.nav-scrim,.close-menu{display:none!important}.content{padding:0}.student-welcome{background:#fff;color:#16324b;border:1px solid #ccc}.student-welcome p,.student-identity,.student-identity b{color:#16324b}.student-shortcuts,.welcome-button{display:none!important}}
