/* 共用條款閱讀彈窗：標題與關閉鈕固定，只捲動正文。 */
#legal-dialog { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: var(--ink); }
#legal-dialog::backdrop { background: transparent; }
.legal-modal .member-message-modal-wrap { width: min(800px, 100%); max-height: calc(100dvh - 2rem); }
.legal-modal .member-message-modal-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr) auto; gap: 0 1rem; overflow: hidden; }
.legal-modal .member-thread-head { grid-column: 1; grid-row: 1; align-content: center; padding: 0 0 1rem; border: 0; }
.legal-modal .member-message-modal-close { grid-column: 2; grid-row: 1; position: static; float: none; align-self: start; margin: 0 0 1rem; width: 44px; height: 44px; box-shadow: none; }
.legal-content { grid-column: 1 / -1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: .5rem .75rem .5rem 0; border-block: 1px solid var(--line); line-height: 1.85; overflow-wrap: anywhere; }
.legal-content h3 { margin: 1.25rem 0 .5rem; font-size: 1.08rem; line-height: 1.5; }
.legal-content p { margin: .75rem 0; }
.legal-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: 1rem; }
.legal-actions .btn { min-height: 44px; }
.site-map-group .legal-link { display: flex; align-items: center; gap: .45rem; min-height: 44px; padding: .2rem 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-weight: 700; font-size: .88rem; text-align: left; cursor: pointer; }
.site-map-group .legal-link:hover, .site-map-group .legal-link:focus-visible { color: var(--brand-dark); }
@media (max-width: 640px) {
    #legal-dialog .legal-modal { padding: .5rem; }
    .legal-modal .member-message-modal-wrap { max-height: calc(100dvh - 1rem); }
    .legal-modal .member-message-modal-card { padding: .85rem; }
}
.legal-text{white-space:pre-wrap;overflow-wrap:anywhere}
