:root{--ink:#152634;--muted:#637487;--line:#d9e3e8;--page:#f4f7f8;--card:#fff;--teal:#12636d;--teal-soft:#e4f3f2;--blue:#2667c9;--red:#b4404d;--red-soft:#fff0f2;--green:#167257;--green-soft:#e6f5ee;--gold:#b87300;--radius:8px;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(700px,100%);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:42px}.brand{display:flex;align-items:center;gap:10px;color:var(--teal);font-size:1.1rem;font-weight:800}.brand i{font-style:normal;font-size:1.5rem}.login h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.22;margin:28px 0 12px;letter-spacing:0}.lead,.muted{color:var(--muted);line-height:1.65}.role-tabs{display:flex;gap:8px;margin:27px 0 18px}.role-tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:10px 14px;border-radius:6px}.role-tabs button.active{background:var(--teal-soft);border-color:var(--teal);color:var(--teal);font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;color:#496072;font-size:.87rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px;color:var(--ink);background:#fff}.field textarea{min-height:90px;resize:vertical}.field.full{grid-column:1/-1}.error{min-height:20px;margin:10px 0;color:var(--red);font-size:.88rem}.primary,.secondary,.danger,.icon{border:0;border-radius:6px;padding:10px 14px;font-weight:800}.primary{background:var(--teal);color:#fff}.secondary{background:#fff;color:var(--teal);border:1px solid #b8ced1}.danger{background:var(--red-soft);color:var(--red);border:1px solid #efc6cc}.appbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center}.shell{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{display:flex;align-items:center;gap:22px}.nav{display:flex;gap:2px;overflow:auto;flex:1}.nav button{border:0;background:transparent;color:var(--muted);padding:11px 10px;white-space:nowrap}.nav button.active{color:var(--teal);font-weight:800;border-bottom:2px solid var(--teal)}.profile{display:flex;align-items:center;gap:9px;white-space:nowrap}.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-weight:800}.profile small{display:block;color:var(--muted)}.icon{padding:7px 9px;background:#eef3f4;color:var(--teal)}.main{padding:30px 0 54px}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.eyebrow{margin:0 0 7px;color:var(--teal);font-size:.82rem;font-weight:800}.head h1{margin:0;font-size:1.8rem}.head p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric,.panel,.assignment,.question-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.metric{padding:16px}.metric span,.metric small{display:block;color:var(--muted);font-size:.82rem}.metric strong{display:block;margin:6px 0;font-size:1.45rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{padding:18px}.panel h2{margin:0;font-size:1rem}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.table th{color:var(--muted);font-size:.77rem}.table td,.table th{padding:12px 8px;border-bottom:1px solid var(--line)}.tag{display:inline-block;background:#edf2f4;color:#506577;border-radius:4px;padding:4px 7px;font-size:.76rem;font-weight:800}.tag.good{background:var(--green-soft);color:var(--green)}.tag.warn{background:#fff5de;color:var(--gold)}.assignments{display:grid;gap:12px}.assignment{padding:18px}.assignment h2{font-size:1.1rem;margin:9px 0}.assignment p{margin:5px 0;color:var(--muted)}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:13px}.work-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px}.numbers{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.number{width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:800}.number.answered{border-color:#95b8fa;background:#eff4ff;color:var(--blue)}.number.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.number.correct{border-color:#8ccab8;background:var(--green-soft);color:var(--green)}.number.wrong{border-color:#efc4ca;background:var(--red-soft);color:var(--red)}.question-card{padding:22px}.question-card h2{font-size:1.13rem;line-height:1.6}.options{display:grid;gap:9px;margin:20px 0}.option{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px;text-align:left;border-radius:6px}.option.selected{border-color:#8daffa;background:#edf3ff}.option.answer{border-color:#8ccab8;background:var(--green-soft)}.option b{display:grid;place-items:center;width:25px;height:25px;border-radius:5px;background:#edf2f4;color:#486071;font-size:.78rem}.result{border-left:3px solid var(--teal);padding:12px;background:var(--teal-soft);margin-bottom:16px;color:#15525a}.result.bad{border-color:var(--red);background:var(--red-soft);color:#8d3540}.wrong-list{display:grid;gap:9px}.wrong{padding:12px;border:1px solid var(--line);border-radius:6px}.modal-back{position:fixed;inset:0;background:#182b3659;display:grid;place-items:center;padding:18px}.modal{width:min(570px,100%);max-height:90vh;overflow:auto;background:#fff;padding:22px;border-radius:8px}.modal h2{margin-top:0}.toast{position:fixed;right:20px;bottom:20px;background:#172d35;color:#fff;border-radius:6px;padding:11px 14px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:760px){.login-panel{padding:27px 20px}.form-grid,.metrics,.grid,.work-layout{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.topbar{gap:10px}.profile span:last-of-type{display:none}.main{padding-top:20px}.head{display:block}.head .primary{margin-top:14px}.work-layout aside{padding-bottom:0}}
.circle-layout{display:grid;gap:16px}.circle-feed{display:grid;gap:14px;max-width:780px}.circle-post header{display:flex;align-items:center;gap:9px}.circle-post header small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.circle-text{line-height:1.7;margin:16px 0}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.media-grid img,.media-grid video{width:100%;max-height:390px;object-fit:cover;border-radius:6px;background:#eaf0f2}.comments{border-top:1px solid var(--line);margin-top:13px;padding-top:8px}.comments p{margin:7px 0;font-size:.9rem}.comment-form{display:flex;gap:8px;margin-top:10px}.comment-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:9px}.upload-label{position:relative;overflow:hidden}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}@media(max-width:560px){.media-grid{grid-template-columns:1fr}.comment-form{align-items:stretch}.comment-form .secondary{padding:8px}}
.toolbar{display:flex;align-items:end;gap:14px;justify-content:space-between;margin-bottom:14px}.field.compact{min-width:150px}.field.compact select{padding:8px}.explanation{padding:12px 14px;background:#f6f8fa;border:1px solid var(--line);border-radius:6px;line-height:1.65}.post-delete{margin-left:auto}.text-button{border:0;background:transparent;color:var(--red);padding:0 0 0 7px;font-size:.78rem}.circle-post header{justify-content:flex-start}@media(max-width:560px){.toolbar{align-items:stretch;flex-direction:column;gap:8px}.toolbar .field{width:100%}}
.classroom-login{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;padding:130px max(36px,calc((100% - 1320px)/2)) 110px;background:#f4f9fa;overflow:hidden}.classroom-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.login-header{position:absolute;top:34px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.login-header .brand{font-size:22px;color:#124f59}.login-note{font-size:14px;color:#456370}.classroom-login .login-panel{width:470px;max-width:100%;padding:0;background:transparent;border:0;border-radius:0}.login-eyebrow{color:#35717b;font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 18px}.classroom-login h1{font-size:52px;line-height:1.15;margin:0 0 16px;color:#133e47;letter-spacing:0}.login-tagline{font-size:28px;font-weight:700;line-height:1.5;margin:0;color:#294c56}.classroom-login .lead{font-size:16px;margin:15px 0 30px;color:#536d76}.classroom-login .role-tabs{display:flex;gap:0;border-bottom:1px solid #b6cccf;margin:0 0 22px}.classroom-login .role-tabs button{flex:1;background:transparent;border:0;border-radius:0;padding:12px;color:#506c76;font-size:16px}.classroom-login .role-tabs button.active{border-bottom:3px solid #16636d;color:#124f59;background:transparent}.classroom-login .form-grid{grid-template-columns:1fr;gap:16px}.classroom-login .field{font-size:14px;color:#36535d}.classroom-login input{height:50px;border-color:#bed2d6;background:#ffffffeb;font-size:16px;box-shadow:0 2px 5px #1e485505}.classroom-login input:focus{outline:3px solid #16636d24;border-color:#16636d}.classroom-login .error{margin:8px 0;min-height:20px}.login-submit{width:100%;height:52px;font-size:16px;display:flex;justify-content:space-between;align-items:center}.login-submit span{font-size:24px}.login-footer{position:absolute;bottom:28px;left:4%;right:4%;display:flex;justify-content:space-between;color:#4f7078;font-size:12px;gap:16px}@media(min-width:1700px){.classroom-login .login-panel{width:520px}.classroom-login h1{font-size:60px}}@media(max-width:900px){.classroom-login{padding:110px 32px 90px;align-items:flex-start}.classroom-backdrop{object-position:60% center;opacity:.35}.classroom-login .login-panel{width:460px}.login-note{display:none}}@media(max-width:560px){.classroom-login{padding:104px 24px 80px;min-height:100svh}.login-header{top:26px;left:24px;right:24px}.login-header .brand{font-size:19px}.classroom-login h1{font-size:38px}.login-tagline{font-size:24px}.classroom-login .lead{font-size:14px;margin-bottom:24px}.classroom-backdrop{object-position:65% center;opacity:.18}.login-footer{left:24px;right:24px;bottom:22px;font-size:11px}.classroom-login .login-panel{width:100%}}
@media(min-width:901px){.classroom-login .login-panel{margin-left:64px}}@media(min-width:1700px){.classroom-login .login-panel{margin-left:40px}}
.student-space{padding-bottom:20px}.learning-welcome{position:relative;min-height:260px;overflow:hidden;margin-bottom:24px;background:#edf4f4;border-bottom:1px solid #cfdee0}.learning-welcome>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.welcome-copy{position:relative;padding:40px;max-width:55%}.welcome-copy h1{font-size:32px;line-height:1.3;margin:12px 0;color:#133e47;overflow-wrap:anywhere}.welcome-copy>p:not(.eyebrow){color:#45646e;font-size:16px;margin:0 0 22px}.welcome-copy .primary{padding:12px 18px}.learning-metrics{gap:16px;margin-bottom:34px}.learning-metrics .metric{border:0;border-radius:6px;padding:20px 22px;background:#e8f3f3;border-top:3px solid #287d83}.learning-metrics .metric:nth-child(2){background:#eaf3ea;border-color:#548756}.learning-metrics .metric:nth-child(3){background:#fff0eb;border-color:#d77857}.learning-metrics .metric:nth-child(4){background:#edf1fb;border-color:#657fbe}.learning-metrics .metric strong{font-size:30px;margin:12px 0 8px}.learning-metrics .metric span{color:#365862;font-weight:700}.learning-metrics .metric small{font-size:12px}.learning-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:34px}.learning-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.learning-section-head h2{font-size:21px;margin:0}.learning-section-head .eyebrow{font-size:10px;color:#7a8c94;margin-bottom:6px}.learning-assignment{display:flex;gap:20px;padding:26px;border-color:#d7e3e7;box-shadow:0 4px 14px #244b5705}.assignment-mark{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;background:#e6f1f2;color:#32777f;font-size:23px;font-weight:800;border-radius:6px}.assignment-detail{min-width:0}.learning-assignment h2{font-size:18px;line-height:1.5;margin:12px 0 8px;overflow-wrap:anywhere}.learning-assignment .assignment-hint{font-size:13px;margin:18px 0 8px}.learning-assignment .assignment-score{color:#167257;font-weight:700}.learning-review{padding-left:28px;border-left:1px solid #dce5e8}.review-empty{text-align:center;padding:24px 12px 28px}.empty-check{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 16px;border-radius:50%;background:#e2efe8;color:#4a8766;font-size:25px}.review-empty h3{font-size:16px;margin:0 0 10px;color:#365c58}.review-empty p{font-size:14px;color:#637487;line-height:1.8;margin:0}.community-invite{padding:22px 0 0;border-top:1px solid #dce5e8}.community-invite h3{font-size:17px;margin:7px 0}.community-invite p{font-size:13px;color:#637487;line-height:1.6}.student-space .wrong{background:white}@media(max-width:760px){.learning-welcome{min-height:230px}.welcome-copy{padding:26px 22px;max-width:65%}.welcome-copy h1{font-size:26px}.welcome-copy>p:not(.eyebrow){font-size:14px}.learning-columns{grid-template-columns:1fr;gap:28px}.learning-review{padding:24px 0 0;border-left:0;border-top:1px solid #dce5e8}.learning-metrics{gap:10px;margin-bottom:28px}.learning-metrics .metric{padding:16px}.learning-metrics .metric strong{font-size:26px}.learning-assignment{padding:20px;gap:14px}}@media(max-width:480px){.welcome-copy{max-width:85%}.learning-welcome>img{opacity:.22}.welcome-copy .eyebrow{font-size:10px}.learning-section-head .muted{font-size:12px}.assignment-mark{width:40px;height:40px;flex-basis:40px;font-size:18px}.learning-assignment h2{font-size:16px}.topbar{flex-wrap:wrap;padding:10px 0}.appbar{height:auto;min-height:64px}.topbar>.nav{order:3;flex-basis:100%;min-width:0}.topbar>.profile{margin-left:auto}.nav button{font-size:14px;padding:10px}.topbar>.brand{font-size:16px}.learning-metrics .metric small{line-height:1.6}}
.mission-art{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;grid-column:1/-1;border-radius:6px}.student-space .learning-assignment{display:grid;grid-template-columns:54px minmax(0,1fr);gap:20px;padding:18px;transition:box-shadow .2s,border-color .2s}.learning-assignment:hover{border-color:#91bac1;box-shadow:0 8px 22px #20475110}.student-space .assignment-detail{padding:0 6px 10px 0}.practice-art,.community-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px}.practice-art{margin-bottom:16px}.community-art{margin-bottom:18px}.student-space .review-empty{padding:8px 12px 24px}.student-space .empty-check{width:34px;height:34px;font-size:18px;margin-bottom:10px}.student-space .community-invite{padding-top:24px}.learning-review .wrong{transition:border-color .2s}.learning-review .wrong:hover{border-color:#93beb0}.student-space .learning-section-head h2{color:#204f59}.student-space .learning-welcome{border-bottom:4px solid #b6d9d4}.student-space .primary{transition:background .18s,transform .18s}.student-space .primary:hover{background:#0b515a;transform:translateY(-2px)}@media(max-width:760px){.student-space .learning-assignment{grid-template-columns:40px minmax(0,1fr);gap:14px}.mission-art{max-height:260px;object-fit:contain;background:#e9f5fb}.practice-art,.community-art{max-height:240px;object-fit:contain}}@media(prefers-reduced-motion:reduce){.student-space .primary,.student-space .learning-assignment{transition:none}.student-space .primary:hover{transform:none}}
.nav{gap:6px}.nav button{position:relative;border-radius:6px;padding:12px 14px;transition:background .18s,color .18s}.nav button:hover{background:#f0f6f6;color:#165965}.nav button.active{background:#e6f2f1;border-bottom:0;color:#125d68}.nav button.active:after{content:'';position:absolute;bottom:4px;left:14px;right:14px;height:2px;background:#2c8a91}.nav button:focus-visible{outline:2px solid #3b8995;outline-offset:2px}.topic-banner{position:relative;isolation:isolate;min-height:225px;align-items:center;padding:36px;margin-bottom:28px;overflow:hidden;background:#edf5f9;border-bottom:3px solid #a8d0e4}.topic-banner-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.topic-banner>div{max-width:58%}.topic-banner h1{font-size:30px;line-height:1.3;margin:10px 0}.topic-banner .eyebrow{font-size:13px}.topic-banner p:not(.eyebrow){font-size:15px;line-height:1.8;color:#4c6874}.topic-review{background:#e9f5ed;border-color:#a1cfb2}.topic-circle{background:#fff0ec;border-color:#e9b4a5}.topic-banner>.primary{align-self:flex-end}.topic-page>.panel{background:transparent;border:0;padding:0;border-radius:0}.topic-page .assignments{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.topic-page .assignment{border-top:3px solid #78b4cf;padding:24px}.theme-review .wrong-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.theme-review .wrong{background:#fff;padding:22px;border-top:3px solid #91bfa4}.theme-circle .circle-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:26px}.theme-circle .circle-layout>section.panel{position:sticky;top:20px;border:0;background:#f9eee9;padding:22px}.theme-circle .circle-feed{width:100%;max-width:none}.theme-circle .circle-post{padding:24px}.theme-circle .circle-text{font-size:16px}.theme-circle .upload-label{width:100%;text-align:center}.theme-circle .circle-layout .actions>.primary{width:100%}@media(max-width:760px){.topic-banner{min-height:210px;padding:24px;display:block}.topic-banner>div{max-width:72%}.topic-banner h1{font-size:26px}.topic-banner>.primary{margin-top:15px}.topic-page .assignments,.theme-review .wrong-list{grid-template-columns:1fr}.theme-circle .circle-layout{grid-template-columns:1fr}.theme-circle .circle-layout>section.panel{position:static}.nav{gap:3px}.nav button{padding:10px 11px}.topic-banner p:not(.eyebrow){font-size:14px}}@media(max-width:480px){.topic-banner>div{max-width:100%}.topic-banner-art{opacity:.3}.topic-banner{min-height:200px}.topic-banner h1{font-size:25px}}@media(prefers-reduced-motion:reduce){.nav button{transition:none}}
.teacher-space .topic-banner{min-height:250px;padding:32px 36px}.teacher-space .topic-banner>div{max-width:60%}.teacher-space .topic-banner .actions{margin-top:20px}.teacher-space .metrics{gap:16px;margin:0 0 30px}.teacher-space .metric{border:0;border-radius:6px;border-top:3px solid #39878b;background:#eaf4f4;padding:20px}.teacher-space .metric:nth-child(2){background:#fff0ea;border-color:#d38368}.teacher-space .metric:nth-child(3){background:#eaf3ed;border-color:#74a488}.teacher-space .metric:nth-child(4){background:#edf1fa;border-color:#8094c5}.teacher-space .metric strong{font-size:28px;margin:12px 0}.teacher-space .metric span{font-weight:700;color:#395660}.teacher-space .metric small{font-size:12px;line-height:1.6}.teacher-home>.grid{gap:30px}.teacher-home>.grid>.panel{padding:0;border:0;background:transparent;border-radius:0}.teacher-space .panel-head{gap:14px;margin-bottom:18px}.teacher-space .panel-head h2{font-size:18px;color:#254f5a}.teacher-home .assignments{grid-template-columns:1fr}.teacher-home .assignment{border-top:0;border-left:3px solid #87b8b4;padding:20px;background:white}.teacher-home .assignment strong{line-height:1.6;font-size:16px;overflow-wrap:anywhere}.teacher-home .assignment p{font-size:14px;line-height:1.7}.teacher-space>.panel{margin-bottom:32px}.teacher-space .table-wrap{border:1px solid #dce6e9;border-radius:6px;background:#fff}.teacher-space .table th{background:#eaf1f4;padding:14px 16px;color:#49626e;font-weight:700;font-size:12px}.teacher-space .table td{padding:16px;line-height:1.7;vertical-align:middle}.teacher-space .table tr:last-child td{border-bottom:0}.teacher-space .table tbody tr:hover{background:#f6f9fa}.teacher-space .table td:last-child{white-space:nowrap}.teacher-space .table .secondary,.teacher-space .table .danger{font-size:13px;padding:7px 10px}.teacher-space .toolbar{padding:0 0 6px}.teacher-space .assignment{box-shadow:0 3px 10px #27414a04}.teacher-space .topic-students{border-color:#e1b3a3}.teacher-space .topic-questions{border-color:#a9bddf}.teacher-space .topic-classes{border-color:#a8cfcb}.teacher-space .topic-assignments{border-color:#dbc386}@media(max-width:900px){.teacher-space .topic-banner>div{max-width:68%}.teacher-space .table{min-width:650px}}@media(max-width:760px){.teacher-space .topic-banner{padding:26px 24px;min-height:250px}.teacher-space .topic-banner>div{max-width:100%}.teacher-space .topic-banner-art{opacity:.24}.teacher-space .topic-banner .actions{gap:8px}.teacher-space .metric{padding:16px}.teacher-space .metrics{gap:10px}.teacher-home>.grid{grid-template-columns:1fr;gap:28px}.teacher-space .panel-head{align-items:flex-start}.teacher-space .panel-head .muted{font-size:12px}.teacher-space .table td,.teacher-space .table th{padding:12px}.teacher-space .metric strong{font-size:24px}}@media(max-width:480px){.teacher-space .topic-banner h1{font-size:25px}.teacher-space .topic-banner .primary,.teacher-space .topic-banner .secondary{padding:10px 12px;font-size:13px}.teacher-space .topic-banner .eyebrow{font-size:12px}}
.schedule-picker{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.schedule-picker .field{min-width:0}.schedule-picker input,.schedule-picker select{min-width:0;min-height:44px}@media(max-width:480px){.schedule-picker{grid-template-columns:1fr 1fr}.schedule-picker>.field:first-child{grid-column:1/-1}}
.schedule-time{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px}.schedule-time select{padding:10px 5px!important}.schedule-time>span{color:#496072;text-align:center}
.password-entry{font-size:12px;padding:8px 10px;white-space:nowrap}@media(max-width:480px){.profile{gap:6px}.password-entry{font-size:11px;padding:7px}.topbar .avatar{width:27px;height:27px}}
.student-filters{margin-bottom:20px}.student-filter-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,1.5fr) minmax(130px,.7fr) auto;align-items:end;gap:14px}.student-filter-controls .field{min-width:0}.student-filter-controls input,.student-filter-controls select{min-height:44px;min-width:0}.student-filter-controls>.secondary{min-height:44px}.student-filters>p{font-size:13px;margin:12px 0 0}@media(max-width:900px){.student-filter-controls{grid-template-columns:1fr 1fr}}@media(max-width:480px){.student-filter-controls{gap:12px}.student-filter-controls>.field:nth-child(1),.student-filter-controls>.field:nth-child(2){grid-column:1/-1}}
.teacher-home>.class-overview{grid-template-columns:1fr}.teacher-home .class-overview .assignments{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.teacher-home .class-overview .assignment{display:flex;flex-direction:column;min-width:0}.teacher-home .class-overview .assignment>.actions{margin-top:auto;padding-top:14px}.teacher-home .class-overview .assignment>.tag{align-self:flex-start;margin-bottom:12px}@media(max-width:1000px){.teacher-home .class-overview .assignments{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.teacher-home .class-overview .assignments{grid-template-columns:1fr}}
.question-card h2{white-space:pre-wrap;overflow-wrap:anywhere}.question-card .option>span{white-space:pre-wrap;overflow-wrap:anywhere}
.class-delete{width:38px;height:38px;display:inline-grid;place-items:center;padding:8px}.class-delete svg{width:18px;height:18px;flex-shrink:0}.class-delete:hover{background:#ffe1e6}.class-delete:focus-visible{outline:2px solid #b4404d;outline-offset:2px}
.course-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-level-card{display:flex;flex-direction:column;min-height:286px;padding:26px;border:1px solid #d7e4e7;border-radius:8px;background:#fff;box-shadow:0 5px 18px #1b465208}.course-level-card h2{margin:20px 0 10px;font-size:21px;color:#1d4952}.course-level-card>p{margin:0;color:#607782;line-height:1.75}.course-level-label{display:grid;place-items:center;width:54px;height:36px;border-radius:5px;background:#e2f1ef;color:#14636c;font-size:15px;font-weight:850;letter-spacing:.05em}.level-l2 .course-level-label{background:#e9eefb;color:#405d9e}.level-l3 .course-level-label{background:#fff0e8;color:#a95832}.course-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:28px;color:#657985;font-size:13px}.course-card-footer .primary{white-space:nowrap}.course-outline{overflow:hidden;border:1px solid #d7e4e7;border-radius:8px;background:#fff}.course-outline-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:24px 26px;border-bottom:1px solid #e5edef;background:#f5faf9}.course-outline-head h2{margin:9px 0 0;font-size:20px;color:#214f58}.course-outline-head p{margin:0;color:#69808b;font-size:13px}.lesson-list{padding:8px 26px}.lesson-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #e9eff1}.lesson-card:last-child{border-bottom:0}.lesson-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8f3f2;color:#1a6c75;font-size:14px;font-weight:800}.lesson-kicker{margin:0 0 3px;color:#6c818b;font-size:12px;font-weight:750}.lesson-card h3{margin:0;font-size:16px;color:#254e57}.lesson-card p:not(.lesson-kicker){margin:5px 0 0;color:#6b7f89;font-size:13px}.lesson-status{padding:5px 9px;border-radius:999px;background:#f0f3f5;color:#71818a;font-size:12px;white-space:nowrap}@media(max-width:900px){.course-level-grid{grid-template-columns:1fr}.course-level-card{min-height:0}.course-card-footer{margin-top:22px;padding-top:0}}@media(max-width:560px){.course-outline-head{display:block;padding:20px}.course-outline-head p{margin-top:10px}.lesson-list{padding:4px 20px}.lesson-card{grid-template-columns:40px minmax(0,1fr);gap:12px}.lesson-number{width:38px;height:38px}.lesson-status{grid-column:2;justify-self:start}.course-card-footer{align-items:flex-start;flex-direction:column}.course-card-footer .primary{width:100%}}
.modal.class-roster-modal{width:min(840px,calc(100vw - 32px));max-height:90vh;overflow-y:auto}
.class-roster{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;min-width:0}
.class-roster h3{margin:0 0 10px}.class-roster p{line-height:1.6;overflow-wrap:anywhere}
.roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.roster-member{min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f7fbfa}
.roster-member form,.roster-add-grid form{display:grid;gap:10px;min-width:0}.roster-member p{margin:0;font-size:13px}
.class-roster input,.class-roster select{min-width:0;max-width:100%;width:100%}
.class-roster .actions{flex-wrap:wrap}.roster-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.roster-add-grid form{align-content:start}.class-roster button{white-space:normal}
@media(max-width:600px){.roster-list,.roster-add-grid{grid-template-columns:1fr}.modal.class-roster-modal{padding:18px;max-height:92vh}.roster-member{padding:12px}}
