:root{--ink:#152b3c;--muted:#627584;--line:#dce5e8;--accent:#087c85;--soft:#eaf5f3}*{box-sizing:border-box}body{margin:0;background:#f5f8f9;color:var(--ink);font-family:Arial,'Microsoft YaHei',sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e9ae4f;outline-offset:4px}header{max-width:1320px;margin:auto;padding:24px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-weight:bold}.brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}.logo{background:var(--ink);color:white;border-radius:12px;width:43px;height:43px;text-align:center;font-size:31px}.pill,.tag{font-size:12px;letter-spacing:1px;color:var(--accent);font-weight:bold}.pill{border:1px solid #c7dfdf;border-radius:30px;padding:5px 14px}main{max-width:1240px;margin:auto;padding:36px 32px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent)}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}h1{font-size:35px;line-height:1.4;margin:8px 0}h1 span{display:block;font-size:21px;font-weight:400;color:var(--muted)}.heading p{color:var(--muted);font-size:14px}h2{font-size:27px;line-height:1.5;margin:12px 0 18px}.welcome{background:white;border:1px solid var(--line);border-radius:20px;padding:45px 58px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;box-shadow:0 12px 40px #17334305}.welcome h2{font-size:38px}.welcome p{color:var(--muted)}.prep{padding:15px 20px;border-left:3px solid var(--accent);background:#f5f9f9;margin:25px 0}.prep p{margin:5px 0;font-size:14px}.primary{background:var(--accent);color:white;border:0;border-radius:9px;padding:13px 24px;font-weight:bold}.primary:hover{background:#076770}.primary:disabled{background:#c8d5d8;cursor:not-allowed}.welcome small{display:block;margin-top:15px;color:var(--muted);font-size:12px}.hero{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff;border-radius:18px}.hero img{max-height:420px;max-width:100%;object-fit:contain}.hero span{color:var(--muted);font-size:12px;letter-spacing:2px;margin-top:10px}.workspace{background:white;border:1px solid var(--line);border-radius:18px;padding:26px}.progress{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:12px;color:var(--muted);gap:10px}.track{width:100%;height:4px;background:#e9efef;border-radius:8px}.track div{height:100%;background:var(--accent);transition:width .3s}nav{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;padding:22px 0 25px;border-bottom:1px solid var(--line)}.step{border:0;background:transparent;color:#80909b;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;padding:8px 2px;border-radius:8px}.step b{border:1px solid var(--line);border-radius:50%;width:30px;height:30px;line-height:28px;font-weight:400}.step.active{background:var(--soft);color:var(--accent);font-weight:bold}.step.active b{background:var(--accent);border-color:var(--accent);color:white}.step.done{color:var(--accent)}.step.done b{background:var(--soft);border-color:var(--soft)}.step:disabled{cursor:default;opacity:.6}.question{display:grid;grid-template-columns:.85fr 1.3fr;gap:40px;padding:30px 6px 8px}aside{background:#f7faf9;border-radius:14px;padding:18px;height:fit-content}aside button{width:100%;border:0;background:white;border-radius:10px;padding:12px}aside img{width:100%;height:340px;object-fit:contain}aside p{font-size:12px;color:var(--accent);margin:13px 0 8px}aside small{font-size:11px;color:var(--muted);display:block}.scenario{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:23px}.option{width:100%;display:flex;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:11px;background:white;padding:17px;margin:12px 0;color:var(--ink);font-size:15px}.option>span{width:30px;height:30px;border-radius:7px;background:#f0f4f5;text-align:center;line-height:30px;flex-shrink:0;font-weight:bold}.option>div{flex:1}.option i{width:17px;height:17px;border:1px solid #b9c8ce;border-radius:50%;flex-shrink:0}.option.selected{border:2px solid var(--accent);padding:16px;background:#f1f9f8}.option.selected i{border:5px solid var(--accent)}.option:hover{border-color:var(--accent)}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:10px}.actions>span{font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;margin-top:22px;font-size:12px;color:var(--muted)}footer button{border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline}dialog{border:0;border-radius:18px;padding:0;width:min(580px,90vw);color:var(--ink);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#102b3f80;backdrop-filter:blur(4px)}.modal{padding:35px}.modal p{line-height:1.9}.remember{background:#eff6f6;padding:16px 20px;border-radius:10px;margin:24px 0}.remember small,.remember b{display:block}.remember small{color:var(--muted);font-size:12px;margin-bottom:7px}.modal .primary{width:100%}.correct h2{color:#157a5e}.incorrect h2{color:#a35e17}#imageDialog{width:min(950px,95vw);padding:20px}#largeImage{display:block;max-width:100%;max-height:75vh;margin:20px auto;object-fit:contain}.result{background:white;border:1px solid var(--line);border-radius:20px;padding:40px;text-align:center}.check{width:60px;height:60px;line-height:60px;background:var(--soft);color:var(--accent);font-size:30px;border-radius:50%;margin:0 auto 20px}.result p{color:var(--muted)}.metrics{display:flex;justify-content:center;gap:70px;margin:25px}.metrics strong,.metrics span{display:block}.metrics strong{font-size:36px;color:var(--accent)}.metrics span{font-size:12px;color:var(--muted)}#reviewList{max-width:600px;margin:25px auto;padding:0;list-style:none;text-align:left}#reviewList li{border-bottom:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:10px;font-size:14px}#reviewList b{font-size:12px;color:var(--muted);font-weight:400}[hidden]{display:none!important}@media(max-width:850px){header{padding:18px 20px}.heading{align-items:flex-start}.heading p{display:none}main{padding:24px 16px}.welcome{padding:28px;gap:15px}.welcome h2{font-size:28px}.hero img{max-height:300px}.question{grid-template-columns:1fr;gap:24px}aside img{height:210px}nav{grid-template-columns:repeat(5,1fr)}.workspace{padding:16px}h2{font-size:23px}}@media(max-width:520px){.welcome{grid-template-columns:1fr}.hero{grid-row:1}.hero img{max-height:220px}.pill{font-size:10px;padding:4px 8px}.brand{font-size:13px}.brand small{font-size:8px}h1{font-size:29px}h1 span{font-size:18px}.option{font-size:14px;padding:14px}.option.selected{padding:13px}.actions>span{display:none}.actions .primary{width:100%}.modal{padding:25px}.result{padding:25px 18px}footer{flex-wrap:wrap}}

/* 明确的判定颜色仅在提交之后出现，避免提前泄露答案。 */
.correct #feedbackTitle,.correct #feedbackBody{color:#146746}.incorrect #feedbackTitle,.incorrect #feedbackBody{color:#b4232f}.correct .remember{background:#edf8f1;border-left:4px solid #228254}.incorrect .remember{background:#fff3f3;border-left:4px solid #bb3540}.correct .remember b{color:#146746}.incorrect .remember b{color:#8f202a}.incorrect #feedbackNext{background:#ad2735}.option.answer-correct{color:#146746;border-color:#228254;background:#edf8f1}.option.answer-incorrect{color:#b4232f;border-color:#bb3540;background:#fff3f3}.missing-figure{background:#fff;border:1px dashed #b8c9cd;border-radius:12px;min-height:280px;display:flex;flex-direction:column;justify-content:center;padding:25px}.missing-figure>span{font-size:13px;letter-spacing:1px;color:#627584;font-weight:bold}.missing-figure p{font-size:15px;color:#344e60;line-height:1.9}aside small{font-size:13px;line-height:1.8}aside p{font-size:13px}

#cleaningExtra{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}#cleaningExtra img{height:230px}

.header-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.restart-visible,.secondary{border:1px solid var(--accent);border-radius:9px;background:white;color:var(--accent);padding:9px 15px;font-weight:bold}.recovery{font-size:12px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}dialog{max-height:90dvh;overflow-y:auto}#imageDialog #closeImage{position:sticky;top:0}header{position:relative}@media(max-width:520px){header{align-items:flex-start;gap:12px}.header-controls{max-width:170px;gap:6px}.restart-visible{padding:6px 10px;font-size:12px}.header-controls .pill{display:none}}

#fieldPair{display:grid;grid-template-columns:1fr 1fr;gap:12px}#fieldPair .field-card{padding:9px;border:1px solid var(--line);border-radius:10px;min-width:0}#fieldPair span{display:block;font-size:14px;color:var(--ink);margin-bottom:8px}#fieldPair img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#090909}#fieldPair .field-card:hover{border-color:var(--accent)}

.feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feedback-fields figure{margin:0}.feedback-fields img{width:100%;aspect-ratio:1;object-fit:contain;background:#090909}.feedback-fields figcaption,#fieldSupplement small{font-size:12px;color:var(--muted)}#fieldSupplement{padding-top:12px;border-top:1px solid var(--line)}#fieldSupplement h3{font-size:15px}

#studentLogin{margin:20px 0}#studentLogin label{display:block;font-weight:bold;font-size:14px}#studentId{display:block;margin-top:8px;width:100%;max-width:340px;padding:12px 15px;font:inherit;border:1px solid #b8c9cd;border-radius:8px}#loginStatus{font-size:13px;color:#b4232f}#studentBadge{font-size:12px;color:var(--muted)}#adminLink{color:var(--accent);font-size:13px}

a.primary,a.secondary{text-decoration:none;display:inline-block;cursor:pointer}
