.drill-intro p{max-width:760px}.drill-focus{border:1px solid #d5dde1;border-radius:10px;padding:18px 22px;margin:18px 0 26px;background:#fbfcfc}.drill-focus h2{margin:0 0 10px;font-size:20px}.drill-focus ol{margin:0;padding-left:20px;display:grid;gap:10px}.drill-focus small{color:#5b676c}
.drill-groups{display:grid;grid-template-columns:1fr 1fr;gap:28px}.drill-groups h2{font-size:20px;margin:0 0 10px}.drill-type{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #e1e7ea;text-decoration:none;color:inherit}.drill-type:hover strong{text-decoration:underline}.drill-type span:first-child{display:flex;flex-direction:column;gap:2px}.drill-type small{color:#63777f;font-size:13px}
.drill-status{display:inline-block;font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;background:#eef2f4;color:#41525a;white-space:nowrap}.drill-status.is-weak{background:#fff0dc;color:#8a4b00}.drill-status.is-practising{background:#e5f0fb;color:#1d4f80}.drill-status.is-mastered{background:#e7f5ec;color:#1f6a40}.drill-status.is-improved{background:#d8f0e2;color:#14532d}.drill-status.is-on-target{background:#eef6ee;color:#2f5f3a}
.drill-summary{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border:1px solid #d5dde1;border-radius:10px;padding:18px 22px;margin-bottom:22px}.drill-summary>div:first-child{flex:1 1 320px}.drill-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.drill-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.drill-modes h2{font-size:18px;margin:0 0 4px}.drill-history{border-collapse:collapse;width:100%;max-width:560px}.drill-history th,.drill-history td{border-bottom:1px solid #e1e7ea;padding:8px 10px;text-align:left}
.drill-runner .drill-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f2f6f8;border:1px solid #d5dde1;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-weight:600}.drill-timer{font-variant-numeric:tabular-nums;font-size:18px}.drill-timer.is-low{color:#a31616}.drill-audio{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0 18px}.drill-runner [data-drill-check]{margin-top:10px}
.plan-focus{border:1px solid #d5dde1;border-radius:10px;padding:16px 20px;margin:18px 0}.plan-focus h2{font-size:19px;margin:0 0 6px}.plan-focus ul{margin:8px 0 10px;padding-left:20px;display:grid;gap:6px}
@media(max-width:700px){.drill-groups,.drill-modes{grid-template-columns:1fr}.drill-summary{padding:14px 16px}.drill-actions .btn{flex:1 1 auto;text-align:center}}
.drill-frame{border:1px solid #c9d4d9;border-radius:8px;padding:14px 18px;margin:16px 0 22px;background:#fbfcfc}.drill-frame h3{margin:0 0 10px;font-size:17px}.drill-frame p{margin:0 0 8px}.drill-gap{white-space:nowrap}.drill-frame-table{border-collapse:collapse;width:100%;font-size:15px}.drill-frame-table th,.drill-frame-table td{border:1px solid #d5dde1;padding:8px 10px;text-align:left;vertical-align:top}.drill-flow{list-style:none;padding:0;margin:0;display:grid;gap:22px;counter-reset:none}.drill-flow li{border:1px solid #c9d4d9;border-radius:6px;padding:10px 14px;background:#fff;position:relative}.drill-flow li+li:before{content:'↓';position:absolute;top:-21px;left:50%;color:#6b7c84}.drill-list{display:grid;gap:6px;margin:0}.drill-list div{display:flex;gap:10px}.drill-list dt{font-weight:700;min-width:28px}.drill-list dd{margin:0}
.drill-frame-table{table-layout:fixed}.drill-frame-table th,.drill-frame-table td{overflow-wrap:break-word}.drill-frame-table th:first-child{width:24%}.drill-frame-table .drill-gap{white-space:normal}
.drill-frame-table th,.drill-frame-table td{white-space:normal!important;word-break:normal}
@media(max-width:700px){.drill-frame-table{font-size:14px}.drill-frame-table thead{display:none}.drill-frame-table,.drill-frame-table tbody,.drill-frame-table tr,.drill-frame-table th,.drill-frame-table td{display:block;width:auto!important}.drill-frame-table tr{border:1px solid #d5dde1;border-radius:6px;margin-bottom:10px;background:#fff}.drill-frame-table th,.drill-frame-table td{border:0;border-bottom:1px solid #eef2f4}.drill-frame-table td:before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:#5b676c}}

/* Map and plan labelling: letters in one wrapping row */
.letter-choices{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.letter-choices .radio-option{margin:0;padding:9px 14px;min-width:56px;justify-content:center}
.drill-strategy{border-left:4px solid #2147d7;background:#f3f6ff;border-radius:0 8px 8px 0;padding:12px 16px;margin:14px 0 18px}.drill-strategy[hidden]{display:none}.drill-strategy h3{margin:0 0 6px;font-size:16px}.drill-strategy ul{margin:0;padding-left:20px;display:grid;gap:4px}.drill-paraphrase,.drill-trap{margin-top:8px!important;font-size:15px}
.drill-runner .feedback blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid #87adc6;background:#f4f8fa;font-size:15px}
