/* Watch page objects (loaded after task.css by /watch only). */
.task-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.task-bench-slot { display: grid; gap: 20px; }
.task-bench-slot > .notice { margin: 0; }
.task-topics { display: grid; }
.task-topic { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 32px; align-items: center; padding: 22px 0; border-top: 1px solid var(--border); }
.task-topic-head { display: grid; gap: 6px; }
.task-topic-head h3 { margin: 0; font: 600 18px/1.4 var(--font-sans); color: var(--text); }
.task-topic-state { display: flex; align-items: center; gap: 8px; margin: 0; font: 600 11px/1.3 var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-3); }
.task-toggles { display: grid; gap: 8px; justify-items: end; }
.task-toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 240px; font: 400 14px/1.4 var(--font-sans); color: var(--text-2); cursor: pointer; }
.task-toggle input { appearance: none; width: 18px; height: 18px; margin: 0 0 0 auto; border: 1px solid var(--border-strong); background: transparent; display: grid; place-content: center; cursor: pointer; }
.task-toggle input:checked { border-color: var(--accent); background: var(--accent); }
.task-toggle input:checked::after { content: ''; width: 8px; height: 4px; margin-top: -2px; border-left: 2px solid var(--bg); border-bottom: 2px solid var(--bg); transform: rotate(-45deg); }
.task-toggle input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.task-toggle input:disabled { cursor: not-allowed; opacity: 0.5; }
.task-toggle-state { width: 28px; font: 600 11px/1 var(--font-mono); letter-spacing: 0.1em; color: var(--text-3); }
.task-toggle-state::after { content: 'OFF'; }
.task-toggle input:checked ~ .task-toggle-state::after { content: 'ON'; color: var(--text); }
.task-topic > button.link { grid-column: 1 / -1; justify-self: start; padding: 0; }
.task-levels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; }
.task-option { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid var(--border-strong); cursor: pointer; position: relative; }
.task-option input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.task-option:has(input:checked) { border-color: var(--text); box-shadow: inset 0 -2px 0 var(--accent); }
.task-option:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.task-option:has(input:disabled) { opacity: 0.5; cursor: not-allowed; }
.task-option-title { font: 600 12px/1.3 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--text); }
.task-option-line { font: 400 15px/1.4 var(--font-sans); color: var(--text-2); }
.task-option-meta { font: 400 12px/1.4 var(--font-mono); letter-spacing: 0.04em; color: var(--text-3); }

@media (max-width: 720px) {
  .task-topic { grid-template-columns: 1fr; }
  .task-toggles { justify-items: stretch; }
  .task-toggle { min-width: 0; }
  .task-levels { grid-template-columns: 1fr; }
}
