:root{--green:#285a3b;--green-2:#1f7a4d;--red:#e9473f;--orange:#f39c12;--blue:#2c86bd;--paper:#f6f2e9;--line:#d8d8d8;--text:#202124;--muted:#62676d}*{box-sizing:border-box}body{margin:0;font-family:Arial,Microsoft YaHei,sans-serif;color:var(--text);background:#eef2f5}button,input,select,textarea{font:inherit}.home{min-height:100vh;display:grid;place-items:center;padding:32px}.homePanel{width:min(720px,100%);background:white;border:1px solid var(--line);border-radius:8px;padding:32px}.primaryButton,.primaryLink{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:0;border-radius:6px;background:var(--green);color:white;text-decoration:none;cursor:pointer}.dangerButton:disabled,.primaryButton:disabled{cursor:not-allowed;opacity:.55}.teacherShell{min-height:100vh;background:var(--paper)}.teacherTopbar{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px clamp(20px,4vw,56px);background:var(--green);color:white}.teacherTopbar h1,.teacherTopbar p{margin:0}.teacherTopbar h1{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:0}.teacherEyebrow{margin-bottom:8px;font-size:14px;color:rgba(255,255,255,.78)}.teacherContent{width:min(1180px,100%);margin:0 auto;padding:28px clamp(16px,4vw,32px) 48px}.emptyState,.projectorSurface,.teacherPanel{background:white;border:1px solid var(--line);border-radius:8px;padding:24px}.emptyState h2,.projectorSurface h2,.teacherPanel h2{margin:0 0 16px;font-size:22px;line-height:1.25;letter-spacing:0}.importPanel{width:min(760px,100%)}.formGrid{display:grid;grid-gap:18px;gap:18px}.formField{display:grid;grid-gap:8px;gap:8px;color:var(--muted)}.formField input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fffdf8;color:var(--text)}.actionRow,.sectionTitleRow,.topbarActions{display:flex;align-items:center;gap:12px}.actionRow{flex-wrap:wrap;margin-top:20px}.sectionTitleRow{justify-content:space-between;margin-bottom:18px}.dangerButton,.lightLink{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:6px;text-decoration:none;cursor:pointer}.dangerButton{border:0;background:var(--red);color:white}.lightLink{border:1px solid rgba(255,255,255,.36);color:white}.dashboardGrid,.reportGrid{display:grid;grid-gap:20px;gap:20px}.dashboardGrid{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.metricTile{min-width:0;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fffdf8}.metricTile span{display:block;color:var(--muted);font-size:13px}.metricTile strong{display:block;margin-top:8px;font-size:28px;line-height:1}.statusBadge{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;color:white;background:var(--muted)}.statusBadge.active{background:var(--green-2)}.statusBadge.ended{background:var(--red)}.studentShell{min-height:100vh;background:var(--paper);padding:clamp(18px,4vw,44px)}.studentHeader,.studentWorkspace{width:min(1180px,100%);margin:0 auto}.studentCard{width:min(860px,100%);margin:0 auto}.studentHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px clamp(18px,4vw,32px);border-radius:8px;background:var(--green);color:white}.studentHeader h1,.studentHeader p{margin:0}.studentHeader h1{font-size:clamp(28px,7vw,46px);line-height:1.1;letter-spacing:0}.studentCard{display:grid;grid-gap:22px;gap:22px;padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:white}.studentWorkspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;grid-gap:20px;gap:20px;padding-top:20px}.studentAnswerPane,.studentQuestionPane{min-width:0;display:grid;align-content:start;grid-gap:22px;gap:22px;padding:clamp(20px,4vw,28px);border:1px solid var(--line);border-radius:8px;background:white}.studentQuestionPane{max-height:calc(100vh - 190px);overflow:auto}.studentAnswerPane{position:-webkit-sticky;position:sticky;top:24px}.identityGrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr);grid-gap:16px;gap:16px}.questionBlock{display:grid;grid-gap:18px;gap:18px}.questionPrompt{min-height:0;font-size:clamp(18px,2.5vw,26px);line-height:1.45;white-space:pre-wrap}.answerList,.questionRenderer{display:grid;grid-gap:14px;gap:14px}.choiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.choiceGrid.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.answerOption{min-height:64px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fffdf8;color:var(--text);text-align:left;cursor:pointer}.answerOption strong{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#e7efe9;color:var(--green)}.answerOption span{min-width:0;overflow-wrap:anywhere}.answerOption.selected{border-color:var(--green);background:#eaf4ee}.answerOption:disabled,.studentAnswerField input:disabled,.studentAnswerField select:disabled{cursor:not-allowed;opacity:.72}.studentAnswerField{display:grid;grid-gap:8px;gap:8px;color:var(--muted)}.studentAnswerField input,.studentAnswerField select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:6px;padding:11px 12px;background:#fffdf8;color:var(--text)}.submittedState{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid #b9dfc8;border-radius:8px;background:#edf8f1;color:var(--green)}.submittedState span{color:var(--text)}.largeButton{min-height:52px;padding-inline:22px;font-size:18px}.qrLayout{display:grid;grid-gap:18px;gap:18px}.questionList{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));grid-gap:8px;gap:8px}.questionSelector{min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fffdf8;color:var(--text);cursor:pointer}.questionSelector.active{border-color:var(--green);background:var(--green);color:white}.qrDisplay{display:grid;justify-items:center;grid-gap:14px;gap:14px}.qrImage{width:min(280px,100%);aspect-ratio:1;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:white;padding:10px}.studentUrl{width:100%;overflow-wrap:anywhere;color:var(--blue);text-align:center}.projectorShell{background:#f8f4ea}.projectorSurface{min-height:calc(100vh - 190px);display:grid;align-content:start}.projectorSurface .qrLayout{grid-template-columns:minmax(180px,280px) minmax(320px,1fr);align-items:start}.projectorSurface .qrImage{width:min(520px,82vw)}.reportGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.widePanel{grid-column:1/-1}.knowledgeList,.layerList{display:grid;grid-gap:14px;gap:14px}.knowledgeRow,.layerRow{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,2fr) 52px;align-items:center;grid-gap:12px;gap:12px}.layerRow div:first-child,.rowLabel{display:grid;grid-gap:4px;gap:4px;min-width:0}.layerRow span,.rowLabel span{color:var(--muted);font-size:13px}.barTrack{height:14px;overflow:hidden;border-radius:999px;background:#ece7dc}.barFill{display:block;height:100%;min-width:2px}.barFill.green,.barFill.layerA{background:var(--green-2)}.barFill.blue,.barFill.layerB{background:var(--blue)}.barFill.layerC,.barFill.orange{background:var(--orange)}.barFill.layerD,.barFill.red{background:var(--red)}.tableWrap{width:100%;overflow-x:auto}.reportTable{width:100%;border-collapse:collapse;min-width:560px}.reportTable td,.reportTable th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left}.reportTable th{color:var(--muted);font-weight:600}.aiReportText,.errorText,.mutedText,.noticeText{margin:0;line-height:1.6}.aiReportText{white-space:pre-wrap}.noticeText{color:var(--orange)}.errorText{color:var(--red)}.mutedText{color:var(--muted)}@media (max-width:860px){.sectionTitleRow,.teacherTopbar{align-items:flex-start;flex-direction:column}.dashboardGrid,.projectorSurface .qrLayout,.reportGrid,.studentWorkspace{grid-template-columns:1fr}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbarActions{flex-wrap:wrap}.studentHeader{align-items:flex-start;flex-direction:column}.studentQuestionPane{max-height:none}.studentAnswerPane{position:static}}@media (max-width:560px){.emptyState,.projectorSurface,.teacherPanel{padding:18px}.knowledgeRow,.layerRow,.metricGrid{grid-template-columns:1fr}.knowledgeRow>span,.layerRow>span{justify-self:start}.studentShell{padding:0}.studentAnswerPane,.studentCard,.studentHeader,.studentQuestionPane{border-radius:0}.studentWorkspace{gap:0;padding-top:0}.choiceGrid,.choiceGrid.twoColumns,.identityGrid{grid-template-columns:1fr}}