/* Final shared candidate theme. Load after adapter styles; adapters own layout and exam rules. */
@import url('/design-tokens.css');

html:root,html:root body{background:var(--surface-page);color:var(--text-body);font:400 16px/1.55 var(--font-body)}
html body .candidate-start-panel,html body .candidate-equipment,html body .candidate-assessment,html body .candidate-result{font-family:var(--font-body);color:var(--text-body)}
html:root body :is(button,a,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--action)!important;outline-offset:3px!important}
html body .candidate-start-panel :is(.notice,.sw-callout){padding:12px 14px;background:var(--surface-muted);border:1px solid var(--surface-border);border-left:3px solid var(--status-warning);border-radius:var(--radius-control);color:var(--text-body)}
html body :is(.primary,.sw-button.primary,[data-equipment-start],.candidate-submit-actions .primary){color:var(--action-text)!important}
html body :is(button.danger:not(.menu-action),a.danger:not(.menu-action),.btn-danger,.button-danger){background:var(--status-error);color:var(--surface-page)}
html body .candidate-start-panel h1,html body .candidate-start-panel h2{color:var(--text-strong);font-family:var(--font-body)}
@media(prefers-reduced-motion:reduce){html body *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Skill/section navigation shares one visual state contract; adapters keep the navigation rules. */
html body :is(#task-tabs,#part-tabs,#section-tabs-container,.tf-section-tabs,.tf-item-nav,.sw-task-nav) button,html body button:is([data-action="switchSubject"],[data-action="switchSection"]){min-height:44px;padding:9px 14px;border:1px solid var(--surface-border);background:var(--surface-panel);color:var(--text-body);font:600 14px/1.3 var(--font-body)}
html body :is(#task-tabs,#part-tabs,#section-tabs-container,.tf-section-tabs,.tf-item-nav,.sw-task-nav) button:is(.active,[aria-current="true"],[aria-pressed="true"]),html body button:is([data-action="switchSubject"],[data-action="switchSection"])[aria-pressed="true"]{border-color:var(--action);background:var(--surface-selected);color:var(--text-strong)!important}
html body :is(#task-tabs,#part-tabs,#section-tabs-container,.tf-section-tabs,.tf-item-nav,.sw-task-nav) button:disabled,html body button:is([data-action="switchSubject"],[data-action="switchSection"]):disabled{cursor:not-allowed;opacity:.62}
html body #next-btn{min-height:44px;border:1px solid var(--action);background:var(--action);color:var(--action-text);font:650 14px/1.3 var(--font-body);box-shadow:none}

html body :is([data-timer-scope],#timer,#timer-display,.sw-timer,.tf-timer){color:var(--text-strong);font:700 clamp(16px,2vw,20px)/1.2 ui-monospace,monospace;font-variant-numeric:tabular-nums}
