.rules-page { max-width: 960px; padding: 24px 16px 40px; }
.rules-page-card { padding: 24px; }
.rules-page-card h1 { margin-top: 0; }
[data-rules-reader] [hidden] { display: none !important; }
[data-rules-status] { color: var(--muted, #a8b8a5); margin: 12px 0; }
.rules-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; }
.rules-toolbar [data-rules-paging], .rules-toolbar [data-rules-zoom] { display: flex; align-items: center; gap: 8px; }
.rules-toolbar .btn { min-height: 44px; }
.rules-toolbar button { min-width: 44px; }
.rules-toolbar button:disabled { opacity: .4; cursor: default; }
[data-rules-count], [data-rules-scale] { white-space: nowrap; font-size: 14px; }
[data-rules-download] { margin-left: auto; }
.rules-document { overflow: auto; width: 100%; background: #fff; color: #111; border-radius: 10px; }
.rules-document canvas { display: block; margin: 0 auto; cursor: pointer; }
[data-rules-reader]:fullscreen { background: var(--bg, #0b100d); padding: 16px; overflow: auto; }
.rules-fs-fallback { position: fixed; inset: 0; z-index: 9999; background: var(--bg, #0b100d); padding: 16px; overflow: auto; }
body.rules-fs-lock { overflow: hidden; }
[data-rules-fs] { font-size: 16px; line-height: 1; }
.rules-plain, .rules-text-version pre { white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; line-height: 1.65; }
.rules-plain { padding: 20px; margin: 0; }
.rules-text-version { margin-top: 16px; }
.rules-text-version summary { cursor: pointer; padding: 12px 0; color: var(--lime, #c8f542); }
.rules-text-version pre { max-height: 60vh; overflow: auto; }
[data-rules-retry] { margin-top: 14px; }
@media (max-width: 600px) {
  .rules-page { padding: 16px 8px 28px; }
  .rules-page-card { padding: 16px 12px; }
  .rules-toolbar { gap: 8px; }
  [data-rules-download] { margin-left: 0; }
}
