/* ============================================================
   a11y.css
   フォーカス・モーション削減
   ============================================================ */

@layer a11y {
  :focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
    border-radius: var(--r-sm);
  }

  /* スキップリンク */
  .a11y-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100;
    padding: var(--sp-3) var(--sp-4);
    background: var(--c-text);
    color: var(--c-action-on);
    text-decoration: none;
  }
  .a11y-skip:focus {
    left: var(--sp-4);
    top: var(--sp-4);
  }

  /* スクリーンリーダー専用 */
  .a11y-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  /* モーション削減対応(唯一の !important 例外) */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
}
