/* Viz Magic — Accessibility: High Contrast, Reduced Motion */

/* High contrast mode */
@media (forced-colors: active) {
    .btn { border: 2px solid ButtonText; }
    .progress-fill { forced-color-adjust: none; }
    .class-card.selected { border: 3px solid Highlight; }
    .creature-card.selected { border: 3px solid Highlight; }
    .spell-btn.selected { border: 3px solid Highlight; }
}

[data-theme="high-contrast"] {
    --color-bg: #000000;
    --color-surface: #1a1a1a;
    --color-surface-2: #2a2a2a;
    --color-text: #ffffff;
    --color-text-muted: #cccccc;
    --color-primary: #ffdd00;
    --color-primary-glow: rgba(255, 221, 0, 0.4);
    --color-accent: #00ddff;
    --color-success: #00ff66;
    --color-error: #ff4444;
    --color-warning: #ffaa00;
    --color-border: #666666;
}

[data-theme="high-contrast"] .btn-primary { color: #000; font-weight: 700; }
[data-theme="high-contrast"] .progress-bar { border: 2px solid var(--color-border); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .toast { transition: none; }
    .progress-fill { transition: none; }
    .btn-glow { box-shadow: none; border: 2px solid var(--color-primary); }
}

/* Focus visible for keyboard navigation */
*:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
*:focus:not(:focus-visible) { outline: none; }

/* Minimum text size for readability */
@media (min-resolution: 2dppx) {
    html { font-size: max(16px, 1rem); }
}
