  /* ── the heatmap ────────────────────────────────────────────────────── */
  .l1hm-lead{font-size:.86rem;color:#5a7796;line-height:1.6;margin:0 0 12px}
  .l1hm-empty{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:13px 15px;font-size:.86rem;color:#64748b;line-height:1.6;margin-bottom:14px}
  .l1hm-unit{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:12px}
  .l1hm-unit-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #eef2f6}
  .l1hm-unit-n{font-weight:700;font-size:.8rem;line-height:1;font-family:inherit;color:#334155;white-space:nowrap}
  .l1hm-unit-t{flex:1;font-size:.86rem;color:#1e293b;font-weight:600}
  .l1hm-pct{display:flex;align-items:center;gap:5px;font-weight:700;font-size:.82rem;white-space:nowrap;font-variant-numeric:tabular-nums}
  .l1hm-dot{width:9px;height:9px;border-radius:2px;display:inline-block;flex-shrink:0}
  .l1hm-lo{all:unset;display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;cursor:pointer;padding:9px 14px;border-bottom:1px solid #f1f5f9;font-size:.84rem}
  .l1hm-lo:hover{background:#f8fafc}
  .l1hm-lo:focus-visible{outline:3px solid #1565c0;outline-offset:-3px}
  .l1hm-caret{color:#94a3b8;width:11px;flex-shrink:0}
  .l1hm-lo-n{font:700 .75rem/1 ui-monospace,monospace;color:#64748b;width:30px;flex-shrink:0}
  .l1hm-lo-t{flex:1;color:#334155}
  .l1hm-ac{all:unset;display:flex;align-items:flex-start;gap:9px;width:100%;box-sizing:border-box;cursor:pointer;padding:8px 14px 8px 34px;border-bottom:1px solid #f8fafc;font-size:.8rem;background:#fcfdfe}
  .l1hm-ac:hover:not(.l1hm-off){background:#f1f5f9}
  .l1hm-ac:focus-visible{outline:3px solid #1565c0;outline-offset:-3px}
  .l1hm-ac.l1hm-off{cursor:default;opacity:.6}
  .l1hm-ac-n{font:700 .72rem/1.5 ui-monospace,monospace;color:#94a3b8;width:26px;flex-shrink:0}
  .l1hm-ac-t{flex:1;color:#1e293b;line-height:1.5}
  .l1hm-go{color:#cbd5e1;flex-shrink:0}
  .l1hm-note{font-size:.72rem;color:#94a3b8;white-space:nowrap}
  .l1hm-w{font-weight:700;font-size:.64rem;line-height:1;font-family:inherit;letter-spacing:.04em;text-transform:uppercase;color:#1565c0;background:#e8f0fb;border-radius:4px;padding:2px 5px;vertical-align:1px}
  /* the drill */
  .l1hm-drill{border:1px solid #e2e8f0;border-radius:10px;padding:15px 16px}
  .l1hm-back{background:none;border:none;color:#1565c0;font-weight:600;font-size:.84rem;font-family:inherit;cursor:pointer;padding:0;margin-bottom:10px}
  .l1hm-code{font:700 .72rem/1 ui-monospace,monospace;color:#94a3b8;margin:0 0 4px}
  .l1hm-title{margin:0 0 3px;font-size:1rem;line-height:1.4;color:#1e293b}
  .l1hm-count{margin:0 0 12px;font-size:.78rem;color:#64748b}
  .l1hm-q{margin:0 0 11px;font-weight:600;font-size:.95rem;line-height:1.5;font-family:inherit;color:#12243d}
  .l1hm-opts{display:grid;gap:7px}
  .l1hm-opt{text-align:left;background:#f7fafd;border:1.5px solid #cdd6e1;border-radius:8px;padding:10px 12px;font-weight:500;font-size:.86rem;line-height:1.45;font-family:inherit;color:#23415f;cursor:pointer}
  .l1hm-opt:hover:not(:disabled){border-color:#1565c0;background:#eef5fc}
  .l1hm-opt:focus-visible{outline:3px solid #1565c0;outline-offset:2px}
  .l1hm-opt:disabled{cursor:default}
  .l1hm-opt.right{border-color:#2e8b57;background:#eaf6ef;font-weight:600}
  .l1hm-opt.wrong{border-color:#c0392b;background:#fdeeec}
  .l1hm-fb{margin:11px 0 0;font-size:.86rem;line-height:1.6}
  .l1hm-fb.ok{color:#2e8b57}
  .l1hm-fb.no{color:#c0392b}
  .l1hm-next{margin-top:12px;background:#1565c0;border:1px solid #1565c0;color:#fff;border-radius:8px;padding:9px 18px;font-weight:600;font-size:.86rem;font-family:inherit;cursor:pointer}
  .l1hm-next:hover{background:#10529c}
  .l1hm-done{margin:0 0 4px;font-weight:700;font-size:1.3rem;line-height:1.2;font-family:inherit;color:#1e293b;font-variant-numeric:tabular-nums}
  @media(max-width:560px){
    .l1hm-lo-t,.l1hm-unit-t{font-size:.8rem}
    .l1hm-ac{padding-left:22px}
  }
