/* ===== 題庫頁專用樣式（搭配 style.css 使用） ===== */

/* 頂部工具列：展開/收合全部解答 + 難度圖例 */
.qtools{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:18px 0 6px;}
.qtools .toolbtn{font-family:var(--mono); font-size:12.5px; color:var(--ink-soft);
  background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:7px 13px; cursor:pointer;}
.qtools .toolbtn:hover{border-color:var(--accent); color:var(--accent);}
.difflegend{display:flex; flex-wrap:wrap; gap:8px; font-family:var(--mono); font-size:11.5px; color:var(--ink-faint); align-items:center;}
.difflegend .dot{width:9px; height:9px; border-radius:50%; display:inline-block; margin-right:4px; vertical-align:middle;}
.difflegend .l1 .dot{background:var(--good);} .difflegend .l2 .dot{background:var(--y2);} .difflegend .l3 .dot{background:var(--signal);}

/* 題組小節標題 */
.qgroup{font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; color:var(--ink-faint);
  margin:26px 0 6px; padding-bottom:6px; border-bottom:1px dashed var(--line);}

/* 單題卡片 */
.q{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent);
  border-radius:12px; box-shadow:var(--shadow); padding:15px 18px; margin:12px 0;}
.qhead{display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:9px;}
.qid{font-family:var(--mono); font-size:12.5px; font-weight:700; color:var(--accent);
  background:var(--accent-wash); border-radius:7px; padding:3px 9px;}
.qtopic{font-size:12px; color:var(--ink-faint);}
.diff{font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; padding:2px 9px; border-radius:20px; margin-left:auto;}
.diff.d1{color:var(--good); background:var(--good-wash);}
.diff.d2{color:var(--y2); background:var(--y2-wash);}
.diff.d3{color:var(--signal); background:var(--signal-wash);}
.qbody{font-size:15px; line-height:1.65;}
.qbody p{margin:0 0 8px;}
.qbody ol{margin:6px 0 4px; padding-left:22px;} .qbody ol li{margin:3px 0;}
.qbody .opts{list-style:none; padding:0; margin:8px 0 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:6px 14px;}
.qbody .opts li{font-size:14.5px;}

/* 可折疊解答 */
details.sol{margin-top:12px; border-top:1px dashed var(--line);}
details.sol > summary{cursor:pointer; font-family:var(--mono); font-size:12.5px; font-weight:700;
  color:var(--accent); padding:11px 0 0; list-style:none; user-select:none;}
details.sol > summary::-webkit-details-marker{display:none;}
details.sol > summary::before{content:"▸ 解答"; }
details.sol[open] > summary::before{content:"▾ 解答"; }
details.sol > summary span{display:none;}
details.sol .ans{margin-top:11px; background:var(--panel-2); border:1px solid var(--line);
  border-radius:10px; padding:13px 16px; font-size:14.5px; line-height:1.68;}
details.sol .ans p{margin:0 0 8px;} details.sol .ans p:last-child{margin-bottom:0;}
details.sol .ans .step{color:var(--ink-soft);}
.ans .final{display:inline-block; font-family:var(--mono); font-weight:700; color:var(--good);
  background:var(--good-wash); border-radius:8px; padding:4px 12px; margin-top:4px;}
.ans .final.wrong{color:var(--signal); background:var(--signal-wash);}

/* 內文小公式（行內） */
.m{font-family:var(--mono); background:var(--panel-2); border:1px solid var(--line);
  border-radius:6px; padding:1px 6px; font-size:.93em; white-space:nowrap;}
