/* Modern Lightweight Reset (2025)
   - 最小限で壊しにくい
   - アクセシビリティ配慮（フォーカスリング維持）
   - 現代ブラウザ向け
*/

/* 1) ボックスモデルを統一 */
*, *::before, *::after { box-sizing: border-box; }

/* 2) 余白の初期化（必要最小限） */
* { margin: 0; }

/* 3) タイポグラフィの土台 */
html { -webkit-text-size-adjust: 100%; }
body {
  min-height: 100dvh;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* 4) 画像/メディアを親幅に収める（表示の安定化） */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 5) フォームの見た目を継承（サイズ・フォントのバラつきを軽減） */
input, button, textarea, select {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}

/* iOS/Safariのボタン・入力の極端な装飾を弱めたい場合は必要に応じて：
   button, input[type="button"], input[type="submit"], input[type="reset"] { -webkit-appearance: button; } */

/* 6) アクセシビリティ重視のフォーカスリング（明示可視） */
:focus-visible {
  outline: 2px solid Highlight;
  outline-offset: 2px;
}
/* ダークテーマなどで見えにくい場合は必要に応じて色を上書き：
   :focus-visible { outline-color: #0b5fff; } */

/* 7) ナビゲーションのリストだけマーカーを消す（通常の文章リストは保持） */
menu, nav ul, nav ol { list-style: none; padding-left: 0; }

/* 8) テーブルの初期化（セル間の隙間をデフォで無効） */
table { border-collapse: collapse; border-spacing: 0; }

/* 9) 水平線の簡易初期化（テーマに合わせて色は任意で上書き） */
hr {
  height: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

/* 10) 省略時のテキストデコレーションを自然に（リンクの下線切れ対策） */
a { text-decoration-skip-ink: auto; color: inherit; }

/* 11) コード系フォントは環境に合わせて自然に */
code, kbd, samp, pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.95em;
}

/* 12) 動きが苦手なユーザーへの配慮（アニメ・スクロールを静かに） */
@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;
  }
}

/* 13) 見出しの過剰リセットは避ける（必要ならプロジェクト側で設定）
   例：:where(h1,h2,h3,h4,h5,h6){font-weight:inherit;font-size:inherit;} */
