.matn-passage-dialog{width:min(52rem,calc(100vw - 24px));max-height:84dvh;padding:0;border:1px solid var(--border,#ccd1d5);border-radius:16px;background:var(--surface,#fff);color:var(--text,#27313b);box-shadow:0 24px 80px #0004;overflow:hidden}
.matn-passage-dialog[open]{display:flex;flex-direction:column}.matn-passage-dialog::backdrop{background:#18212b75;backdrop-filter:blur(2px)}
.matn-passage-heading{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border,#ccd1d5);flex-shrink:0}.matn-passage-heading h2{flex:1;min-width:0;margin:0;font:inherit;font-weight:600;line-height:1.7;font-size:1.05rem}
.matn-passage-close,.matn-passage-back{min-width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.matn-passage-close{font-size:28px!important}
.matn-passage-body{padding:18px 26px 26px;overflow:auto;overscroll-behavior:contain;font-size:var(--reading-size,22px);line-height:1.95;overflow-wrap:break-word}.matn-passage-source{font-size:.72em;color:var(--text-muted,#67717a);margin-block:0 1em}.matn-passage-unit p{margin-block:.4em}.matn-passage-unit h2,.matn-passage-unit h3{font-size:1.06em}.matn-passage-unit .source-numbered{display:grid;grid-template-columns:auto 1fr;gap:.65em}.matn-passage-unit .table-scroll{overflow:auto}
.matn-article-timeline{list-style:none;margin:0;padding-inline-start:18px;border-inline-start:2px solid var(--border,#ccd1d5)}.matn-article-timeline li{position:relative;padding-block:0 20px}.matn-article-timeline li:before{content:'';position:absolute;inset-inline-start:-24px;top:10px;width:10px;height:10px;border-radius:50%;background:var(--reading-accent,#50616a)}.matn-article-timeline time{font-size:.8em;font-weight:600}.matn-history-wording{white-space:pre-line}.matn-passage-notice{font-size:.8em;padding:10px 14px;border-inline-start:3px solid var(--reading-accent,#50616a)}
@media(max-width:480px){.matn-passage-body{padding:14px 18px;font-size:20px}.matn-passage-dialog{max-height:88dvh}.matn-passage-heading{padding:8px 12px}}
