/**
 * 无障碍访问增强样式 (v1.2.0 · 3.2)
 *
 * 提供：
 *  - 全局 :focus-visible 高对比焦点轮廓（键盘导航可见，鼠标点击不干扰）
 *  - 表单 :focus-within 可见反馈
 *  - prefers-reduced-motion 时关闭主题动画/过渡/平滑滚动
 *  - 焦点色随深色模式自动切换
 */

/* ============================================================
 * 1. 焦点可见性 (WCAG 2.4.7 / 2.4.11)
 * ============================================================ */

/* 默认对键盘焦点使用 2px 高对比轮廓，避免鼠标点击时出现多余轮廓 */
:focus-visible {
    outline: 3px solid var(--primary-color, #ff6f91);
    outline-offset: 2px;
    border-radius: 6px;
    box-shadow: 0 0 0 5px rgba(255, 111, 145, 0.3);
}

/* 兜底：老浏览器不支持 :focus-visible 时，保证聚焦仍有可见反馈 */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
[tabindex]:focus {
    outline: 3px solid var(--primary-color, #ff6f91);
    outline-offset: 2px;
}

/* 去除浏览器默认的细轮廓，由上面的高对比轮廓接管 */
:focus:not(:focus-visible) {
    outline: none;
}

/* 深色模式下提高焦点轮廓对比度 */
:root[data-theme="dark"] :focus-visible,
:root[data-theme="dark"] a:focus,
:root[data-theme="dark"] button:focus,
:root[data-theme="dark"] input:focus,
:root[data-theme="dark"] textarea:focus,
:root[data-theme="dark"] select:focus,
:root[data-theme="dark"] [tabindex]:focus {
    outline-color: #ffd166;
    box-shadow: 0 0 0 5px rgba(255, 209, 102, 0.35);
}

/* ============================================================
 * 2. 表单聚焦反馈
 * ============================================================ */

.candy-input:focus-visible,
.candy-textarea:focus-visible,
.search-field:focus-visible {
    border-color: var(--primary-color, #ff6f91);
    box-shadow: 0 0 0 4px rgba(255, 111, 145, 0.25);
}

.comment-form-author:focus-within,
.comment-form-email:focus-within,
.comment-form-url:focus-within,
.comment-form-comment:focus-within,
.form-submit:focus-within {
    border-radius: 12px;
}

/* ============================================================
 * 3. 尊重用户的「减少动态效果」系统设置
 *    (WCAG 2.3.3 / prefers-reduced-motion)
 * ============================================================ */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }

    /* 关闭装饰性动画的无限循环（彩旗、气泡浮动、头像旋转等） */
    .candy-bunting span,
    .welcome-bubble,
    .bubble-avatar,
    .speech-tail,
    .site-logo img {
        animation: none !important;
    }
}
