/* Scoped to this template; shared card styles remain in the existing game.css. */
.osk-condition { overflow-wrap: anywhere; }
.osk-condition .osk-condition-intro { margin: 24px 0 36px; line-height: 1.9; }
.osk-condition .osk-condition-intro img { max-width: 100%; height: auto; }
.osk-condition .osk-condition-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.osk-condition .osk-condition-grid > * { min-width: 0; }
.osk-condition .osk-condition-notice { padding: 24px; background: #f8f6f9; border: 1px solid #e4dfe8; border-radius: 12px; }
.osk-condition .osk-condition-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; margin: 28px 0; }
.osk-condition .osk-condition-pagination a { display: inline-flex; justify-content: center; align-items: center; min-width: 64px; min-height: 48px; padding: 8px 16px; border: 1px solid #c9c2ce; border-radius: 8px; color: #76518b; }
.osk-condition .osk-condition-notice a { display: inline-flex; align-items: center; min-height: 44px; }
.osk-condition .osk-condition-pagination a:focus-visible, .osk-condition .osk-condition-notice a:focus-visible { outline: 3px solid #76518b; outline-offset: 3px; }
