html, body { margin:0; height:100%; background:#0b1430; color:#fff; font-family:"Noto Sans TC", system-ui, sans-serif; }
body.game { overflow:hidden; }
canvas { display:block; touch-action:none; }

#overlay { position:fixed; left:0; right:0; bottom:0; padding:12px 12px 16px; display:flex; gap:10px; justify-content:center; align-items:center; flex-wrap:wrap; background:linear-gradient(transparent, rgba(0,0,0,.65)); }
#overlay button { font:inherit; font-size:17px; padding:12px 20px; border-radius:14px; border:0; background:#2dd4bf; color:#06231f; cursor:pointer; font-weight:700; }
#overlay button.alt { background:#a78bfa; color:#1e0b4b; }
#overlay button:disabled { background:#475569; color:#cbd5e1; cursor:not-allowed; }
#overlay .link { color:#a5f3fc; font-size:15px; padding:8px 12px; }
#status { width:100%; text-align:center; font-size:13px; opacity:.9; min-height:1em; }
#hint { position:fixed; top:10px; left:50%; transform:translateX(-50%); font-size:13px; background:rgba(0,0,0,.55); padding:6px 14px; border-radius:999px; white-space:nowrap; pointer-events:none; }
#loading { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; font-size:22px; background:#0b1430; }

/* ---------- 教師後台 ---------- */
.teacher { max-width:1100px; margin:0 auto; padding:24px 20px 60px; }
.teacher h1 { font-size:28px; margin:0 0 4px; }
.teacher .sub { color:#9fb3d9; margin:0 0 24px; }
.teacher .card { background:#132552; border:1px solid #2dd4bf55; border-radius:16px; padding:18px 20px; margin-bottom:18px; }
.teacher h2 { font-size:20px; margin:0 0 12px; color:#2dd4bf; }
.teacher table { width:100%; border-collapse:collapse; font-size:15px; }
.teacher th, .teacher td { text-align:left; padding:9px 10px; border-bottom:1px solid #ffffff1a; }
.teacher th { color:#9fb3d9; font-weight:700; }
.teacher .stars { color:#fbbf24; letter-spacing:2px; }
.teacher button { font:inherit; font-size:15px; padding:9px 16px; border-radius:10px; border:0; background:#2dd4bf; color:#06231f; font-weight:700; cursor:pointer; margin-right:8px; }
.teacher button.danger { background:#f87171; color:#450a0a; }
.teacher button.ghost { background:#334155; color:#e2e8f0; }
.teacher label { display:flex; gap:10px; align-items:center; margin:8px 0; }
.teacher textarea { width:100%; min-height:120px; background:#0b1430; color:#e8f0ff; border:1px solid #334155; border-radius:10px; padding:10px; font-family:ui-monospace, monospace; font-size:13px; box-sizing:border-box; }
.teacher .empty { color:#9fb3d9; padding:10px 0; }
.teacher .note { color:#9fb3d9; font-size:14px; line-height:1.6; }
