/* Scoped to BlockTests: does not restyle flashcards, their images, or SRS dialogs. */
.block-tests{margin-top:24px;overflow-wrap:anywhere}
.block-tests>.section-head{align-items:flex-start;flex-wrap:wrap}
.block-tests>.section-head h2{margin:0}
.block-tests>p{margin:12px 0}
.block-tests .notice{margin-top:16px}
.block-tests .notice button{margin-top:12px}
.block-test-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:22px 0 12px}
.block-test-controls label{flex:1;min-width:220px}
.block-test-selected{padding:18px 0;margin-top:18px;border-top:1px solid var(--line)}
.block-test-scores{display:grid;grid-template-columns:minmax(80px,1fr) minmax(80px,1fr) minmax(160px,2fr);gap:12px;margin:14px 0}
.block-test-scores>div{min-width:0}
.block-test-scores dt{font-size:.8rem;color:var(--muted)}
.block-test-scores dd{margin:4px 0 0;font-weight:650;font-size:.94rem}
.block-test-level,.block-test-history{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.block-tests summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}
.block-tests summary:focus-visible{outline:3px solid #2d92c7;outline-offset:3px}
.block-test-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.block-test-row{border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0;background:#f8fafc}
.block-test-row-title{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:center}
.block-test-row h4{margin:0;font-size:1rem}
.block-test-row .block-test-scores{grid-template-columns:1fr 1fr}
.block-test-row .block-test-scores>div:last-child{grid-column:1/-1}
.block-test-recent{list-style:none;padding:0;margin:12px 0}
.block-test-recent>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.block-test-recent>li>div{min-width:0}
.block-test-recent time{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}
.block-test-recent p{margin:5px 0;font-size:.94rem}
.block-tests button,.block-tests select,#block-tests-dialog button{min-height:44px;min-width:44px;max-width:100%}
#block-tests-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}
#block-tests-dialog::backdrop{background:#102d46a1}
#block-tests-dialog .dialog-head{align-items:flex-start}
#block-tests-dialog .dialog-head>div{min-width:0;overflow-wrap:anywhere}
#block-tests-dialog .icon-button{flex-shrink:0}
#block-test-title:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.block-test-body{padding:24px;overflow-wrap:anywhere;min-width:0}
.block-test-body>.primary,.block-test-body>.secondary{margin:8px 8px 0 0}
.block-test-progress{font-size:.9rem;color:var(--muted);margin-bottom:18px}
.block-test-progress progress{height:9px;margin-top:10px}
.block-test-question{text-align:center}
.block-test-hanzi{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:clamp(2.6rem,10vw,4.8rem);line-height:1.4;margin:14px 0;color:var(--brand);overflow-wrap:anywhere}
.block-test-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.block-test-choice{display:flex;align-items:center;gap:12px;text-align:left;min-height:64px!important;padding:14px;border:1px solid #bccfda;border-radius:10px;background:white;color:var(--ink);overflow-wrap:anywhere}
.block-test-choice>span:last-child{min-width:0}
.block-test-key{flex-shrink:0;padding:3px 7px;border-radius:5px;background:#edf2f6;font-size:.8rem}
.block-test-feedback{border:1px solid var(--line);border-radius:10px;background:#f1f7f5;padding:18px;margin-bottom:20px}
.block-test-feedback h3.correct{color:#08745f}
.block-test-feedback h3.incorrect{color:#a33927}
.block-test-feedback h4,.block-test-mistakes h4{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:1.8rem;line-height:1.4;margin:14px 0 6px}
.block-test-pinyin{color:#08745f;font-size:1.15rem}
.block-test-comparison{margin:16px 0 0;display:grid;gap:10px}
.block-test-comparison dt{font-size:.8rem;color:var(--muted)}
.block-test-comparison dd{margin:4px 0 0;font-weight:600;white-space:pre-wrap}
.block-test-example{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:.94rem}
.block-test-example [lang]{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:1.35rem;line-height:1.6}
.block-test-next{width:100%;min-height:48px!important}
.block-test-finished{display:grid;gap:16px}
.block-test-finished>h3{font-size:1.6rem}
.block-test-mistakes{margin-top:20px}
.block-test-mistakes article{border-top:1px solid var(--line);padding:14px 0;margin-top:12px}
.block-test-readonly{padding:16px;border-radius:8px;background:#edf2f7}
.block-test-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.block-test-footer p{font-size:.78rem}
@media(max-width:760px){
  .block-test-controls{align-items:stretch;gap:10px}
  .block-test-controls label{min-width:100%}
  .block-test-controls>button{flex:1 1 180px}
  .block-test-rows{grid-template-columns:1fr}
  .block-test-scores{grid-template-columns:1fr 1fr}
  .block-test-scores>div:last-child{grid-column:1/-1}
  .block-test-recent>li{align-items:flex-start;flex-direction:column}
  .block-test-row .button-row>button{flex:1 1 auto}
  #block-tests-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}
  #block-tests-dialog .dialog-head{position:static;padding:16px}
  #block-tests-dialog .dialog-head h2{font-size:1.06rem}
  .block-test-body{padding:18px 16px}
  .block-test-choices{grid-template-columns:1fr;gap:9px;margin-top:16px}
  .block-test-choice{min-height:56px!important;padding:12px}
  .block-test-feedback{padding:14px}
  .block-test-footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
  .block-test-footer>button{width:100%}
}
