:root{--rsp-ink:#173c32;--rsp-paper:#fffdf6;--rsp-accent:#c5633c}.rsp-shell{position:relative;height:calc(100dvh - 76px);min-height:650px;background:#e7e9df;color:var(--rsp-ink);font-family:Arial,sans-serif}.rsp-shell *{box-sizing:border-box}#rsp-map{position:absolute;inset:0}.rsp-panel{position:absolute;top:24px;left:24px;width:340px;max-height:calc(100% - 100px);overflow:auto;padding:28px;background:var(--rsp-paper);border:1px solid #d9ded1;border-radius:20px;box-shadow:0 15px 50px #183a3217}.rsp-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--rsp-accent)}.rsp-panel h1{font-family:Georgia,serif;font-weight:400;font-size:44px;line-height:1.05;letter-spacing:-2px;margin:20px 0}.rsp-panel h1 em{color:var(--rsp-accent);font-style:normal}.rsp-shell p{font-size:13px;line-height:1.65;color:#64756b}.rsp-shell label{display:block;font-size:12px;font-weight:600;margin:15px 0 8px}.rsp-input{display:flex;border:1px solid #d5dbcf;border-radius:10px;overflow:hidden}.rsp-shell input:not([type=checkbox]):not([type=range]){width:100%;padding:13px;border:1px solid #d5dbcf;border-radius:8px;background:white;color:var(--rsp-ink);font:inherit}.rsp-input input{border:0!important;border-radius:0!important;min-width:0}.rsp-shell button{cursor:pointer;border:1px solid #d5dbcf;border-radius:9px;background:var(--rsp-paper);padding:11px 14px;color:var(--rsp-ink);font:inherit;font-size:12px}.rsp-shell button:hover{background:#e8eddf}.rsp-shell button:focus-visible,.rsp-shell a:focus-visible,.rsp-shell input:focus-visible{outline:3px solid #c5633c;outline-offset:2px}.rsp-input button{background:var(--rsp-ink);color:white;border:0;border-radius:0}.rsp-tabs{display:flex;gap:6px;margin:15px 0}.rsp-tabs button[aria-pressed=true]{background:var(--rsp-ink);color:white}#rsp-results{max-height:220px;overflow:auto}#rsp-results article{border-top:1px solid #e3e5dc;padding:13px 0}#rsp-results a,.rsp-directory{color:var(--rsp-ink);text-decoration:none;font-size:14px}#rsp-results small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7d8578;margin-bottom:6px}.rsp-result-actions{display:flex;gap:6px;margin-top:8px}.rsp-result-actions button{padding:6px 10px}.rsp-route-form{border-top:1px solid #d5dbcf;margin-top:15px;padding-top:16px;font-size:13px}.rsp-route-form summary{cursor:pointer}.rsp-directory{display:block;margin-top:20px;font-size:12px}.rsp-map-actions{position:absolute;right:20px;top:20px;display:flex;gap:8px}#rsp-status{position:absolute;bottom:30px;left:24px;max-width:calc(100% - 48px);padding:10px 14px;background:var(--rsp-paper);border-radius:9px;font-size:12px}#rsp-playback{position:absolute;right:20px;bottom:70px;width:320px;padding:20px;background:var(--rsp-paper);border:1px solid #d5dbcf;border-radius:15px;box-shadow:0 10px 35px #183a3220}.rsp-controls{display:flex;gap:6px}#rsp-alternatives{display:flex;gap:4px;flex-wrap:wrap}#rsp-ad{position:absolute;right:20px;top:85px;width:285px;border-radius:15px;background:var(--rsp-paper);padding:20px;box-shadow:0 8px 25px #0002}#rsp-ad small{color:var(--rsp-accent);letter-spacing:1px;font-size:10px}.rsp-traveler{width:22px;height:22px;border:4px solid white;border-radius:50%;background:var(--rsp-accent);box-shadow:0 0 0 4px #c5633c44}.rsp-pin{width:15px;height:15px;border-radius:50%;background:var(--rsp-ink);border:3px solid white;box-shadow:0 2px 8px #0004}.rsp-shell [hidden]{display:none!important}.maplibregl-ctrl-top-right{top:65px}.rsp-shell .maplibregl-popup-content{border-radius:12px;padding:16px}.rsp-shell .maplibregl-popup-content a{color:var(--rsp-ink)}@media(max-width:700px){.rsp-shell{height:calc(100dvh - 64px);min-height:650px}.rsp-panel{top:12px;left:12px;width:calc(100% - 80px);max-width:310px;max-height:50%;padding:20px}.rsp-panel h1{font-size:32px;margin:12px 0}.rsp-panel>p{display:none}.rsp-eyebrow{font-size:8px}#rsp-results{max-height:110px}.rsp-map-actions{right:10px;top:12px;flex-direction:column}.rsp-map-actions button{padding:9px;font-size:10px}.rsp-map-actions button:last-child{display:none}#rsp-playback{bottom:70px;right:12px;width:calc(100% - 24px);max-width:320px;padding:14px}#rsp-status{left:12px;font-size:10px;bottom:32px}#rsp-ad{top:auto;bottom:310px;right:12px;width:calc(100% - 24px);max-width:285px;padding:12px}.rsp-directory{margin-top:12px}.maplibregl-ctrl-top-right{top:50px}}@media(prefers-reduced-motion:reduce){.rsp-shell *{scroll-behavior:auto!important;transition:none!important}}

.rsp-street-label{background:#fffdf6;color:#173c32;border:1px solid #ccd5c8;border-radius:9px;padding:9px 15px;font-size:14px;font-weight:bold;box-shadow:0 4px 16px #0002;white-space:nowrap;pointer-events:none}.rsp-shell .maplibregl-canvas-container.maplibregl-interactive{cursor:grab}.rsp-shell .maplibregl-canvas-container.maplibregl-interactive:active{cursor:grabbing}.rsp-shell .maplibregl-ctrl-top-right{top:80px}@media(max-width:700px){.rsp-shell .maplibregl-ctrl-top-right{top:160px}.rsp-street-label{font-size:12px;padding:7px 10px}}

@media(max-width:700px){.rsp-has-route .rsp-panel{max-height:120px}.rsp-has-route .rsp-panel>.rsp-eyebrow,.rsp-has-route .rsp-panel>h1,.rsp-has-route .rsp-panel>form,.rsp-has-route .rsp-panel>.rsp-tabs,.rsp-has-route #rsp-results,.rsp-has-route .rsp-directory{display:none}.rsp-has-route .rsp-route-form{margin:0;padding:0;border:0}.rsp-has-route .rsp-panel:has(details[open]){max-height:50%}}

.rsp-shell button.rsp-popup-route{display:block;width:100%;margin-top:14px;background:#173c32;color:#fffdf6;font-weight:bold}.rsp-shell button.rsp-popup-route:hover{background:#275c4d}.rsp-shell button.rsp-popup-share{display:block;width:100%;margin-top:8px;font-size:11px}

.rsp-campaign-image{display:block;width:100%;height:auto;max-height:230px;object-fit:contain;border-radius:8px}.rsp-shell .rsp-banner-marker{padding:5px;border:3px solid #fff;background:#fffdf6;box-shadow:0 5px 18px #0005;border-radius:9px}.rsp-banner-marker small{display:block;padding:4px;text-transform:uppercase;font-size:9px}#rsp-ad{max-height:60%;overflow:auto}

.rsp-ad-dot{display:none}.rsp-shell .rsp-compact-ad{height:28px;padding:0;border-radius:50%;border:2px solid white;background:#c5633c;color:white}.rsp-compact-ad .rsp-campaign-image,.rsp-compact-ad small{display:none}.rsp-compact-ad .rsp-ad-dot{display:block;font-size:11px}.rsp-banner-marker.rsp-compact-ad:after{display:none}.rsp-ad-count{position:absolute;right:-9px;top:-9px;min-width:23px;height:23px;padding:4px;border-radius:20px;background:#173c32;color:white;border:2px solid white;font-size:10px;font-weight:bold}.rsp-banner-marker:not(.rsp-compact-ad) small{font-size:clamp(6px,0.7vw,9px)}.rsp-group-choice{display:block;width:100%;margin:6px 0;text-align:left}

.rsp-shell .rsp-compact-ad{height:70px;padding:3px;border-radius:7px;border:2px solid #fffdf6;background:#fffdf6;color:#173c32;box-shadow:0 3px 12px #173c3255}.rsp-shell .rsp-compact-ad .rsp-campaign-image{display:block;height:50px;border-radius:3px;object-fit:cover}.rsp-shell .rsp-compact-ad small{display:block;font-size:6px;line-height:1;padding:5px 0 0;letter-spacing:.2px;font-weight:bold}.rsp-shell .rsp-compact-ad .rsp-ad-dot{position:absolute;left:-7px;top:-7px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#c5633c;color:#fff;border:2px solid #fff;font-size:10px}.rsp-shell .rsp-compact-ad:after{content:'';display:block;position:absolute;left:calc(50% - 5px);top:100%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #fffdf6}

.rsp-shell button.rsp-pin{background:#173c32;padding:0;width:15px;height:15px;border-radius:50%;border:3px solid white}

.rsp-shell button.rsp-history-pin{position:relative;width:25px;height:25px;padding:0;border:2px solid white;border-radius:50%;background:#387d80;color:white;font-size:12px;box-shadow:0 2px 6px #0002}.rsp-history-pin:before{content:'';position:absolute;inset:-6px;border:2px solid #387d8066;border-radius:50%;animation:rsp-history-pulse 3s ease-out infinite;pointer-events:none}@keyframes rsp-history-pulse{0%,100%{transform:scale(.8);opacity:.2}50%{transform:scale(1.2);opacity:.6}}.rsp-history-dialog{width:min(760px,92vw);max-height:85dvh;border:0;border-radius:18px;padding:28px;background:#fffdf6;color:#173c32;box-shadow:0 20px 90px #0004}.rsp-history-dialog::backdrop{background:#10282088}.rsp-history-dialog h2{font-family:Georgia,serif;font-size:30px;font-weight:400}.rsp-history-text{font-size:15px;line-height:1.8}.rsp-history-dialog a{color:#275c5f}.rsp-history-close{float:right;padding:8px 12px;cursor:pointer;background:white;border:1px solid #ddd;border-radius:8px}@media(prefers-reduced-motion:reduce){.rsp-history-pin:before{animation:none}}
.rsp-traveler-labels{display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none}.rsp-street-floating-ad{width:100%;min-width:200px;max-width:280px;box-sizing:border-box;padding:10px 14px;background:#173c32;color:#fffdf6;border:1px solid #173c32;border-radius:9px 9px 0 0;text-align:center;white-space:normal;box-shadow:0 4px 16px #0002}.rsp-street-floating-ad small{display:block;font-size:8px;letter-spacing:.8px;color:#f3c3a4;margin-bottom:5px}.rsp-street-floating-ad strong{display:block;font-size:14px}.rsp-street-floating-ad .rsp-advertiser-contact{display:block;pointer-events:auto;color:inherit;font-size:14px;font-weight:700;text-decoration:none}.rsp-street-floating-ad .rsp-advertiser-contact:hover{text-decoration:underline}.rsp-traveler-labels:has(.rsp-street-floating-ad:not([hidden])) .rsp-street-label{border-radius:0 0 9px 9px;width:100%;box-sizing:border-box;text-align:center}@media(max-width:700px){.rsp-street-floating-ad{min-width:180px;padding:8px 12px}.rsp-street-floating-ad .rsp-advertiser-contact{font-size:12px}}
.rsp-shell .rsp-event-place{display:flex;flex-direction:column;align-items:center;padding:0;background:#fffdf6;color:#173c32;border:1px solid #b8c8bb;border-radius:9px;box-shadow:0 4px 14px #0003;overflow:hidden;max-width:240px}.rsp-event-place strong{padding:9px 12px;font-size:12px}.rsp-event-place-badge{display:block;width:100%;padding:7px 10px;background:#c5633c;color:white;font-size:10px;box-sizing:border-box}.rsp-event-place:after{content:"";width:7px;height:7px;border-radius:50%;background:#173c32;margin-bottom:5px}.rsp-event-place-compact strong{font-size:10px;padding:5px 8px}.rsp-event-place-compact .rsp-event-place-badge{font-size:8px;padding:4px 6px}
.rsp-shell .maplibregl-popup{max-width:min(360px,calc(100vw - 32px))!important;z-index:6}.rsp-shell .maplibregl-popup-content{position:relative;padding:54px 22px 22px;border:1px solid #dce3d8;border-radius:18px;background:#fffdf6;box-shadow:0 14px 45px #173c3230;font-family:Arial,sans-serif;color:#173c32}.rsp-shell .maplibregl-popup-content>div{max-height:min(480px,60dvh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.rsp-shell button.maplibregl-popup-close-button{position:absolute;top:10px;right:10px;width:36px;height:36px;min-width:36px;padding:0;display:grid;place-items:center;border:1px solid #dce3d8;border-radius:50%;background:#f0f3eb;color:#173c32;font-size:22px;line-height:1;z-index:2}.rsp-shell button.maplibregl-popup-close-button:hover{background:#e0e8d9}.rsp-shell .maplibregl-popup-content strong:first-child{display:block;font-size:18px;line-height:1.35;overflow-wrap:anywhere}.rsp-shell .maplibregl-popup-content p{margin:16px 0;padding-bottom:12px;border-bottom:1px solid #e5e9df;font-size:13px}.rsp-shell .maplibregl-popup-content small{font-size:11px;line-height:1.5;color:#68776e}.rsp-shell .maplibregl-popup-content a{line-height:1.5;text-underline-offset:3px;font-weight:600;overflow-wrap:anywhere}.rsp-shell .maplibregl-popup-content>div>a:last-child{display:block;margin-top:18px;padding:11px 14px;background:#173c32;color:#fffdf6;border-radius:8px;text-align:center;text-decoration:none;font-size:12px}.rsp-shell .maplibregl-popup-tip{border-top-color:#fffdf6}.rsp-history-dialog{padding:26px;border:1px solid #dce3d8;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.rsp-history-dialog h2{margin:6px 70px 24px 0;line-height:1.2;overflow-wrap:anywhere}.rsp-history-close{position:sticky;top:0;float:right;z-index:2;min-height:40px;background:#f0f3eb;border:1px solid #dce3d8;border-radius:20px;color:#173c32}.rsp-history-dialog::backdrop{background:#10282099;backdrop-filter:blur(3px)}.rsp-history-dialog button:focus-visible,.rsp-history-dialog a:focus-visible{outline:3px solid #c5633c;outline-offset:3px}#rsp-ad{border:1px solid #dce3d8;border-radius:18px;box-shadow:0 14px 45px #173c3230}#rsp-ad h3{font-size:20px;line-height:1.3;margin:12px 0;overflow-wrap:anywhere}#rsp-ad>button{margin-top:10px;margin-right:6px}@media(max-width:700px){.rsp-shell .maplibregl-popup-content{padding:52px 18px 18px}.rsp-shell .maplibregl-popup-content>div{max-height:50dvh}.rsp-history-dialog{width:calc(100vw - 24px);padding:20px;max-height:88dvh}.rsp-history-dialog h2{font-size:25px}}
.rsp-route-modal{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none}.rsp-route-dialog{width:min(640px,calc(100% - 32px));max-height:min(70dvh,560px);overflow:auto;padding:26px 28px;background:#fffdf6;border:1px solid #dce3d8;border-radius:18px;box-shadow:0 16px 50px #173c3238;pointer-events:auto}.rsp-route-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:8px}.rsp-route-dialog header small{font-size:9px;letter-spacing:1.4px;font-weight:700;color:#c5633c}.rsp-route-dialog h2{margin:5px 0 10px;font:400 25px/1.2 Georgia,serif;color:#173c32}.rsp-route-dialog header button{width:38px;height:38px;padding:0;border-radius:50%;font-size:22px}.rsp-route-modal .rsp-route-form{margin:0;padding:0;border:0}.rsp-route-modal .rsp-route-form>summary,.rsp-route-modal .rsp-route-form>p{display:none}.rsp-route-modal #rsp-route{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:12px;align-items:end}.rsp-route-modal #rsp-route>label{display:flex;flex-direction:column;gap:8px;margin:0;line-height:1.35}.rsp-route-modal #rsp-route>div{grid-column:1/-1}.rsp-route-modal #rsp-route>button{grid-column:1/-1;margin-top:12px;background:#173c32;color:#fffdf6;font-weight:700}.rsp-route-modal-open #rsp-status{display:none}@media(max-width:700px){.rsp-route-modal{padding:12px;align-items:center}.rsp-route-dialog{width:min(640px,calc(100% - 24px));max-height:70dvh;padding:22px 24px;border-radius:16px}.rsp-route-dialog h2{font-size:21px}.rsp-route-modal #rsp-route{grid-template-columns:1fr}.rsp-route-modal #rsp-route>label,.rsp-route-modal #rsp-route>div,.rsp-route-modal #rsp-route>button{grid-column:1}.rsp-route-modal #rsp-route>label{margin:0}.rsp-route-modal #rsp-route>label:nth-of-type(2){margin-top:0}.rsp-route-modal input:not([type=checkbox]):not([type=range]){padding:11px}}
.rsp-shell button.rsp-demo-vehicle{position:relative;display:grid;place-items:center;min-width:46px;height:42px;padding:2px 6px;border:2px solid #fffdf6;border-radius:18px;background:#173c32;color:#fffdf6;box-shadow:0 3px 14px #0006}.rsp-demo-vehicle span{font-size:23px;line-height:1}.rsp-shell .rsp-demo-vehicle small{position:absolute;top:-8px;right:-12px;padding:3px 5px;border:1px solid #fffdf6;border-radius:8px;background:#c5633c;color:white;font-size:7px;letter-spacing:.4px;line-height:1;white-space:nowrap}.rsp-demo-ad>small{display:block;margin-bottom:8px;color:#c5633c;font-size:9px;font-weight:700;letter-spacing:1px}.rsp-demo-ad>strong{display:block;font-size:17px;line-height:1.3}.rsp-demo-ad p{margin:10px 0;font-size:12px}.rsp-transport-campaign{margin-top:14px;padding-top:12px;border-top:1px solid #e5e9df}.rsp-transport-campaign h3{margin:0 0 3px;font-size:14px;line-height:1.35}.rsp-transport-campaign>small{color:#68776e}.rsp-transport-campaign article{margin-top:10px;padding:10px;border-radius:9px;background:#f4f3eb}.rsp-transport-campaign article strong{display:block;font-size:13px}.rsp-transport-campaign article p{margin:4px 0;font-size:12px}.rsp-transport-campaign article a{display:inline-block;margin:5px 10px 0 0;color:#173c32;font-size:11px;font-weight:700}.rsp-demo-ad>.rsp-advertiser-contact{display:inline-block;margin-top:14px;padding:10px 13px;border-radius:8px;background:#173c32;color:#fffdf6;font-size:12px;font-weight:700;text-decoration:none}.rsp-demo-ad>.rsp-advertiser-contact:hover{background:#245746}

.rsp-panel h1{max-width:280px}#rsp-search>label{margin-bottom:8px}#rsp-search>small{display:block;margin-top:5px;line-height:1.4}#rsp-search>small+small{margin-top:8px;color:#68776e;font-size:10px}.rsp-route-form{margin:18px 0 0;padding:16px;border:1px solid #d5dbcf;border-radius:14px;background:#f2f3eb}.rsp-route-form>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;color:#173c32;font-size:15px;font-weight:700}.rsp-route-form>summary::-webkit-details-marker{display:none}.rsp-route-form>summary::after{content:'';display:block;flex:0 0 9px;width:9px;height:9px;margin:0 4px 4px 12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}.rsp-route-form[open]>summary::after{transform:rotate(225deg);margin-top:5px;margin-bottom:0}.rsp-route-form>summary:focus-visible{outline:2px solid #c5633c;outline-offset:6px;border-radius:3px}@media(prefers-reduced-motion:reduce){.rsp-route-form>summary::after{transition:none}}.rsp-route-form>p{margin:8px 0 14px}.rsp-route-form #rsp-route>button{width:100%;margin-top:10px;background:#173c32;color:#fffdf6;font-weight:700}.rsp-route-form #rsp-route>button:hover{background:#275c4d}#rsp-results{margin-top:14px}.rsp-panel #rsp-results>p{margin:0;padding:12px;border-radius:9px;background:#fffdf6;font-size:12px}@media(max-width:700px){.rsp-panel h1{max-width:240px}.rsp-route-form{margin-top:12px;padding:12px}.rsp-route-form>p{margin:7px 0 10px}}

#rsp-playback{width:280px;padding:14px}#rsp-playback p{margin:8px 0 12px;font-size:12px;line-height:1.4}#rsp-playback .rsp-controls{gap:5px}#rsp-playback .rsp-controls button,#rsp-playback #rsp-alternatives button{padding:8px 10px;font-size:11px}#rsp-playback>label{display:flex;align-items:center;gap:7px;margin:10px 0 6px;font-size:11px}#rsp-playback #rsp-speed{flex:1;min-width:0;margin:0}#rsp-playback #rsp-follow{margin:0}#rsp-playback #rsp-street{margin:8px 0 0}
@media(max-width:700px){#rsp-playback{right:12px;bottom:70px;width:min(280px,calc(100% - 24px));max-width:280px;padding:12px;border-radius:13px}}
/* A compact invitation floats over the map, independently of search. */
.rsp-panel{max-height:none;overflow:visible}
.rsp-event-discovery{position:absolute;top:24px;bottom:auto;left:380px;transform:none;width:268px;max-width:calc(100% - 32px);padding:16px 18px;border:1px solid #d9ded1;border-radius:16px;background:#fffdf6f5;box-shadow:0 6px 24px #173c321a;z-index:2}
.rsp-event-discovery>small{font-size:9px;letter-spacing:1px;font-weight:700;color:#a44e2d}.rsp-event-discovery h2{margin:7px 20px 6px 0;font:700 17px/1.2 Arial,sans-serif;letter-spacing:-.3px}.rsp-shell .rsp-event-discovery p{margin:0 0 10px;font-size:11px;line-height:1.5;color:#64756b}.rsp-shell #rsp-show-events{padding:0;border:0;border-radius:3px;background:transparent;color:#a44e2d;font-size:12px;font-weight:700}.rsp-shell #rsp-show-events:hover{color:#173c32;text-decoration:underline}.rsp-shell #rsp-show-events:disabled{opacity:.5;cursor:default}.rsp-shell #rsp-events-dismiss{position:absolute;right:7px;top:7px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#64756b;font-size:20px}.rsp-shell #rsp-events-dismiss:hover{background:#e8eddf}.rsp-shell #rsp-events-return{display:block;margin-top:9px;padding:0;border:0;background:transparent;font-size:10px;text-decoration:underline}.rsp-has-route .rsp-event-discovery,.rsp-route-modal-open .rsp-event-discovery,.rsp-shell:has(#rsp-ad:not([hidden])) .rsp-event-discovery{display:none}.rsp-event-highlight{outline:3px solid #c5633c;outline-offset:5px;animation:rsp-event-glow 1.2s ease-in-out 4}.rsp-event-highlight strong{display:block}.rsp-event-highlight .rsp-event-place-badge{font-size:10px}@keyframes rsp-event-glow{50%{box-shadow:0 0 0 12px #c5633c33,0 4px 14px #0003}}
@media(min-width:701px) and (max-width:1050px){.rsp-event-discovery{top:86px;width:240px}}@media(max-width:700px){.rsp-panel{padding:16px;max-height:none}.rsp-panel h1{font-size:28px;margin:10px 0}.rsp-panel .rsp-directory{margin-top:10px}.rsp-panel .rsp-route-form{padding:10px;margin-top:10px}.rsp-event-discovery{top:auto;left:12px;right:auto;bottom:85px;transform:none;width:235px;padding:13px 16px}.rsp-event-discovery h2{font-size:16px}.rsp-has-route .rsp-panel,.rsp-has-route .rsp-panel:has(details[open]){max-height:none}}
@media(prefers-reduced-motion:reduce){.rsp-event-highlight{animation:none}}
/* Mobile map layout: compact search panel, full map, and clear return control. */
.rsp-panel-toggle{display:none}
@media(max-width:700px){
 .rsp-shell{height:calc(100svh - 64px);min-height:420px;overflow:hidden}
 .rsp-panel{top:10px;left:10px;width:calc(100% - 20px);max-width:none;max-height:calc(100% - 20px);overflow-y:auto;padding:14px 16px;border-radius:16px;box-shadow:0 8px 28px #173c3226;transition:transform .22s ease,opacity .18s ease;z-index:5}
 .rsp-panel>.rsp-eyebrow{font-size:9px;letter-spacing:1.3px}
 .rsp-panel h1{max-width:none;font-size:27px;line-height:1.02;margin:7px 0 10px;letter-spacing:-1px}
 .rsp-panel>p{display:none}
 .rsp-panel #rsp-search{margin:0}
 .rsp-panel #rsp-search>label{margin:0 0 6px;font-size:11px}
 .rsp-panel #rsp-search .rsp-input{height:44px}
 .rsp-panel #rsp-search input{padding:10px;font-size:14px}
 .rsp-panel #rsp-search .rsp-input button{min-width:46px}
 .rsp-panel #rsp-search>small{display:none}
 .rsp-panel .rsp-route-form{margin:9px 0 0;padding:10px 12px;border-radius:11px}
 .rsp-panel .rsp-route-form>summary{font-size:13px}
 .rsp-panel .rsp-directory{margin-top:9px;font-size:11px}
 .rsp-panel #rsp-results{max-height:30dvh;overflow:auto}
 .rsp-panel-collapsed .rsp-panel{transform:translateY(calc(-100% - 18px));opacity:0;pointer-events:none}
 .rsp-panel-toggle{position:absolute;display:none;top:12px;left:12px;z-index:6;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid #d9ded1;border-radius:22px;background:#fffdf6;color:#173c32;font-size:13px;font-weight:700;box-shadow:0 4px 16px #173c3226}
 .rsp-panel-toggle span{font-size:19px;line-height:1}
 .rsp-panel-collapsed .rsp-panel-toggle{display:flex}
 .rsp-map-actions{top:auto;right:12px;bottom:12px;flex-direction:row;gap:5px;z-index:4}
 .rsp-map-actions button{min-width:40px;min-height:40px;padding:7px 10px;border-radius:11px;background:#fffdf6ed;box-shadow:0 3px 12px #173c3220;font-size:12px}
 .rsp-map-actions button:last-child{display:none}
 .rsp-event-discovery{top:auto;left:12px;right:auto;bottom:68px;width:min(230px,calc(100% - 24px));padding:12px 14px;border-radius:14px}
 .rsp-event-discovery h2{font-size:15px}
 .rsp-shell .rsp-event-discovery p{font-size:10px;margin-bottom:7px}
 .rsp-shell #rsp-show-events{font-size:11px}
 #rsp-status{left:12px;bottom:12px;max-width:calc(100% - 180px);padding:9px 11px;border-radius:10px;font-size:10px;line-height:1.35;box-shadow:0 3px 12px #173c3218}
 #rsp-playback{right:12px;bottom:62px;width:min(280px,calc(100% - 24px));max-width:none;padding:12px}
 #rsp-ad{top:auto;right:12px;bottom:170px;width:min(285px,calc(100% - 24px));padding:12px}
 .rsp-route-modal{z-index:10}
 .rsp-route-dialog{max-height:calc(100svh - 32px);padding:18px;border-radius:16px}
 .rsp-route-dialog h2{font-size:20px}
 .rsp-route-modal-open .rsp-panel-toggle,.rsp-route-modal-open .rsp-event-discovery{display:none}
}
@media(prefers-reduced-motion:reduce){.rsp-panel{transition:none}}
/* The event invitation closes on selection; the return action lives on the map. */
.rsp-shell #rsp-events-return{position:absolute;top:82px;right:20px;z-index:4;padding:10px 14px;border:1px solid #d9ded1;border-radius:22px;background:#fffdf6;color:#173c32;font-size:11px;font-weight:700;box-shadow:0 4px 14px #173c3222}
.rsp-shell #rsp-events-return:hover{background:#f2f3eb}
.rsp-shell #rsp-events-return[hidden]{display:none!important}
.rsp-shell #rsp-event-discovery[hidden]{display:none!important}
@media(max-width:700px){.rsp-shell #rsp-events-return{top:12px;right:12px;padding:9px 12px;font-size:10px}}
/* Let the route controls fold into a compact map tab. */
#rsp-playback-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:30px;margin:0 0 7px auto;padding:5px 9px;border:1px solid #d5dbcf;border-radius:18px;background:#f2f3eb;color:#173c32;font-size:10px;font-weight:700}
#rsp-playback-toggle>span[aria-hidden="true"]{font-size:16px;line-height:1}
#rsp-playback-toggle:hover{background:#e8eddf}
#rsp-playback.rsp-playback-collapsed{width:max-content;max-width:calc(100% - 24px);padding:6px 9px;border-radius:24px}
#rsp-playback.rsp-playback-collapsed #rsp-playback-toggle{margin:0;min-height:34px;padding:5px 12px;background:#fffdf6}
#rsp-playback.rsp-playback-collapsed #rsp-playback-content{display:none}
@media(max-width:700px){#rsp-playback.rsp-playback-collapsed{right:12px;bottom:12px;width:max-content;max-width:calc(100% - 24px);padding:6px 8px}}
#rsp-playback-toggle{min-height:36px;margin-bottom:9px;padding:6px 12px;border-color:#173c32;background:#173c32;color:#fffdf6;font-size:11px;box-shadow:0 2px 7px #173c3230}
#rsp-playback-toggle:hover{background:#245746;color:#fffdf6}
#rsp-playback.rsp-playback-collapsed #rsp-playback-toggle{background:#173c32;color:#fffdf6}
#rsp-playback-toggle>span[aria-hidden="true"]{font-size:18px;font-weight:700}
/* Match the route collapse arrow to the sidebar chevron and keep a restore tab visible. */
#rsp-playback.rsp-playback-collapsed{display:none!important}
#rsp-playback-toggle{gap:10px;min-height:38px;padding:7px 13px}
.rsp-playback-chevron{display:inline-block;flex:0 0 9px;width:9px;height:9px;margin:0 2px 4px 1px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(225deg)}
#rsp-playback-restore{position:absolute;right:20px;bottom:20px;z-index:7;display:flex;align-items:center;gap:10px;min-height:42px;padding:0 15px;border:1px solid #d5dbcf;border-radius:22px;background:#fffdf6;color:#173c32;font-size:12px;font-weight:700;box-shadow:0 5px 18px #173c3230}
#rsp-playback-restore:hover{background:#e8eddf}
#rsp-playback-restore .rsp-playback-chevron{transform:rotate(45deg);margin-bottom:4px}
.rsp-shell #rsp-playback-restore[hidden]{display:none!important}
@media(max-width:700px){#rsp-playback-restore{right:12px;bottom:12px;min-height:42px;padding:0 15px}}
.rsp-route-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.rsp-route-fields>label{margin:8px 0 2px}
.rsp-route-swap{display:inline-flex;align-items:center;justify-self:center;gap:7px;min-height:34px;margin:2px 0;padding:6px 12px;border:1px solid #d5dbcf;border-radius:9px;background:#fffdf6;color:#173c32;font-size:12px;font-weight:700}
.rsp-route-swap:hover{border-color:#b8c5b8;background:#e8eddf}
.rsp-route-swap>span:first-child{font-size:20px;line-height:1}
.rsp-route-modal #rsp-route .rsp-route-fields{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:end;gap:12px}
.rsp-route-modal .rsp-route-fields>label{margin:0}
.rsp-route-modal .rsp-route-fields>label:first-child{grid-column:1}
.rsp-route-modal .rsp-route-fields>label:last-child{grid-column:3}
.rsp-route-modal .rsp-route-fields .rsp-route-swap{grid-column:2;grid-row:1;align-self:end;width:44px;height:44px;margin:0;padding:0;border-radius:12px}
@media(max-width:700px){.rsp-route-modal #rsp-route .rsp-route-fields{grid-template-columns:minmax(0,1fr);gap:0}.rsp-route-modal .rsp-route-fields>label:first-child,.rsp-route-modal .rsp-route-fields>label:last-child{grid-column:1}.rsp-route-modal .rsp-route-fields .rsp-route-swap{grid-column:1;grid-row:auto;width:auto;height:34px;justify-self:center;margin:4px 0;padding:6px 12px}}
.rsp-route-fields>label{display:flex;min-width:0;flex-direction:column;gap:7px;line-height:1.4}
.rsp-route-fields>label input{min-width:0}
.rsp-route-modal .rsp-route-form{background:transparent}
.rsp-route-modal .rsp-route-fields>label{gap:8px;line-height:1.4}
.rsp-route-swap-icon{display:inline-block;flex:0 0 auto;font-size:21px;line-height:1}
.rsp-route-swap-label{display:inline}
.rsp-route-modal .rsp-route-fields .rsp-route-swap{border-color:#d7ded4;background:#f2f3eb;box-shadow:0 2px 7px #173c3210}
.rsp-route-modal .rsp-route-fields .rsp-route-swap:hover{border-color:#aebdaf;background:#e8eddf;transform:translateY(-1px)}
@media(min-width:701px){.rsp-route-modal .rsp-route-swap-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
@media(max-width:700px){.rsp-route-modal .rsp-route-fields{row-gap:10px}.rsp-route-modal .rsp-route-fields>label{gap:7px}.rsp-route-modal .rsp-route-fields .rsp-route-swap{min-width:116px;gap:8px;border-radius:999px;box-shadow:none}.rsp-route-modal .rsp-route-swap-label{display:inline}}
