/* Dictation */
.dt-preview { columns: 2; font-size: .9375rem; color: var(--ink2); margin: .5rem 0 0; }
.dt-rec ol { padding-left: 1.4em; display: grid; gap: .375rem; }
.dt-rec li { display: flex; flex-wrap: wrap; gap: .375rem .625rem; align-items: center; }
.dt-stage { display: grid; gap: 1.125rem; justify-items: center; width: min(94vw, 40rem); }
.dt-num { font: 600 clamp(2.75rem, 12vw, 5rem)/1 var(--f-m); }
.dt-ans { position: relative; width: 100%; display: grid; gap: .375rem; justify-items: center; }
.dt-input { width: 100%; font: 600 clamp(1.5rem, 6vw, 2.5rem)/1.3 var(--f-b), var(--cjk); text-align: center; border: 0; border-bottom: .1875rem solid var(--ink); background: #fff; padding: .625rem; border-radius: .625rem .625rem 0 0; color: var(--ink); }
.dt-input:focus { outline: none; background: #FFF6D8; }
.dt-fix { font-size: clamp(1.25rem, 5vw, 1.875rem); }
.dt-marks { width: min(94vw, 40rem); }
.dt-marks ol { display: grid; gap: .5rem; padding-left: 1.6em; }
.dt-marks li { display: flex; gap: .625rem; align-items: center; flex-wrap: wrap; font-size: 1.25rem; }
.dt-marks li span { flex: 1 1 12.5rem; }
.dt-marks .chip { min-width: 3.5rem; min-height: 3rem; font-size: 1.375rem; justify-content: center; }
.dt-key { font-size: 1.0625rem; }
@media print {
  .dt-sheet { list-style: none; margin: 0; padding: 0; display: grid; grid-template-rows: repeat(var(--n), 1fr); height: 100%; max-height: calc(var(--n) * 22mm); }
  .dt-sheet li { display: flex; align-items: center; gap: 4mm; border-bottom: .2mm solid #ddd; }
  .dt-sheet .no { font: 600 12pt "IBM Plex Mono", monospace; width: 8mm; text-align: right; }
  .dt-sheet .sqs { display: flex; }
  .dt-sheet .sqs i { width: min(11mm, calc((var(--pw) - 50mm) / var(--sq))); aspect-ratio: 1; border: .3mm solid #7F9AC2; margin-left: -.3mm; }
  .dt-sheet .line { flex: 1; border-bottom: .3mm solid #263049; height: 9mm; }
  .dt-sheet.key li { font-size: 14pt; }
}
