*{box-sizing:border-box}body{background:#f4f7fa;color:#172d43;font:17px/1.65 system-ui,'Microsoft YaHei',sans-serif}header{padding:12px 28px}header .logo{font-size:23px}main{max-width:1520px;padding:24px;margin:auto}#intro{max-width:850px;margin:40px auto}#intro h1{font-size:36px}#intro li{margin:14px 0}button{min-height:44px;font-size:16px;border-radius:7px;padding:9px 16px}#exam{background:white;border:1px solid #d4e0e8;border-radius:12px}.exam-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;position:sticky;top:0;z-index:3;background:white;border-bottom:1px solid #d4e0e8;border-radius:12px 12px 0 0}#phase{display:block;font-size:14px;color:#536779}.timer-group{display:flex;align-items:center;gap:12px}#timer{font:600 26px Consolas,monospace;font-variant-numeric:tabular-nums}.urgent{color:#b34321}#save-status{padding:8px 24px;font-size:14px;color:#536779}#question-tabs{display:flex;gap:10px;padding:12px 24px;flex-wrap:wrap}#question-tabs button[aria-current=true]{background:#087e80;color:white;border-color:#087e80}#question-tabs button{font-size:15px}.question-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid #e1e7ed}.question-heading h2{font-size:22px}#flag[aria-pressed=true]{background:#fff1ce;color:#765011}.exam-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#prompt,.response{padding:24px;min-width:0;max-height:calc(100vh - 330px);min-height:280px;overflow:auto}#prompt{border-right:1px solid #d4e0e8}.task{white-space:pre-wrap;font:18px/1.7 system-ui,sans-serif}#prompt img{max-width:100%;height:auto}pre{font:16px/1.7 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.response textarea{min-height:330px;resize:vertical;font:17px/1.7 Consolas,monospace;border-radius:6px}.exam-bottom{display:flex;gap:12px;align-items:center;position:sticky;bottom:0;z-index:2;padding:14px 24px;background:white;border-top:1px solid #d4e0e8}#submit{margin-left:auto}#result-summary,#review{padding:24px;border-top:1px solid #d4e0e8}#result-summary{background:#eff8f5}#review h3{margin-top:24px}#review .point{padding:12px 16px;margin:10px 0;border-left:4px solid #b29143;background:#fff8e9}#review .earned{border-color:#218553;background:#eaf7ee}#review .missed{border-color:#b34835;background:#fff1ed}#review img{max-width:100%;height:auto}#review details{margin:18px 0}#review summary{font-weight:650;cursor:pointer}#retry,#back,#grading-status{margin:16px 24px}#notice:empty{display:none}#notice{position:relative;background:#fff1ce;padding:12px;margin-bottom:14px}dialog{border:1px solid #c3d4df;border-radius:12px;max-width:90vw;padding:24px}dialog::backdrop{background:#152b4580}#reference{width:1100px;height:88vh}.reference-heading{display:flex;justify-content:space-between;align-items:center}.reference-pages{height:calc(100% - 80px);overflow:auto}.reference-pages img{display:block;width:100%;height:auto}[hidden]{display:none!important}textarea:read-only{background:#f4f7f9}#grading-status{color:#536779}@media(max-width:900px){.exam-columns{grid-template-columns:1fr}#prompt,.response{max-height:none}#prompt{border-right:0;border-bottom:1px solid #d4e0e8}.exam-toolbar{flex-wrap:wrap;position:relative}.exam-bottom{flex-wrap:wrap;position:relative}main{padding:12px}#prompt,.response,#review{padding:16px}.timer-group{flex-wrap:wrap}#intro h1{font-size:30px}.question-heading{flex-wrap:wrap}}

@media(min-width:901px){.exam-columns{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.response{max-height:none;overflow:visible}#prompt{max-height:75vh;min-height:400px}.response textarea{min-height:60vh}.exam-bottom{position:relative}}
