#rtosMapPane { background:#fff; min-width:0; color:var(--ui-ink); font-family:var(--sans,system-ui); }
#rtosMapPane[hidden] { display:none !important; }
#rtosMapPane :focus-visible { outline:2px solid var(--ui-accent); outline-offset:2px; }
.rm-header,.rm-detail-head,.rm-links { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
#rtosMapPane .rm-header { background:#fff; color:var(--ui-navy); padding:13px 16px 11px; border-block:1px solid var(--ui-line); justify-content:space-between; }
.rm-intro h3,.rm-intro p,.rm-column h4,.rm-detail-head h4,.rm-details h5,.rm-details p,.rm-prompt { margin:0; }
.rm-intro h3 { font-size:17px; color:var(--ui-navy); letter-spacing:-.025em; }
.rm-intro p,.rm-prompt,.rm-zero { color:var(--ui-muted); font-size:12px; }
.rm-intro p { margin-top:3px; }
.rm-counts { color:var(--ui-muted); font:11.5px var(--mono,monospace); }
.rm-scroll { overflow:auto; max-height:clamp(275px,40vh,580px); background:#fcfdff radial-gradient(var(--ui-line) .8px,transparent .9px) 0 0/14px 14px; border-bottom:1px solid var(--ui-line); }
.rm-board { margin:auto; width:100%; max-width:900px; min-width:295px; padding:16px clamp(8px,2%,22px) 24px; position:relative; display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:clamp(22px,9%,140px); box-sizing:border-box; }
.rm-wires { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; fill:none; stroke-linejoin:round; stroke-linecap:round; stroke-width:1.65; }
.rm-wire { stroke:#7a91a5; } .rm-wire-selected { stroke:#23688f; stroke-width:2.5; } .rm-wire-muted { stroke:#ced9e3; stroke-dasharray:3 4; }
.rm-column { min-width:0; display:flex; flex-direction:column; align-items:stretch; position:relative; gap:6px; }
.rm-column h4 { color:var(--ui-muted); font:600 10px/1.4 var(--sans,system-ui); letter-spacing:.075em; text-transform:uppercase; margin-bottom:2px; }
#rtosMapPane .rm-card { --rm-accent:#39677d; --rm-tint:#e5f0f6; display:flex; align-items:center; gap:8px; min-width:0; padding:7px 9px; min-height:44px; border:1px solid var(--ui-line); border-radius:7px; background:white; color:var(--ui-ink); text-align:left; white-space:normal; }
#rtosMapPane .rm-card:is([data-type="mutex"],[data-type="semaphore"]) { --rm-accent:#805515; --rm-tint:#faf0d9; }
#rtosMapPane .rm-card[data-type="queue"] { --rm-accent:#365d97; --rm-tint:#eaf0fb; }
#rtosMapPane .rm-card:is([data-type="notification"],[data-type="isr"]) { --rm-accent:#735499; --rm-tint:#f1eaf7; }
#rtosMapPane .rm-card:hover { border-color:var(--rm-accent); }
#rtosMapPane .rm-card[aria-pressed="true"] { border:2px solid var(--rm-accent); padding:6px 8px; background:var(--rm-tint); }
#rtosMapPane .rm-card.rm-faded { background:var(--ui-wash); border-color:var(--ui-line); }
.rm-card .rm-glyph { display:grid; place-content:center; color:var(--rm-accent); flex-shrink:0; background:var(--rm-tint); width:26px; height:26px; border-radius:5px; }
.rm-card-text { min-width:0; display:grid; gap:2px; }
.rm-card-text code { overflow-wrap:anywhere; font:600 12px/1.3 var(--mono,monospace); color:var(--ui-navy); }
.rm-card-text small { color:var(--ui-muted); font:11px/1.3 var(--sans,system-ui); }
.rm-priority { margin-left:auto; flex-shrink:0; color:var(--ui-muted); max-width:25%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:10px var(--mono,monospace); }
.rm-none { color:var(--ui-muted); text-align:center; }
.rm-prompt,.rm-empty { margin:0; padding:15px; }
.rm-empty { color:var(--ui-muted); font-size:13px; }
.rm-details { padding:12px 16px; }
.rm-detail-head h4 { min-width:0; display:grid; gap:1px; }
.rm-detail-head h4 small { font:600 10px/1.4 var(--sans,system-ui); color:var(--ui-muted); letter-spacing:.07em; text-transform:uppercase; }
.rm-detail-head h4 code { overflow-wrap:anywhere; font:650 16px/1.4 var(--mono,monospace); color:var(--ui-navy); }
.rm-focus { margin-left:auto; display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--ui-muted); }
#rtosMapPane button.rm-close { width:28px; padding:2px; font:18px/1.25 var(--sans,system-ui); color:var(--ui-accent); background:#fff; border:1px solid var(--ui-line); border-radius:4px; }
.rm-meta { display:flex; flex-wrap:wrap; gap:7px 18px; font-size:12px; margin:10px 0; }
.rm-meta div { min-width:0; }
.rm-meta dt { color:var(--ui-muted); font-size:10.5px; }
.rm-meta dd { margin:2px 0 0; overflow-wrap:anywhere; color:var(--ui-navy); font:12px var(--mono,monospace); }
.rm-links { margin-block:8px; gap:5px; }
#rtosMapPane .rm-link { background:#fff; border:1px solid var(--ui-line); color:var(--ui-accent); border-radius:4px; font:550 11.5px/1.4 var(--sans,system-ui); min-height:27px; padding:4px 8px; }
.rm-details h5 { font:600 12px/1.6 var(--sans,system-ui); margin:11px 0 4px; }
.rm-operations { max-height:230px; overflow:auto; border:1px solid var(--ui-line); border-radius:5px; }
#rtosMapPane .rm-operation { width:100%; background:#fff; color:var(--ui-ink); border:0; border-bottom:1px solid var(--ui-line); border-radius:0; padding:6px 8px; display:grid; grid-template-columns:minmax(64px,auto) minmax(0,1fr) minmax(0,1fr); text-align:start; gap:8px; align-items:center; }
#rtosMapPane .rm-operation:last-child { border-bottom:0; }
#rtosMapPane .rm-operation:hover { background:var(--ui-tint); }
.rm-operation .rm-action { font:600 11.5px var(--sans,system-ui); color:#346649; }
.rm-operation code,.rm-location { overflow-wrap:anywhere; font:11.5px/1.35 var(--mono,monospace); }
.rm-operation .rm-location { text-align:right; color:#536b5d; }
.rm-calls { margin-top:9px; color:#416351; font-size:12px; }
.rm-calls summary { cursor:pointer; font-weight:600; }
.rm-calls .rm-link { margin:5px 5px 0 0; }
@media (max-width:590px) {
  .rm-priority { display:none; }
  .rm-glyph { display:none!important; }
  .rm-board { padding-inline:8px; }
  .rm-details { padding:9px; }
}
