/* All rules are scoped to the independent Mac practice dialog. */
.mac-practice {
  --accent:#234dcb; --accent-soft:#e4eafb; --line:#c8c7c1; --danger:#b82237; --raised:#fff;
  --text:#172035; --ink:#172035; --sunken:#14202e; color:var(--text); background:#f6f4ed; border:1px solid var(--line);
  padding:24px; width:min(1000px,calc(100vw - 48px)); max-width:100%; max-height:calc(100vh - 32px);
  box-sizing:border-box; border-radius:12px; font:18px/1.45 system-ui,sans-serif; overflow:auto;
}
.mac-practice::backdrop {background:rgba(14,22,46,.55)}
.mac-practice .practice-header {display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.mac-practice .practice-header h2 {font-size:clamp(24px,3vw,38px);line-height:1.15;margin:5px 0 16px}
.mac-practice .practice-caption {font:12px/1.5 ui-monospace,monospace;letter-spacing:.08em;color:var(--accent)}
.mac-practice .practice-tools {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mac-practice progress {width:100%;height:6px;accent-color:var(--accent)}
.mac-practice #macPractice-trainingPrompt {text-align:center;font-weight:650;font-size:clamp(20px,3vw,28px)}
.mac-practice #macPractice-arena {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;width:100%;min-height:240px;box-sizing:border-box}
.mac-practice #macPractice-trainingControls {display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.mac-practice button {font:inherit;color:var(--text);background:var(--raised);border:1px solid var(--line);border-radius:8px;padding:10px 16px;min-height:44px;cursor:pointer;box-sizing:border-box}
.mac-practice button.primary {background:var(--accent);color:#fff;border-color:var(--accent)}
.mac-practice button.danger {color:var(--danger);border-color:var(--danger)}
.mac-practice button:disabled {opacity:.5;cursor:default}
.mac-practice :focus-visible {outline:3px solid var(--accent);outline-offset:3px}
.mac-practice [hidden] {display:none!important}
.mac-practice .muted,.mac-practice #macPractice-trainingHint {color:#4d5262;font-size:15px;text-align:center}
.mac-practice #macPractice-saveStatus {font-size:16px;text-align:center;min-height:24px}
.mac-practice .adapt-stimulus {font-size:clamp(24px,4vw,54px);font-weight:650;text-align:center;white-space:pre-wrap;max-width:100%;line-height:1.35;margin:8px 0}
.mac-practice .adapt-instruction {font-size:clamp(17px,2vw,24px);line-height:1.5;white-space:pre-wrap;max-width:750px;text-align:center;overflow-wrap:anywhere}
.mac-practice .adapt-purpose {max-width:750px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:center}
.mac-practice .fixation {font-size:48px}
.mac-practice .detail-symbol {font-size:clamp(30px,4vw,54px);text-align:center}
.mac-practice .training-prompt {font-size:24px}
.mac-practice svg {max-width:100%;max-height:60vh;background:#111827}
.mac-practice :is(.adapt-grid,.protocol-grid,.adapt-board) {max-width:100%;gap:12px}
.mac-practice input:not([type=range]):not([type=checkbox]),.mac-practice textarea,.mac-practice select {font:inherit;color:var(--text);background:var(--raised);border:1px solid var(--line);border-radius:6px;padding:8px;box-sizing:border-box;max-width:100%}
.mac-practice input[type=range],.mac-practice input[type=checkbox] {accent-color:var(--accent)}
.mac-practice .practice-option {display:flex;align-items:center;gap:8px;font-size:17px}
.mac-practice .practice-assistance {width:min(650px,100%);font-size:15px}
.mac-practice .practice-assistance textarea {display:block;width:100%;margin-top:6px}
.mac-practice .adapt-text {width:min(650px,95%);min-height:160px;font-size:18px}
.mac-practice .pilot-field {display:flex;flex-direction:column;gap:6px;width:min(650px,100%)}
.mac-practice .practice-feedback {font-size:17px;overflow-wrap:anywhere;text-align:center}
@media (max-width:680px) {
  .mac-practice {width:calc(100vw - 16px);padding:14px}
  .mac-practice .practice-header {flex-direction:column}
  .mac-practice .practice-tools {width:100%;justify-content:flex-end}
}
@media (prefers-reduced-motion:reduce) {.mac-practice,.mac-practice * {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
