:root{color-scheme:dark;--bg:#0b1020;--panel:#121b30;--panel2:#172238;--line:#27354d;--muted:#91a0bb;--text:#e5ecf6;--mint:#55deb5;--blue:#75b9ff;--purple:#b698f9;--amber:#e1bf79;--coral:#e19da9;--radius:13px;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.65;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% 0,#17203b 0,transparent 70%),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}h1,h2,h3,h4,p{margin:0 0 12px}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}h4{font-size:14px}small,.fine{font-size:12px;color:var(--muted);line-height:1.7}h3 small,h2 small{font-weight:400;margin-inline-start:6px}b,strong{font-weight:600}button{color:inherit;border:0;background:transparent}a{color:var(--blue)}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #33435f;border-radius:7px;padding:7px 12px;color:#c4d4e9;background:#1a2941;white-space:nowrap;font-size:12px;min-height:35px;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#263952;border-color:#6883a9}.btn.primary{background:linear-gradient(100deg,#40cdaa,#64e4b9);color:#102d2c;border-color:#63e7c0;font-weight:650;box-shadow:0 0 20px #44d8b321}.btn.blue{color:#d4eaff;background:#28578e;border-color:#4385ce}.btn.purple{background:#353454;color:#d8cbff;border-color:#65588a}.wide{width:100%}.badge{font-size:10px;line-height:1.6;padding:2px 7px;background:#263149;color:#9aa9bf;border:1px solid #35405a;border-radius:4px;white-space:nowrap}.mint{--accent:var(--mint);color:var(--mint)}.blue{--accent:var(--blue);color:var(--blue)}.purple{--accent:var(--purple);color:var(--purple)}.amber{--accent:var(--amber);color:var(--amber)}.coral{--accent:var(--coral);color:var(--coral)}.badge.mint{background:#173f3a;border-color:#255b4e}.badge.blue{background:#193654;border-color:#30516f}.badge.amber{background:#3e3325;border-color:#655236}.badge.purple{background:#35324d;border-color:#514769}.badge.coral{background:#472c39;border-color:#694454}.card{background:linear-gradient(135deg,#152038f2,#121b30f5);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 20px #050a1321}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid #33405d;background:#101729eb;gap:15px;position:relative;z-index:2}.brand{display:flex;gap:13px;align-items:center}.brand-logo{color:#a3eff2;display:grid;place-items:center;width:48px;height:48px;filter:drop-shadow(0 0 8px #76d2db55)}.brand h1{font-size:24px;letter-spacing:1px;margin:0;line-height:1.45;font-weight:600}.brand small{font-size:11px;letter-spacing:1px}.top-actions{display:flex;align-items:center;gap:24px}.date{font-size:13px;color:#b3c0d4;font-variant-numeric:tabular-nums}.icon-btn{position:relative;padding:5px}.notification{width:6px;height:6px;border-radius:50%;background:#dd888d;position:absolute;inset-inline-end:3px;top:1px}.profile{display:flex;align-items:center;gap:10px;padding:0;text-align:start}.profile b{font-size:12px;display:block}.profile small{font-size:10px;display:block}.avatar{display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(140deg,#d8ded9,#606d75);color:#253139;border:2px solid #b6c3c7;border-radius:50%;font-size:20px;font-weight:700}.shell{display:grid;grid-template-columns:176px minmax(0,1fr);min-height:calc(100dvh - 84px);padding-bottom:69px}.sidebar{border-inline-end:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:23px 10px 25px;background:#11182c88}.nav{display:flex;align-items:center;gap:11px;width:100%;padding:12px 13px;color:#9caec9;font-size:13px;border-radius:7px;margin-bottom:5px;text-align:start}.nav .badge{font-size:8px;margin-inline-start:auto;padding:0 4px}.nav.active{background:#223654;color:#c4e2ff;box-shadow:inset 3px 0 #629fe5}.nav:hover{background:#1d2b43;color:#e0ebfb}.sidebar-foot{text-align:center;padding:24px 18px;color:#7587a6;font-size:17px;letter-spacing:3px;line-height:1.9}.sidebar-foot svg{max-width:125px}.main{padding:18px 22px 22px;min-width:0}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#8094b6;font-weight:500}.class-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.class-heading h2{font-size:15px;margin-bottom:0;color:#d5e2f4}.class-heading .btn{font-size:10px}.class-heading .eyebrow{display:block}.metrics-wrap{display:flex;gap:14px;margin-bottom:18px}.metrics{display:grid;grid-template-columns:1fr .8fr 1.3fr 1fr 1fr;gap:12px;flex:1;min-width:0}.metric{padding:17px 13px;display:flex;align-items:center;gap:12px;min-width:0;height:98px}.metric>.icon{color:#8197ba}.metric label{font-size:11px;color:#a9b7ce;display:block}.metric strong{display:block;font-size:27px;line-height:1.5;letter-spacing:.1px;font-weight:600;color:#c6e2ff;white-space:nowrap}.metric strong.long{font-size:19px}.metric:nth-child(2) strong,.metric:nth-child(4) strong{color:var(--mint)}.metric small{font-size:10px;white-space:nowrap;display:block}.quote-card{flex:0 0 240px;display:flex;gap:10px;padding:17px 18px;align-items:center}.quote-card>span{font:50px Georgia;color:#93a6c7;height:60px}.quote-card p{font-size:14px;margin:0;letter-spacing:1px;color:#b5c4dc;line-height:1.9}.dashboard-grid{display:grid;grid-template-columns:211px minmax(0,1fr) 306px;gap:16px;align-items:start}.steps{padding:20px 12px;grid-row:1 / 3;min-height:560px}.steps h2{padding-inline-start:5px;margin-bottom:24px}.step-list{display:flex;flex-direction:column;gap:21px}.step{display:flex;align-items:center;gap:10px;position:relative;text-align:start;width:100%;padding:7px 0;min-height:70px}.step:before{content:"";position:absolute;inset-inline-start:18px;top:61px;height:44px;border-inline-start:1px solid #3b4a61}.step:last-child:before{display:none}.orb{display:grid;place-items:center;flex:0 0 37px;height:37px;border-radius:50%;background:#263047;border:1px solid #42506a;color:#a0aec6;font-size:19px}.step.current .orb{background:linear-gradient(145deg,#367ab8,#265788);border-color:#88b9ee;color:#ecf6ff;box-shadow:0 0 18px #438dcd55}.step.complete .orb{background:#214b42;border-color:#509b88;color:#a5ecd0}.step b{font-size:12px;white-space:nowrap;display:block}.step small{font-size:11px;display:block}.step .badge{font-size:9px;margin-inline-start:auto;padding:2px 4px}.step.current b{color:#bcdbff}.steps>.fine{margin:25px 5px 0;font-size:10px}.workbench{grid-column:2;grid-row:1;min-height:415px;height:calc(100dvh - 440px);display:flex;flex-direction:column;overflow:hidden}.workbench>.section-row{padding:17px 20px 0}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-row h2,.section-row h3{margin:0}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timer{font-size:13px;color:#afc3dd;font-variant-numeric:tabular-nums}.intro{padding:10px 20px 14px;margin:0;color:#b4c4db;font-size:12px;border-bottom:1px solid #29364c;line-height:1.8}.work-scroll{padding:15px 20px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#415573 transparent}.info{display:flex;align-items:flex-start;gap:10px;background:#1a2940;border:1px solid #33435e;border-radius:7px;padding:12px 14px;color:#bdcee7;font-size:12px;margin:0 0 16px;flex-wrap:wrap}.info p{margin:6px 0}.info>.icon{color:#9cc8f3;margin-top:3px}.info.error{border-color:#9a687a;background:#342733}.tags{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0 17px}.tag{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 10px 11px;background:color-mix(in srgb,var(--accent) 10%,#152037);border:1px solid color-mix(in srgb,var(--accent) 35%,#253149);border-radius:7px;position:relative;text-align:start;min-height:125px}.tag strong{font-size:12px;white-space:nowrap}.tag small{font-size:10px;line-height:1.7;color:color-mix(in srgb,var(--accent) 58%,#b7bfd0)}.tag.selected{border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 20%,transparent)}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0;color:#c4d4ea;font-size:12px}.field>span{font-weight:500}input:not([type=checkbox],[type=range],[type=file]),textarea,select{color:#dde7f5;background:#101a2d;border:1px solid #34435f;border-radius:7px;padding:10px 11px;width:100%;font-size:12px;line-height:1.7}select{padding-inline-end:30px}textarea{min-height:85px;resize:vertical}textarea.source{min-height:143px;font-size:12px;line-height:1.95;color:#bfcfe7}.source[readonly]{background:#111b2d;cursor:text}.annotation-editor{background:#111c30;border:1px solid #34435c;border-radius:8px;padding:13px;margin-top:15px}.annotation-editor>textarea,.annotation-editor>input{margin:10px 0 5px}.annotation-editor>textarea{min-height:64px}.annotation-editor .section-row small{font-size:10px}.missing{display:flex;flex-wrap:wrap;gap:7px 13px;margin:14px 0;color:#acb9d0;font-size:10px}input[type=checkbox]{accent-color:var(--mint);width:15px;height:15px;vertical-align:middle;margin-inline-end:5px;flex-shrink:0}.annotation{background:#172338;border:1px solid #2d3e56;padding:10px;border-radius:7px;margin:9px 0;position:relative}.annotation blockquote{margin:10px 0;font-size:12px}.annotation .btn{font-size:10px;margin-inline-start:12px;padding:1px 8px;min-height:27px}.annotation small{font-size:10px}.work-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid #2b3851;gap:10px;background:#162239}.work-footer>small{font-size:10px}.right-column{grid-column:3;grid-row:1 / 3;display:flex;flex-direction:column;gap:15px}.live-groups{padding:15px 14px}.live-groups h2{font-size:14px}.live-groups h2 small{font-size:10px}.group-head{display:grid;grid-template-columns:48px 1fr 56px;gap:9px;font-size:10px;color:#8295b2;padding:14px 0 5px;border-bottom:1px solid #2e3b54}.group-row{display:grid;grid-template-columns:48px minmax(0,1fr) 56px;gap:9px;align-items:center;width:100%;text-align:start;padding:9px 0 6px;border-bottom:1px solid #26334a}.group-row:last-child{border:0}.group-row b{font-size:11px;font-weight:400}.group-row .badge{font-size:9px;text-align:center}.group-row small{font-size:9px;display:block;line-height:1.5;margin-top:3px}.progress{height:6px;background:#263754;border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#3eaba5,#75e1c1);transition:width .3s}.group-rows{max-height:420px;overflow:auto;scrollbar-width:thin}.participation{padding:14px}.participation h2{font-size:14px;margin-bottom:3px}.participation>small{font-size:9px}.heatmap{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin:14px 0}.heatmap>span{height:12px;background:#283953;border:1px solid #3c4b61;border-radius:2px}.heatmap>span.online{background:#287c7a;border-color:#469994}.heatmap>span.complete{background:#53b996;border-color:#74d5b3}.heatmap>span.help{background:#987e53;border-color:#c4a269}.legend{display:flex;gap:14px;font-size:9px;color:#9dafc3}.legend span:first-child{color:var(--mint)}.legend span:last-child{color:var(--amber)}.shortcuts{padding:15px}.shortcuts h2{font-size:14px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.quick-grid .btn{padding:6px 5px;font-size:10px}.shortcuts>.btn{font-size:11px}.next-previews{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:15px}.preview{padding:15px 17px;min-height:132px}.preview h3{font-size:12px}.preview .section-row small{font-size:10px}.preview p{font-size:11px;color:#abbcd6;line-height:1.8;margin:10px 0}.preview .badge{font-size:9px}.bottom-bar{position:fixed;z-index:4;bottom:0;inset-inline-start:176px;inset-inline-end:0;background:#111a2dee;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid #324159;gap:18px;height:70px;box-shadow:0 -5px 18px #080d1722}.bottom-bar>span{font-size:11px;color:#b6c6dd}.bottom-bar>.inline>.primary{padding:10px 22px;font-size:13px}.overall{width:150px;font-size:10px;color:#93a7c5}.overall .progress{margin-top:7px;height:4px}.confidence{display:flex;gap:15px;align-items:center}.confidence input{width:100%;accent-color:var(--mint)}.confidence strong{color:var(--mint)}.checks,.alignment{display:grid;gap:12px}.checks{grid-template-columns:1fr 1fr 1fr}.alignment{grid-template-columns:1fr 1fr}.diagnosis{border:1px solid #3d786f;border-radius:8px;background:#193735;padding:17px;margin:18px 0}.diagnosis p{font-size:14px;color:#b8e9d8}.file-import{font-size:11px;color:#a9c3e2;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-import input{font-size:10px}.peer-snapshot{border:1px solid #3c4f6e;background:#1b2b45;border-radius:8px;padding:15px;margin-bottom:18px}.peer-snapshot pre,pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.9 inherit;max-height:400px;overflow:auto}blockquote{border-inline-start:2px solid #69b69f;padding-inline-start:12px;color:#a4cbbf}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.15fr 1fr}.login-story{padding:50px 8%;display:flex;flex-direction:column;justify-content:space-between;gap:50px;background:radial-gradient(ellipse at 5% 35%,#25385c66,transparent 70%);border-inline-end:1px solid #293753}.login-story .brand h1{font-size:22px}.login-story .eyebrow{color:#a0b9d5;font-size:11px;letter-spacing:2px}.login-story h2{font-size:44px;line-height:1.55;letter-spacing:2px;margin-top:18px}.login-story h2 span{color:#79e6c5}.login-story p{font-size:16px;line-height:2;color:#a7bddc;margin-top:20px}.login-steps{display:flex;justify-content:space-between;margin:37px 0;gap:12px}.login-steps div{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;color:#abc3de}.login-steps b{border:1px solid #4b7992;color:#a8e3e6;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#193843}.login-stats{display:flex;gap:48px;border-top:1px solid #32435b;padding-top:22px}.login-stats b{display:block;color:#c9e2f5;font-size:29px}.login-stats small{display:block;font-size:11px}.login-right{display:grid;place-items:center;padding:40px}.login-card{width:min(460px,100%);padding:34px;border:1px solid #344260;border-radius:18px;background:#172137;box-shadow:0 20px 80px #03061344}.login-card h2{font-size:25px;margin-bottom:6px}.login-card>p{font-size:12px;color:#a0b1cc}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.roles button{display:flex;flex-direction:column;gap:6px;align-items:center;padding:17px 10px;border:1px solid #344663;border-radius:10px;background:#142139;color:#9eafca}.roles button.selected{border-color:#70c2bd;background:#214c52;color:#b6eadc;box-shadow:0 0 15px #69d3c321}.roles b{font-size:13px}.roles small{font-size:10px}.login-card input{height:43px}.login-card .primary{margin:15px 0}.divider{display:flex;align-items:center;gap:12px;justify-content:center;color:#8ca0bd;font-size:10px;margin:20px 0 12px}.divider:before,.divider:after{content:"";height:1px;background:#3c4863;flex:1}.login-card .fine{font-size:10px;margin:15px 0 0}.loading{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:100vh;gap:22px;color:#9adbcf}.lobby{max-width:900px;margin:65px auto;padding:35px}.lobby .btn{margin-block:10px 0;margin-inline:0 10px}.modal{background:#152039;color:var(--text);border:1px solid #49627e;border-radius:15px;padding:0;width:min(840px,calc(100vw - 30px));max-height:88dvh;box-shadow:0 25px 100px #0009}.modal::backdrop{background:#050a17ba;backdrop-filter:blur(5px)}.modal-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #34445f;position:sticky;top:0;background:#19263f;z-index:1}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:20px 24px 28px;overflow:auto}.modal-body>p{color:#b8c9e2;font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#b6c6df;margin:15px 0;line-height:1.9}.class-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.class-option{padding:14px;text-align:start;background:#1d2e4a;border:1px solid #3b506e;border-radius:7px}.class-option b,.class-option small{display:block}.class-option b{font-size:13px}.class-option small{font-size:10px;margin-top:5px}.table-scroll{overflow:auto;max-height:410px;margin:20px 0;border:1px solid #354761;border-radius:7px}table{width:100%;border-collapse:collapse;text-align:start;font-size:12px}td,th{padding:11px;border-bottom:1px solid #31415e}th{color:#a0b5d5;background:#1c2b46;position:sticky;top:0;font-weight:500}td small{display:block;font-size:10px}.resource,.inspection,.advice{border:1px solid #344963;border-radius:8px;background:#182941;padding:18px;margin:15px 0}.resource pre{font-size:12px;color:#b2c5df}.advice h3{color:#adcde7;margin-top:18px}.advice p{font-size:13px;color:#c3d4e9}.advice small{font-size:10px}.observation{background:#112136;padding:12px;border-radius:7px;margin:9px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.random-result{text-align:center;border:1px solid #448674;background:#1a3c3c;padding:45px 15px;border-radius:12px;margin:22px 0}.random-result h2{font-size:34px;color:#a5f0d7}.toast-area{position:fixed;z-index:999;inset-inline-end:22px;bottom:86px;pointer-events:none}.toast{position:fixed;inset-inline-end:22px;bottom:86px;max-width:540px;z-index:999;background:#214f45;color:#d9f3e9;border:1px solid #5a9e88;border-radius:9px;padding:13px 20px;box-shadow:0 5px 30px #0006;font-size:13px}.toast.error{background:#57333e;border-color:#b47c8c;color:#ffe6eb}fieldset{border:0;padding:0;margin:0;min-width:0}details{margin-top:14px}summary{cursor:pointer;font-size:12px;color:#8fb2da}.projection .sidebar{display:none}.projection .shell{grid-template-columns:1fr}.projection .bottom-bar{inset-inline-start:0}.projection .class-heading{justify-content:center}.projection .main{padding-inline-start:35px;padding-inline-end:35px}.projection .workbench,.projection .group-row{pointer-events:none}@media(min-width:1750px){.main{padding:22px 30px}.dashboard-grid{grid-template-columns:228px minmax(0,1fr) 340px}.quote-card{flex-basis:290px}.workbench{height:calc(100dvh - 451px)}.tag{padding:16px 13px}.metric strong{font-size:30px}.brand h1{font-size:27px}.group-row{padding:10px 0}}@media(max-width:1500px){.quote-card{display:none}.dashboard-grid{grid-template-columns:192px minmax(0,1fr) 275px}.main{padding:16px}.shell{grid-template-columns:156px minmax(0,1fr)}.bottom-bar{inset-inline-start:156px}.nav{padding:11px 10px}.top-actions{gap:15px}.steps{padding:17px 9px}.orb{flex-basis:32px;height:32px}.step{gap:7px}.step:before{inset-inline-start:15px}.step b{font-size:11px}.step .badge{font-size:8px}.workbench>.section-row{padding:14px 15px 0}.workbench>.section-row h2{font-size:15px}.workbench>.section-row .timer{display:none}.work-scroll{padding:14px 15px}.tag strong{font-size:11px}.tag small{font-size:9px}.tags{gap:6px}.tag{padding:10px 7px}.intro{padding-inline-start:15px;padding-inline-end:15px}.work-footer{padding:10px}.work-footer .btn{font-size:10px;padding:6px 8px}}@media(max-width:1250px){.shell{grid-template-columns:68px minmax(0,1fr)}.sidebar{padding:15px 6px}.sidebar .nav{padding:14px;justify-content:center}.nav>span,.nav>.badge,.sidebar-foot{display:none}.bottom-bar{inset-inline-start:68px}.dashboard-grid{grid-template-columns:168px minmax(0,1fr) 240px;gap:12px}.step{flex-wrap:wrap;gap:6px}.step .badge{margin-inline-start:38px;margin-top:-10px}.metric{padding:13px 10px;gap:10px}.metric>.icon{display:none}.metric strong{font-size:25px}.metrics{gap:9px}.brand h1{font-size:20px}.group-head,.group-row{grid-template-columns:42px minmax(0,1fr) 50px;gap:5px}.right-column{gap:12px}.live-groups,.participation,.shortcuts{padding:12px 10px}.live-groups .section-row .badge,.top-actions .date{display:none}.workbench .section-row>.inline>.badge{display:none}.next-previews{gap:10px}.preview{padding:12px}.login-story{padding:40px 7%}.login-story h2{font-size:36px}.login-right,.login-card{padding:25px}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:155px minmax(0,1fr)}.right-column{grid-column:1 / 3;grid-row:3;display:grid;grid-template-columns:1.2fr 1fr 1fr}.steps{min-height:510px}.workbench{height:510px}.next-previews{grid-column:2}.metric strong.long{font-size:16px}.metric strong{font-size:22px}.metric small{font-size:9px}.metric{height:90px}.top-actions>.badge{display:none}.brand small{font-size:10px}.login-story .brand h1{font-size:19px}.login-story h2{font-size:32px}.login-stats{gap:25px}.login-steps{gap:5px}.login-steps span{font-size:9px}.overall{display:none}}@media(max-width:720px){.topbar{height:70px;padding:0 14px}.brand-logo,.brand-logo .icon{width:28px}.brand h1{font-size:16px;letter-spacing:0}.brand small{display:none}.top-actions{gap:8px}.profile>span:not(.avatar){display:none}.avatar{height:31px;width:31px;font-size:16px}.shell{display:block;padding-bottom:99px}.sidebar{border-inline-end:0;border-bottom:1px solid #33415c;padding:7px 8px}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar .nav{padding:9px;min-width:40px;width:auto;margin:0}.nav>.icon{width:18px}.main{padding:12px}.class-heading{margin-bottom:12px}.class-heading .eyebrow{font-size:8px}.class-heading h2{font-size:12px}.class-heading .btn{font-size:8px;padding:4px 6px}.metrics{grid-template-columns:1fr 1fr 1fr;gap:8px}.metric{height:75px;padding:10px}.metric strong{font-size:22px}.metric strong.long{font-size:15px}.metric label{font-size:9px}.metric small{font-size:8px}.metric:nth-child(4),.metric:nth-child(5){display:none}.metrics-wrap{margin-bottom:12px}.dashboard-grid{display:flex;flex-direction:column;gap:12px}.steps{width:100%;min-height:0;padding:10px 8px}.steps h2,.steps>.fine{display:none}.step-list{flex-direction:row;gap:5px;justify-content:space-between}.step{flex-direction:column;gap:4px;min-width:0;min-height:0;padding:0}.step:before{display:none}.orb{width:29px;height:29px;flex-basis:29px;font-size:15px}.step>span>b{font-size:10px}.step>span>small{display:none}.step>.badge{display:none}.workbench{width:100%;height:auto;min-height:0}.work-scroll{max-height:none;overflow:visible;padding:12px}.workbench>.section-row{padding:13px 12px 0}.workbench>.section-row h2{font-size:14px}.intro{font-size:11px;padding:10px 12px}.tags{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tag{min-height:103px;padding:10px}.tag strong{font-size:11px}.tag small{font-size:9px}.work-footer{position:sticky;bottom:84px;z-index:2;padding:10px 9px}.work-footer .inline{gap:5px}.right-column{display:flex;width:100%}.live-groups{max-height:330px;overflow:auto}.next-previews{display:grid;grid-template-columns:1fr 1fr;width:100%}.preview .section-row{display:block}.preview .section-row>small{display:none}.preview h3{font-size:11px}.preview p{font-size:10px}.bottom-bar{inset-inline-start:0;height:85px;padding:12px;gap:10px;flex-wrap:wrap;align-content:center}.bottom-bar>span{font-size:10px;flex:1}.bottom-bar>.inline>.primary{font-size:11px;padding:8px 14px}.bottom-bar>.inline>.btn:not(.primary){font-size:10px;padding:6px 8px}.checks,.alignment,.two-col,.class-list{grid-template-columns:1fr}.modal{width:calc(100vw - 18px);max-height:93dvh}.modal-header,.modal-body{padding:15px}.modal-header h2{font-size:16px}.toast{inset-inline-start:12px;inset-inline-end:12px;max-width:none;bottom:95px;font-size:12px}.login-page{grid-template-columns:1fr}.login-story{padding:27px 24px;gap:25px;border-inline-end:0;border-bottom:1px solid #34435b}.login-story h2{font-size:29px;line-height:1.45;margin:10px 0}.login-story .eyebrow{font-size:8px}.login-story p{font-size:12px;margin:12px 0}.login-story .login-steps,.login-story .login-stats,.login-story>small{display:none}.login-story .brand h1{font-size:19px}.login-story .brand small{display:none}.login-right{padding:25px 18px 40px}.login-card{padding:23px;max-width:480px}.login-card h2{font-size:23px}.roles{margin:18px 0}.roles button{padding:12px}.roles b{font-size:12px}.info{font-size:11px}.lobby{margin:20px auto;padding:25px}.projection .main{padding:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(min-width:1001px){.metrics-wrap{height:98px}.quote-card{height:98px;flex-basis:260px;padding:12px 14px}.quote-card p{font-size:12px;line-height:1.8;letter-spacing:0}.quote-card>span{font-size:36px;height:43px}.main{padding-top:12px}.class-heading{margin-bottom:10px}.class-heading .eyebrow{display:none}.class-heading .btn{min-height:27px;padding:3px 9px}.dashboard-grid{gap:14px}.steps{min-height:535px}.step-list{gap:16px}.workbench{height:calc(100dvh - 464px);min-height:415px}.workbench .info{padding:10px 12px;margin-bottom:12px}.workbench .info p{margin:3px 0}.tag{min-height:107px;padding-top:10px;gap:5px}.right-column{gap:12px}.live-groups{padding:12px}.group-head{padding-top:9px}.group-row{padding:5px 0;height:29px}.group-row>div{display:flex;align-items:center;gap:5px}.group-row .progress{flex:1;height:6px}.group-row small{margin:0;font-size:9px;white-space:nowrap}.group-row .badge{font-size:8px}.group-rows{max-height:290px;scrollbar-width:thin}.participation{padding:11px 12px}.participation h2{font-size:13px}.participation>small{font-size:9px}.heatmap{grid-template-columns:repeat(20,minmax(0,1fr));gap:3px;margin:10px 0}.heatmap>span{height:10px}.legend{font-size:8px;gap:10px}.shortcuts{padding:11px 12px}.shortcuts h2{font-size:13px;margin-bottom:9px}.quick-grid{gap:7px;margin-bottom:8px}.shortcuts .btn{min-height:30px;padding:5px;font-size:10px}.preview{min-height:122px}.next-previews{gap:12px}}a.btn{text-decoration:none;justify-content:center}.login-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.login-steps>div{display:flex;align-items:center;gap:10px}.login-steps>div:after{display:none}.program{max-width:1500px;margin:auto}.program-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 36px;margin-bottom:24px;border:1px solid #34517b;border-radius:18px;background:linear-gradient(115deg,#182d4a,#172035 75%)}.program-hero h2{font-size:29px;line-height:1.45;margin:16px 0}.program-hero p{color:#a8b8cf;line-height:1.9}.program-numbers{min-width:180px;text-align:center}.program-numbers>b{font-size:76px;display:block;color:#83dabe}.program-numbers small{font-size:20px}.program-numbers>span{color:#a8b8cf;font-size:13px}.week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}.week-card{text-align:start;padding:20px;background:#172233;border:1px solid #2a3a51;border-radius:13px;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}.week-card:hover{border-color:#6d9cf3;background:#1d2d44}.week-card.selected{border-color:#5798ff;background:#1b3151;box-shadow:inset 0 3px #5798ff}.week-card h3{margin:13px 0 10px;font-size:17px}.week-card p{color:#a8b8cf;font-size:13px;line-height:1.8;min-height:48px}.week-card>div{display:flex;justify-content:space-between;gap:5px;align-items:center;font-size:12px;color:#a8b8cf}.program-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px}.program-detail>.card{padding:26px}.program-detail p{line-height:1.85;color:#a8b8cf}.curriculum-list article{display:flex;gap:17px;border-top:1px solid #2b3b50;padding:19px 0}.curriculum-list article>b{flex-shrink:0;background:#263e60;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#8db9ff}.curriculum-list article>div{flex:1;min-width:0}.curriculum-list h3{margin:0;font-size:16px;display:flex;justify-content:space-between;gap:15px}.curriculum-list h3 small{font-size:12px;color:#90a1b9;white-space:nowrap}.curriculum-list p{font-size:14px;margin:8px 0 0}.week-entry{align-self:start}.week-entry .class-option{width:100%;margin:10px 0}.week-entry h2{margin:14px 0}.worksheet-row{border:1px solid #33445e;border-radius:10px;background:#141f30;padding:18px;margin:16px 0}.worksheet-row textarea{min-height:86px}.worksheet-checks{display:flex;flex-wrap:wrap;gap:14px}.worksheet-checks label{display:flex;gap:7px;align-items:center}.worksheet-checks input{width:auto}.previous-work{border:1px solid #33445e;padding:16px;border-radius:10px;margin:16px 0}.previous-work summary{cursor:pointer;color:#9fc4ff}.previous-work pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:#a8b8cf;max-height:260px;overflow:auto}.previous-work article{border-top:1px solid #33445e;padding-top:12px}@media(min-width:1800px){.week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.week-card{padding:16px}.week-card>div{align-items:flex-start;flex-direction:column}}@media(max-width:1100px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-detail{grid-template-columns:1fr}.program-hero{padding:25px}.program-hero h2{font-size:24px}}@media(max-width:600px){.program-hero{display:block;padding:20px}.program-numbers{display:none}.program-hero h2{font-size:23px}.week-grid{grid-template-columns:1fr}.week-card p{min-height:0}.program-detail>.card{padding:18px}.login-steps{grid-template-columns:1fr}.worksheet-row{padding:12px}}.language-switcher{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#b3c0d4}.language-switcher select{width:auto;min-width:96px;padding-block:4px;padding-inline:8px 26px;font-size:12px}.login-card .language-switcher{display:flex;justify-content:flex-end;margin-block-end:12px}progress.progress{appearance:none;-webkit-appearance:none;display:block;width:100%;border:0;color:#75e1c1}progress.progress::-webkit-progress-bar{background:#263754;border-radius:9px}progress.progress::-webkit-progress-value{background:linear-gradient(90deg,#3eaba5,#75e1c1);border-radius:9px}progress.progress::-moz-progress-bar{background:linear-gradient(90deg,#3eaba5,#75e1c1);border-radius:9px}[dir=rtl] progress.progress::-webkit-progress-value{background:linear-gradient(270deg,#3eaba5,#75e1c1)}[dir=rtl] progress.progress::-moz-progress-bar{background:linear-gradient(270deg,#3eaba5,#75e1c1)}.suggest-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid #65588a;border-radius:999px;background:#2a2946;color:#d8cbff;font-size:11px;white-space:nowrap}.login-card .suggest-ui{display:flex;justify-content:flex-end;margin-block-end:10px}.suggest-toggle.active{background:#b698f9;border-color:#d8cbff;color:#1b1530}body.suggest-active [data-i18n]{outline:1px dashed #b698f988;outline-offset:2px;cursor:help}body.suggest-active [data-suggest-ui] [data-i18n]{outline:0;cursor:inherit}.suggest-dialog{width:min(620px,calc(100vw - 30px))}.suggest-readonly{background:#101a2d;border:1px solid #34435f;border-radius:7px;padding:10px 11px;color:#c9d6ea;white-space:pre-wrap;overflow-wrap:anywhere}.suggest-alternatives{display:flex;flex-wrap:wrap;gap:8px;margin-block:10px}.suggest-alternative{border:1px solid #514769;background:#23213a;color:#d8cbff;border-radius:7px;padding:6px 10px;text-align:start}.suggest-alternative.selected{border-color:#b698f9;box-shadow:0 0 0 1px #b698f9}.suggestion-diff{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin-block:12px}.suggestion-diff dt{color:var(--muted);font-size:12px}.suggestion-diff dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-tabs{margin-block:12px}.projection .suggest-ui{display:none}@media(max-width:700px){.top-actions .suggest-toggle>span[data-i18n]{display:none}}:root:lang(ar),:root:lang(fa),:root:lang(ur){font-family:Noto Sans Arabic,Segoe UI,Tahoma,system-ui,sans-serif}:root:lang(he){font-family:Noto Sans Hebrew,Segoe UI,Arial,system-ui,sans-serif}:root:lang(ja){font-family:Inter,Hiragino Sans,Yu Gothic,Noto Sans JP,system-ui,sans-serif}:root:lang(ko){font-family:Inter,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif}:root:lang(th){font-family:Noto Sans Thai,Leelawadee UI,Tahoma,system-ui,sans-serif}:root:lang(hi){font-family:Noto Sans Devanagari,Nirmala UI,system-ui,sans-serif}[dir=rtl] *{letter-spacing:normal!important}[dir=rtl] .nav.active{box-shadow:inset -3px 0 #629fe5}[dir=rtl] .flip-rtl{transform:scaleX(-1)}@media(max-width:720px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric,.metric>div,.preview{min-width:0}.metric strong,.metric small{white-space:normal;overflow-wrap:anywhere}.next-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.preview h3,.preview p{overflow-wrap:anywhere}.step>span{min-width:0;max-width:100%}.step>span>b{white-space:normal;overflow-wrap:anywhere;text-align:center}.top-actions .language-switcher select{min-width:0;max-width:88px}}.preview .badge{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}.record-weeks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-block:14px 22px}.record-week{min-width:0;border:1px solid #33445e;border-radius:9px;background:#141f30;padding:12px}.record-week.complete{border-color:#3d786f}.record-week h4{margin-block:4px 6px;font-size:13px}.record-week p{margin-block:0 6px;font-size:12px;color:#b8c9e2;overflow-wrap:anywhere}.coherence{border:1px solid #344963;border-radius:8px;background:#182941;padding:16px;margin-block:12px}.coherence h4{margin-block:16px 6px;color:#adcde7}.coherence ol{padding-inline-start:20px}.coherence p,.coherence blockquote{overflow-wrap:anywhere}.modal.wide{width:min(1100px,calc(100vw - 30px))}.step-modal[open]{display:flex;flex-direction:column}.step-modal .modal-body{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.step-modal .workbench{flex:1;min-width:0;width:100%;height:auto;min-height:0;border:0;border-radius:0;box-shadow:none;background:none}.step-overview{grid-column:2;grid-row:1;min-height:415px;display:flex;flex-direction:column;overflow:hidden}.step.locked{opacity:.7}.week-summary-link{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:10px;border:1px dashed #4a5a78;border-radius:9px;background:#18233a;color:#b9c8de;text-align:start;cursor:pointer}.week-summary-link.ready{border-style:solid;border-color:#65588a;background:#27263f;color:#d8cbff}.week-summary-link b{font-size:12px;display:block}.week-summary-link small{font-size:10px;display:block}.curriculum-list>button{display:flex;gap:17px;width:100%;border:0;border-top:1px solid #2b3b50;border-radius:0;padding:19px 0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.curriculum-list>button>b{flex-shrink:0;background:#263e60;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#8db9ff}.curriculum-list>button>div{flex:1;min-width:0}.curriculum-list>button:hover:not(:disabled) h3{color:#bcdbff}.artifacts{margin-top:22px;padding-top:16px;border-top:1px solid #2b3851}.artifacts>.section-row,.week-summary .section-row,.step-analytics .section-row,.week-analytics>.section-row{padding:0}.artifact-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}.artifact-list li{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #33435e;border-radius:8px;background:#172338}.artifact-list li>div:first-of-type{flex:1;min-width:0}.artifact-list b{display:block;overflow-wrap:anywhere}.artifact-list small{color:var(--muted);overflow-wrap:anywhere}.artifact-list pre{white-space:pre-wrap;max-height:220px;overflow:auto}.artifact-add form{margin-top:10px}.summary .overview{font-size:15px;line-height:1.8}.summary-steps li{margin:4px 0}.week-analytics{padding:24px 26px;margin-bottom:24px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.kpi{border:1px solid #33435e;border-radius:10px;padding:12px 14px;background:#172338}.kpi small{display:block;color:var(--muted);font-size:11px}.kpi strong{display:block;font-size:24px;margin-top:4px;color:var(--text);font-variant-numeric:tabular-nums}.kpi span{font-size:12px;color:#a8b8cf}.analytics-table{width:100%;border-collapse:collapse}.analytics-table td small{display:block;color:var(--muted)}.analytics-search{max-width:260px}.link-button{background:none;border:0;color:inherit;font:inherit;text-align:start;padding:0;cursor:pointer}.link-button:hover{color:#bcdbff;text-decoration:underline}.meter{display:flex;align-items:center;gap:8px;min-width:170px}.meter-track{flex:1;height:8px;border-radius:4px;background:#23324a;overflow:hidden}.meter-fill{height:100%;border-radius:4px;background:var(--mint)}.meter span{font-size:12px;color:#c4d4e9;white-space:nowrap;font-variant-numeric:tabular-nums}.funnel{display:grid;gap:8px;margin:10px 0}.funnel>div{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:12px;align-items:center}@media(max-width:1000px){.step-overview{min-height:510px}}@media(max-width:720px){.step-overview{width:100%;min-height:0}.funnel>div{grid-template-columns:1fr}.analytics-search{max-width:none}}
