/* 監査と証跡。style.css・flow.css・fm.css の上に重ねる（接頭辞 ad-。○ は緑、△ は琥珀、✕ は赤） */
.ad-lead { margin: 0 0 10px; font-size: 13px; color: var(--ink2); max-width: 64em; }
.ad-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 10px 0; }
.ad-score { font-size: 13.5px; color: var(--ink2); }
.ad-score b { font-family: var(--latin); }
p.ad-score { margin: 10px 0; }
.ad-judge { display: block; margin: 8px 0 0; font-size: 13px; font-weight: 700; border-radius: 8px; padding: 7px 10px; }
.ad-judge.ok { background: #f0fdf4; color: #14532d; }
.ad-judge.ng { background: #fef2f2; color: #7f1d1d; }
.ad-judge.mid { background: #fffbeb; color: #78350f; }
.ad-ok { font-weight: 700; color: #15803d; white-space: nowrap; }
.ad-ng { font-weight: 700; color: #b91c1c; white-space: nowrap; }

/* 種類と期間の切り替え（左にボタン、右に中身） */
.ad-kinds { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 10px; align-items: start; margin-bottom: 10px; }
.ad-klist { display: grid; gap: 6px; }
.ad-kbtn { appearance: none; font: inherit; text-align: left; cursor: pointer; border: 1px solid var(--line); background: var(--paper); border-radius: 10px; padding: 8px 11px; color: var(--ink); display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ad-kbtn b { font-size: 13.5px; }
.ad-kbtn small { font-size: 11.5px; color: var(--muted); }
.ad-kbtn:hover { border-color: #94a3b8; }
.ad-kbtn[aria-pressed="true"] { background: #0f172a; border-color: #0f172a; color: #fff; }
.ad-kbtn[aria-pressed="true"] small { color: #cbd5e1; }
.ad-info { padding: 12px 14px; min-width: 0; }
.ad-info h3 { margin: 0 0 6px; font-size: 16px; }
.ad-dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 12px; font-size: 13px; }
.ad-dl dt { font-size: 12px; font-weight: 700; color: var(--muted); max-width: 9em; }
.ad-dl dd { margin: 0; color: var(--ink2); overflow-wrap: anywhere; }

/* ログの行の練習 */
.ad-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ad-line { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ad-lno { margin: 0; font-size: 12px; font-weight: 700; color: var(--muted); }
.ad-log { display: block; background: #0f172a; color: #e2e8f0; border-radius: 8px; padding: 8px 10px; font: 500 12px/1.6 var(--latin); white-space: pre-wrap; overflow-wrap: anywhere; }
.ad-line .pills .pill { font-size: 12px; padding: 4px 10px; }

/* ハッシュの鎖 */
.ad-chain { padding: 12px 14px; }
.ad-ctable { min-width: 640px; }
.ad-ctable td.n { font-family: var(--latin); color: var(--muted); }
.ad-ctable td.h code, .ad-anchor code { font: 600 12px var(--latin); background: var(--line2); border-radius: 5px; padding: 0 5px; }
.fm-table.ad-ctable tr.bad td { background: #fef2f2; }
.ad-anchor { margin-top: 8px; }
.ad-anchor p { margin: 0; font-size: 13px; color: var(--ink2); overflow-wrap: anywhere; }
.ad-anchor .ad-judge { margin-top: 8px; }

/* 時刻の並べ直し */
.ad-tl { padding: 12px 14px; }
.ad-events { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ad-events li { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 4px 12px; align-items: start; border: 1px solid var(--line); border-left: 4px solid #94a3b8; border-radius: 10px; padding: 8px 10px; background: var(--paper); font-size: 13px; }
.ad-events li.off { border-left-color: #f59e0b; background: #fffbeb; }
.ad-t { font: 700 15px/1.3 var(--latin); color: var(--ink); display: flex; flex-direction: column; }
.ad-t small { font: 500 10.5px var(--sans); color: var(--muted); }
.ad-e { color: var(--ink2); min-width: 0; }
.ad-e b { display: block; font-size: 13px; color: var(--ink); }
.ad-e small { display: block; font-size: 11.5px; color: var(--muted); overflow-wrap: anywhere; }
.ad-e code { font: 600 11.5px var(--latin); background: var(--line2); border-radius: 5px; padding: 0 4px; }
.ad-verdict { margin: 8px 0 0; }

/* 技法の表と、問いの練習 */
.ad-tech { min-width: 760px; }
.ad-tech th[scope="row"] { white-space: nowrap; }
.ad-quiz { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 4px; }
.ad-q { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ad-qq, .ad-sn { margin: 0; font-size: 14px; font-weight: 700; display: flex; gap: 8px; align-items: flex-start; }
.ad-qq i, .ad-sn i { font-style: normal; flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 600 11.5px var(--latin); background: #0f172a; color: #fff; margin-top: 1px; }
.ad-opts { display: grid; gap: 5px; }
.ad-opt { appearance: none; font: inherit; font-size: 13px; text-align: left; cursor: pointer; border: 1px solid var(--line); background: var(--paper); border-radius: 10px; padding: 7px 10px; color: var(--ink); }
.ad-opt:hover { border-color: #94a3b8; }
.ad-opt[aria-pressed="true"] { background: #0f172a; border-color: #0f172a; color: #fff; }
.ad-q .srcl, .ad-step .srcl { margin-top: 4px; }

/* 指摘の直し方の練習 */
.ad-fix { padding: 12px 14px; }
.ad-case { margin: 0 0 10px; font-size: 13.5px; color: var(--ink2); background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 8px 12px; }
.ad-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.ad-step { display: flex; flex-direction: column; gap: 6px; min-width: 0; }

/* 台帳 */
.ad-cols { min-width: 620px; }
.ad-rows { min-width: 760px; }
.ad-rows td.t { font-family: var(--latin); font-size: 12px; white-space: nowrap; }
.ad-frows { min-width: 1100px; }

.ad-kbtn:focus-visible, .ad-opt:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
@media (max-width: 1100px) {
  .ad-kinds { grid-template-columns: minmax(0, 1fr); }
  .ad-klist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ad-lines, .ad-quiz, .ad-steps, .ad-klist { grid-template-columns: minmax(0, 1fr); }
  .ad-events li { grid-template-columns: minmax(0, 1fr); }
  .ad-dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ad-dl dd { margin-bottom: 6px; }
  .ad-ctable { min-width: 0; }
  .ad-ctable td.h code { white-space: nowrap; }
}
