textarea { width:100%; padding:9px; border:1px solid var(--line); border-radius:8px; font-size:14px; font-family:inherit; min-height:70px; }
.scroll { overflow-x:auto; }
.hide { display:none !important; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:560px){ .row2 { grid-template-columns:1fr; } }
.opt { display:grid; grid-template-columns:auto 1fr 1fr; gap:8px; align-items:center; margin-top:6px; }
@media (max-width:560px){ .opt { grid-template-columns:auto 1fr; } .opt input:nth-child(3){ grid-column:2; } }
.opt input[type=radio], .radios input[type=radio] { width:20px; height:20px; }
.radios label { display:inline-flex; gap:6px; align-items:center; margin-inline-end:18px; }
.tag { font-size:12px; padding:2px 8px; border-radius:20px; background:var(--sky-100); color:var(--navy-800); white-space:nowrap; }
.ok { color:var(--ok); font-weight:700; } .bad { color:#b3392f; font-weight:600; }
.code { font-family:Consolas, monospace; font-size:16px; letter-spacing:2px; font-weight:700; direction:ltr; unicode-bidi:isolate; }
.pick { display:grid; grid-template-columns:auto 1fr 70px; gap:8px; align-items:center; padding:7px 0; border-bottom:1px solid var(--line); }
.pick input[type=number] { padding:5px; }
.pickbox { max-height:340px; overflow-y:auto; border:1px solid var(--line); border-radius:8px; padding:4px 10px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; } .filters > * { flex:1; min-width:140px; }
.qimg { max-width:100%; max-height:260px; border-radius:8px; border:1px solid var(--line); margin:8px 0; }
.thumb { max-height:44px; border-radius:4px; vertical-align:middle; }
.err { background:#fde8e6; border:1px solid #e4a9a3; padding:10px 12px; border-radius:8px; margin-bottom:14px; }
button:disabled { opacity:.5; cursor:not-allowed; }
dialog.wide { max-width:760px; max-height:88vh; overflow-y:auto; }
/* student page */
.timerbar { position:sticky; top:0; z-index:5; background:#fff; border-bottom:2px solid var(--green); padding:10px 16px; display:flex; justify-content:space-between; align-items:center; font-weight:700; }
.timerbar .time { font-size:22px; font-family:Consolas, monospace; direction:ltr; }
.timerbar.warn { background:#fde8e6; border-color:#b3392f; color:#b3392f; }
.qcard { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px; margin-bottom:14px; }
.qcard h4 { margin:0 0 8px; font-size:16px; line-height:1.6; }
.qnum { color:var(--green); }
.choice { display:flex; gap:10px; align-items:center; padding:11px 12px; border:1px solid var(--line); border-radius:10px; margin-top:8px; cursor:pointer; margin-bottom:0; font-size:15px; }
.choice input { width:20px; height:20px; margin:0; }
.choice.on { border-color:var(--green); background:var(--sky-100); }
.center { max-width:420px; margin:30px auto; }
.bigscore { font-size:34px; font-weight:700; color:var(--green); text-align:center; margin:14px 0; }
