/* CLR "The Rooms" — layered on ../municipal.css (tokens, fonts, masthead, ladder, footer, .held amber).
   No good/bad colour: every bar and dot is the same slate ink. Amber means only "not yet in the record". */
main.rm>.jladder{margin-top:24px}
main.rm section{margin-top:52px;padding-top:24px}
main.rm section:first-of-type{margin-top:28px}
.rm-lede{font-family:Spectral,Georgia,serif;font-size:22px;line-height:1.45;color:var(--ink);max-width:62ch;margin:6px 0 0}
.rm-ask{font-family:Spectral,Georgia,serif;font-style:italic;color:var(--ink-soft);margin:6px 0 16px;font-size:17px;line-height:1.45;max-width:66ch}
.rm-muted{color:var(--n5)}
.rm-stamp{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink-soft);border:1px solid var(--rule);padding:0 4px;border-radius:2px;white-space:nowrap}
.rm-src{font-size:13px;color:var(--ink-soft);margin:6px 0 0}

/* interlock matrix: rooms across, companies down, filled dots. On a phone the matrix scrolls sideways inside its
   own box with the name column pinned; the page never does (Engineer Ruling Rooms Witness v1.0 §1). */
.rm-matrix-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 18px}
.rm-matrix-wrap:focus-visible{outline:2px solid var(--slate);outline-offset:2px}
.rm-matrix{border-collapse:collapse;margin:0;font-size:14px}
.rm-matrix th[scope=row]{position:sticky;left:0;z-index:1;background:var(--roll)}
.rm-matrix thead th:first-child{position:sticky;left:0;z-index:2;background:var(--roll)}
.rm-matrix caption{text-align:left;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:0 0 8px}
.rm-matrix th[scope=col]{vertical-align:bottom;padding:0 6px 8px;font-weight:600;font-size:12.5px;max-width:9em}
.rm-matrix th[scope=col] span{display:block;line-height:1.25}
.rm-matrix th[scope=row]{text-align:left;font-weight:400;padding:6px 12px 6px 0;border-top:1px solid var(--rule)}
.rm-matrix td{text-align:center;border-top:1px solid var(--rule);padding:6px}
.rm-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--slate)}

/* public money bars */
.rm-bar-row{margin:0 0 16px}
.rm-bar-name{margin:0 0 4px;font-weight:600}
.rm-bar{height:14px;background:var(--roll-2);max-width:560px}
.rm-bar span{display:block;height:100%;background:var(--slate)}
.rm-bar-parts{margin:4px 0 0;font-size:14px}

/* room list */
.rm-room{border-top:1px solid var(--rule);padding:14px 0}
.rm-room:last-child{border-bottom:1px solid var(--rule)}
.rm-room summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr;gap:4px}
.rm-room summary::-webkit-details-marker{display:none}
.rm-room summary::before{content:"›";float:left;margin-right:8px;transition:transform .15s;color:var(--n5)}
.rm-room[open] summary::before{transform:rotate(90deg)}
.rm-name{font-family:Spectral,Georgia,serif;font-size:21px;color:var(--ink)}
.rm-facts{font-size:14px;color:var(--ink-soft);line-height:1.5}
.rm-body{padding:8px 0 4px 18px;max-width:72ch;overflow-wrap:anywhere}  /* long URLs in RSVP/contact lines must wrap on a phone */
.rm-facts,.rm-name{overflow-wrap:anywhere}
.rm-body h4{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:20px 0 6px}
.rm-people{border-collapse:collapse;font-size:14.5px;width:100%}
.rm-people td{padding:4px 10px 4px 0;border-top:1px solid var(--rule);vertical-align:top}
.rm-people td:first-child{color:var(--ink-soft);white-space:nowrap}
.rm-scroll{overflow-x:auto}
.rm-990{border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.rm-990 th,.rm-990 td{padding:4px 12px 4px 0;text-align:right;border-top:1px solid var(--rule);white-space:nowrap}
.rm-990 th[scope=col]{font-weight:600;border-top:0}
.rm-990 th[scope=row],.rm-990 thead th:first-child{text-align:left}
.rm-dues{margin:0;padding-left:18px}
.rm-contact{font-size:14px;color:var(--ink-soft);margin-top:16px}
.rm-asks{margin:6px 0 0;padding-left:18px;font-size:14px}
.rm-room .held{margin-top:16px}
@media (max-width:640px){
  .rm-lede{font-size:19px}
  .rm-body{padding-left:0}
  .rm-people td:first-child{white-space:normal}
  .rm-matrix th[scope=row]{max-width:10.5em;white-space:normal;font-size:13px}
}
