:root{--bg:#07111f;--panel:#101c2d;--panel2:#15243a;--line:#2b3c55;--text:#edf4ff;--muted:#9eb0c8;--blue:#5b9dff;--cyan:#56d5d0;--green:#53d39b;--yellow:#f2c96d;--orange:#ff9b5e;--red:#ff6d7d;--radius:18px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#15335d 0,transparent 32%),linear-gradient(135deg,#06101e,#0a1324 55%,#07111f);color:var(--text);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}.shell{max-width:1440px;margin:auto;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:14px}.logo{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--blue),#7557ff);display:grid;place-items:center;font-weight:800;box-shadow:0 10px 35px #4c7cff55}.brand h1{font-size:21px;margin:0}.brand p{font-size:13px;color:var(--muted);margin:4px 0 0}.nav{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#152238;color:var(--text);border-radius:11px;padding:10px 15px;cursor:pointer;text-decoration:none;transition:.2s}.btn:hover{border-color:var(--blue);transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#367be7,#6555db);border-color:#78a8ff}.btn.success{background:#174937;border-color:#308c6b}.btn.ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:minmax(0,1.5fr) minmax(310px,.7fr)}.card{background:linear-gradient(145deg,#101c2ded,#0c1626ed);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 18px 45px #0003;backdrop-filter:blur(12px)}.card h2,.card h3{margin:0 0 14px}.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.muted{color:var(--muted)}.hero{min-height:380px;display:flex;align-items:center;padding:54px}.hero h2{font-size:clamp(34px,5vw,66px);line-height:1.08;max-width:900px;margin:10px 0 20px}.hero p{font-size:18px;line-height:1.7;max-width:760px}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.feature-grid{grid-template-columns:repeat(3,1fr);margin-top:18px}.feature{min-height:190px}.feature .number{font-size:44px;color:#6ea8ff33;font-weight:900}.feature h3{font-size:19px}.feature p{line-height:1.7;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;background:#15263e;color:var(--muted);font-size:12px}.dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.stat-grid{grid-template-columns:repeat(6,1fr)}.stat{padding:17px}.stat .value{font-size:30px;font-weight:800}.stat .label{color:var(--muted);font-size:12px;margin-top:5px}.stage-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stage{padding:13px 8px;background:#111f33;border-radius:11px;text-align:center;color:var(--muted);font-size:12px}.stage strong{display:block;color:var(--text);font-size:22px;margin-bottom:3px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #23334a;font-size:13px}th{color:var(--muted);font-weight:600;background:#101c2f;position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover{background:#16243a}.pill{display:inline-block;border-radius:999px;padding:4px 9px;font-size:11px;background:#22344e}.pill.green{color:var(--green);background:#174436}.pill.yellow{color:var(--yellow);background:#4b3e1d}.pill.orange{color:var(--orange);background:#4c2d22}.pill.red{color:var(--red);background:#4b202a}.heat-list{display:grid;gap:10px}.heat-item{display:grid;grid-template-columns:150px 1fr 36px;gap:10px;align-items:center}.bar{height:9px;border-radius:99px;background:#1d2d44;overflow:hidden}.bar>span{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,#4e82e9,#f18575)}.mastery{display:grid;gap:14px}.mastery-row{display:grid;grid-template-columns:120px 1fr 42px;gap:10px;align-items:center;font-size:13px}.mastery-row .bar>span{background:linear-gradient(90deg,var(--cyan),var(--blue))}.task-prompt{font-size:22px;line-height:1.65;margin:18px 0;padding:20px;border-radius:14px;background:#111f33;border-left:4px solid var(--blue)}.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.meta{background:#142238;padding:12px;border-radius:11px}.meta span{font-size:11px;color:var(--muted);display:block}.meta strong{font-size:15px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.choice{padding:16px;border:1px solid var(--line);background:#101c2e;color:var(--text);border-radius:12px;cursor:pointer}.choice.selected{border-color:var(--cyan);background:#16373e}.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:13px;color:var(--muted)}textarea,input,select{width:100%;background:#0a1423;border:1px solid var(--line);border-radius:11px;color:var(--text);padding:12px;outline:none}textarea:focus,input:focus,select:focus{border-color:var(--blue)}textarea{min-height:110px;resize:vertical}.range-row{display:flex;gap:10px;align-items:center}.feedback{padding:15px;border-radius:12px;margin-top:14px;line-height:1.6}.feedback.good{background:#153c31;border:1px solid #2b765c}.feedback.warn{background:#402d1e;border:1px solid #83583a}.hint{background:#25253f;border:1px solid #5c578c;border-radius:12px;padding:15px;margin:12px 0;color:#dad7ff}.timeline{display:grid;gap:9px;max-height:470px;overflow:auto}.timeline-item{border-left:2px solid var(--line);padding:4px 0 12px 14px}.timeline-item strong{display:block;font-size:13px}.timeline-item time{font-size:11px;color:var(--muted)}.projector body,.projector{background:#030812}.projector .teacher-private{display:none!important}.projector .shell{max-width:1800px}.projector .stat .value{font-size:42px}.projector-name{display:none}.projector .projector-name{display:inline}.modal{position:fixed;inset:0;background:#0009;display:none;place-items:center;padding:24px;z-index:10}.modal.open{display:grid}.modal-panel{background:#101c2d;border:1px solid var(--line);border-radius:18px;max-width:850px;width:100%;max-height:85vh;overflow:auto;padding:22px}.close{float:right}.empty{padding:35px;text-align:center;color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;background:#14243a;border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:none;z-index:20}.toast.show{display:block}.auth-box{display:flex;gap:8px;align-items:center}.auth-box input{width:190px;padding:9px}.footer{text-align:center;color:var(--muted);padding:28px;font-size:12px}@media(max-width:1000px){.grid.cols-2,.feature-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}.meta-grid{grid-template-columns:repeat(2,1fr)}.stage-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.shell{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.hero{padding:28px 20px}.stat-grid{grid-template-columns:repeat(2,1fr)}.choice-row{grid-template-columns:1fr}.auth-box{width:100%}.auth-box input{flex:1}}
