:root{--ink:#17324a;--muted:#697c8d;--blue:#145d83;--blue2:#2588a3;--green:#264471;--line:#dce7ed;--soft:#f2f7f9;--white:#fff;--orange:#b86d2e;--shadow:0 12px 36px rgba(20,63,87,.1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#f3f7f9;color:var(--ink)}button,input,textarea{font:inherit}.cm-header{height:70px;padding:0 max(20px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#ffffffed;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px)}.cm-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.cm-brand img{width:43px;height:43px;object-fit:contain;background:#edf5f8;border-radius:14px}.cm-brand span{display:flex;flex-direction:column}.cm-brand b{font-size:17px}.cm-brand small{font-size:10px;color:var(--muted);margin-top:2px}.cm-header-actions{display:flex;align-items:center;gap:8px}.mode-badge{font-size:10px;padding:6px 9px;border-radius:99px;background:#e8f2f6;color:var(--blue);font-weight:800}.mode-badge.live{background:#e6ecf4;color:var(--green)}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}#view{width:min(100% - 32px,1160px);margin:auto;padding:28px 0 60px}.cm-landing{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}.cm-hero{min-height:480px;padding:42px;border-radius:30px;background:linear-gradient(145deg,#123e60,#176d88 64%,#2a5494);color:#fff;box-shadow:0 20px 55px rgba(18,65,91,.25);display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;opacity:.72}.cm-hero h1{font-size:40px;line-height:1.18;margin:12px 0}.cm-hero>div>p{max-width:570px;line-height:1.75;font-size:14px;opacity:.8}.cm-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:30px}.cm-loop span{padding:13px 10px;border:1px solid #ffffff30;background:#ffffff13;border-radius:13px;font-size:11px;text-align:center}.cm-hero-foot{font-size:11px;opacity:.7}.cm-entry{background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}.cm-entry h2{font-size:21px;margin:0 0 7px}.cm-entry>p{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 20px}.role-entry{display:flex;align-items:center;gap:13px;width:100%;padding:16px;margin:10px 0;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;color:var(--ink)}.role-entry:hover{border-color:#8db7c8;background:#f7fbfc}.role-entry i{width:42px;height:42px;border-radius:14px;background:#e6f2f5;display:grid;place-items:center;font-style:normal;font-size:19px}.role-entry div{flex:1}.role-entry b,.role-entry small{display:block}.role-entry small{color:var(--muted);font-size:10px;margin-top:4px}.role-entry strong{color:var(--blue)}.role-entry.student i{background:#e9edf4;color:var(--green)}.cm-entry-links{display:flex;gap:8px;margin-top:18px}.cm-entry-links a,.text-btn{border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:800;text-decoration:none;padding:6px}.cm-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff8eb;border:1px solid #eed9b8;border-radius:16px;padding:12px 15px;margin-bottom:16px;color:#79582e;font-size:11px}.cm-banner button{border:0;background:#8b642e;color:#fff;border-radius:9px;padding:7px 10px}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dash-head small{color:var(--muted)}.dash-head h1{font-size:27px;margin:5px 0}.dash-actions{display:flex;gap:8px}.primary,.secondary{border:0;border-radius:12px;padding:11px 15px;font-weight:800}.primary{background:var(--blue);color:#fff}.secondary{background:#e7f0f4;color:var(--blue)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}.kpi small{color:var(--muted);font-size:10px}.kpi b{display:block;font-size:25px;margin-top:7px}.dash-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:21px;padding:19px;margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.panel-head h2{font-size:17px;margin:0}.panel-head small{color:var(--muted)}.class-list,.task-list,.recent-list{display:grid;gap:9px}.class-row,.task-row,.recent-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px}.class-row.active{border-color:#7eb0c4;background:#f2f8fa}.class-row>div,.task-row>div,.recent-row>div{min-width:0;flex:1}.class-row b,.task-row b,.recent-row b{display:block;font-size:13px}.class-row small,.task-row small,.recent-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.class-code{font-weight:900;letter-spacing:.12em;color:var(--blue)}.status{font-size:9px;padding:5px 7px;border-radius:8px;background:#edf1f3;color:#63727c}.status.published{background:#e7ecf4;color:var(--green)}.row-btn{border:0;border-radius:9px;background:#e8f2f6;color:var(--blue);padding:8px 10px;font-size:10px;font-weight:800}.ability-list{display:grid;gap:12px}.ability-row{display:grid;grid-template-columns:72px 1fr 34px;align-items:center;gap:9px;font-size:11px}.ability-row i{height:8px;background:#e5edef;border-radius:8px;overflow:hidden}.ability-row i b{display:block;height:100%;background:linear-gradient(90deg,#1a6786,#325d9e)}.empty{text-align:center;padding:28px 15px;color:var(--muted);font-size:11px}.empty b{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}.student-hero{padding:24px;border-radius:22px;background:linear-gradient(140deg,#143f5d,#1f788b);color:#fff;margin-bottom:17px}.student-hero small{opacity:.7}.student-hero h1{font-size:25px;margin:7px 0}.student-hero p{font-size:11px;opacity:.75}.student-tasks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.student-task{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px}.student-task span{font-size:9px;color:var(--green);font-weight:900}.student-task h2{font-size:16px;margin:8px 0}.student-task p{font-size:11px;color:var(--muted);line-height:1.6;min-height:36px}.student-task button{width:100%;border:0;border-radius:11px;background:#e6f1f4;color:var(--blue);padding:10px;font-weight:800}.student-task.done button{background:#e7f4ee;color:var(--green)}.cm-modal{position:fixed;inset:0;z-index:60;background:#17324a80;display:grid;place-items:center;padding:15px}.cm-modal[hidden]{display:none}.cm-modal-card{position:relative;width:min(100%,620px);max-height:92vh;overflow:auto;border-radius:24px;background:#fff;padding:25px;box-shadow:0 24px 70px #102b3c55}.cm-modal-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;border-radius:12px;background:#edf3f5;font-size:20px}.form h2{font-size:20px;margin:0 0 6px}.form>p{font-size:11px;color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:grid;gap:5px;margin:10px 0}.field label{font-size:10px;color:var(--muted);font-weight:800}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--ink);outline:none}.field input:focus,.field textarea:focus{border-color:#4d96b1;box-shadow:0 0 0 3px #4d96b119}.form .primary{width:100%;margin-top:10px}.form-note{padding:10px 12px;border-radius:11px;background:var(--soft);font-size:10px;color:var(--muted);line-height:1.6}.template-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.template-list button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;text-align:left}.template-list b,.template-list small{display:block}.template-list small{font-size:9px;color:var(--muted);margin-top:5px}.template-list button.on{border-color:#438daa;background:#f0f8fa}.quiz-head{margin-bottom:16px}.quiz-head small{color:var(--muted)}.quiz-head h2{font-size:20px;margin:6px 0}.scenario{padding:13px;border-radius:13px;background:var(--soft);font-size:12px;line-height:1.65}.question{margin-top:18px}.question h3{font-size:14px;line-height:1.55}.options{display:grid;gap:7px}.options label{display:flex;gap:9px;border:1px solid var(--line);border-radius:11px;padding:10px;font-size:11px}.result{text-align:center}.result-score{font-size:44px;font-weight:900;color:var(--blue)}.result p{font-size:11px;color:var(--muted);line-height:1.7}.cm-toast{position:fixed;z-index:90;left:50%;bottom:30px;transform:translate(-50%,20px);padding:10px 15px;border-radius:99px;background:#17324a;color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:.2s}.cm-toast.show{opacity:1;transform:translate(-50%,0)}
.student-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:5px;margin:-1px 0 18px;border-radius:16px;background:#e3ecef}.student-tabs button{border:0;border-radius:12px;padding:11px 7px;background:transparent;color:#647987;font-size:11px;font-weight:800}.student-tabs button.on{background:#fff;color:var(--blue);box-shadow:0 3px 10px rgba(24,61,80,.08)}.student-content{min-height:260px}.panel-head>div small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.panel-head>div h2{margin:0}.self-study{padding:23px;border-radius:23px;background:#fff;border:1px solid var(--line)}.self-copy small,.resource-intro small,.self-result-head small,.report-summary>small{color:var(--blue2);font-size:10px;font-weight:900;letter-spacing:.1em}.self-copy h2,.resource-intro h2{font-size:22px;margin:7px 0}.self-copy p,.resource-intro p{font-size:11px;line-height:1.7;color:var(--muted);max-width:660px}.self-study form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:15px}.self-study textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:15px;padding:13px;line-height:1.6;color:var(--ink);outline:none}.self-scenes{display:flex;gap:7px;margin:11px 0}.self-scenes button{border:1px solid var(--line);border-radius:99px;background:var(--soft);color:var(--blue);padding:7px 11px;font-size:10px;font-weight:800}.self-result{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);scroll-margin-top:85px}.self-result-head h2{font-size:20px;margin:5px 0 13px}.self-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.self-result-grid article{border-radius:14px;background:var(--soft);padding:13px}.self-result-grid article>b{font-size:12px}.self-result-grid ul,.self-result-grid ol{padding-left:18px;margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.8}.self-result>p{font-size:10px;line-height:1.6;color:var(--muted)}.resource-intro{padding:23px;border-radius:21px;background:linear-gradient(140deg,#143f5d,#20788a);color:#fff;margin-bottom:12px}.resource-intro small{color:#bccde7}.resource-intro p{color:#ffffffbd}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.resource-grid a{display:flex;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}.resource-grid b{font-size:13px}.resource-grid span{font-size:10px;color:var(--muted);margin-top:5px}.report-summary{text-align:center;padding:24px;border-radius:21px;background:linear-gradient(140deg,#143f5d,#20788a);color:#fff;margin-bottom:13px}.report-summary>small{color:#bccde7}.report-summary>div{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:8px}.report-summary>div b{font-size:42px}.report-summary>div span{font-size:11px;opacity:.75}.report-summary p{font-size:10px;opacity:.72}
@media(max-width:760px){.cm-header{height:62px;padding:0 13px}.cm-brand small{display:none}#view{width:calc(100% - 22px);padding-top:13px}.cm-landing{grid-template-columns:1fr}.cm-hero{min-height:340px;padding:25px;border-radius:23px}.cm-hero h1{font-size:30px}.cm-loop{grid-template-columns:1fr 1fr}.cm-entry{border-radius:23px;padding:21px}.dash-head{align-items:flex-start}.dash-head h1{font-size:22px}.dash-actions{flex-direction:column}.kpis{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}.student-tasks{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.template-list{grid-template-columns:1fr}.cm-modal-card{padding:21px}.mode-badge{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-tabs{position:sticky;top:68px;z-index:9}.student-tabs button{font-size:10px;padding:10px 3px}.self-study{padding:18px}.self-study form{grid-template-columns:1fr}.self-result-grid,.resource-grid{grid-template-columns:1fr}.self-scenes{overflow:auto}.self-scenes button{white-space:nowrap}}
