/* Namespaced rules never resize the existing header, wheel or bottom navigation. */
.cms-copy { white-space: pre-line; overflow-wrap: anywhere; }
.cms-art { padding: 0; overflow: hidden; }
.cms-no-cover { grid-template-columns: minmax(0, 1fr); }
.cms-card-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.cms-home-cover { height: 180px; overflow: hidden; border-radius: 16px; margin-bottom: 12px; }
.cms-buttons { display: grid; gap: 10px; margin-top: 12px; }
.cms-buttons:empty { display: none; }
.cms-link { display: block; text-decoration: none; text-align: center; overflow-wrap: anywhere; }
.cms-report { min-width: 0; text-align: left; }
.cms-cover { overflow: hidden; }
.cms-cover img { width: 100%; height: 100%; object-fit: contain; display: block; background: #101017; }
.cms-report-summary { margin: 8px 0 0; color: var(--muted); font-size: 18px; white-space: pre-line; }
.cms-pin { position: absolute; right: 14px; top: 10px; color: var(--accent-2); font: 26px sans-serif; }
body.cms-dialog-open { overflow: hidden; }
dialog.cms-dialog { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100vw - 28px)); max-width: calc(100vw - 28px); max-height: calc(100dvh - 40px); padding: 52px 0 0; box-sizing: border-box; color: var(--text); background: #121219; border: 1px solid #ffffff14; border-radius: 24px; overflow: hidden; }
.cms-dialog::backdrop { background: #050208bb; backdrop-filter: blur(4px); }
.cms-dialog-body { overflow: auto; max-height: calc(100dvh - 94px); padding: 0 20px 20px; display: grid; gap: 16px; overscroll-behavior: contain; }
.cms-dialog .cms-close, .cms-dialog .cms-arrow { appearance: none; display: grid; place-items: center; box-sizing: border-box; padding: 0; margin: 0; width: 38px; min-width: 38px; max-width: 38px; height: 38px; min-height: 38px; flex: 0 0 38px; border: 1px solid #ffffff30; border-radius: 50%; background: #23232e; color: #fff; font: 24px/1 sans-serif; letter-spacing: 0; cursor: pointer; }
.cms-dialog .cms-close { position: absolute; top: 8px; right: 10px; }
.cms-full-image { display: block; width: 100%; height: auto; max-height: 62dvh; object-fit: contain; border-radius: 12px; }
.cms-gallery-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 12px; }
.cms-dialog .modal-title { margin: 0; overflow-wrap: anywhere; }
.cms-dialog .modal-body { margin: 0; }
.cms-dialog button:disabled { opacity: .5; }
[hidden] { display: none !important; }
