.rmap{--rule:var(--border);--grid:#e5e5e0;--land:#f1f1ec;--mute:#8a8a84;--k:.6;max-width:1240px;margin:0 auto;padding:26px 16px 48px}.rmap .lnk{cursor:pointer;text-underline-offset:3px;text-align:left;color:inherit;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.rmap .lnk:hover,.rmap .lnk:active{color:var(--accent)}.rmap :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rmap-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:12px;display:flex}.rmap-top h1{letter-spacing:-.01em;align-items:center;gap:10px;margin:0;font-size:30px;font-weight:600;display:flex}.rmap-info{font-size:15px;display:inline-flex;position:relative}.rmap-info>button{border:1px solid var(--mute);width:22px;height:22px;color:var(--muted-foreground);cursor:help;background:0 0;border-radius:50%;padding:0;font-size:12px;line-height:1}.rmap-info>button:after{content:"";position:absolute;inset:-11px}.rmap-tip{background:var(--card);border:1px solid var(--rule);z-index:6;letter-spacing:0;width:min(330px,80vw);padding:10px 12px;font-size:13px;font-weight:400;line-height:1.45;position:absolute;top:30px;left:0}.rmap-tip p{margin:0 0 8px}.rmap-tip p:last-child{margin:0}.rmap-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rmap-tools input,.rmap-route input{border:1px solid var(--rule);background:var(--card);width:220px;max-width:100%;min-height:44px;padding:8px 10px;font-size:14px}.rmap-tools .tg{border:1px solid var(--rule);background:var(--card);cursor:pointer;min-height:44px;padding:8px 12px;font-size:14px}.rmap-tools .tg:hover,.rmap-tools .tg[aria-expanded=true]{border-color:var(--foreground)}.rmap-route{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.rmap-route label{color:var(--muted-foreground);font-size:13px}.rmap-route input{width:200px}.rmap-route .go{background:var(--foreground);color:var(--background);border:1px solid var(--foreground);cursor:pointer;min-height:44px;padding:8px 14px}.rmap-route .go:hover,.rmap-route .go:active{background:var(--accent);border-color:var(--accent)}.rmap-hints{color:var(--muted-foreground);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:12px;font-size:13px;display:flex}.rmap-hints .lnk{color:var(--foreground);font-size:13px}.rmap-stage{border:1px solid var(--rule);background:var(--card);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 330px;display:grid;position:relative}.rmap-trail{border-bottom:1px solid var(--rule);min-height:42px;color:var(--muted-foreground);flex-wrap:nowrap;grid-column:1/-1;align-items:center;gap:4px;padding:7px 12px;font-size:12.5px;display:flex;overflow-x:auto}.rmap-trail .chip{background:var(--card);border:1px solid var(--rule);cursor:pointer;white-space:nowrap;color:var(--muted-foreground);padding:3px 9px;font-size:12.5px}.rmap-trail .chip:hover{border-color:var(--accent)}.rmap-trail .chip.cur{border-color:var(--foreground);color:var(--foreground);font-weight:500}.rmap-trail .sep{color:var(--mute)}.rmap-trail .clear{white-space:nowrap;margin-left:auto;padding-left:8px;font-size:12.5px}.rmap-canvas{border-right:1px solid var(--rule);touch-action:none;min-width:0;position:relative;overflow:hidden}.rmap-canvas>svg{cursor:grab;background:var(--card);-webkit-user-select:none;user-select:none;width:100%;height:600px;display:block}.rmap-canvas>svg:active{cursor:grabbing}.rmap-zoom{gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.rmap-zoom button{background:var(--card);border:1px solid var(--rule);cursor:pointer;min-width:34px;height:34px;padding:0 9px;font-size:16px;line-height:1}.rmap-zoom button:hover{border-color:var(--foreground)}.rmap-zoom button.wide{font-size:12.5px}.rmap-legend{color:var(--muted-foreground);background:#fffffff0;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 190px);padding:6px 8px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.rmap-legend i{border-top:2px solid var(--foreground);vertical-align:middle;width:20px;margin-right:5px;display:inline-block}.rmap-legend i.o{border-top:3px solid var(--accent)}.rmap-panel{background:var(--card);min-width:0;max-height:600px;padding:18px 18px 20px;overflow:auto}.rmap-panel h2{text-wrap:balance;margin:0 0 2px;font-size:18px;font-weight:600}.rmap-panel .pv{margin:4px 0 0;font-size:26px;font-weight:500;display:block}.rmap-panel .pd{color:var(--muted-foreground);font-size:12.5px}.rmap-panel .pd.block{margin-top:4px;display:block}.rmap-panel h3{margin:18px 0 6px;font-size:14.5px;font-weight:600}.rmap-panel .empty{color:var(--muted-foreground);margin:6px 0 0;font-size:13.5px}.rmap-panel .open{min-height:44px;box-shadow:inset 0 -1px 0 var(--foreground);align-items:center;margin-top:10px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.rmap-panel .open:hover{color:var(--accent);box-shadow:inset 0 -1px 0 var(--accent)}.rmap-panel .mini{width:100%;height:56px;margin-top:10px;display:block}.rmap-panel .chip{border:1px solid var(--rule);vertical-align:middle;color:var(--muted-foreground);margin-left:6px;padding:0 5px;font-size:12px;display:inline-block}.rmap-plist{flex-direction:column;gap:6px;display:flex}.rmap-plist button{text-align:left;background:var(--card);cursor:pointer;border:1px solid #9a9a93;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;min-height:44px;padding:7px 9px;font-size:13.5px;display:grid}.rmap-plist button:hover{border-color:var(--accent)}.rmap-plist .k{color:var(--muted-foreground);grid-column:1/-1;font-size:12px}.rmap-cats{flex-direction:column;margin-top:10px;display:flex}.rmap-cats button{border:0;border-bottom:1px solid var(--grid);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 0;font-size:14px;display:flex}.rmap-cats button:hover{color:var(--accent)}.rmap-cats .val{white-space:nowrap;text-align:right}.rmap-cats .val small{color:var(--muted-foreground);font-size:11.5px;display:block}.rmap-scrub{color:var(--muted-foreground);margin-top:14px;font-size:13px}.rmap-scrub input{accent-color:#1a1a1a;width:100%;min-height:28px;margin-top:6px}.rmap-scrub b{color:var(--foreground);font-weight:600}.rmap-steps{counter-reset:st;margin:8px 0 0;padding:0;list-style:none}.rmap-steps li{border-bottom:1px solid var(--grid);grid-template-columns:18px minmax(0,1fr) 84px;align-items:center;gap:2px 10px;padding:8px 0;display:grid}.rmap-steps li:before{counter-increment:st;content:counter(st) ".";color:var(--mute);align-self:start;padding-top:1px;font-size:12.5px}.rmap-steps .t{font-size:13.5px}.rmap-steps .v{white-space:nowrap;margin-left:6px;font-size:12.5px}.rmap-steps .v small{color:var(--muted-foreground);font-size:11.5px}.rmap-steps .k{color:var(--muted-foreground);font-size:12px;display:block}.rmap-steps svg{width:84px;height:32px;display:block}.rmap-caveat{color:var(--muted-foreground);max-width:48rem;margin:12px 0 0;font-size:13.5px}.rmap-sheet{display:none}.rmap-msg{color:var(--muted-foreground);font-size:13.5px}.rmap .land circle{fill:var(--land)}.rmap .land text{fill:#8a8a84;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-opacity:.92;stroke-linejoin:round;stroke-width:calc(6px / var(--k));font-size:20px;font-weight:600;transition:opacity .25s}.rmap .land{transition:opacity .25s}.rmap .land circle.cat{cursor:zoom-in}.rmap .bundle{fill:none;stroke:#dcdcd5;stroke-linecap:round;transition:opacity .25s}.rmap .edge{fill:none;stroke:#b7b7b0;stroke-width:1.1px;pointer-events:none;vector-effect:non-scaling-stroke;animation:.3s ease-out .35s both rmap-in}.rmap .edge.hi{stroke:var(--foreground);stroke-width:1.5px}.rmap .edge.path{stroke:var(--accent);stroke-width:3px}.rmap .edge.hover{opacity:.9;animation:none}.rmap .nd{cursor:pointer;text-decoration:none;transition:transform .5s,opacity .25s}.rmap .nd .hit{fill:#0000;stroke:none}.rmap .nd .dot{fill:var(--card);stroke:var(--foreground);stroke-width:1.4px;vector-effect:non-scaling-stroke}.rmap .nd text{fill:var(--foreground);font-size:calc(var(--lpx,12.5px) / var(--k));paint-order:stroke;stroke:#fff;stroke-opacity:.92;stroke-linejoin:round;stroke-width:calc(3.5px / var(--k));pointer-events:none}.rmap .nd.peek text{font-weight:600}.rmap .nd.focus .dot{fill:var(--foreground)}.rmap .nd.focus text{font-weight:600;font-size:calc(14.5px / var(--k));stroke-width:calc(6px / var(--k))}.rmap .nd.onpath .dot{stroke:var(--accent);stroke-width:2.6px}.rmap .nd.dim{opacity:.13}.rmap .nd:focus-visible{outline:none}.rmap .nd:focus-visible .dot{stroke:var(--accent);stroke-width:3px}.rmap .leader{stroke:var(--mute);stroke-width:.75px;vector-effect:non-scaling-stroke}.rmap .more-n{font-size:calc(12px / var(--k));fill:var(--muted-foreground)}.rmap .chain{pointer-events:none;animation:.3s ease-out .35s both rmap-in}.rmap .chain text{font-size:calc(13px / var(--k));fill:var(--foreground);paint-order:stroke;stroke:#fff;stroke-width:calc(3px / var(--k));font-weight:500}.rmap .chain .per{font-size:calc(11px / var(--k));fill:var(--muted-foreground);font-weight:400}.rmap .chain rect{fill:#fff;stroke:var(--grid);vector-effect:non-scaling-stroke}.rmap .chain .kind{font-size:calc(11.5px / var(--k));fill:var(--muted-foreground);stroke-width:calc(4px / var(--k));font-weight:400}.rmap .spark{fill:none;stroke:var(--accent);stroke-width:1.6px;vector-effect:non-scaling-stroke}.rmap .cursor{stroke:var(--foreground);stroke-width:1px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}@keyframes rmap-in{0%{opacity:0}to{opacity:1}}@media (max-width:860px){.rmap-stage{grid-template-columns:minmax(0,1fr)}.rmap-canvas{border-right:0}.rmap-canvas>svg{height:62vh;min-height:400px}.rmap-panel{border-top:1px solid var(--foreground);z-index:3;max-height:46%;padding-top:0;position:absolute;bottom:0;left:0;right:0}.rmap-panel.min{max-height:52px;overflow:hidden}.rmap-panel.full{max-height:88%}.rmap-sheet{background:var(--card);z-index:1;justify-content:center;margin:0 0 6px;display:flex;position:sticky;top:0}.rmap-sheet button{cursor:pointer;background:0 0;border:0;width:88px;height:44px;position:relative}.rmap-sheet button:after{content:"";border-top:3px solid var(--rule);position:absolute;top:12px;left:8px;right:8px}.rmap-zoom{top:10px;bottom:auto;right:10px}.rmap-zoom .step{display:none}.rmap-panel .pv{font-size:22px}.rmap-panel h3{margin-top:12px}.rmap-legend{display:none}.rmap-tools,.rmap-tools input{width:100%}.rmap-top{position:relative}.rmap-info{position:static}.rmap-info>button{position:relative}.rmap-tip{width:auto;top:44px;left:0;right:0}}@media (prefers-reduced-motion:reduce){.rmap *{transition:none!important;animation:none!important}}.rmap .labels{pointer-events:none}
