/* P5: 層と責務ごとのスタイル。画面の同一性は算出スタイルで検証する。 */
@layer utilities {
.skip { position: absolute; top: -100px; left: 24px; background: var(--white); padding: 10px; z-index: 10; }
.skip:focus { top: 10px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
[hidden], html.is-handheld .pc-only { display: none !important; }
.button:disabled { background: var(--nc-200); border-color: var(--nc-200); color: var(--nc-600); cursor: not-allowed; }
button:disabled { opacity: 0.65; background: var(--nc-200); border-color: var(--nc-200); color: var(--nc-600); cursor: not-allowed; }
.result-next[hidden], .person-delete-confirm[hidden], .reading-toc[hidden] { display: none; }
.member-card summary { color: var(--brand-ink); }
/* 入力誤りの枠色。utilities 層は components・pages より後なので !important なしで勝つ */
[aria-invalid="true"] { border-color: var(--fn-error); }
/* 回答ボタンの問い：鑑定本文の段落の余白（pages 層）を受けず、ボタンと一行に並べる（2026-10-03） */
.section-feedback .section-feedback-q { margin: 0; font-size: 0.875rem; line-height: 1.6; }
}
@layer utilities {
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition: none !important; }
}
}
@layer utilities {
.news-body .column-figure { margin: 2em 0 !important; }
.luck-wave { margin: 20px 0 8px !important; }
}
