@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap");:root{--ink:#11212c;--muted:#71808a;--teal:#39d1bb;--deep:#071821;--nav:#09212d;--line:#dfe7e5;--paper:#f9fbfa;--mono:"DM Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:DM Sans,Arial,sans-serif;color:var(--ink);background:#edf1f0}button{font:inherit;cursor:pointer;border:0}button:hover{filter:brightness(1.04)}.shell{min-height:100vh;display:flex}.rail{width:252px;flex:none;background:var(--nav);color:#d7e4e8;padding:22px 14px;display:flex;flex-direction:column;position:relative;z-index:5}.brand{height:43px;display:flex;align-items:center;gap:10px;padding:0 10px;font-family:Fraunces,serif;color:#fff;font-size:22px;letter-spacing:-1px}.brand>span span{color:var(--teal)}.brand-mark{height:29px;width:29px;border-radius:9px;background:var(--teal);color:#07212b;display:grid;place-items:center;font-weight:800;font-family:Fraunces,serif}.mobile-close{display:none;margin-left:auto;background:transparent;color:#9fb3bc}.cohort-card{margin:28px 6px 23px;padding:16px;background:#123341;border:1px solid #1b4555;border-radius:12px;display:flex;flex-direction:column;gap:4px}.eyebrow,.objective span{font-size:9px;letter-spacing:1.25px;font-weight:700;color:#78adae}.cohort-card strong{font-family:Fraunces,serif;font-size:19px;color:#fff}.cohort-card>span{font-size:12px;color:#c0d3d7}.progress-line{height:4px;background:#26505d;border-radius:5px;margin-top:9px;overflow:hidden}.progress-line i{display:block;width:18%;height:100%;background:var(--teal)}.cohort-card small{color:#8faeb7;font-size:10px}.nav{display:grid;grid-gap:5px;gap:5px}.nav a,.rail-bottom>a{min-height:43px;padding:0 12px;display:flex;align-items:center;gap:12px;text-decoration:none;color:#acc1c9;font-size:13px;border-radius:8px}.nav a.active{color:#fff;background:#16414c;font-weight:600}.nav a b{font-size:10px;background:#e5a947;color:#10242d;padding:2px 6px;border-radius:8px;margin-left:auto}.rail-bottom{margin-top:auto;border-top:1px solid #1b3b47;padding-top:12px}.profile{display:flex;align-items:center;gap:9px;margin:15px 8px 0}.profile strong{font-size:12px;color:#fff;display:block}.profile span{font-size:10px;color:#83a3ad}.profile svg{margin-left:auto;color:#8ba5ae}.avatar{border-radius:50%;background:linear-gradient(135deg,#fbcd91,#9f633d);display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 2px #fff}.avatar span{font-size:12px!important;font-weight:700;color:#502515!important}.avatar.small{height:31px;width:31px}.app{min-width:0;flex:1 1;display:flex;flex-direction:column}.topbar{height:67px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;justify-content:space-between}.crumb,.topbar{display:flex;align-items:center}.crumb{gap:7px;font-size:12px;color:#7d8b92}.crumb strong{font-weight:600;color:#263942}.top-actions{display:flex;align-items:center;gap:13px}.icon-btn{color:#50616a;background:transparent;display:grid;place-items:center;position:relative;padding:5px}.notification i{position:absolute;width:6px;height:6px;background:#ef7e67;border-radius:50%;right:5px;top:5px;border:1px solid white}.menu-btn{display:none;background:transparent;color:#15303a}.workspace{display:grid;grid-template-columns:minmax(390px,44%) minmax(460px,56%);flex:1 1;min-height:calc(100vh - 67px)}.lesson-pane{background:#fcfdfc;overflow-y:auto;padding:38px 44px 54px}.lesson-head{display:flex;justify-content:space-between;gap:14px}.lesson-kicker{font-size:10px;letter-spacing:1.1px;font-weight:700;color:#829198;display:flex;align-items:center;gap:8px}.week-pill{color:#0d7b72;background:#d8f5ee;padding:4px 7px;border-radius:4px}.dot{height:3px;width:3px;border-radius:50%;background:#91a0a7}.lesson-head h1{font-family:Fraunces,serif;font-size:37px;letter-spacing:-1.4px;line-height:1.05;margin:13px 0 7px;color:#152832}.lesson-head p{color:#708089;font-size:14px;margin:0}.outline-toggle{align-self:start;white-space:nowrap;font-size:11px;color:#5b6c74;background:#f0f5f3;border:1px solid #e1e9e6;padding:7px 8px;border-radius:6px;display:flex;align-items:center;gap:3px}.lesson-outline{border-left:2px solid #d6e4e0;margin:30px 0 25px;padding-left:16px;display:flex;gap:18px;font-size:11px;color:#85949a}.lesson-outline .done{color:#309e91}.lesson-outline .current{font-weight:700;color:#183740}.lesson-outline svg{vertical-align:middle}.objective{border:1px solid #c8ebe2;background:#effcf8;border-radius:11px;padding:16px;display:flex;gap:12px;margin-bottom:28px}.objective-icon{background:#d2f5eb;color:#168373;height:35px;width:35px;display:grid;place-items:center;border-radius:9px;flex:none}.objective p{font-size:13px;line-height:1.5;margin:5px 0 0;color:#25434b}.markdown{font-size:14px;line-height:1.73;color:#42545d}.markdown h2{font-family:Fraunces,serif;color:#19333e;margin:27px 0 9px;font-size:21px}.markdown p{margin:0 0 16px}.markdown ul{padding-left:21px;margin:8px 0 17px}.markdown li{padding-left:3px;margin:4px 0}.markdown code{font-family:var(--mono);font-size:12px;background:#ebf0ee;padding:2px 4px;border-radius:3px;color:#1d5154}.markdown blockquote{margin:20px 0;padding:10px 15px;border-left:3px solid var(--teal);background:#f2f8f6;color:#456068;font-style:italic}.reference{margin-top:29px;border:1px solid #dce7e4;border-radius:10px;overflow:hidden}.reference-title{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#f4f8f7}.reference-title svg{color:#2d897e}.reference-title strong{display:block;font-size:12px}.reference-title span{display:block;color:#7c898e;font-size:10px;margin-top:1px}.reference-title button{font-size:10px;color:#39786f;background:white;border:1px solid #d4e2dd;padding:5px 8px;border-radius:4px;margin-left:auto}.reference pre{margin:0;padding:15px 18px;background:#11242d;color:#cce5df;font:11px/1.65 var(--mono);overflow:auto}.code-pane{min-height:0;background:#0b1820;display:grid;grid-template-rows:52px minmax(330px,1fr) 62px minmax(230px,.6fr);border-left:1px solid #d9e1df}.editor-header{background:#10242e;border-bottom:1px solid #26404a;display:flex;justify-content:space-between;align-items:flex-end;padding:0 12px}.filetab{color:#d4e0e4;background:#142f39;border-top:2px solid var(--teal);height:52px;padding:0 15px;display:flex;align-items:center;gap:8px;font:12px var(--mono)}.filetab svg{color:#f1975d}.filetab i{height:5px;width:5px;border-radius:50%;background:#efab69}.editor-tools{display:flex;gap:3px;padding-bottom:10px}.editor-tools .icon-btn{color:#9bb1b8}.editor-wrap{min-height:0}.actionbar{height:62px;background:#10242e;border-top:1px solid #26404a;justify-content:space-between;padding:0 16px}.actionbar,.actionbar>div{display:flex;align-items:center}.actionbar>div{gap:14px}.run-btn{background:#39d1bb;color:#062129;border-radius:6px;padding:9px 13px;font-weight:700;font-size:12px;display:flex;align-items:center;gap:7px}.saved{font-size:11px;color:#9aafb7}.live-dot,.saved span{width:6px;height:6px;border-radius:50%;display:inline-block;background:#42cbb9;margin-right:5px}.submit-btn{background:#f1b65c;color:#3c2a0b;border-radius:6px;padding:9px 13px;font-weight:700;font-size:12px;display:flex;gap:7px;align-items:center}.runtime{border-top:1px solid #314851;min-height:0;display:grid;grid-template-rows:39px 1fr;background:#f8fbfa}.runtime-tabs{background:#10242e;display:flex;align-items:flex-end;padding-left:10px}.runtime-tabs button{height:39px;color:#91a9b0;background:transparent;padding:0 12px;display:flex;gap:6px;align-items:center;font-size:11px}.runtime-tabs button.selected{color:#fff;border-bottom:2px solid var(--teal);background:#142f39}.runtime-tabs>span{align-self:center;margin-left:auto;margin-right:13px;color:#7fa19e;font-size:10px}.runtime-screen{min-height:0;background:white}.runtime-screen iframe{width:100%;height:100%;border:0}.empty-preview{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b9aa0;font-size:12px;gap:5px}.empty-preview svg{color:#59bdae}.empty-preview p{margin:2px}.empty-preview button{font-size:11px;color:#147d70;background:#e6f8f3;border-radius:5px;padding:6px 9px}.console{font:12px/1.8 var(--mono);padding:16px;color:#318f82;background:#0d1c23}.console-dim{color:#78929a}.toast{position:fixed;z-index:10;bottom:25px;left:50%;transform:translateX(-50%);background:#173d40;color:#eafff8;padding:12px 16px;border-radius:8px;font-size:13px;box-shadow:0 8px 25px #07182044;display:flex;gap:8px;align-items:center}.toast svg{color:#58e0c9}@media(max-width:900px){.rail{position:fixed;inset:0 auto 0 0;transform:translateX(-105%);transition:transform .2s;width:265px;box-shadow:5px 0 30px #0005}.rail.open{transform:none}.mobile-close{display:block}.menu-btn{display:grid}.topbar{padding:0 16px}.crumb span,.crumb svg{display:none}.workspace{grid-template-columns:1fr}.lesson-pane{padding:28px 24px;max-height:none}.code-pane{min-height:700px;border-left:0}.lesson-head h1{font-size:33px}.top-actions .icon-btn:first-child{display:none}}@media(max-width:520px){.lesson-outline{gap:10px;flex-wrap:wrap}.lesson-pane{padding:25px 18px}.actionbar{padding:0 10px}.saved{display:none}.submit-btn{padding:9px}.workspace{min-height:calc(100vh - 67px)}}.dash-shell{min-height:100vh;display:flex;background:#f5f8f7}.dash-side{width:245px;background:#09212d;color:#b5c8cf;padding:23px 14px;display:flex;flex-direction:column;flex:none}.dash-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;padding:0 9px;font:22px Fraunces,serif}.dash-brand b{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:#08212b;background:#40d4bd}.dash-brand span span{color:#49dac3}.dash-role{font-size:9px;font-weight:700;letter-spacing:1.2px;color:#6d919d;margin:37px 11px 10px}.dash-side nav{display:grid;grid-gap:4px;gap:4px}.dash-side nav a,.side-foot a{height:42px;display:flex;align-items:center;gap:12px;color:#afc3ca;border-radius:7px;padding:0 11px;font-size:13px}.dash-side nav a.on{color:#fff;background:#16414c;font-weight:600}.side-foot{margin-top:auto;padding-top:12px;border-top:1px solid #1c3c48;display:grid;grid-gap:3px;gap:3px}.dash-main{min-width:0;flex:1 1}.dash-head{height:83px;padding:0 39px;background:#fff;border-bottom:1px solid #e0e8e5;display:flex;align-items:center;justify-content:space-between}.dash-head p{margin:0 0 3px;color:#72938e;font-size:10px;font-weight:700;letter-spacing:1px}.dash-head h1{font:600 20px Fraunces,serif;margin:0;color:#19323b}.head-right{display:flex;align-items:center;gap:16px}.head-right button{color:#52656d;background:transparent;position:relative}.head-right .bell i{position:absolute;width:6px;height:6px;border-radius:50%;background:#ef7e67;right:0;top:0}.initial,.person{display:grid;place-items:center;border-radius:50%;background:#e9ae72;color:#57341c;font-size:10px;font-weight:700}.person{height:32px;width:32px}.dash-menu{display:none}.dash-content{max-width:1330px;margin:0 auto;padding:37px 42px 60px}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.title-row h2{font:600 27px Fraunces,serif;letter-spacing:-.5px;margin:0 0 5px;color:#19323b}.title-row p{color:#77878e;font-size:13px;margin:0}.outline-btn,.panel-head button{border:1px solid #d4e2de;background:white;color:#40615d;padding:8px 10px;border-radius:6px;gap:6px}.outline-btn,.panel-head button,.teal-btn{font-size:12px;display:flex;align-items:center}.teal-btn{border:0;background:#159d8e;color:#fff;padding:10px 13px;border-radius:6px;gap:7px;font-weight:600}.hero{min-height:208px;border-radius:14px;padding:29px 31px;background:linear-gradient(115deg,#103944,#126657);color:white;display:flex;justify-content:space-between;overflow:hidden;position:relative}.hero span{font-size:10px;letter-spacing:1.2px;color:#9ce5d7;font-weight:700}.hero h2{font:600 30px Fraunces,serif;margin:10px 0 7px}.hero p{color:#d0e9e2;font-size:13px;margin:0 0 20px}.hero a{background:#f0b75b;color:#382908;border-radius:6px;padding:9px 11px;text-decoration:none;font-size:12px;font-weight:700;display:inline-flex}.hero a,.hero-art{align-items:center}.hero-art{display:flex;gap:14px;margin-right:55px;color:#72e0cc;opacity:.9}.hero-art svg{width:105px;height:105px;stroke-width:1}.hero-art em{font:700 22px/1.1 Fraunces,serif;color:#dbfff7;font-style:normal}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:15px;gap:15px;margin:20px 0}.stats article{background:#fff;border:1px solid #e0e9e6;border-radius:10px;padding:16px;display:flex;align-items:center;gap:12px;position:relative}.stats article>svg{width:34px;height:34px;padding:8px;border-radius:8px;color:#168c7d;background:#def7ef}.stats article:nth-child(2)>svg{color:#cf9029;background:#fff2d9}.stats article:nth-child(3)>svg{color:#657ad0;background:#edf0ff}.stats b{font:700 20px Fraunces,serif;display:block;color:#203a42}.stats span{font-size:11px;color:#7d8d92;display:block;margin-top:2px}.stats em{position:absolute;right:13px;top:15px;font-size:10px;font-style:normal;color:#319b80}.dash-grid{display:grid;grid-template-columns:1.35fr .9fr;grid-gap:19px;gap:19px}.panel{background:#fff;border:1px solid #e0e9e6;border-radius:10px;overflow:hidden}.panel-head{min-height:72px;padding:15px 19px;border-bottom:1px solid #edf2ef;display:flex;align-items:center;justify-content:space-between}.panel-head h3{font:600 17px Fraunces,serif;margin:0 0 3px;color:#203941}.panel-head p{font-size:11px;color:#809096;margin:0}.road-row{display:grid;grid-template-columns:31px 1fr auto 36px;grid-gap:11px;gap:11px;align-items:center;padding:13px 19px;border-bottom:1px solid #eef3f1}.road-row:last-child{border-bottom:0}.road-num{width:27px;height:27px;border-radius:50%;background:#f1f4f3;color:#8a9a9e;display:grid;place-items:center;font:10px var(--mono)}.road-num.active{background:#1a9d8d;color:#fff}.form-row b,.road-row b,.sub-row b{font-size:12px;color:#2b4249;display:block}.form-row small,.road-row small,.sub-row small{font-size:10px;color:#87959a;display:block;margin-top:2px}.road-row>strong{font:10px var(--mono);color:#78908c;text-align:right}.badge{font-size:10px;border-radius:12px;background:#f0f3f2;color:#899598;padding:4px 7px}.badge.progress{color:#157d70;background:#dff8f1}.badge.submitted{background:#e4ecff;color:#526db8}.activity-row{padding:15px 19px;display:flex;gap:11px;align-items:center;border-bottom:1px solid #eef3f1}.activity-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%}.activity-icon svg{width:15px}.activity-icon.mint{background:#ddf8ee;color:#188e7e}.activity-icon.gold{background:#fff0d7;color:#d5952e}.activity-row b{font-size:12px}.activity-row p{font-size:10px;color:#859398;margin:3px 0 0}.tip{margin:15px;background:#f0faf7;padding:12px;display:flex;gap:8px;color:#267368;border-radius:7px}.tip svg{flex:none}.tip p{font-size:10px;line-height:1.45;margin:0}.submissions{margin-top:18px}.sub-row,.table{display:grid}.sub-row{grid-template-columns:31px 1.1fr 1.4fr 90px 75px 72px;grid-gap:10px;gap:10px;align-items:center;padding:12px 19px;border-bottom:1px solid #edf2ef}.sub-row:last-child{border-bottom:0}.initial{height:29px;width:29px;background:#e4d7c0;color:#725d3e;font-size:9px}.submission-title{border-left:1px solid #e6ece9;padding-left:14px}.sub-row time{font-size:10px;color:#87959a}.review{font-size:11px;color:#157e71;background:transparent;display:flex;align-items:center}.instructor-bottom{margin-top:19px}.progress-big{padding:25px 20px}.progress-big b{font:700 35px Fraunces,serif;color:#22444a}.progress-big span{font-size:11px;color:#819096;margin-left:8px}.progress-track{height:9px;background:#edf2f0;border-radius:9px;margin:18px 0 8px}.progress-track i{display:block;background:#31bda8;width:76%;height:100%;border-radius:9px}.progress-label{display:flex;justify-content:space-between;color:#8b9a9e;font-size:10px}.glance{padding:15px 19px;display:grid;grid-gap:12px;gap:12px}.glance span{font-size:12px;color:#728287}.glance b{display:inline-block;width:27px;color:#1d9180}.admin-stats{grid-template-columns:repeat(4,1fr)}.admin-grid{grid-template-columns:1.25fr .9fr}.form-row{display:grid;grid-template-columns:33px 1fr 120px 18px;grid-gap:10px;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid #edf2ef}.form-square{width:31px;height:31px;border-radius:7px;background:#e0f8f1;color:#167f72;display:grid;place-items:center;font:700 12px var(--mono)}.mini-progress{position:relative;height:6px;background:#edf2ef;border-radius:8px}.mini-progress i{position:absolute;height:100%;left:0;border-radius:8px;background:#41c1af}.mini-progress span{position:absolute;top:9px;right:0;font-size:9px;color:#7d8e91}.actions{padding:7px 15px}.actions button{width:100%;display:flex;align-items:center;text-align:left;padding:13px 4px;gap:10px;color:#188b7d;background:transparent;border-bottom:1px solid #edf2ef}.actions button>span{flex:1 1}.actions b{font-size:12px;color:#29434a;display:block}.actions small{font-size:10px;color:#86959a;display:block;margin-top:2px}.actions button>svg:last-child{color:#90a0a3;width:16px}@media(max-width:800px){.dash-side{display:none}.dash-head{height:70px;padding:0 20px}.dash-menu{display:block;background:transparent;color:#22414a}.dash-content{padding:25px 18px}.admin-grid,.dash-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}.sub-row{grid-template-columns:31px 1fr 80px}.review,.sub-row .submission-title,.sub-row time{display:none}.hero-art{margin-right:5px}.hero-art svg{width:65px}.stats{grid-template-columns:1fr}.stats article{min-height:65px}}@media(max-width:450px){.dash-head h1{font-size:17px}.head-right button{display:none}.hero{padding:24px 19px}.hero-art{display:none}.title-row{align-items:start;gap:10px}.title-row h2{font-size:23px}.title-row .outline-btn{font-size:0}.admin-stats{grid-template-columns:1fr}.form-row{grid-template-columns:33px 1fr 18px}.mini-progress{display:none}}.auth-page{min-height:100vh;display:grid;grid-template-columns:44% 56%;background:#fff}.auth-aside{background:radial-gradient(circle at 75% 25%,#17615a 0,#0a3540 42%,#071c27 100%);color:white;padding:50px 8vw;display:flex;flex-direction:column;justify-content:space-between;position:relative}.auth-aside:after{content:"</>";position:absolute;right:-30px;bottom:-85px;color:#2b8077;opacity:.23;font:250px Fraunces,serif}.auth-brand,.auth-mobile-brand{position:relative;z-index:1;display:flex;gap:9px;align-items:center;font:24px Fraunces,serif}.auth-brand b,.auth-mobile-brand b{height:31px;width:31px;border-radius:9px;display:grid;place-items:center;background:#47d8c0;color:#08212b}.auth-brand span span,.auth-mobile-brand span{color:#48d8c0}.auth-tag{color:#82dfcf;letter-spacing:1.4px;font-size:10px;font-weight:700;margin-bottom:16px}.auth-aside h1{font:600 clamp(34px,4vw,53px)/1.08 Fraunces,serif;letter-spacing:-1.5px;margin:0 0 17px}.auth-aside>div>p{max-width:370px;color:#b9d7d5;font-size:14px;line-height:1.65}.auth-quote{position:relative;z-index:1;border-left:2px solid #48d8c0;padding-left:14px;display:flex;gap:9px}.auth-quote svg{color:#64e3cd;flex:none}.auth-quote p{margin:0;font-size:12px!important}.auth-panel{display:grid;place-items:center;padding:35px}.auth-card{width:min(100%,410px)}.auth-mobile-brand{display:none;color:#12303a;text-decoration:none;margin-bottom:42px}.auth-copy>span{font-size:10px;color:#1c9a89;font-weight:700;letter-spacing:1.2px}.auth-copy h2{font:600 32px Fraunces,serif;letter-spacing:-.9px;color:#18313a;margin:11px 0 7px}.auth-copy p{font-size:13px;color:#809096;margin:0 0 27px}.auth-card form{display:grid;grid-gap:16px;gap:16px}.auth-card label{font-size:11px;color:#52656b;font-weight:600;display:grid;grid-gap:6px;gap:6px}.auth-card input{width:100%;height:43px;border:1px solid #d8e3df;border-radius:6px;padding:0 12px;font:13px DM Sans;outline-color:#24aa98;color:#1e3b42}.auth-card label.hidden{display:none}.password-input{position:relative}.password-input input{padding-right:44px}.password-input button{position:absolute;right:8px;top:8px;padding:5px;color:#7b8b90;background:transparent}.forgot{font-size:11px;color:#168b7d;text-decoration:none;text-align:right;margin-top:-6px}.auth-submit{height:44px;border-radius:6px;background:#159d8e;color:white;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:3px}.auth-submit:disabled{opacity:.7;cursor:wait}.auth-error,.auth-notice{font-size:11px;line-height:1.45;margin:0;padding:9px 10px;border-radius:5px}.auth-error{background:#fff0ed;color:#a64839}.auth-notice{background:#eaf9f4;color:#177a6c}.auth-switch{font-size:12px;color:#849399;text-align:center;margin:23px 0}.auth-switch a{color:#148b7c;text-decoration:none;font-weight:700}.spin{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(1turn)}}.simple-auth{min-height:100vh;background:#f6f9f8;padding:35px}.simple-auth>a{display:inline-flex;align-items:center;gap:6px;color:#41716b;text-decoration:none;font-size:12px}.reset-card{background:#fff;border:1px solid #e0e9e6;width:min(100%,420px);margin:12vh auto;padding:31px;border-radius:12px}.reset-icon{height:40px;width:40px;border-radius:10px;background:#e1f8f1;color:#168d7d;display:grid;place-items:center}.reset-card h1{font:600 27px Fraunces,serif;margin:17px 0 7px;color:#1d3840}.reset-card>p{font-size:13px;color:#7c8d92;line-height:1.5;margin:0 0 22px}.reset-card form{display:grid;grid-gap:14px;gap:14px}.reset-card label{font-size:11px;font-weight:600;color:#52656b;display:grid;grid-gap:6px;gap:6px}.reset-card input{height:43px;border:1px solid #d8e3df;border-radius:6px;padding:0 12px;font:13px DM Sans;outline-color:#24aa98}@media(max-width:700px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:30px 23px}.auth-mobile-brand{display:flex}.auth-copy h2{font-size:29px}}a{cursor:pointer}.section-page{min-height:100vh;background:#f5f8f7}.section-page header{height:72px;background:#fff;border-bottom:1px solid #e0e9e6;padding:0 max(22px,5vw);display:flex;align-items:center;justify-content:space-between}.section-page header>a:first-child{color:#37746d;font-size:12px;gap:6px}.section-logo,.section-page header>a:first-child{display:flex;align-items:center;text-decoration:none}.section-logo{font:20px Fraunces,serif;color:#15313a;gap:7px}.section-logo b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#40d4bd;color:#08212b}.section-logo span{color:#20aa96}.section-content{width:min(850px,calc(100% - 40px));margin:0 auto;padding:70px 0}.section-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:27px}.section-title>span{width:48px;height:48px;border-radius:11px;background:#dff8f1;color:#168c7c;display:grid;place-items:center}.section-title p{font-size:10px;font-weight:700;color:#20917f;letter-spacing:1.2px;margin:2px 0 7px}.section-title h1{font:600 34px Fraunces,serif;letter-spacing:-1px;color:#1b3841;margin:0}.section-title h2{font:400 13px/1.5 DM Sans;color:#75878c;margin:7px 0 0;max-width:560px}.section-card{background:#fff;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden}.section-card>div{padding:18px 20px;border-bottom:1px solid #eaf0ed;display:flex;align-items:center;justify-content:space-between}.section-card h3{font:600 17px Fraunces,serif;margin:0;color:#243f46}.section-card button{color:#147f71;background:#e7f8f3;font-size:11px;padding:8px 9px;border-radius:5px;display:flex;gap:6px;align-items:center}.section-card article{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid #edf2f0;color:#3a565b;font-size:13px}.section-card article svg:first-child{color:#249a89}.section-card article svg:last-child{margin-left:auto;color:#9aacaf;width:16px}.section-card article:last-child{border:0}.section-note{font-size:11px;color:#819197;margin:15px 1px}@media(max-width:600px){.section-content{padding:38px 0}.section-title h1{font-size:29px}.section-card>div{align-items:flex-start;gap:10px;flex-direction:column}}.curriculum-page{min-height:100vh;background:#f6f9f8}.curriculum-header{height:70px;background:#fff;border-bottom:1px solid #e0e9e6;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,5vw)}.curriculum-header>a:first-child{font-size:12px;text-decoration:none;color:#36746d;display:flex;align-items:center;gap:6px}.curriculum-brand{font:20px Fraunces,serif;color:#18323b;text-decoration:none}.curriculum-brand b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#40d4bd;color:#08212b;margin-right:6px}.curriculum-brand span{color:#1eaa96}.curriculum-content{width:min(900px,calc(100% - 40px));margin:0 auto;padding:59px 0}.eyebrow-green{color:#168e7c!important;font-weight:700!important;letter-spacing:1.15px;font-size:10px!important;margin:0 0 8px!important}.curriculum-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:28px}.curriculum-title h1,.empty-state h1{font:600 35px Fraunces,serif;letter-spacing:-1px;margin:0 0 8px;color:#1b3840}.curriculum-title p:not(.eyebrow-green),.empty-state>p{color:#75878d;font-size:13px;line-height:1.5;margin:0;max-width:570px}.curriculum-count{text-align:right}.curriculum-count b{display:block;font:600 32px Fraunces,serif;color:#188d7d}.curriculum-count span{font-size:10px;color:#839399}.curriculum-progress{background:#123d43;color:white;border-radius:11px;padding:18px 20px;margin-bottom:22px}.curriculum-progress>div{display:flex;justify-content:space-between;align-items:center}.curriculum-progress span{font-size:10px;letter-spacing:1px;color:#9edfd2;font-weight:700}.curriculum-progress b{font:600 22px Fraunces,serif}.curriculum-progress i{display:block;height:7px;background:#2a6464;border-radius:8px;margin:13px 0 7px;overflow:hidden;position:relative}.curriculum-progress i:after{content:"";position:absolute;inset:0 auto 0 0;width:100%;background:#48d8c0;border-radius:8px}.curriculum-progress p{margin:0;color:#bcd8d2;font-size:11px}.lesson-list{background:white;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden}.lesson-list-head{padding:17px 20px;border-bottom:1px solid #eaf0ed}.lesson-list h2{font:600 19px Fraunces,serif;margin:0 0 3px}.lesson-list-head p{font-size:11px;color:#829196;margin:0}.lesson-item{display:flex;gap:13px;align-items:center;padding:18px 20px;border-bottom:1px solid #edf2f0}.lesson-item:last-child{border-bottom:0}.lesson-item.locked{opacity:.62}.lesson-number{flex:none;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e1f8f1;color:#168a7a;font:11px var(--mono)}.lesson-number.complete{background:#2aaa98;color:white}.lesson-detail{flex:1 1}.lesson-detail small{font-size:9px;color:#849399;letter-spacing:.7px}.lesson-detail h3{font-size:14px;margin:4px 0;color:#244049}.lesson-detail p{font-size:11px;color:#77888e;line-height:1.45;margin:0 0 6px}.lesson-detail>span{font-size:10px;color:#7c9092;display:flex;gap:4px;align-items:center}.lesson-detail>span b{text-transform:capitalize;color:#168a7a}.lesson-open{font-size:11px;background:#e4f8f2;color:#147b6d;border-radius:5px;padding:8px 9px;text-decoration:none;font-weight:700;white-space:nowrap}.lesson-lock,.lesson-open{display:flex;align-items:center;gap:5px}.lesson-lock{font-size:10px;color:#8b999d}.curriculum-continue{margin-top:20px;background:#179e8e;color:#fff;border-radius:6px;padding:11px 13px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:12px;font-weight:700}.empty-state{background:white;border:1px solid #dfe9e6;border-radius:12px;padding:48px;max-width:650px}.empty-state>span{display:grid;place-items:center;width:48px;height:48px;background:#e4f8f2;color:#168b7c;border-radius:11px;margin-bottom:18px}.empty-state code{display:block;margin-top:19px;background:#f3f7f5;border-radius:6px;padding:10px;font:11px var(--mono);color:#52716d}.live-classroom{height:100vh;display:flex;flex-direction:column;background:#fff}.live-classroom>header{height:58px;flex:none;border-bottom:1px solid #dfe8e5;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.live-classroom>header a{font-size:12px;text-decoration:none;color:#36746d;display:flex;align-items:center;gap:5px}.live-classroom>header strong{font:17px Fraunces,serif;color:#18323b}.live-classroom>header strong span{color:#1eaa96}.live-classroom>header>span{font-size:11px;color:#7d8f94}.live-classroom-grid{display:grid;grid-template-columns:44% 56%;min-height:0;flex:1 1}.live-lesson{overflow:auto;padding:35px 38px;background:#fcfdfc}.live-lesson h1{font:600 34px Fraunces,serif;color:#1b3740;margin:0 0 10px}.live-meta{font-size:11px;color:#7d8d92;display:flex;gap:9px}.live-meta span{display:flex;gap:5px;align-items:center}.lesson-objective{display:flex;gap:11px;background:#eafaf5;border:1px solid #cbede3;border-radius:9px;padding:14px;margin:26px 0}.lesson-objective svg{color:#168c7c;flex:none}.lesson-objective b{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#31877c}.lesson-objective p{font-size:12px;line-height:1.5;color:#35575a;margin:4px 0 0}.lesson-markdown{font-size:13px;line-height:1.65;color:#4f6269}.lesson-markdown h2{font:600 21px Fraunces,serif;color:#213c44}.lesson-markdown p{margin:0 0 11px}.lesson-code{background:#10232c;color:#d0e8e3;border-radius:8px;padding:14px;font:11px/1.6 var(--mono);overflow:auto}.live-editor{display:grid;grid-template-rows:48px minmax(280px,1fr) 56px minmax(210px,.7fr);background:#0c1b23;min-height:0}.live-editor-head{display:flex;align-items:center;justify-content:space-between;background:#122b35;padding:0 14px;color:#d7e3e5;font:12px var(--mono)}.editor-submit button,.live-editor-head button{border:0;border-radius:5px;background:#3bd0bb;color:#06222b;padding:7px 9px;display:flex;align-items:center;gap:5px;font-weight:700;font-size:11px}.live-editor-main{min-height:0}.editor-submit{background:#122b35;border-top:1px solid #29424a;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.editor-submit span{font-size:11px;color:#9de2d5;display:flex;align-items:center;gap:5px}.editor-submit button{background:#efb45a;color:#392907}.live-preview{min-height:0;background:#0f252e;display:grid;grid-template-rows:31px minmax(0,1fr);grid-gap:8px;gap:8px;padding:10px 12px 12px}.live-preview>div{background:#16333e;border:1px solid #2c4a52;border-radius:7px;padding:6px 12px;font-size:9px;letter-spacing:1px;color:#8fd9c8;font-weight:700;display:flex;align-items:center}.live-preview>div:before{content:"";width:7px;height:7px;border-radius:50%;background:#3bd0bb;margin-right:7px}.live-preview p{place-self:stretch;display:grid;place-items:center;color:#849499;font-size:11px}.live-preview iframe,.live-preview p{background:#fff;border:1px solid #2c4a52;border-radius:7px}.live-preview iframe{height:100%;width:100%}@media(max-width:780px){.curriculum-content{padding:35px 0}.curriculum-title{align-items:start;flex-direction:column}.curriculum-count{text-align:left}.live-classroom{height:auto}.live-classroom-grid{grid-template-columns:1fr}.live-lesson{height:auto}.live-editor{height:650px}.lesson-item{align-items:flex-start}.lesson-open{align-self:center}.lesson-detail p{display:none}}@media(max-width:480px){.curriculum-title h1,.empty-state h1{font-size:29px}.empty-state{padding:30px 22px}.lesson-item{padding:16px 13px}.lesson-open{font-size:0}.lesson-open svg{margin:0}.live-lesson{padding:28px 20px}.live-classroom>header{padding:0 14px}}.auth-status{font-size:11px;line-height:1.45;margin:0;padding:9px 10px;border-radius:5px;background:#eaf5ff;color:#2a6593}.review-queue,.submission-review{min-height:100vh;background:#f5f8f7}.review-queue header,.submission-review>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,4vw)}.review-queue header a,.submission-review>header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;align-items:center;gap:5px}.back-arrow{transform:rotate(180deg)}.review-queue header strong,.submission-review>header strong{font:18px Fraunces,serif;color:#1b3640}.review-queue header strong span,.submission-review>header strong span{color:#1ba891}.submission-review>header>span{font-size:11px;text-transform:capitalize;color:#74868b}.queue-content{max-width:1050px;margin:0 auto;padding:48px 25px}.queue-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.feedback-head p,.queue-title p{font-size:10px;letter-spacing:1.1px;font-weight:700;color:#168e7c;margin:0 0 7px}.queue-title h1{font:600 34px Fraunces,serif;margin:0 0 7px;color:#1c3941}.queue-title>div>span{color:#73868b;font-size:13px}.queue-count{display:flex;align-items:center;gap:7px;color:#248d7e;background:#e2f8f2;border-radius:7px;padding:10px 12px}.queue-count b{font:600 20px Fraunces,serif}.queue-count span{font-size:10px}.queue-panel{background:#fff;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden}.queue-filter{height:54px;padding:0 18px;border-bottom:1px solid #e9f0ed;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:#334e54}.queue-filter button{font-size:11px;color:#53726f;background:#f2f7f5;border-radius:5px;padding:7px 9px}.queue-row{display:grid;grid-template-columns:35px 1fr 1.3fr 110px 74px;grid-gap:12px;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf2f0}.queue-row:last-child{border:0}.student-initial{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;background:#e2d5c1;color:#6d5135;font-size:10px;font-weight:700}.queue-lesson b,.queue-student b{display:block;font-size:12px;color:#2a454c}.queue-lesson span,.queue-student span{display:block;font-size:10px;color:#829197;margin-top:3px}.queue-lesson{display:flex;align-items:center;gap:8px}.queue-lesson>svg{color:#249789}.queue-time{font-size:10px;color:#7f9094;gap:4px}.queue-row>a,.queue-time{display:flex;align-items:center}.queue-row>a{font-size:11px;font-weight:700;text-decoration:none;color:#147e70}.queue-empty{text-align:center;padding:70px 20px;color:#7e8d92}.queue-empty svg{color:#39b8a3}.queue-empty h2{font:600 22px Fraunces,serif;color:#2b454b}.queue-empty p,.queue-error{font-size:12px}.queue-error{color:#a64b3b;background:#fff0ed;border-radius:7px;padding:11px;margin-bottom:15px}.review-grid{height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(450px,1.45fr) minmax(330px,.75fr)}.review-code{min-height:0;display:grid;grid-template-rows:64px 1fr;background:#0c1b23}.review-code-head{background:#122b35;color:#d5e2e5;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.review-code-head b{font-size:13px;display:block}.review-code-head div span{font-size:10px;color:#9db5bb;display:block;margin-top:4px}.review-code-head>span{font:10px var(--mono);color:#75d9c9}.feedback-panel{padding:32px 27px;background:#fff;overflow:auto}.feedback-head h1{font:600 28px Fraunces,serif;color:#1d3941;margin:0 0 6px}.feedback-head span{font-size:12px;color:#7b8d92;line-height:1.5}.submission-summary{padding:12px;background:#f4f8f7;border-radius:7px;margin:22px 0}.submission-summary b{font-size:12px;display:block}.submission-summary small,.submission-summary span{font-size:10px;color:#7c8d91;display:block;margin-top:3px}.feedback-panel label{font-size:11px;color:#53666c;font-weight:700;display:grid;grid-gap:6px;gap:6px;margin:17px 0}.grade-field{display:flex;align-items:center;border:1px solid #d8e3df;border-radius:6px;overflow:hidden}.grade-field input{height:39px;width:70px;border:0;padding:0 10px;font-size:14px;outline:none}.grade-field span{font-size:11px;color:#829196}.feedback-panel textarea{height:120px;resize:vertical;border:1px solid #d8e3df;border-radius:6px;padding:10px;font:12px DM Sans;outline-color:#25a993}.review-comments{border-top:1px solid #e8efec;padding-top:15px;font-size:11px}.review-comments b{display:block;color:#486066}.review-comments p,.review-comments span{display:block;color:#839398;margin:8px 0}.review-message{color:#168a7a;font-size:11px;display:flex;gap:5px;align-items:center}.review-actions{display:flex;gap:8px;margin-top:19px}.review-actions button{font-size:11px;border-radius:5px;padding:9px}.review-actions button:first-child{background:#f4f7f6;border:1px solid #dce6e2;color:#59706f}.review-actions button.active{background:#fff1d9;color:#a66f1c}.review-actions .grade-submit{background:#169e8e;color:#fff;font-weight:700;display:flex;align-items:center;gap:5px}.review-actions .grade-submit:disabled{opacity:.5}@media(max-width:750px){.queue-title{align-items:start;flex-direction:column;gap:15px}.queue-row{grid-template-columns:32px 1fr 65px}.queue-lesson,.queue-time{display:none}.review-grid{height:auto;grid-template-columns:1fr}.review-code{height:480px}.feedback-panel{padding:26px 20px}.queue-content{padding:35px 16px}}.student-submissions{min-height:100vh;background:#f5f8f7}.student-submissions>header{height:64px;background:white;border-bottom:1px solid #dfe9e6;padding:0 max(20px,4vw);display:flex;align-items:center;justify-content:space-between}.student-submissions>header a{display:flex;align-items:center;gap:5px;text-decoration:none;color:#36746d;font-size:12px}.student-submissions>header strong{font:18px Fraunces,serif;color:#1b3640}.student-submissions>header strong span{color:#1ba891}.student-submission-content{max-width:1050px;margin:0 auto;padding:48px 25px}.student-submission-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.student-submission-title p{font-size:10px;letter-spacing:1.1px;font-weight:700;color:#168e7c;margin:0 0 7px}.student-submission-title h1{font:600 34px Fraunces,serif;color:#1d3941;margin:0 0 7px}.student-submission-title>div>span{font-size:13px;color:#73868b}.submission-total{background:#e2f8f2;color:#248d7e;border-radius:7px;padding:10px 12px;display:flex;align-items:center;gap:7px}.submission-total b{font:600 20px Fraunces,serif}.submission-total span{font-size:10px}.student-submission-list{background:#fff;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden}.student-submission-row{display:grid;grid-template-columns:35px 1fr 70px 1.2fr 66px;grid-gap:13px;gap:13px;align-items:center;padding:18px;border-bottom:1px solid #edf2f0}.student-submission-row:last-child{border:0}.submission-status{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;color:#a67020;background:#fff0d9}.submission-status.graded{color:#168d7c;background:#e0f8f1}.student-assignment small{font-size:9px;color:#829197;letter-spacing:.7px}.student-assignment h2{font-size:13px;margin:4px 0;color:#29444b}.student-assignment p{font-size:10px;color:#829197;margin:0}.student-grade b{font:600 22px Fraunces,serif;color:#258f80}.student-grade span{font-size:10px;color:#849499}.reviewing{text-transform:capitalize!important;background:#fff0d9;color:#a66f1c!important;border-radius:10px;padding:4px 6px}.student-feedback{font-size:11px;line-height:1.45;color:#708287;display:flex;gap:6px;align-items:flex-start}.student-feedback svg{flex:none;color:#1e9484}.student-submission-row>a{font-size:11px;color:#147e70;font-weight:700;text-decoration:none}.student-empty{text-align:center;padding:70px 20px;background:#fff;border:1px solid #dfe9e6;border-radius:11px}.student-empty svg{color:#30af9c}.student-empty h2{font:600 23px Fraunces,serif;color:#2a464c}.student-empty p{font-size:12px;color:#7c8d92}.student-empty a{font-size:12px;color:white;background:#169d8d;border-radius:5px;padding:9px 11px;display:inline-block;text-decoration:none;margin-top:8px}.feedback-tip{display:flex;gap:10px;margin-top:19px;background:#edf9f5;border:1px solid #d6efe7;border-radius:8px;padding:13px;color:#307369}.feedback-tip svg{flex:none}.feedback-tip b{font-size:12px;display:block}.feedback-tip p{font-size:11px;margin:3px 0 0}@media(max-width:720px){.student-submission-title{align-items:start;flex-direction:column;gap:15px}.student-submission-row{grid-template-columns:34px 1fr 55px}.student-feedback{display:none}.student-submission-row>a{text-align:right}.student-submission-content{padding:35px 16px}}.admin-forms{min-height:100vh;background:#f5f8f7}.admin-forms>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,4vw);display:flex;align-items:center;justify-content:space-between}.admin-forms>header a{font-size:12px;color:#36746d;display:flex;align-items:center;gap:5px;text-decoration:none}.admin-forms>header strong{font:18px Fraunces,serif;color:#1b3640}.admin-forms>header strong span{color:#1ba891}.admin-forms-content{max-width:1000px;margin:0 auto;padding:48px 25px}.admin-forms-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.admin-forms-title p{font-size:10px;letter-spacing:1.1px;color:#168e7c;font-weight:700;margin:0 0 7px}.admin-forms-title h1{font:600 34px Fraunces,serif;color:#1d3941;margin:0 0 7px}.admin-forms-title span{font-size:13px;color:#76878c}.admin-forms-title>button,.form-editor button{background:#159d8d;color:#fff;border-radius:6px;font-size:12px;font-weight:700;padding:10px 12px;display:flex;align-items:center;gap:6px}.admin-form-message{margin-bottom:15px;background:#e4f8f2;color:#168a79;border-radius:6px;padding:10px;font-size:11px;display:flex;gap:6px;align-items:center}.form-editor{background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:21px;display:grid;grid-template-columns:1fr 120px;grid-gap:14px;gap:14px;margin-bottom:20px}.form-editor h2{grid-column:1/-1;font:600 20px Fraunces,serif;margin:0;color:#234048}.form-editor label{display:grid;grid-gap:6px;gap:6px;color:#52666b;font-size:11px;font-weight:700}.form-editor label:nth-of-type(3){grid-column:1/-1}.form-editor input,.form-editor textarea{border:1px solid #d8e3df;border-radius:6px;padding:9px;font:12px DM Sans;outline-color:#20a893}.form-editor textarea{height:80px;resize:vertical}.form-editor button{justify-self:start}.admin-form-list{border:1px solid #dfe9e6;border-radius:11px;background:#fff;overflow:hidden}.admin-form-list article{padding:19px;display:grid;grid-template-columns:40px 1fr 92px 130px;grid-gap:13px;gap:13px;align-items:center;border-bottom:1px solid #edf2f0}.admin-form-list article:last-child{border:0}.admin-form-list article>span{width:36px;height:36px;display:grid;place-items:center;background:#dff8f1;color:#168d7c;border-radius:8px;font:11px var(--mono);font-weight:700}.admin-form-list h2{font-size:14px;color:#28444b;margin:0 0 4px}.admin-form-list p{font-size:11px;color:#77878d;margin:0}.form-learners{font-size:10px;color:#7d8e93;display:flex;gap:3px;align-items:center}.form-learners b{font-size:13px;color:#2a5552}.form-learners small{font-size:9px}.admin-form-list a{font-size:11px;color:#157e70;text-decoration:none;font-weight:700}@media(max-width:650px){.admin-forms-title{align-items:start;flex-direction:column;gap:15px}.form-editor{grid-template-columns:1fr}.form-editor label:nth-of-type(3){grid-column:auto}.admin-form-list article{grid-template-columns:38px 1fr}.admin-form-list a,.form-learners{grid-column:2}.admin-forms-content{padding:35px 16px}}.auth-card select{width:100%;height:43px;border:1px solid #d8e3df;border-radius:6px;padding:0 10px;background:#fff;color:#1e3b42;font:13px DM Sans;outline-color:#24aa98}.access-note{font-size:10px;line-height:1.4;color:#72848a;margin:-7px 0 0}.panel-text-link{font-size:11px;color:#157e70;text-decoration:none;font-weight:700}.road-empty{padding:22px;color:#849398;font-size:12px}.curriculum-admin{min-height:100vh;background:#f5f8f7}.curriculum-admin>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,4vw);display:flex;align-items:center;justify-content:space-between}.curriculum-admin>header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;gap:5px;align-items:center}.curriculum-admin>header strong{font:18px Fraunces,serif;color:#1b3640}.curriculum-admin>header strong span{color:#1ba891}.curriculum-admin-content{max-width:1050px;margin:0 auto;padding:48px 25px}.lesson-editor{background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:20px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}.lesson-editor h2{grid-column:1/-1;font:600 20px Fraunces,serif;margin:0;color:#234048}.lesson-editor label{display:grid;grid-gap:6px;gap:6px;font-size:11px;color:#52666b;font-weight:700}.lesson-editor .publish,.lesson-editor .wide,.lesson-editor button{grid-column:1/-1}.lesson-editor input,.lesson-editor select,.lesson-editor textarea{border:1px solid #d8e3df;border-radius:6px;padding:9px;background:#fff;font:12px DM Sans;outline-color:#20a893}.lesson-editor textarea{height:95px;resize:vertical;font-family:var(--mono)}.lesson-editor .publish{display:flex;align-items:center;gap:7px}.lesson-editor .publish input{width:auto}.lesson-editor button{justify-self:start;background:#159d8d;color:#fff;border-radius:6px;font-size:12px;font-weight:700;padding:10px 12px}.admin-lesson-list{background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.admin-lesson-list article{display:grid;grid-template-columns:37px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:17px;border-bottom:1px solid #edf2f0}.admin-lesson-list article>span{height:33px;width:33px;border-radius:7px;background:#e1f8f1;color:#168d7c;display:grid;place-items:center}.admin-lesson-list small{font-size:9px;letter-spacing:.7px;color:#819197}.admin-lesson-list h2{font-size:13px;color:#29444b;margin:4px 0}.admin-lesson-list p{font-size:10px;color:#77878d;margin:0}.lesson-draft,.lesson-live{font-size:10px;border-radius:10px;padding:4px 7px}.lesson-live{color:#147f71;background:#e0f8f1}.lesson-draft{color:#8a9397;background:#eff2f1}.help-assistant{position:fixed;right:21px;bottom:20px;z-index:50}.assistant-launch{background:#159d8d;color:white;border-radius:24px;padding:11px 14px;box-shadow:0 7px 22px #0a423b44;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.assistant-window{height:390px;width:min(350px,calc(100vw - 32px));background:#fff;border:1px solid #d5e4df;border-radius:13px;box-shadow:0 14px 45px #0b243333;overflow:hidden;margin-bottom:11px;display:grid;grid-template-rows:50px 1fr 53px}.assistant-window header{background:#113c42;color:white;display:flex;justify-content:space-between;align-items:center;padding:0 14px;font-size:12px;font-weight:700}.assistant-window header span{display:flex;gap:7px;align-items:center}.assistant-window header button{background:transparent;color:#bee7de}.assistant-messages{padding:13px;overflow:auto;background:#f7fbfa;display:grid;align-content:start;grid-gap:8px;gap:8px}.assistant-messages p{max-width:85%;font-size:11px;line-height:1.5;padding:9px;border-radius:8px;margin:0}.assistant-messages .bot{background:#e4f8f2;color:#245952;justify-self:start}.assistant-messages .you{background:#153e45;color:#fff;justify-self:end}.assistant-window form{border-top:1px solid #e0eae7;display:flex;padding:8px;gap:6px}.assistant-window input{border:1px solid #d9e5e1;border-radius:6px;flex:1 1;padding:0 9px;font:11px DM Sans;outline-color:#1caa96}.assistant-window form button{background:#169e8e;color:#fff;border-radius:6px;width:35px;display:grid;place-items:center}@media(max-width:650px){.lesson-editor{grid-template-columns:1fr}.curriculum-admin-content{padding:35px 16px}}.admin-people{min-height:100vh;background:#f5f8f7}.admin-people>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,4vw);display:flex;align-items:center;justify-content:space-between}.admin-people>header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;gap:5px;align-items:center}.admin-people>header strong{font:18px Fraunces,serif;color:#1b3640}.admin-people>header strong span{color:#1ba891}.admin-people-content{max-width:1100px;margin:0 auto;padding:48px 25px}.people-count{display:flex;align-items:center;gap:6px;background:#e2f8f2;color:#168b7b;padding:9px;border-radius:6px;font-size:11px;font-weight:700}.people-list{background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.people-list article{display:grid;grid-template-columns:35px 1.1fr 160px 190px 60px;grid-gap:11px;gap:11px;align-items:center;padding:14px 17px;border-bottom:1px solid #edf2f0}.person-initial{height:31px;width:31px;border-radius:50%;display:grid;place-items:center;background:#e3d6c1;color:#715537;font-size:9px;font-weight:700}.person-name b{font-size:12px;display:block;color:#29444b}.person-name span{font-size:10px;color:#849398}.people-list label{font-size:9px;font-weight:700;color:#74858a;display:grid;grid-gap:4px;gap:4px}.people-list select{height:31px;border:1px solid #d8e3df;border-radius:5px;background:#fff;padding:0 6px;color:#384f55;font:10px DM Sans}.people-list button{background:#e5f8f2;color:#168170;font-size:10px;font-weight:700;border-radius:5px;padding:8px 6px;display:flex;align-items:center;gap:3px}@media(max-width:780px){.admin-people-content{padding:35px 16px}.people-list article{grid-template-columns:35px 1fr 58px}.people-list label{grid-column:2}.people-list button{grid-column:3;grid-row:1;align-self:center}.people-list article>label:nth-of-type(2){grid-column:2}.admin-people .admin-forms-title{align-items:start;flex-direction:column;gap:13px}}.project-workspace{height:100vh;background:#0c1b23;color:#d8e5e7;display:grid;grid-template-rows:58px 1fr}.project-workspace>header{background:#122b35;border-bottom:1px solid #29434c;display:flex;align-items:center;justify-content:space-between;padding:0 17px}.project-workspace header strong{font:18px Fraunces,serif;color:#fff;display:block}.project-workspace header strong span{color:#4cd8c2}.project-workspace header small{font-size:10px;color:#8fabaf}.project-workspace header>div:last-child{display:flex;gap:8px}.project-workspace header button{font-size:11px;border-radius:5px;padding:8px 10px;color:#b9d0d3;background:#1b3a44;display:flex;gap:5px;align-items:center}.project-workspace header .run-workspace{background:#43d0ba;color:#062128;font-weight:700}.workspace-grid{min-height:0;display:grid;grid-template-columns:210px minmax(350px,1.2fr) minmax(300px,.8fr)}.workspace-grid>aside{background:#102630;border-right:1px solid #29434c;padding:10px}.file-head{padding:8px 6px;justify-content:space-between;color:#86a5aa;font-size:9px;letter-spacing:.8px}.file-head,.file-head span{display:flex;align-items:center}.file-head span{gap:5px}.file-head button{background:transparent;color:#87aaa9}.workspace-grid aside>button{width:100%;height:34px;background:transparent;border-radius:4px;color:#b8cbce;display:flex;gap:8px;align-items:center;padding:0 7px;text-align:left;font:11px var(--mono)}.workspace-grid aside>button.file-on{background:#1c414a;color:#fff}.project-editor{min-width:0;min-height:0;display:grid;grid-template-rows:43px 1fr}.active-file{background:#102630;border-bottom:1px solid #29434c;color:#d3e0e1;padding:0 13px;display:flex;align-items:center;gap:6px;font:11px var(--mono)}.active-file svg{color:#efaa68}.active-file button{margin-left:auto;background:transparent;color:#96adb1}.project-preview{border-left:1px solid #29434c;background:#fff;min-height:0;display:grid;grid-template-rows:34px 1fr;position:relative}.project-preview>div{background:#f0f5f3;border-bottom:1px solid #dce6e2;color:#71858a;padding:11px;font-size:9px;letter-spacing:1px;font-weight:700}.project-preview>p{place-self:center;color:#7b8d92;font-size:12px;padding:20px;text-align:center}.project-preview iframe{width:100%;height:100%;border:0}.workspace-notice{position:absolute;left:10px;bottom:10px;background:#123e40;color:#d9fff6;padding:7px 8px;border-radius:5px;font-size:10px}@media(max-width:800px){.workspace-grid{grid-template-columns:150px 1fr;grid-template-rows:1fr 270px}.project-preview{grid-column:1/-1;border-left:0;border-top:1px solid #29434c}.project-workspace{height:auto;min-height:100vh}.workspace-grid{min-height:calc(100vh - 58px)}}.preview-tabs{background:#f0f5f3;border-bottom:1px solid #dce6e2;display:flex!important;padding:0!important}.preview-tabs button{border:0;background:transparent;color:#71858a;font-size:9px;letter-spacing:.8px;font-weight:700;padding:0 11px}.preview-tabs button.on{color:#147f70;background:#fff;border-bottom:2px solid #22aa96}.runtime-console{margin:0;background:#0d1d23;color:#9bd8cc;padding:14px;font:11px/1.65 var(--mono);white-space:pre-wrap;overflow:auto}.workspace-link{display:inline-flex;align-items:center;gap:4px;color:#147f70;text-decoration:none;font-size:11px;margin-right:4px}.project-workspace header .submit-workspace{background:#eeae55;color:#382706;font-weight:700}.project-workspace header .submit-workspace:disabled{opacity:.6}.review-code{grid-template-rows:64px auto 1fr}.review-file-tabs{display:flex;gap:2px;background:#102630;border-bottom:1px solid #29434c;padding:5px 9px;overflow:auto}.review-file-tabs button{font:10px var(--mono);padding:5px 7px;background:transparent;color:#9db5bb;border-radius:4px;white-space:nowrap}.review-file-tabs button.on{background:#1d424b;color:#fff}.comment-composer{border-top:1px solid #e8efec;padding-top:15px;margin-top:16px;display:grid;grid-gap:7px;gap:7px}.comment-composer>b{font-size:11px;color:#486066;display:flex;align-items:center;gap:5px}.comment-composer>span{font-size:10px;color:#809197}.comment-composer textarea{height:65px;border:1px solid #d8e3df;border-radius:5px;padding:8px;resize:vertical;font:11px DM Sans;outline-color:#22a994}.comment-composer button{justify-self:start;background:#e4f8f2;color:#168170;border-radius:5px;font-size:10px;font-weight:700;padding:8px}.comment-composer button:disabled{opacity:.5}.review-comments p{background:#f5f8f7;border-left:2px solid #3fbca9;padding:7px;margin:8px 0!important;border-radius:0 4px 4px 0}.review-comments p strong{color:#197f72}.review-comments p small{display:block;margin-top:4px;padding:4px;background:#eaf0ee;color:#65777b;font:9px var(--mono);white-space:pre-wrap}.student-line-comments{grid-column:2/-1;background:#f2faf7;border-left:2px solid #3bb9a5;border-radius:0 5px 5px 0;padding:8px 10px;margin-top:-4px}.student-line-comments>b{font-size:10px;color:#25766b}.student-line-comments p{font-size:10px;color:#506970;margin:5px 0}.student-line-comments strong{color:#168170}.student-line-comments code{display:block;margin-top:4px;background:#e4efeb;padding:4px;color:#617779;font:9px var(--mono);white-space:pre-wrap}.access-codes{min-height:100vh;background:#f5f8f7}.access-codes>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,4vw);display:flex;align-items:center;justify-content:space-between}.access-codes>header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;gap:5px;align-items:center}.access-codes>header strong{font:18px Fraunces,serif;color:#1b3640}.access-codes>header strong span{color:#1ba891}.access-codes-content{max-width:1000px;margin:0 auto;padding:48px 25px}.access-codes .admin-forms-title>button{background:#159d8d;color:white;border-radius:6px;padding:10px 12px;font-size:12px;font-weight:700;display:flex;gap:5px;align-items:center}.code-editor{background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:20px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}.code-editor h2{grid-column:1/-1;font:600 20px Fraunces,serif;color:#27434a;margin:0}.code-editor label{font-size:11px;font-weight:700;color:#53676c;display:grid;grid-gap:6px;gap:6px}.code-editor input,.code-editor select{height:39px;border:1px solid #d8e3df;border-radius:6px;padding:0 9px;background:white;font:12px DM Sans;outline-color:#22a994}.code-editor button{grid-column:1/-1;justify-self:start;background:#159d8d;color:#fff;border-radius:6px;padding:10px 12px;font-size:12px;font-weight:700}.code-list{background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.code-list article{display:grid;grid-template-columns:37px 1fr 75px 90px;grid-gap:12px;gap:12px;align-items:center;padding:16px;border-bottom:1px solid #edf2f0}.code-list article>span{height:33px;width:33px;display:grid;place-items:center;color:#a9731e;background:#fff0d9;border-radius:7px}.code-list h2{font-size:13px;color:#29444b;margin:0 0 4px}.code-list p{font-size:10px;color:#77878d;margin:0}.code-list>article>b{font:10px var(--mono);color:#72868a}.code-list button{font-size:10px;border-radius:5px;padding:7px;display:flex;gap:4px;align-items:center}.code-active{background:#e1f8f1;color:#168170}.code-disabled{background:#f0f2f1;color:#7d8b8e}@media(max-width:650px){.access-codes-content{padding:35px 16px}.access-codes .admin-forms-title{align-items:start;flex-direction:column;gap:14px}.code-editor{grid-template-columns:1fr}.code-list article{grid-template-columns:35px 1fr 80px}.code-list button{grid-column:3}.code-list article>b{grid-column:2}}.auth-brand-image{width:min(330px,100%);height:auto;object-fit:contain;object-position:left center}.auth-mobile-brand img{width:178px;height:auto}.brand-mark,.dash-brand img{object-fit:cover}.dash-brand img{width:29px;height:29px;border-radius:9px}.dash-brand b{display:none}.webcontainer-lab{height:100vh;background:#0c1b23;color:#d8e5e7;display:grid;grid-template-rows:62px auto 1fr}.webcontainer-lab>header{background:#122b35;border-bottom:1px solid #29434c;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.webcontainer-lab header strong{font:18px Fraunces,serif;color:#fff;display:block}.webcontainer-lab header strong span{color:#4dd8c3}.webcontainer-lab header small{font-size:10px;color:#9ab6ba}.webcontainer-lab header button{background:#42d0ba;color:#062128;border-radius:6px;padding:9px 11px;font-weight:700}.isolation-warning,.webcontainer-lab header button{font-size:11px;display:flex;align-items:center;gap:6px}.isolation-warning{background:#fff1d9;color:#845916;padding:9px 16px}.webcontainer-grid{min-height:0;display:grid;grid-template-columns:45% 55%}.webcontainer-grid section{min-height:0;display:grid;grid-template-rows:38px 1fr}.webcontainer-grid section:first-child{border-right:1px solid #29434c}.terminal-title{background:#102630;border-bottom:1px solid #29434c;padding:12px;font-size:10px;color:#aac2c5;display:flex;gap:5px;align-items:center}.webcontainer-grid pre{margin:0;padding:15px;overflow:auto;white-space:pre-wrap;font:11px/1.55 var(--mono);color:#a6dfd4}.react-preview{background:#fff}.react-preview>div{background:#f0f5f3;border-bottom:1px solid #dce6e2;color:#71858a;padding:12px;font-size:9px;letter-spacing:1px;font-weight:700}.react-preview p{place-self:center;color:#7b8d92;font-size:12px;text-align:center;padding:20px}.react-preview iframe{height:100%;width:100%;border:0}@media(max-width:760px){.webcontainer-lab{height:auto;min-height:100vh}.webcontainer-grid{grid-template-columns:1fr;grid-template-rows:330px 430px}.webcontainer-grid section:first-child{border-right:0;border-bottom:1px solid #29434c}}.webcontainer-grid{grid-template-columns:30% 35% 35%}.react-editor{min-width:0;border-right:1px solid #29434c}.react-file-tabs{height:38px;background:#102630;border-bottom:1px solid #29434c;display:flex;align-items:center;gap:3px;padding:0 6px}.react-file-tabs button{font:10px var(--mono);color:#a8bfc3;background:transparent;border-radius:4px;padding:6px}.react-file-tabs button.on{background:#1c414a;color:#fff}@media(max-width:950px){.webcontainer-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 440px}.webcontainer-grid section:first-child{border-bottom:1px solid #29434c}.react-editor{border-right:0}.react-preview{grid-column:1/-1}}.node-lab{height:100vh;background:#0c1b23;color:#d8e5e7;display:grid;grid-template-rows:62px auto 1fr}.node-lab>header{background:#122b35;border-bottom:1px solid #29434c;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.node-lab header strong{font:18px Fraunces,serif;color:#fff;display:block}.node-lab header strong span{color:#4dd8c3}.node-lab header small{font-size:10px;color:#9ab6ba}.node-lab header>div:last-child{display:flex;gap:7px}.node-lab header button{background:#43d0ba;color:#062128;border-radius:6px;padding:9px 10px;font-size:11px;font-weight:700;display:flex;gap:5px;align-items:center}.node-lab header .node-run{background:#eeae55;color:#392807}.node-grid{min-height:0;display:grid;grid-template-columns:190px 1fr 35%}.node-files{background:#102630;border-right:1px solid #29434c;padding:10px}.node-files>div{font-size:9px;letter-spacing:.8px;color:#8daaad;padding:8px 5px}.node-files button{width:100%;background:transparent;color:#b7cccf;border-radius:4px;text-align:left;padding:8px;font:11px var(--mono)}.node-files button.on{background:#1c414a;color:#fff}.node-editor{min-width:0;display:grid;grid-template-rows:39px 1fr}.node-editor>div{background:#102630;border-bottom:1px solid #29434c;padding:12px;font:11px var(--mono)}.node-terminal{min-width:0;display:grid;grid-template-rows:39px 1fr;border-left:1px solid #29434c}.node-terminal>div{background:#102630;border-bottom:1px solid #29434c;padding:11px;font-size:10px;display:flex;gap:5px;align-items:center;color:#afc6c8}.node-terminal pre{margin:0;padding:14px;overflow:auto;white-space:pre-wrap;color:#a4ddd1;font:11px/1.6 var(--mono)}@media(max-width:760px){.node-lab{height:auto;min-height:100vh}.node-grid{grid-template-columns:130px 1fr;grid-template-rows:400px 300px}.node-terminal{grid-column:1/-1;border-left:0;border-top:1px solid #29434c}}.lab-actions{display:flex;gap:7px}.node-lab header .node-save,.webcontainer-lab header .lab-save{background:#e8f8f4;color:#137c6d}.lab-save-message{position:fixed;right:20px;bottom:20px;z-index:60;background:#153f40;color:#ddfff6;padding:9px 11px;border-radius:6px;font-size:11px;box-shadow:0 6px 20px #0004}.webcontainer-grid{grid-template-columns:1fr 1fr;grid-template-rows:minmax(430px,1fr) 230px}.webcontainer-grid section:first-child{grid-column:1/-1;grid-row:2;border-right:0;border-top:1px solid #29434c}.webcontainer-grid .react-editor{grid-column:1;grid-row:1;border-right:1px solid #29434c}.webcontainer-grid .react-preview{grid-column:2;grid-row:1}.node-grid{grid-template-columns:190px minmax(330px,1fr) minmax(330px,1fr);grid-template-rows:minmax(430px,1fr) 230px}.node-grid .node-terminal{grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid #29434c}.node-grid .node-files{grid-column:1;grid-row:1}.node-grid .node-editor{grid-column:2;grid-row:1}.node-grid .react-preview{grid-column:3;grid-row:1}@media(max-width:950px){.webcontainer-grid{grid-template-columns:1fr;grid-template-rows:360px 360px 250px}.webcontainer-grid .react-editor,.webcontainer-grid .react-preview,.webcontainer-grid section:first-child{grid-column:1}.webcontainer-grid .react-editor{grid-row:1;border-right:0}.webcontainer-grid .react-preview{grid-row:2}.webcontainer-grid section:first-child{grid-row:3}.node-grid{grid-template-columns:130px 1fr;grid-template-rows:420px 300px}.node-grid .node-files{grid-column:1;grid-row:1}.node-grid .node-editor{grid-column:2;grid-row:1}.node-grid .node-terminal{grid-column:1/-1;grid-row:2}.node-grid .react-preview{display:none}}.lesson-actions{display:flex;align-items:center;gap:6px}.lesson-actions button{border:0}.lesson-actions .lesson-delete{color:#b75446;background:#fff0ed;border-radius:5px;padding:5px;display:grid;place-items:center}.webcontainer-grid section:first-child,.webcontainer-grid section:first-child pre{background:#0c1b23}.webcontainer-grid section:first-child pre{height:100%;min-height:0}@media (min-width:701px) and (max-width:950px){.webcontainer-grid{grid-template-columns:1fr 1fr;grid-template-rows:minmax(380px,1fr) 220px}.webcontainer-grid .react-editor{grid-column:1;grid-row:1;border-right:1px solid #29434c}.webcontainer-grid .react-preview{grid-column:2;grid-row:1}.webcontainer-grid section:first-child{grid-column:1/-1;grid-row:2}}.auth-brand-image{mix-blend-mode:screen;filter:drop-shadow(0 8px 18px rgba(0,0,0,.12))}.auth-mobile-brand img{mix-blend-mode:normal}.settings-page{min-height:100vh;background:#f5f8f7}.settings-page header{height:64px;background:white;border-bottom:1px solid #dfe9e6;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between}.settings-page header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;gap:5px;align-items:center}.settings-page header strong{font:18px Fraunces,serif;color:#1b3640}.settings-page header strong span{color:#1ba891}.settings-content{width:min(540px,calc(100% - 40px));margin:0 auto;padding:60px 0}.settings-content>p{font-size:10px;color:#168e7c;font-weight:700;letter-spacing:1.1px;margin:0 0 8px}.settings-content>h1{font:600 32px Fraunces,serif;color:#213d45;margin:0 0 24px}.settings-content section{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:15px;margin-bottom:18px}.settings-avatar{height:45px;width:45px;border-radius:50%;background:#e4d6bf;color:#705435;display:grid;place-items:center;font-size:13px;font-weight:700}.settings-content section b{display:block;font-size:13px}.settings-content section span{font-size:10px;color:#7d8e93;text-transform:capitalize}.settings-content label{display:grid;grid-gap:6px;gap:6px;font-size:11px;color:#52666b;font-weight:700;margin:13px 0}.settings-content label svg{color:#238c7d}.settings-content input{height:42px;border:1px solid #d8e3df;border-radius:6px;padding:0 10px;font:13px DM Sans;outline-color:#20a893}.settings-content input:disabled{background:#f1f4f3;color:#839297}.settings-save{background:#169d8d;color:#fff;padding:10px 12px;font-size:12px;font-weight:700;gap:6px;margin-top:17px}.settings-message,.settings-save{border-radius:6px;display:flex;align-items:center}.settings-message{color:#168170;background:#e3f8f2;padding:9px;font-size:11px;gap:5px}.password-link{margin-top:18px;color:#36746d;text-decoration:none;font-size:12px;display:flex;gap:6px;align-items:center}.notifications-page,.search-page{min-height:100vh;background:#f5f8f7}.notifications-page header,.search-page header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between}.notifications-page header a,.search-page header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;gap:5px;align-items:center}.notifications-page header strong,.search-page header strong{font:18px Fraunces,serif;color:#1b3640}.notifications-page header strong span,.search-page header strong span{color:#1ba891}.notifications-content,.search-content{width:min(800px,calc(100% - 40px));margin:0 auto;padding:56px 0}.notifications-content>p,.search-content>p{font-size:10px;color:#168e7c;font-weight:700;letter-spacing:1.1px;margin:0 0 8px}.notifications-content h1,.search-content h1{font:600 33px Fraunces,serif;color:#203d45;margin:0 0 22px}.search-content form{height:48px;background:white;border:1px solid #d8e3df;border-radius:7px;display:flex;align-items:center;padding:0 7px 0 12px;gap:8px}.search-content form svg{color:#168d7c}.search-content input{border:0;outline:0;flex:1 1;font:13px DM Sans}.search-content button{background:#169d8d;color:#fff;border-radius:5px;padding:8px 11px;font-size:11px;font-weight:700}.search-content section{margin-top:24px;background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.search-content section h2{font-size:12px;color:#5c7075;padding:15px;margin:0;border-bottom:1px solid #edf2f0}.search-content section>a{display:flex;gap:11px;padding:15px;text-decoration:none;color:#2b464d;border-bottom:1px solid #edf2f0}.search-content section>a svg{color:#248f80;flex:none}.search-content b,.search-content small,.search-content span{display:block}.search-content small{font-size:9px;color:#819197;letter-spacing:.6px}.search-content b{font-size:13px;margin:4px 0}.search-content span{font-size:11px;color:#718287}.empty-search{padding:25px;color:#7c8d92;font-size:12px}.notifications-content section{background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.notifications-content article{display:flex;gap:11px;padding:17px;border-bottom:1px solid #edf2f0}.notifications-content article>span{height:32px;width:32px;border-radius:50%;background:#e1f8f1;color:#168b7c;display:grid;place-items:center;flex:none}.notifications-content b{font-size:13px;color:#29444b}.notifications-content p{font-size:11px;color:#6f8187;margin:4px 0}.notifications-content small{font-size:10px;color:#87969a}.empty-notifications{text-align:center;padding:60px;color:#829197}.empty-notifications svg{color:#35b5a0}.empty-notifications h2{font:600 22px Fraunces,serif;color:#2b454b}.empty-notifications p{font-size:12px}.theme-setting{margin-top:23px;padding-top:17px;border-top:1px solid #dfe9e6}.theme-setting>b{font-size:12px;color:#365057;display:block}.theme-setting>span{font-size:11px;color:#7b8c91;display:block;margin:4px 0 10px}.theme-setting>div{display:flex;gap:6px}.theme-setting button{border:1px solid #d5e3df;background:#fff;color:#5d7377;border-radius:5px;padding:8px 13px;font-size:11px}.theme-setting button.selected{background:#dff8f1;border-color:#8ddccc;color:#147e70;font-weight:700}body.theme-dark{background:#071820;color:#d9e9e7}.theme-dark .access-codes,.theme-dark .admin-forms,.theme-dark .admin-people,.theme-dark .curriculum-admin,.theme-dark .curriculum-page,.theme-dark .dash-main,.theme-dark .notifications-page,.theme-dark .review-queue,.theme-dark .search-page,.theme-dark .settings-page,.theme-dark .student-submissions{background:#0a1c24}.theme-dark .access-codes>header,.theme-dark .admin-forms>header,.theme-dark .admin-people>header,.theme-dark .curriculum-admin>header,.theme-dark .curriculum-header,.theme-dark .dash-head,.theme-dark .notifications-page header,.theme-dark .review-queue header,.theme-dark .search-page header,.theme-dark .settings-page header,.theme-dark .student-submissions>header{background:#102832;border-color:#25414a}.theme-dark .dash-head h1,.theme-dark .notifications-content h1,.theme-dark .notifications-page header strong,.theme-dark .search-content h1,.theme-dark .search-page header strong,.theme-dark .settings-content>h1,.theme-dark .settings-page header strong{color:#e7f4f1}.theme-dark .admin-form-list,.theme-dark .admin-lesson-list,.theme-dark .code-editor,.theme-dark .code-list,.theme-dark .form-editor,.theme-dark .lesson-editor,.theme-dark .notifications-content section,.theme-dark .panel,.theme-dark .people-list,.theme-dark .search-content section,.theme-dark .settings-content section{background:#102832;border-color:#29454e}.theme-dark .activity-row,.theme-dark .admin-form-list article,.theme-dark .admin-lesson-list article,.theme-dark .code-list article,.theme-dark .notifications-content article,.theme-dark .panel-head,.theme-dark .people-list article,.theme-dark .road-row,.theme-dark .search-content section>a,.theme-dark .settings-content section{border-color:#29454e}.theme-dark .activity-row b,.theme-dark .admin-form-list h2,.theme-dark .admin-lesson-list h2,.theme-dark .code-list h2,.theme-dark .panel-head h3,.theme-dark .people-list .person-name b,.theme-dark .road-row b,.theme-dark .settings-content section b{color:#e2f0ed}.theme-dark .code-editor input,.theme-dark .code-editor select,.theme-dark .form-editor input,.theme-dark .form-editor textarea,.theme-dark .lesson-editor input,.theme-dark .lesson-editor select,.theme-dark .lesson-editor textarea,.theme-dark .people-list select,.theme-dark .search-content form,.theme-dark .settings-content input{background:#0a1c24;border-color:#36545a;color:#dcebe8}.theme-dark .theme-setting{border-color:#29454e}.theme-dark .theme-setting>b{color:#dcebe8}.theme-dark .theme-setting button{background:#102832;border-color:#36545a;color:#b7ceca}.theme-dark .theme-setting button.selected{background:#17473f;color:#bff6e9}.theme-dark .search-content section h2{color:#b7ceca}.theme-dark .settings-content input:disabled{background:#172b32;color:#9db2b1}.form-actions{display:flex;align-items:center;gap:6px}.form-actions button{color:#227e71;background:#e5f8f2;border-radius:5px;padding:5px;display:grid;place-items:center}.form-actions .lesson-delete{color:#b75446;background:#fff0ed}.section-card>div>a{color:#147f71;background:#e7f8f3;font-size:11px;padding:8px 9px;border-radius:5px;gap:6px}.actions a,.section-card>div>a{display:flex;align-items:center;text-decoration:none}.actions a{width:100%;text-align:left;padding:13px 4px;gap:10px;color:#188b7d;background:transparent;border-bottom:1px solid #edf2ef}.actions a>span{flex:1 1}.form-row{text-decoration:none;color:inherit}.admin-form-status{font-size:10px;color:#71868b;text-align:right}.admin-stats article em{display:none}.enrol-page{min-height:100vh;background:#f4f9f7}.enrol-page header{height:65px;background:#09212d;color:#fff;padding:0 max(20px,6vw);display:flex;align-items:center;justify-content:space-between}.enrol-page header a{display:flex;gap:7px;align-items:center;color:#e8f7f4;text-decoration:none;font:18px Fraunces,serif}.enrol-page header a img{height:29px;width:29px;border-radius:8px}.enrol-page header a:last-child{font:12px DM Sans;color:#76decd}.enrol-page header span{color:#47d4bd}.enrol-content{width:min(820px,calc(100% - 40px));margin:0 auto;padding:65px 0}.enrol-content>p{font-size:10px;letter-spacing:1.2px;color:#198d7d;font-weight:700;margin:0 0 9px}.enrol-content>h1{font:600 38px Fraunces,serif;color:#193940;margin:0 0 7px}.enrol-content>span{font-size:13px;color:#72858a}.enrol-content section{margin-top:30px;display:grid;grid-gap:15px;gap:15px}.enrol-content article{background:#fff;border:1px solid #dfe9e6;border-radius:11px;padding:22px;display:grid;grid-template-columns:28px 1fr auto;grid-gap:14px;gap:14px}.enrol-content article>svg{color:#188d7d}.enrol-content h2{font:600 20px Fraunces,serif;color:#28434a;margin:0 0 5px}.enrol-content p{font-size:11px;color:#718287;line-height:1.45;margin:0 0 8px}.enrol-content b{font-size:10px;color:#188d7d}.price{text-align:right;display:grid;justify-items:end;grid-gap:5px;gap:5px}.price strong{font:600 23px Fraunces,serif;color:#1f4546}.price small{font-size:10px;color:#71858a}.price a{background:#169d8d;color:#fff;text-decoration:none;border-radius:5px;padding:8px 10px;font-size:11px;font-weight:700}.price a.usd{background:#163e46}.price em{font-size:10px;color:#89979b;font-style:normal}.enrol-empty{background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:30px;display:flex;gap:8px;align-items:center;color:#71858a;font-size:12px}@media(max-width:600px){.enrol-content{padding:40px 0}.enrol-content article{grid-template-columns:25px 1fr}.price{grid-column:2;justify-items:start;text-align:left}}.section-card article span b,.section-card article span small{display:block}.section-card article span small{font-size:10px;color:#819197;margin-top:3px}.section-action-link{display:inline-flex;margin:16px;color:#fff!important;background:#169d8d!important;border-radius:6px;padding:9px 11px;text-decoration:none;font-size:11px;font-weight:700}.payment-gate{min-height:100vh;background:radial-gradient(circle at 70% 0,#164c50,#071821 65%);color:#e8f7f4;display:grid;place-items:center;padding:24px}.payment-gate>div{width:min(520px,100%);background:#102b33;border:1px solid #28505a;border-radius:14px;padding:35px}.payment-gate svg{color:#5ae0c9}.payment-gate p{font-size:10px;letter-spacing:1.1px;color:#78decf;font-weight:700}.payment-gate h1{font:600 32px Fraunces,serif;margin:10px 0}.payment-gate>div>span{font-size:13px;color:#b4d0cd;line-height:1.5}.payment-gate section{margin:22px 0;background:#173b42;border-radius:9px;padding:15px}.payment-gate section b,.payment-gate section strong{display:block}.payment-gate section strong{font:600 22px Fraunces,serif;margin:6px 0}.payment-gate section div{display:flex;gap:8px;margin-top:12px}.payment-gate section a{background:#3fd2ba;color:#062128;text-decoration:none;padding:9px 11px;border-radius:5px;font-size:11px;font-weight:700}.payment-gate em{display:block;color:#efc178;font-size:12px;margin:20px 0}.payment-gate>div>a{color:#7ce1d1;text-decoration:none;font-size:12px}.logout-button{border:0;cursor:pointer;display:flex;align-items:center;gap:8px}.dash-logout,.rail-logout{height:42px;width:100%;background:transparent;color:#afc3ca;border-radius:7px;padding:0 11px;font-size:13px}.dash-logout:hover,.rail-logout:hover{background:#16414c;color:#fff}.settings-logout{margin-top:24px;color:#b34f43;background:#fff0ed;border-radius:6px;padding:9px 11px;font-size:12px;font-weight:700}.section-logo img{width:27px;height:27px;border-radius:8px;object-fit:cover}.checkout-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.checkout-buttons button{border:0;background:#3fd2ba;color:#062128;padding:9px 11px;border-radius:5px;font-size:11px;font-weight:700;display:flex;gap:5px;align-items:center}.checkout-buttons button.usd{background:#dff5f0;color:#103b3c}.checkout-buttons button:disabled{opacity:.6}.checkout-buttons small{width:100%;color:#ffc88d;font-size:10px}.academy-settings{min-height:100vh;background:#f5f8f7}.academy-settings header{height:68px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between}.academy-settings header>a:first-child{font-size:12px;color:#36746d;display:flex;align-items:center;gap:6px;text-decoration:none}.academy-settings-content{width:min(850px,calc(100% - 40px));margin:0 auto;padding:55px 0}.academy-settings-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:25px}.academy-settings-title>span{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#dff8f1;color:#168d7c}.academy-settings-title p{font-size:10px;letter-spacing:1px;color:#178c7c;font-weight:700;margin:2px 0 7px}.academy-settings-title h1{font:600 33px Fraunces,serif;color:#203d45;margin:0}.academy-settings-title h2{font:400 13px DM Sans;color:#75878d;margin:6px 0}.academy-settings-card{background:#fff;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden}.academy-settings-card>div{padding:17px 19px;border-bottom:1px solid #eaf0ed}.academy-settings-card h3{font:600 17px Fraunces,serif;margin:0;color:#27434a}.academy-settings-card>a{display:flex;align-items:center;gap:11px;padding:15px 19px;border-bottom:1px solid #edf2f0;text-decoration:none;color:#218b7c}.academy-settings-card>a:last-child{border:0}.academy-settings-card>a span{flex:1 1}.academy-settings-card>a b{display:block;color:#29444b;font-size:12px}.academy-settings-card>a small{display:block;color:#7d8e93;font-size:10px;margin-top:3px}.payment-return{min-height:100vh;background:#071821;display:grid;place-items:center;padding:24px;color:#e8f7f4}.payment-return section{width:min(460px,100%);text-align:center;background:#102b33;border:1px solid #28505a;border-radius:14px;padding:42px}.payment-return svg{color:#55dcc5;margin-bottom:12px}.payment-return p{font-size:10px;letter-spacing:1.1px;color:#78decf;font-weight:700}.payment-return h1{font:600 30px Fraunces,serif;margin:10px 0}.payment-return span{display:block;color:#b8d2cf;font-size:13px;line-height:1.55;margin-bottom:18px}.payment-return a{display:block;margin-top:18px;color:#7ce1d1;font-size:12px;text-decoration:none}.head-right .bell{position:relative;display:grid;place-items:center;width:24px;height:24px;color:#52656d}.head-right .bell i{right:1px;top:1px;display:grid;place-items:center;min-width:14px;height:14px;padding:0 3px;font:8px DM Sans;color:#fff;background:#ef7660;border:1px solid #fff;border-radius:8px;right:-4px;top:-4px}.notification-row{display:flex;gap:11px;padding:17px;text-decoration:none;color:inherit;border-bottom:1px solid #edf2f0}.notification-row.unread{background:#f0fbf7}.notification-row>span{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;background:#e1f8f1;color:#168b7c;flex:none}.notification-row b{font-size:13px;color:#29444b}.notification-row p{font-size:11px;color:#6f8187;margin:4px 0}.notification-row small{font-size:10px;color:#87969a}.teacherbot{min-height:100vh;background:#f5f8f7}.teacherbot>header{height:65px;background:#102b33;color:#fff;padding:0 max(20px,4vw);display:flex;align-items:center;justify-content:space-between}.teacherbot>header a{color:#a8dfd5;text-decoration:none;font-size:12px;display:flex;gap:6px;align-items:center}.teacherbot>header strong{font:18px Fraunces,serif}.teacherbot>header span{color:#48d4bf}.teacherbot-grid{max-width:1250px;margin:auto;padding:34px;display:grid;grid-template-columns:330px 1fr;grid-gap:20px;gap:20px}.teacherbot-controls,.teacherbot-draft{background:#fff;border:1px solid #dfe9e6;border-radius:12px;padding:20px}.teacherbot-title{display:flex;gap:10px;margin-bottom:22px}.teacherbot-title>svg{color:#178f7e}.teacherbot-title p{font-size:9px;letter-spacing:1px;color:#168e7c;font-weight:700;margin:0}.teacherbot-title h1{font:600 26px Fraunces,serif;color:#243f46;margin:4px 0}.teacherbot-title span{font-size:11px;color:#7b8c91}.teacherbot label,.teacherbot-draft label{display:grid;grid-gap:6px;gap:6px;font-size:11px;font-weight:700;color:#52676c;margin:13px 0}.teacherbot input,.teacherbot select,.teacherbot textarea{border:1px solid #d8e3df;border-radius:6px;padding:9px;background:#fff;font:12px DM Sans;outline-color:#20a893}.teacherbot textarea{min-height:90px;resize:vertical;font-family:var(--mono)}.teacherbot-controls>button,.teacherbot-draft header button{background:#169d8d;color:#fff;border:0;border-radius:6px;padding:10px;font-size:12px;font-weight:700;display:flex;gap:6px;align-items:center}.teacherbot-controls>button:disabled{opacity:.6}.teacherbot-message{font-size:11px;color:#b44e42}.teacherbot-draft>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6eeeb;padding-bottom:12px}.teacherbot-draft>header b{font:600 18px Fraunces,serif;color:#29454c}.teacherbot-rubric{background:#effaf7;border-radius:7px;padding:12px;margin-top:13px}.teacherbot-rubric b{font-size:12px;color:#28776c}.teacherbot-rubric p{font-size:11px;color:#527067;margin:5px 0}.teacherbot-empty{height:100%;min-height:450px;display:grid;place-content:center;text-align:center;color:#7b8d92}.teacherbot-empty svg{justify-self:center;color:#40bca9}.teacherbot-empty h2{font:600 22px Fraunces,serif;color:#29454c}.teacherbot-empty p{font-size:12px;max-width:300px}@media(max-width:800px){.teacherbot-grid{grid-template-columns:1fr;padding:20px}}.legacy-redirect{min-height:100vh;display:grid;place-items:center;background:#071821;color:#d8f2ed;font:600 15px DM Sans}.auth-aside{isolation:isolate}.auth-scene{opacity:.72;pointer-events:none}.auth-aside:before,.auth-scene{position:absolute;inset:0;z-index:-1}.auth-aside:before{content:"";background:linear-gradient(120deg,rgba(7,28,39,.9),rgba(7,28,39,.3) 55%,rgba(7,28,39,.75))}.auth-aside:after{z-index:-1}.auth-aside>div,.auth-aside>img{position:relative}.auth-aside{overflow:hidden}.auth-aside .auth-brand-image{filter:drop-shadow(0 6px 18px #07182088)}.auth-aside{background:#071c27}.auth-aside:after,.auth-aside:before,.auth-scene{z-index:0}.auth-aside>div,.auth-aside>img{z-index:1}.auth-scene{z-index:1!important;opacity:1!important}.auth-scene canvas{width:100%!important;height:100%!important;display:block}.auth-aside:before{z-index:0!important;background:linear-gradient(120deg,rgba(7,28,39,.42),rgba(7,28,39,.12) 55%,rgba(7,28,39,.48))!important}.auth-aside:after{z-index:1!important}.auth-aside>div,.auth-aside>img{z-index:2!important}.auth-aside{background:radial-gradient(circle at 75% 15%,#145e62 0,#092c38 38%,#061c28 100%)!important;perspective:1000px}.auth-motion-scene{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none;--scroll:0}.auth-aside:before{background:linear-gradient(115deg,rgba(4,20,29,.35),rgba(4,20,29,.04) 55%,rgba(4,20,29,.48))!important;z-index:1!important}.auth-aside:after{display:none}.auth-aside>div,.auth-aside>img{z-index:3!important}.auth-grid-floor{position:absolute;width:160%;height:80%;left:-30%;bottom:-36%;background:linear-gradient(rgba(77,224,201,.25) 1px,transparent 0),linear-gradient(90deg,rgba(77,224,201,.25) 1px,transparent 0);background-size:42px 42px;transform:perspective(500px) rotateX(66deg) translateY(calc(var(--scroll)*-.04px));-webkit-mask-image:linear-gradient(0deg,black,transparent 75%);mask-image:linear-gradient(0deg,black,transparent 75%);animation:gridDrift 9s linear infinite}.auth-orbit{position:absolute;border:1px solid rgba(86,235,211,.42);border-radius:50%;transform-style:preserve-3d;animation:orbitSpin 13s linear infinite}.orbit-one{width:330px;height:330px;right:-95px;top:26%;transform:rotateX(68deg) rotate(16deg)}.orbit-two{width:200px;height:200px;right:12%;top:10%;border-color:rgba(241,183,91,.4);animation-direction:reverse;animation-duration:10s}.auth-cube{position:absolute;right:17%;top:37%;width:96px;height:96px;transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(28deg);animation:cubeSpin 12s ease-in-out infinite}.auth-cube i{position:absolute;inset:0;background:linear-gradient(135deg,rgba(72,216,192,.8),rgba(14,92,105,.55));border:1px solid rgba(191,255,244,.8);box-shadow:0 0 22px rgba(66,220,195,.45)}.auth-cube i:first-child{transform:translateZ(48px)}.auth-cube i:nth-child(2){transform:rotateY(180deg) translateZ(48px)}.auth-cube i:nth-child(3){transform:rotateY(90deg) translateZ(48px)}.auth-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(48px)}.auth-cube i:nth-child(5){transform:rotateX(90deg) translateZ(48px)}.auth-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(48px)}.auth-code-card{position:absolute;width:105px;padding:12px;border:1px solid rgba(129,246,226,.45);border-radius:9px;background:rgba(7,42,52,.65);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 12px 28px rgba(0,0,0,.25);display:grid;grid-gap:5px;gap:5px;color:#d8fff6;transform-style:preserve-3d}.auth-code-card b{font:700 18px var(--mono)}.auth-code-card span{font-size:8px;letter-spacing:1.2px;color:#7ee6d4;font-weight:700}.card-one{right:36%;top:21%;transform:rotateY(-18deg) rotateX(10deg);animation:cardFloat 5.5s ease-in-out infinite}.card-two{right:6%;top:62%;border-color:rgba(240,183,91,.55);animation:cardFloat 6.5s ease-in-out infinite reverse}.card-two span{color:#f4c97e}.card-three{right:44%;top:68%;width:80px;animation:cardFloat 4.5s ease-in-out .8s infinite}.auth-glow{position:absolute;border-radius:50%;filter:blur(40px);opacity:.45}.glow-one{width:160px;height:160px;background:#2ed5bd;right:16%;top:38%}.glow-two{width:100px;height:100px;background:#5c78e1;right:50%;top:15%}@keyframes cubeSpin{0%,to{transform:rotateX(-18deg) rotateY(28deg) translateY(0)}50%{transform:rotateX(32deg) rotateY(210deg) translateY(-25px)}}@keyframes orbitSpin{to{transform:rotateX(68deg) rotate(376deg)}}@keyframes gridDrift{to{background-position:0 42px,42px 0}}@keyframes cardFloat{0%,to{translate:0 0;rotate:0deg}50%{translate:0 -22px;rotate:2deg}}@media(max-width:700px){.auth-motion-scene{display:none}}@media(prefers-reduced-motion:reduce){.auth-motion-scene *{animation:none!important}}.auth-aside>.auth-motion-scene{position:absolute!important;inset:0!important;z-index:1!important;display:block!important}.auth-aside{cursor:none}.auth-3d-cursor{position:fixed;z-index:50;pointer-events:none;opacity:0;transition:opacity .18s;translate:-50% -50%;width:42px;height:42px;transform-style:preserve-3d}.auth-3d-cursor.visible{opacity:1}.auth-3d-cursor i{position:absolute;inset:0;border:1px solid #8bfff0;border-radius:50%;box-shadow:0 0 18px #41d7c399;transform:rotateX(62deg) rotate(28deg);animation:cursorOrbit 2.8s linear infinite}.auth-3d-cursor:after,.auth-3d-cursor:before{content:"";position:absolute;inset:7px;border:1px solid rgba(241,184,91,.7);border-radius:50%;transform:rotateY(72deg);animation:cursorOrbit 2.2s linear infinite reverse}.auth-3d-cursor:after{inset:13px;border-color:#effffc;transform:rotateX(72deg);animation-duration:1.6s}.auth-3d-cursor b{position:absolute;inset:0;display:grid;place-items:center;color:#d9fff7;font:10px var(--mono);text-shadow:0 0 7px #3de0c9}@keyframes cursorOrbit{to{rotate:1turn}}.auth-guide-orb{position:fixed;z-index:45;left:calc(44% - 66px);bottom:26px}.auth-guide-orb>button{position:relative;width:52px;height:52px;border:0;border-radius:50%;background:linear-gradient(135deg,#5ae0c8,#147d82);color:#08212b;box-shadow:0 12px 24px #0005,inset 0 1px 5px #d6fff8;display:grid;place-items:center;transform-style:preserve-3d;animation:guideHover 3.4s ease-in-out infinite}.auth-guide-orb>button:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(105,239,219,.5);border-radius:50%;transform:rotateX(67deg);animation:cursorOrbit 5s linear infinite}.auth-guide-orb>button span{display:grid;transform:translateZ(12px)}.auth-guide-orb>button i{position:absolute;right:-4px;top:-3px;color:#fff;background:#eab35d;border-radius:50%;height:18px;width:18px;display:grid;place-items:center}.auth-guide-tip{position:absolute;bottom:66px;left:0;width:230px;background:rgba(10,42,50,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #3d827a;border-radius:10px;padding:13px;color:#e4f8f4;box-shadow:0 12px 25px #0005;font-size:11px;line-height:1.5}.auth-guide-tip b{color:#76e7d4}.auth-guide-tip p{margin:5px 0 0;color:#c1ddd8}.auth-guide-tip>button{position:absolute;right:6px;top:6px;border:0;background:transparent;color:#91b9b3}@keyframes guideHover{0%,to{translate:0 0;rotate:0deg}50%{translate:0 -10px;rotate:4deg}}@media(max-width:700px){.auth-3d-cursor,.auth-guide-orb{display:none}.auth-aside{cursor:auto}}@media(prefers-reduced-motion:reduce){.auth-3d-cursor *,.auth-guide-orb>button{animation:none!important}}.auth-aside .auth-guide-orb{position:absolute;z-index:5;left:auto;right:28px;bottom:28px;display:block!important}.auth-aside .auth-3d-cursor{z-index:20}.auth-page~.help-assistant{display:none}@supports selector(body:has(.auth-page)){body:has(.auth-page) .help-assistant{display:none}}.auth-aside .auth-guide-orb{position:absolute!important;left:auto!important;right:26px!important;bottom:34px!important;z-index:10!important;pointer-events:auto!important}.auth-aside .auth-guide-tip{left:auto!important;right:0!important;bottom:66px!important;z-index:11!important}.auth-aside .auth-guide-orb>button{pointer-events:auto!important}@media(max-width:700px){.auth-mobile-brand{width:max-content;max-width:100%;background:#08242e!important;border-radius:12px;padding:10px 14px!important;box-shadow:0 7px 20px rgba(7,24,33,.14)}.auth-mobile-brand img{display:block;width:210px!important;max-width:100%;height:auto}.auth-panel{background:linear-gradient(145deg,#f8fffd,#fff 45%,#ecfbf7)}}.dash-side-close{display:none}@media(max-width:800px){.dash-side.mobile-open{display:flex;position:fixed;z-index:100;inset:0 auto 0 0;width:260px;box-shadow:8px 0 32px #0008}.dash-side-close{display:grid;place-items:center;position:absolute;right:12px;top:18px;background:transparent;color:#b5c8cf}.dash-side.mobile-open .dash-brand{margin-right:35px}}@media(max-width:700px){.auth-page{grid-template-rows:185px 1fr}.auth-aside{display:block!important;min-height:185px;height:185px;padding:0!important;overflow:hidden}.auth-aside>.auth-brand-image,.auth-aside>div:not(.auth-motion-scene):not(.auth-guide-orb):not(.auth-3d-cursor){display:none!important}.auth-aside>.auth-motion-scene{display:block!important;transform:scale(.72);transform-origin:58% 50%;inset:-28px -80px!important}.auth-aside .auth-guide-orb{display:block!important;right:20px!important;bottom:15px!important;transform:scale(.82);transform-origin:bottom right}.auth-aside .auth-guide-tip{width:205px;bottom:55px!important}.auth-panel{padding:24px 23px 34px!important}.auth-mobile-brand{margin-bottom:24px!important}.auth-copy h2{font-size:27px}.auth-3d-cursor{display:none!important}}.markdown-editor{display:grid!important;grid-gap:0!important;gap:0!important}.markdown-editor>span{font-size:11px;font-weight:700;color:#52676c;margin-bottom:6px}.markdown-toolbar{display:flex;gap:4px;flex-wrap:wrap;background:#edf4f2;border:1px solid #d8e3df;border-bottom:0;border-radius:6px 6px 0 0;padding:5px}.markdown-toolbar button{width:30px;height:27px;display:grid;place-items:center;border:1px solid transparent;background:#fff;color:#297d72;border-radius:4px}.markdown-toolbar button:hover{border-color:#87d8ca;background:#e3f8f2}.markdown-editor textarea{border-radius:0 0 6px 6px!important;min-height:220px}.lesson-markdown h1{font:600 27px Fraunces,serif;color:#1c3a42;margin:24px 0 10px}.lesson-markdown h2{font:600 22px Fraunces,serif;color:#1c3a42;margin:22px 0 9px}.lesson-markdown h3{font:600 17px Fraunces,serif;color:#1c3a42;margin:18px 0 7px}.lesson-markdown ol,.lesson-markdown ul{padding-left:22px;margin:8px 0 15px}.lesson-markdown li{margin:5px 0}.lesson-markdown strong{color:#123c43}.lesson-markdown code{font:11px var(--mono);background:#e9f0ee;border-radius:3px;padding:2px 4px}.lesson-markdown pre{background:#10252d;color:#d3eee8;border-radius:8px;padding:13px;overflow:auto}.lesson-markdown pre code{background:transparent;color:inherit;padding:0}.lesson-markdown blockquote{margin:16px 0;border-left:3px solid #39c3ad;background:#effaf7;padding:9px 13px;color:#486a69}.review-monaco{min-height:0;height:100%;overflow:hidden}@media(max-width:750px){.review-code{grid-template-rows:64px auto minmax(320px,1fr)!important;height:540px!important}.review-monaco{min-height:320px}}.student-lab-links{display:flex;gap:7px;margin-top:12px}.hero .student-lab-links a{background:rgba(255,255,255,.1);border:1px solid rgba(174,247,234,.32);color:#dffff8;padding:6px 8px;font-size:10px;font-weight:600}.hero .student-lab-links a:hover{background:rgba(72,216,192,.2)}.node-terminal,.node-terminal pre{background:#0c1b23}.node-terminal pre{height:100%;min-height:0}.node-terminal{overflow:hidden}.folder-page{min-height:100vh;background:#f5f8f7}.folder-page>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between}.folder-page>header>a{font-size:12px;color:#36746d;display:flex;gap:6px;align-items:center;text-decoration:none}.folder-page>header strong{font:18px Fraunces,serif;color:#1b3640}.folder-page>header strong span{color:#1ba891}.folder-content{width:min(1000px,calc(100% - 40px));margin:0 auto;padding:52px 0}.folder-content>p{font-size:10px;letter-spacing:1.1px;color:#168e7c;font-weight:700;margin:0 0 8px}.folder-content>h1{font:600 34px Fraunces,serif;color:#203d45;margin:0 0 7px}.folder-content>span{font-size:13px;color:#75878c}.folder-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:26px}.folder-panel,.history-list{background:#fff;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden}.folder-panel>div{display:flex;align-items:center;gap:8px;padding:15px 17px;border-bottom:1px solid #eaf0ed;color:#1d897a}.folder-panel h2{font:600 18px Fraunces,serif;color:#29444b;margin:0}.folder-panel>a,.history-list>a{display:flex;gap:10px;align-items:center;padding:15px 17px;border-bottom:1px solid #edf2f0;text-decoration:none;color:#288e80}.folder-panel>a:last-child,.history-list>a:last-child{border:0}.folder-panel>a span,.history-list>a div{flex:1 1}.folder-panel b,.history-list b{display:block;font-size:12px;color:#29444b}.folder-panel small,.history-list small{display:block;font-size:10px;color:#819197;margin-top:3px}.folder-empty{padding:24px;color:#829197;font-size:12px;margin:0}.history-list{margin-top:26px}.history-list>a>span{height:31px;width:31px;border-radius:50%;background:#e2f8f1;color:#168b7c;display:grid;place-items:center}.history-list>a>strong{font:600 13px Fraunces,serif;color:#218b7d}@media(max-width:700px){.folder-content{padding:36px 0}.folder-grid{grid-template-columns:1fr}.folder-content>h1{font-size:28px}}.workspace-heading{display:flex;align-items:center;gap:9px}.project-workspace header .workspace-back{width:30px;height:30px;padding:0;background:#1b3a44;color:#c7dcde;display:grid;place-items:center;border-radius:5px}.presence-offline,.presence-online{font:9px DM Sans;font-weight:700;border-radius:8px;padding:3px 6px;margin-left:5px;vertical-align:middle}.presence-online{color:#137b6d;background:#dff8f1}.presence-offline{color:#7b8c91;background:#eef2f1}.people-list article{grid-template-columns:35px 1.1fr 160px 190px 60px 35px}.people-list .force-logout{background:#fff0ed;color:#b54f43;border-radius:5px;padding:8px;display:grid;place-items:center}@media(max-width:780px){.people-list article{grid-template-columns:35px 1fr 58px 35px}.people-list .force-logout{grid-column:4;grid-row:1;align-self:center}.people-list button:not(.force-logout){grid-column:3;grid-row:1;align-self:center}}.legal-page,.support-page{min-height:100vh;background:#f6f9f8}.legal-page header,.support-page header{height:68px;background:#09212d;color:#fff;padding:0 max(20px,7vw);display:flex;align-items:center;justify-content:space-between}.legal-page header a,.support-page header a{display:flex;align-items:center;gap:7px;color:#e8f8f5;text-decoration:none;font:18px Fraunces,serif}.legal-page header a img,.support-page header a img{height:28px;width:28px;border-radius:8px}.legal-page header a:last-child,.support-page header a:last-child{font:12px DM Sans;color:#7ce1d1}.legal-page header span,.support-page header span{color:#43d4bd}.legal-page article{width:min(800px,calc(100% - 40px));margin:0 auto;padding:58px 0 80px}.legal-page article>p,.support-page>div>p{font-size:10px;letter-spacing:1.2px;color:#168e7c;font-weight:700}.legal-page h1,.support-page h1{font:600 39px Fraunces,serif;color:#203d45;margin:9px 0}.legal-page article>small{color:#849499;font-size:11px}.legal-page article section{margin-top:29px}.legal-page h2{font:600 22px Fraunces,serif;color:#27434a;margin:0 0 8px}.legal-page section p{font-size:13px;line-height:1.65;color:#53686d}.support-page>div{width:min(650px,calc(100% - 40px));margin:0 auto;padding:70px 0;text-align:center}.support-page>div>svg{color:#1a9c89}.support-page>div>span{color:#74868b;font-size:13px;line-height:1.6}.support-page section{margin-top:28px;border:1px solid #dfe9e6;border-radius:11px;overflow:hidden;background:#fff;text-align:left}.support-page section a{display:flex;align-items:center;gap:11px;padding:17px;color:#248b7c;text-decoration:none;border-bottom:1px solid #edf2f0}.support-page section a:last-child{border:0}.support-page section b{display:block;color:#29444b;font-size:12px}.support-page section small{display:block;color:#809197;font-size:10px;margin-top:3px}.support-links{display:flex;justify-content:center;gap:14px;margin-top:22px}.support-links a{font-size:11px;color:#27786e;text-decoration:none}.auth-legal-links{display:flex;justify-content:center;gap:11px;margin:0;font-size:10px}.auth-legal-links a{color:#72858b;text-decoration:none}.analytics-page{min-height:100vh;background:#f5f8f7}.analytics-page>header{height:65px;background:#102b33;color:#fff;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between}.analytics-page>header a{color:#a6ded4;text-decoration:none;font-size:12px;display:flex;gap:6px;align-items:center}.analytics-page>header strong{font:18px Fraunces,serif}.analytics-page>header span{color:#48d4bf}.analytics-content{width:min(1050px,calc(100% - 40px));margin:0 auto;padding:52px 0}.analytics-content>p{font-size:10px;letter-spacing:1.2px;color:#178e7c;font-weight:700}.analytics-content>h1{font:600 35px Fraunces,serif;color:#203d45;margin:8px 0}.analytics-content>span{font-size:13px;color:#77888d}.analytics-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:26px 0}.analytics-metrics article{background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:17px;display:grid;grid-template-columns:34px 1fr;grid-gap:8px;gap:8px}.analytics-metrics svg{color:#198e7e;background:#e2f8f1;border-radius:7px;padding:8px;width:34px;height:34px}.analytics-metrics b{font:600 24px Fraunces,serif;color:#234149}.analytics-metrics small{grid-column:2;font-size:10px;color:#819197}.analytics-panel{background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.analytics-panel h2{font:600 20px Fraunces,serif;padding:16px;margin:0;color:#29444b}.analytics-panel>div{display:flex;justify-content:space-between;padding:14px 16px;border-top:1px solid #edf2f0}.analytics-panel b{font-size:12px;color:#29444b}.analytics-panel span{font-size:10px;color:#7d8e93}@media(max-width:700px){.analytics-content{padding:35px 0}.analytics-metrics{grid-template-columns:1fr 1fr}.analytics-metrics article{padding:12px}}.notification-toast{position:fixed;z-index:80;right:22px;top:20px;width:min(360px,calc(100vw - 40px));background:#103640;color:#e7fffa;border:1px solid #3d9185;border-radius:10px;padding:13px;box-shadow:0 12px 30px #07182055;display:flex;gap:9px;animation:toastIn .28s ease-out}.notification-toast>svg{color:#6be3cf;flex:none;margin-top:2px}.notification-toast>div{flex:1 1}.notification-toast b,.notification-toast span{display:block}.notification-toast b{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7de7d4}.notification-toast span{font-size:13px;font-weight:700;margin:3px 0}.notification-toast p{font-size:11px;line-height:1.4;color:#c4e0dc;margin:0}.notification-toast a{display:inline-block;margin-top:7px;color:#82ebd8;font-size:11px;font-weight:700;text-decoration:none}.notification-toast>button{align-self:flex-start;background:transparent;color:#a8cfca}@keyframes toastIn{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:none}}@media(max-width:700px){.notification-toast{top:12px;right:12px}}.people-list select[multiple]{height:74px;padding:4px}.people-list label small{font-size:9px;color:#8a9a9e;font-weight:400}.student-grade .grade-status{display:block;font-size:9px;color:#819197;text-transform:capitalize;margin-top:2px}.instructor-lesson-link{display:flex;align-items:center;gap:12px;padding:15px 19px;border-bottom:1px solid #edf2f0;text-decoration:none;color:#208d7e}.instructor-lesson-link:last-child{border-bottom:0}.instructor-lesson-link span{flex:1 1}.instructor-lesson-link b{display:block;color:#29444b;font-size:12px}.instructor-lesson-link small{display:block;color:#819197;font-size:10px;margin-top:3px}.lesson-update-alert{position:absolute;z-index:8;top:8px;left:12px;right:12px;background:#e8fbf5;color:#166f63;border:1px solid #9ee3d5;border-radius:6px;padding:8px;font-size:11px}.lesson-update-alert button{margin-left:6px;background:#169d8d;color:#fff;border-radius:4px;padding:4px 6px;font-size:10px;font-weight:700}.live-editor{position:relative}.project-workspace header .view-active{background:#45d4bd!important;color:#062128!important}.workspace-tabs{display:flex;gap:2px;overflow:auto;flex:1 1}.workspace-tabs button{height:28px;padding:0 8px;background:transparent;color:#a9c0c4;font:10px var(--mono);white-space:nowrap}.workspace-tabs button.tab-active{background:#1c414a;color:#fff;border-radius:4px}.active-file .workspace-expand{margin-left:4px}.workspace-editor-focus{grid-template-columns:0 minmax(0,1fr) 0}.workspace-editor-focus>.project-preview,.workspace-editor-focus>aside{display:none}.workspace-preview-focus{grid-template-columns:0 0 minmax(0,1fr)}.workspace-preview-focus>.project-editor,.workspace-preview-focus>aside{display:none}.workspace-preview-focus>.project-preview{grid-column:3}.workspace-editor-focus .project-editor{grid-column:2}.workspace-editor-focus,.workspace-preview-focus{grid-template-rows:1fr}@media(max-width:800px){.workspace-editor-focus,.workspace-preview-focus{grid-template-columns:1fr;grid-template-rows:1fr}.workspace-editor-focus .project-editor,.workspace-preview-focus .project-preview{grid-column:1}}.report-card-page{min-height:100vh;background:#f5f8f7}.report-card-page>header{height:64px;background:#fff;border-bottom:1px solid #dfe9e6;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between}.report-card-page>header a{font-size:12px;color:#36746d;text-decoration:none;display:flex;gap:6px;align-items:center}.report-card-page>header strong{font:18px Fraunces,serif;color:#1b3640}.report-card-page>header strong span{color:#1ba891}.report-content{width:min(1100px,calc(100% - 40px));margin:0 auto;padding:52px 0}.report-heading{display:flex;justify-content:space-between;align-items:flex-end}.report-heading>div>p{font-size:10px;letter-spacing:1.1px;color:#168e7c;font-weight:700;margin:0 0 8px}.report-heading h1{font:600 34px Fraunces,serif;color:#203d45;margin:0 0 7px}.report-heading span{font-size:13px;color:#77888d}.report-heading>svg{color:#e3a847}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:25px 0}.report-summary article{background:#fff;border:1px solid #dfe9e6;border-radius:10px;padding:17px}.report-summary b{display:block;font:600 28px Fraunces,serif;color:#1b8d7d}.report-summary span{font-size:10px;color:#7d8d92}.report-table{background:#fff;border:1px solid #dfe9e6;border-radius:10px;overflow:hidden}.report-table article,.report-table-head{display:grid;grid-template-columns:1.3fr 110px 90px 1.5fr;grid-gap:12px;gap:12px;align-items:center;padding:15px 18px}.report-table-head{background:#f2f7f5;font-size:10px;font-weight:700;color:#718388;letter-spacing:.6px}.report-table article{border-top:1px solid #edf2f0}.report-table article>div:first-child{display:flex;gap:8px;align-items:center;color:#218d7e}.report-table b{display:block;color:#29444b;font-size:12px}.report-table small{display:block;color:#849398;font-size:10px;margin-top:3px}.report-status{font-size:10px;text-transform:capitalize;border-radius:9px;padding:4px 7px;width:max-content;font-style:normal}.report-status.graded{background:#dff8f1;color:#167d70}.report-status.returned{background:#fff0d9;color:#a66d1d}.report-status.in_review,.report-status.submitted{background:#e8efff;color:#5771ba}.report-table article>strong{font:600 16px Fraunces,serif;color:#218d7d}.report-feedback{font-size:11px;line-height:1.4;color:#6d8085;display:flex;gap:5px}.report-feedback svg{color:#1f9182;flex:none}.report-empty{padding:35px;color:#829197;font-size:12px;display:flex;gap:7px;align-items:center}@media(max-width:750px){.report-content{padding:35px 0}.report-heading h1{font-size:28px}.report-summary{grid-template-columns:1fr 1fr}.report-table-head{display:none}.report-table article{grid-template-columns:1fr 80px;gap:10px}.report-table article>div:first-child{grid-column:1}.report-table article>strong{grid-column:2;grid-row:1}.report-status{grid-column:1}.report-feedback{grid-column:1/-1}.report-heading>svg{display:none}}.lv-hub{min-height:100vh;background:#f6f9f8}.lv-hub>header{height:64px;background:#fff;border-bottom:1px solid #e0e9e6;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,5vw);position:-webkit-sticky;position:sticky;top:0;z-index:6}.lv-hub>header>a:first-child{font-size:12px;color:#36746d;gap:6px}.lv-brand,.lv-hub>header>a:first-child{text-decoration:none;display:flex;align-items:center}.lv-brand{font:19px Fraunces,serif;color:#18323b;gap:8px}.lv-brand img{width:26px;height:26px;border-radius:7px}.lv-brand span{color:#1eaa96}.lv-hub-role{font-size:9px;letter-spacing:1.2px;color:#839399;font-weight:700}.lv-hub-body{width:min(880px,calc(100% - 40px));margin:0 auto;padding:44px 0 70px}.lv-hub-join{margin:6px 0 26px}.lv-hub-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}.lv-hub-title>span{flex:none;width:46px;height:46px;border-radius:12px;background:#123d43;color:#5fe6cb;display:grid;place-items:center}.lv-hub-title p{margin:0 0 4px;color:#168e7c;font-weight:700;letter-spacing:1.15px;font-size:10px}.lv-hub-title h1{font:600 33px Fraunces,serif;letter-spacing:-1px;margin:0 0 6px;color:#1b3840}.lv-hub-title h2{margin:0;color:#75878d;font-size:13px;line-height:1.5;font-weight:400;max-width:600px}.lv-badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:999px;padding:4px 9px;background:#eef4f2;color:#6b7f84}.lv-badge.live{background:#123d43;color:#5fe6cb}.lv-badge.live svg{color:#ff7d6b;animation:lvPulse 1.6s ease-in-out infinite}.lv-badge.scheduled{background:#fdf3e0;color:#a06b12}.lv-badge.ended{background:#eef1f3;color:#7c8b90}@keyframes lvPulse{0%,to{opacity:1}50%{opacity:.35}}.lv-join{background:#123d43;border-radius:12px;padding:18px 20px;color:#d9efe9}.lv-join label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:#8fd9c8;margin:0 0 10px}.lv-join-row{display:flex;gap:9px;flex-wrap:wrap}.lv-join-row input{flex:1 1;min-width:130px;background:#0a2b31;border:1px solid #2a6464;border-radius:7px;color:#eafff9;font:16px var(--mono);letter-spacing:4px;padding:10px 13px;text-transform:uppercase}.lv-join-row input:focus{outline:2px solid #3bd0bb;border-color:#3bd0bb}.lv-join-row button{border:0;border-radius:7px;background:#3bd0bb;color:#06222b;padding:10px 15px;display:flex;align-items:center;gap:6px;font-weight:700;font-size:12px;cursor:pointer}.lv-join-row button:disabled{opacity:.55;cursor:not-allowed}.lv-join p:not(.lv-join-error){margin:10px 0 0;font-size:11px;color:#9cc9bd;line-height:1.5}.lv-chat-error,.lv-controls-error,.lv-join-error{margin:9px 0 0;color:#ffb3a3;font-size:11px}.lv-join.compact{background:#f0faf6;border:1px solid #cde8de;color:#2c4a4d;padding:15px 16px}.lv-join.compact label{color:#168a7a}.lv-join.compact .lv-join-row input{background:#fff;border-color:#c4ddd4;color:#123a33}.lv-section{margin:26px 0 0}.lv-section h3{display:flex;align-items:center;gap:8px;font:600 16px Fraunces,serif;color:#213c44;margin:0 0 12px}.lv-section h3 svg{color:#168a7a}.lv-card{background:#fff;border:1px solid #dfe9e6;border-radius:11px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}.lv-card.live{border-color:#9edfd2;background:linear-gradient(0deg,#fff,#f4fbf9)}.lv-card-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lv-card-title b{font-size:13.5px;color:#244049}.lv-card-main small{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:5px 0 0;font-size:11px;color:#7c9092}.lv-card-main small a{color:#168a7a;font-weight:600}.lv-card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lv-open{font-size:11px;background:#e4f8f2;color:#147b6d;border-radius:6px;padding:9px 12px;text-decoration:none;font-weight:700;white-space:nowrap}.lv-open.hot{background:#179e8e;color:#fff}.lv-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lv-controls button{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5e2de;background:#fff;color:#3c5a60;border-radius:6px;padding:7px 9px;font-size:11px;font-weight:600;cursor:pointer}.lv-controls button:hover{border-color:#9edfd2}.lv-controls button:disabled{opacity:.5;cursor:not-allowed}.lv-controls .lv-go{background:#179e8e;border-color:#179e8e;color:#fff}.lv-controls .lv-stop{background:#c44f3d;border-color:#c44f3d;color:#fff}.lv-controls .lv-delete{color:#a15546}.lv-controls code{font-family:var(--mono);letter-spacing:2px;font-weight:700}.lv-none{background:#fff;border:1px dashed #c8dbd4;border-radius:12px;padding:34px;text-align:center;color:#75878d;font-size:12.5px;line-height:1.6}.lv-none p{margin:0}.lv-schedule{background:#fff;border:1px solid #dfe9e6;border-radius:12px;padding:16px 18px;margin:0 0 8px}.lv-schedule-empty{margin:0;color:#75878d;font-size:12px}.lv-schedule-form{display:grid;grid-gap:13px;gap:13px}.lv-field{display:grid;grid-gap:5px;gap:5px}.lv-field label{font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:#4d6d68}.lv-field label small{text-transform:none;letter-spacing:0;color:#8b9ba0;font-weight:500}.lv-field input,.lv-field select{border:1px solid #cfe0da;border-radius:7px;padding:10px 12px;font-size:13px;color:#244049;background:#fbfdfc}.lv-field input:focus,.lv-field select:focus{outline:2px solid #9edfd2;border-color:#3bd0bb}.lv-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.lv-schedule-actions{display:flex;gap:9px;align-items:center}.lv-created-actions button,.lv-schedule-actions button{border:1px solid #d5e2de;background:#fff;color:#3c5a60;border-radius:6px;padding:10px 13px;font-size:12px;font-weight:600;cursor:pointer}.lv-primary{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:7px;background:#179e8e;color:#fff;padding:10px 14px;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.lv-primary:disabled{opacity:.55;cursor:not-allowed}.lv-created{display:grid;grid-gap:12px;gap:12px}.lv-created>b{font-size:14px;color:#213c44}.lv-created-code{display:flex;align-items:center;gap:12px;background:#123d43;border-radius:9px;padding:13px 15px;color:#9edfd2;flex-wrap:wrap}.lv-created-code span{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700}.lv-created-code code{font:19px var(--mono);letter-spacing:6px;color:#5fe6cb;font-weight:700}.lv-created-code button{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:6px;background:#3bd0bb;color:#06222b;padding:8px 11px;font-size:11px;font-weight:700;cursor:pointer}.lv-created-actions{display:flex;gap:9px}.lv-joinpage{min-height:100vh;background:#f6f9f8;display:flex;flex-direction:column}.lv-joinpage>header{height:64px;background:#fff;border-bottom:1px solid #e0e9e6;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,5vw)}.lv-joinpage>header>a:first-child{font-size:12px;text-decoration:none;color:#36746d;display:flex;align-items:center;gap:6px}.lv-joinpage>header span:last-child{width:90px}.lv-joinpage-body{width:min(460px,calc(100% - 40px));margin:0 auto;padding:9vh 0 60px;display:grid;grid-gap:14px;gap:14px}.lv-joinpage-icon{width:54px;height:54px;border-radius:14px;background:#123d43;color:#5fe6cb;display:grid;place-items:center}.lv-joinpage-body h1{font:600 30px Fraunces,serif;color:#1b3840;margin:0}.lv-joinpage-body>p{margin:0;color:#75878d;font-size:13px;line-height:1.6}.lv-room{height:100vh;flex-direction:column}.lv-head,.lv-room{display:flex;background:#0c1b23}.lv-head{height:58px;flex:none;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid #1d3540}.lv-back{font-size:12px;text-decoration:none;color:#8fd9c8;gap:5px;white-space:nowrap}.lv-back,.lv-head-title{display:flex;align-items:center}.lv-head-title{gap:10px;min-width:0;flex:1 1}.lv-head-title strong{font:600 15px Fraunces,serif;color:#eef7f4}.lv-head-title small,.lv-head-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-head-title small{font-size:10.5px;color:#7fa09b}.lv-head-tools{display:flex;align-items:center;gap:10px}.lv-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#7fa09b}.lv-link.on{color:#8fe6cf}.lv-call{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#efb45a;text-decoration:none;border:1px solid #5a4728;border-radius:6px;padding:6px 9px}.lv-flash{margin:10px 18px 0;background:#e8fbf5;color:#166f63;border:1px solid #9ee3d5;border-radius:7px;padding:9px 12px}.lv-banner,.lv-flash{flex:none;font-size:12px}.lv-banner{margin:12px 18px 0;background:#12333d;border:1px solid #2a6464;color:#bfe6dc;border-radius:9px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lv-banner.ended{background:#3b2f2a;border-color:#6b4a3d;color:#e8d4c8}.lv-banner-links{display:flex;gap:10px}.lv-banner a{color:#8fe6cf;font-weight:700;text-decoration:none}.lv-go-live{border:0;border-radius:6px;background:#3bd0bb;color:#06222b;padding:8px 13px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.lv-grid{flex:1 1;grid-template-columns:minmax(0,1fr) minmax(360px,44%);padding:12px 18px 16px;grid-gap:12px;gap:12px}.lv-code,.lv-grid{display:grid;min-height:0}.lv-code{grid-template-rows:44px minmax(0,1fr) 40px;background:#122b35;border:1px solid #1d3540;border-radius:11px;overflow:hidden}.lv-code-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-bottom:1px solid #1d3540}.lv-file{font:12px var(--mono);color:#d7e3e5}.lv-code-actions{display:flex;gap:7px}.lv-code-actions button,.lv-hand-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:6px;background:#1d3f49;color:#a9d8cf;padding:7px 10px;font-size:11px;font-weight:600;cursor:pointer}.lv-code-actions .lv-primary{padding:7px 10px;font-size:11px}.lv-code-actions .lv-danger{background:#4a2c25;color:#ffcdc0}.lv-dot{width:7px;height:7px;border-radius:50%;background:#7fa09b;display:inline-block}.lv-dot.pulsing{background:#3bd0bb;animation:lvPulse 1.6s ease-in-out infinite}.lv-editor{min-height:0}.lv-code-foot{display:flex;align-items:center;border-top:1px solid #1d3540;padding:0 12px;font-size:10.5px;color:#7fa09b}.lv-code-foot span{display:inline-flex;align-items:center;gap:6px}.lv-side{display:grid;grid-template-rows:minmax(0,1.5fr) minmax(0,1fr);grid-gap:12px;gap:12px;min-height:0}.lv-side:has(.lv-people--closed){grid-template-rows:auto minmax(0,1fr)}.lv-panel{background:#122b35;border:1px solid #1d3540;border-radius:11px;overflow:hidden;display:flex;flex-direction:column}.lv-chat,.lv-panel,.lv-people{min-height:0}.lv-panel-head{display:flex;align-items:center;gap:7px;padding:11px 13px;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#9cc9bd;border-bottom:1px solid #1d3540}.lv-panel-head b{background:#3bd0bb;color:#06222b;border-radius:999px;padding:1px 8px;font-size:10px}.lv-panel-head small{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:500;color:#6f938c;font-size:10px}.lv-people-list{list-style:none;margin:0;padding:6px 8px;flex:1 1;min-height:0;overflow-y:auto}.lv-people-list li{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;font-size:13px;color:#d7e9e4}.lv-people-list li svg{color:#efb45a;flex:none}.lv-people-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lv-people-who{display:flex;flex-direction:column;gap:1px;flex:1 1;min-width:0}.lv-people-role{font-size:10px;color:#7d929b}.lv-people-toggle{margin-left:auto;background:none;border:0;color:#9cc9bd;cursor:pointer;display:grid;place-items:center;padding:2px}.lv-people-toggle svg{transition:transform .15s}.lv-people--closed .lv-people-toggle svg{transform:rotate(-90deg)}.lv-people--closed .lv-hand-btn,.lv-people--closed .lv-hands,.lv-people--closed .lv-people-list{display:none}.lv-avatar{flex:none;width:24px;height:24px;border-radius:50%;background:#1d4a47;color:#7fe8d2;display:grid;place-items:center;font-size:9px;font-weight:700}.lv-avatar.host{background:#5a4728;color:#ffd9a0}.lv-empty{color:#6f938c;font-size:11.5px;padding:8px 7px;list-style:none}.lv-hands{display:flex;flex-wrap:wrap;gap:6px;padding:9px 13px;border-bottom:1px solid #1d3540}.lv-hands button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;background:#5a4728;color:#ffe2b8;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;animation:lvWave 1.2s ease-in-out infinite}@keyframes lvWave{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}.lv-hand-btn{margin:9px 13px;justify-content:center}.lv-hand-btn.raised{background:#5a4728;color:#ffe2b8;animation:lvWave 1.2s ease-in-out infinite}.lv-hand-up{color:#efb45a}.lv-messages{flex:1 1;overflow:auto;padding:10px 13px;display:flex;flex-direction:column;gap:9px}.lv-msg{max-width:88%;background:#16333e;border:1px solid #1d3540;border-radius:9px;padding:8px 11px}.lv-msg.mine{align-self:flex-end;background:#173f38;border-color:#25584f}.lv-msg-meta{display:flex;align-items:baseline;gap:8px;margin:0 0 3px}.lv-msg-meta b{font-size:10.5px;color:#8fe6cf}.lv-msg-meta time{font-size:9px;color:#6f938c}.lv-msg p{margin:0;font-size:12.5px;line-height:1.5;color:#e2f1ec;overflow-wrap:anywhere;white-space:pre-wrap}.lv-composer{display:flex;gap:7px;padding:10px 11px;border-top:1px solid #1d3540}.lv-composer input{flex:1 1;background:#0e242d;border:1px solid #24424d;border-radius:7px;color:#e2f1ec;font-size:12.5px;padding:9px 11px;min-width:0}.lv-composer input:focus{outline:2px solid #3bd0bb;border-color:#3bd0bb}.lv-composer button{flex:none;border:0;border-radius:7px;background:#3bd0bb;color:#06222b;width:38px;display:grid;place-items:center;cursor:pointer}.lv-composer button:disabled{opacity:.45;cursor:not-allowed}.live-now-banner{display:flex;align-items:center;gap:10px;background:#123d43;color:#d9efe9;border:1px solid #2a6464;border-radius:10px;padding:12px 16px;margin:0 0 20px;text-decoration:none;font-size:12.5px}.live-now-banner b,.live-now-banner svg{color:#5fe6cb;flex:none}.live-now-banner b{font-size:10px;letter-spacing:1.1px}.live-now-banner span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-now-banner>svg:last-child{color:#8fd9c8}.lv-room~.help-assistant{display:none}@supports selector(body:has(.lv-room)){body:has(.lv-room) .help-assistant{display:none}}.lv-joinpage~.help-assistant{display:none}@supports selector(body:has(.lv-joinpage)){body:has(.lv-joinpage) .help-assistant{display:none}}@media(max-width:980px){.lv-grid{grid-template-columns:1fr;grid-template-rows:minmax(420px,1fr) minmax(320px,auto);overflow:auto}.lv-room{height:auto;min-height:100vh}.lv-code{grid-template-rows:44px 380px 40px}.lv-side{grid-template-rows:auto 460px}.lv-people-list{max-height:320px}}@media(max-width:640px){.lv-hub-title h1{font-size:27px}.lv-hub-body{padding:30px 0 50px}.lv-field-row{grid-template-columns:1fr}.lv-head-title small{display:none}.lv-hub>header,.lv-joinpage>header{padding:0 14px}.lv-hub-role,.lv-joinpage>header span:last-child{display:none}}.lesson-markdown table{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:12px;background:#fff;border:1px solid #dbe7e3;border-radius:8px;overflow:hidden}.lesson-markdown thead{background:#eef7f4}.lesson-markdown th{text-align:left;font-weight:700;color:#1c5a50;padding:9px 12px;border-bottom:2px solid #cfe6df}.lesson-markdown td{padding:9px 12px;border-bottom:1px solid #ecf2f0;color:#42595f;vertical-align:top}.lesson-markdown tbody tr:last-child td{border-bottom:0}.lesson-markdown tbody tr:nth-child(2n){background:#fafdfc}.lesson-markdown a{color:#128a78;font-weight:600;text-decoration:underline;text-underline-offset:2px}.lesson-markdown hr{border:0;border-top:1px solid #dbe7e3;margin:22px 0}.lesson-markdown h4{font:600 14.5px Fraunces,serif;color:#1c3a42;margin:14px 0 6px}.lesson-markdown img{max-width:100%;border-radius:8px}.lesson-markdown li input[type=checkbox]{margin-right:7px;accent-color:#169d8d}.lesson-markdown li:has(input[type=checkbox]){list-style:none;margin-left:-18px}.lesson-markdown .task-list-item{list-style:none}.markdown-editor>span:empty{display:none}.tb-meta{font-size:10.5px;color:#5f7a76;background:#effaf7;border-radius:6px;padding:8px 10px;margin:10px 0 0}.tb-warnings{background:#fdf6ec;border:1px solid #eedcbb;border-radius:8px;padding:11px 13px;margin:13px 0}.tb-warnings b{display:flex;align-items:center;gap:6px;font-size:11px;color:#8a6117;margin:0 0 6px}.tb-warnings p{margin:4px 0 0;font-size:11px;color:#7a6338;line-height:1.45}.tb-tabs{display:flex;gap:6px;background:#edf4f2;border:1px solid #d8e3df;border-bottom:0;border-radius:6px 6px 0 0;padding:5px}.tb-tabs button{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;background:#fff;color:#52676c;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:700}.tb-tabs button.on{color:#169d8d;border-color:#87d8ca;background:#e3f8f2}.tb-preview{border:1px solid #d8e3df;border-radius:0 0 6px 6px;min-height:220px;max-height:520px;overflow:auto;padding:16px 18px;background:#fff}.tb-list-editor{background:#effaf7;border-radius:7px;padding:12px;margin:13px 0}.tb-list-editor>b{display:flex;align-items:center;gap:8px;font-size:12px;color:#28776c;margin:0 0 8px}.tb-list-editor>b em{font-style:normal;font-size:10px;font-weight:700;border-radius:999px;padding:2px 8px}.tb-list-editor>b em.ok{background:#d5f4ea;color:#177a5e}.tb-list-editor>b em.off{background:#fdeaea;color:#a33b3b}.tb-row{display:flex;gap:6px;margin:6px 0}.tb-row input{flex:1 1}.tb-row input[type=number]{flex:none;width:74px}.tb-row button{flex:none;width:32px;display:grid;place-items:center;border:1px solid #e3b8ae;background:#fff;color:#a15546;border-radius:5px}.tb-row button:hover{background:#fdf1ee}.tb-add{display:inline-flex;align-items:center;gap:5px;border:0;background:#fff;color:#169d8d;border-radius:5px;padding:6px 9px;font-size:11px;font-weight:700;margin:6px 6px 0 0;cursor:pointer}.tb-add:hover{background:#d9f3ec}.tb-switch{display:flex!important;align-items:flex-start;gap:9px;flex-direction:row!important}.tb-switch input{width:16px;height:16px;margin-top:1px;accent-color:#169d8d}.tb-switch span{font-weight:600!important;color:#52676c}