/* Immersive globe + floating reading surface. */
.site-footer{display:none}
#route-explorer{--ex-green:#207a55;--ex-muted:#61656d;--ex-dark:#101d2b;position:relative;display:grid;grid-template-columns:344px minmax(0,1fr);gap:0;height:calc(100dvh - var(--header-height));min-height:680px;margin:0;padding:260px 40px 32px;box-sizing:border-box;background:radial-gradient(ellipse at 67% 46%,#22374b 0%,#152435 38%,#101d2b 73%);overflow:hidden;color:#1d1d1f}
#route-explorer *{box-sizing:border-box}
#route-explorer button,#route-explorer input,#route-explorer select{font:inherit}
#route-explorer button{cursor:pointer}
#route-explorer svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#route-explorer :focus-visible{outline:3px solid #318764;outline-offset:3px}
#route-explorer [hidden]{display:none!important}
body:has(#route-explorer) #ex-search-launcher{display:inline-flex;align-items:center;gap:8px;width:220px;max-width:100%;min-height:44px;box-sizing:border-box;border:1px solid transparent;border-radius:999px;padding:8px 14px;background:var(--fill,#f5f5f7);color:#61656d;font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
body:has(#route-explorer) #ex-search-launcher:hover{background:var(--fill-2,#eeeef1)}
body:has(#route-explorer) #ex-search-launcher:focus-visible{outline:3px solid #318764;outline-offset:3px}
body:has(#route-explorer) #ex-search-launcher svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#ex-search-launcher[hidden]{display:none!important}
.ex-panel{position:relative;z-index:3;background:#fcfdfdf5;border:1px solid #ffffff70;border-radius:20px;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:0 16px 44px #0002;backdrop-filter:blur(14px)}
.ex-panel-head{padding:12px 18px 16px;flex-shrink:0}
.ex-heading-line{display:flex;justify-content:space-between;align-items:center;min-height:26px;gap:8px;font-size:12px;color:var(--ex-muted)}
.ex-location{display:inline-flex;align-items:center;gap:6px}.ex-location svg{width:15px!important;height:15px!important}
.ex-classic{color:var(--ex-muted);text-decoration:none;padding:8px 0}.ex-classic:hover{color:var(--ex-green)}
.ex-heading-line{margin-bottom:9px}
.ex-search{height:46px;display:flex;align-items:center;gap:9px;background:#f2f3f5;border-radius:12px;padding:0 12px;color:#61656d}
/* The rounded wrapper owns focus, including forced-colors mode; avoid a second input ring. */
.ex-search:focus-within{outline:2px solid var(--ex-green);outline-offset:2px;box-shadow:none;background:#fff}
#route-explorer .ex-search input:focus-visible{outline:none}
.ex-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:14px!important;color:#1d1d1f;height:100%;padding:0}.ex-search input::placeholder{color:#656a72}
.ex-filter-line{display:flex;gap:10px;margin-top:12px;align-items:center}
.ex-duration-line{display:flex;align-items:center;gap:16px;margin-top:10px}
.ex-duration-line label{flex:1;min-width:0;font-size:13px;line-height:1.5;color:#34393f}
#ex-duration-hint{display:block;font-size:10px;color:var(--ex-muted)}
#route-explorer #explore-duration{flex:0 1 160px;min-width:0;width:54%;height:44px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:#f5f5f7;color:#34393f;font-size:13px;cursor:pointer}
#route-explorer #explore-duration:hover{background:#eceef0}
#route-explorer #explore-duration[data-active=true]{background:#edf4ef;color:#185f41;border-color:#86b29a}
.ex-results-head{gap:10px}.ex-results-head>span{min-width:0;overflow-wrap:anywhere;line-height:1.6}.ex-results-head>button{flex-shrink:0}
.ex-list-results-head{padding:0 0 16px}
.ex-region{flex:1;min-width:0}.ex-region select{width:100%;height:44px;border:0;border-radius:10px;background:#f5f5f7;padding:0 8px;font-size:13px!important;color:#34393f;cursor:pointer}
.ex-segment{display:flex;align-items:center;background:#eeeef1;border-radius:10px;padding:3px;flex-shrink:0}.ex-segment button{min-height:38px;padding:0 10px;display:flex;align-items:center;gap:5px;border:0;border-radius:8px;background:transparent;color:#62666e;font-size:13px!important}.ex-segment button[aria-pressed=true]{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0002}.ex-segment svg{width:15px!important;height:15px!important}
.ex-panel-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #efeff2;padding:0 12px 16px;scrollbar-width:thin;scrollbar-color:#d4d6db transparent}
.ex-results-head{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;color:var(--ex-muted);font-size:12px;min-height:48px}.ex-results-head button{border:0;background:transparent;font-size:12px!important;color:var(--ex-green);min-height:44px;padding:6px}
.ex-results{display:flex;flex-direction:column;gap:3px}
.ex-route-row{width:100%;border:0;background:transparent;border-radius:12px;padding:10px;display:flex;gap:12px;align-items:center;text-align:left;color:#1d1d1f;transition:background-color .18s ease-out}.ex-route-row:hover,.ex-route-row[aria-pressed=true]{background:#f1f6f3}.ex-route-row:active{background:#e3ede7}
.ex-route-row.is-returned{background:#f1f6f3}.ex-route-row.is-returned .ex-route-copy strong{color:var(--ex-green)}
.ex-route-row.is-highlighted{background:#e3ede7;box-shadow:inset 0 0 0 1px var(--ex-green)}
.ex-thumb{width:76px;height:65px;border-radius:9px;overflow:hidden;flex-shrink:0;background:#e8eced;display:grid;place-items:center;color:#62666e;font-size:11px;position:relative}.ex-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.ex-route-copy{flex:1;min-width:0}.ex-route-copy strong{font-size:14px;line-height:1.6;font-weight:600;display:block}.ex-route-copy small{display:block;color:var(--ex-muted);font-size:12px;margin-top:5px}.ex-route-arrow{font-size:18px;color:#8a8e93}
.ex-panel-foot{flex-shrink:0;padding:13px 22px;border-top:1px solid #efeff2;font-size:10px;color:#61656d;display:flex;gap:6px;align-items:center}.ex-status-dot{width:5px;height:5px;border-radius:50%;background:#318764}
.ex-detail-action{flex-shrink:0;padding:12px 22px 10px;border-top:1px solid #e9ebed;background:#fff}.ex-detail-action .ex-open{margin-top:0}.ex-detail-action .ex-detail-note{font-size:11px;color:var(--ex-muted);text-align:center;margin:8px 0 0}
.ex-fallback{font-size:13px;color:#343d45;background:#e7edf0;border-radius:12px;padding:10px 16px;margin-bottom:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ex-fallback button{color:var(--ex-green);border:0;background:transparent;min-height:44px;font-size:13px!important;text-decoration:underline}
.ex-stage{min-width:0;position:absolute;top:0;bottom:0;left:344px;right:0;isolation:isolate;overflow:hidden}
.ex-stage::after{content:"";position:absolute;inset:0 auto 0 0;width:88px;z-index:0;background:linear-gradient(90deg,var(--ex-dark),transparent);pointer-events:none}
.ex-stage-heading{position:absolute;top:46px;left:44px;width:340px;z-index:2;pointer-events:none;color:#fff}.ex-stage-heading p{font-size:12px;color:#bac6d4;letter-spacing:.16em;margin:0 0 16px}.ex-stage-heading h1{font-size:48px;line-height:1.2;font-weight:600;letter-spacing:-.045em;margin:0 0 18px;white-space:pre-line}.ex-stage-heading>span{font-size:13px;line-height:1.8;color:#b4c1d1}#route-explorer[data-selected=true] .ex-stage-heading h1{font-size:36px;max-height:130px;overflow:hidden;text-wrap:balance}
.ex-appearance{position:absolute;right:32px;top:32px;z-index:2;display:flex;gap:3px;padding:4px;background:#25374ade;border:1px solid #ffffff21;border-radius:28px;backdrop-filter:blur(14px)}.ex-appearance button{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:24px;background:transparent;color:#c0cbd7;font-size:13px!important}.ex-appearance button[aria-pressed=true]{background:#fcfdfd;color:#223b33;box-shadow:0 1px 4px #0002}.ex-appearance button:not([aria-pressed=true]):hover{background:#ffffff1c;color:#fff}.ex-appearance svg{width:16px!important;height:16px!important}.ex-layer-caption{position:absolute;z-index:2;right:42px;top:95px;font-size:10px;color:#a8bacb;pointer-events:none}
#ex-globe,#ex-markers{position:absolute;inset:0}#ex-markers{z-index:1;pointer-events:none}#ex-globe canvas{display:block;outline:none}
#route-explorer #ex-leaders{position:absolute;inset:0;width:100%;height:100%;stroke:#c6e7d4;stroke-width:1;opacity:.45;pointer-events:none}#ex-leaders circle{fill:#c6e7d4}
.ex-marker{position:absolute;top:0;left:0;pointer-events:auto;border:0;background:transparent;min-width:44px;min-height:44px;display:flex;justify-content:center;align-items:center;color:#fff}
.ex-cluster{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 7px;background:#152435ed;border:1px solid #ffffff40;border-radius:24px;box-shadow:0 4px 15px #0817274d;white-space:nowrap;color:#f1f5fb;font-size:12px;font-weight:550;backdrop-filter:blur(14px);transition:background-color .18s,transform .18s}.ex-cluster b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#25374a;color:#c6e7d4;font-size:12px;font-variant-numeric:tabular-nums}.ex-marker:hover .ex-cluster,.ex-marker:focus-visible .ex-cluster{background:#25374a;transform:translateY(-2px)}
.ex-pin{width:11px;height:11px;background:#76dcad;border:2px solid #eafff1;border-radius:50%;box-shadow:0 1px 8px #001e21b0;transition:transform .18s}.ex-marker.selected .ex-pin{background:#fff;box-shadow:0 0 0 5px #57b88666;transform:scale(1.2)}
.ex-pin-label{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);background:#fff;color:#203e32;box-shadow:0 4px 12px #0003;border-radius:8px;padding:7px 10px;max-width:190px;white-space:nowrap;font-size:12px;opacity:0;pointer-events:none}.ex-marker.named .ex-pin-label,.ex-marker.selected .ex-pin-label,.ex-marker:hover .ex-pin-label,.ex-marker:focus-visible .ex-pin-label{opacity:1}.ex-marker:hover,.ex-marker:focus-visible,.ex-marker.selected{z-index:3}
/* The transient route point follows JS coordinates without intercepting the globe. */
.ex-peek{position:absolute;inset:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}
.ex-marker.is-highlighted{z-index:2}.ex-marker.is-highlighted.selected,.ex-marker.is-highlighted:hover,.ex-marker.is-highlighted:focus-visible{z-index:3}
.ex-marker.is-highlighted:not(.selected) .ex-pin,.ex-peek.is-highlighted .ex-pin{background:#eafff1;box-shadow:0 0 0 4px #57b88666,0 1px 8px #001e21b0;transform:scale(1.15)}
.ex-marker.is-highlighted .ex-cluster{background:#25374a;border-color:#c6e7d4;box-shadow:0 0 0 2px #57b88666,0 4px 15px #0817274d}.ex-marker.is-highlighted .ex-cluster b{background:#c6e7d4;color:#152435}
.ex-marker.is-highlighted .ex-pin-label,.ex-peek .ex-pin-label{opacity:1;width:max-content;white-space:normal;overflow-wrap:anywhere;line-height:1.4;border:1px solid #c6e7d4}
.ex-map-controls{position:absolute;right:32px;bottom:98px;z-index:2;display:flex;flex-direction:column;border:1px solid #ffffff21;border-radius:14px;background:#25374ade;color:#f1f5fb;overflow:hidden;backdrop-filter:blur(14px)}.ex-map-controls button{width:44px;height:44px;border:0;color:inherit;background:transparent;display:grid;place-items:center;font-size:22px!important}.ex-map-controls button:hover{background:#ffffff1c}.ex-map-controls span{height:1px;background:#ffffff24;margin:0 9px}
.ex-map-caption{position:absolute;left:64px;bottom:40px;display:flex;gap:8px;align-items:center;pointer-events:none;color:#c0cbd7;font-size:12px}.ex-live-dot{width:6px;height:6px;background:#87cba8;border-radius:50%}.ex-map-help{position:absolute;right:104px;bottom:40px;color:#a8bacb;font-size:11px;pointer-events:none}
#ex-load-status{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);z-index:2;color:#d0dae5;font-size:12px;max-width:90%;text-align:center;pointer-events:none}
#ex-layer-status{position:absolute;top:122px;right:32px;max-width:260px;z-index:2;color:#f1f5fb;background:#25374ade;padding:10px 14px;border-radius:12px;font-size:12px;line-height:1.7;pointer-events:none}
.ex-back{background:transparent;border:0;min-height:44px;padding:8px 2px;color:var(--ex-green);font-size:13px!important;margin-left:10px}.ex-detail-image{height:175px;width:calc(100% - 20px);margin:2px 10px 18px;border-radius:13px;background:#e8eced;position:relative;overflow:hidden;display:grid;place-items:center;color:var(--ex-muted);font-size:12px}.ex-detail-image img{position:absolute;width:100%;height:100%;object-fit:cover}.ex-detail-copy{padding:0 12px}.ex-detail-copy h2{font-size:23px;line-height:1.35;margin:0 0 8px;letter-spacing:-.02em;text-wrap:balance}.ex-detail-copy>p{font-size:12px;color:var(--ex-muted);line-height:1.7;margin:0 0 18px}.ex-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 22px;font-size:12px;color:#315540}.ex-detail-meta span{background:#edf4ef;border-radius:7px;padding:7px 9px}.ex-detail-copy h3{font-size:13px;font-weight:600;margin:22px 0 14px}.ex-days{list-style:none;padding:0;margin:0}.ex-days li{display:flex;gap:10px;padding:0 0 13px;font-size:12px;line-height:1.7;color:#575c64}.ex-days b{flex-shrink:0;width:29px;color:var(--ex-green);font-size:11px}.ex-open{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:11px;background:var(--ex-green);color:#fff;text-decoration:none;font-size:14px;font-weight:600;margin-top:18px}.ex-open:hover{background:#185f41}.ex-detail-note{font-size:11px!important;margin:10px 0 0!important;text-align:center;line-height:1.6}
.ex-empty{padding:30px 16px;color:var(--ex-muted);font-size:13px;line-height:1.8}.ex-empty strong{display:block;color:#292d31;margin-bottom:7px;font-size:16px}.ex-empty button{border:0;background:#edf4ef;color:#207a55;padding:10px 16px;border-radius:10px;min-height:44px;margin-top:10px}
/* Selection gives the reading surface room for the cover and complete route facts. */
#route-explorer[data-selected=true]>.ex-stage-heading,#route-explorer[data-selected=true] .ex-heading-line{display:none}
#route-explorer[data-selected=true] .ex-detail-image{height:128px;margin-bottom:12px}
.ex-detail-copy h2{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ex-detail-copy>.ex-detail-area{margin:0 0 4px}
.ex-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:8px 0 10px;padding:8px 0;border-top:1px solid #e9ebed;border-bottom:1px solid #e9ebed}
.ex-detail-facts>div{min-width:0}.ex-detail-facts dt{margin:0 0 2px;font-size:11px;line-height:1.4;color:var(--ex-muted)}
.ex-detail-facts dd{margin:0;font-size:14px;line-height:1.5;font-weight:600;color:#1d1d1f;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.ex-detail-facts>.ex-fact--budget{grid-column:1 / -1}.ex-detail-facts>.ex-fact--budget dd{font-size:12px;line-height:1.5;font-weight:500}
.ex-detail-copy>.ex-detail-distance{margin:0 0 12px;font-size:11px}
.ex-list{min-width:0;overflow:auto;padding:25px 32px 40px;background:#f5f5f7;border-radius:20px;color:#1d1d1f}.ex-list>header p{font-size:13px;color:var(--ex-muted);margin:0 0 10px}.ex-list h2{font-size:26px;font-weight:600;letter-spacing:-.03em;margin:0 0 27px;line-height:1.3}#ex-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:25px 20px}.ex-list-card{text-decoration:none;color:#1d1d1f;min-width:0;display:block}.ex-list-image{height:155px;border-radius:14px;background:#e8eced;position:relative;overflow:hidden;display:grid;place-items:center;font-size:12px;color:var(--ex-muted)}.ex-list-image img{width:100%;height:100%;object-fit:cover;position:absolute;transition:transform .2s ease-out}.ex-list-card:hover img{transform:scale(1.025)}.ex-list-card h3{font-size:15px;margin:12px 0 6px;font-weight:600;line-height:1.5}.ex-list-card p{font-size:12px;color:var(--ex-muted);margin:0;line-height:1.7}.ex-list-card small{display:block;font-size:11px;color:var(--ex-green);margin-top:7px}
#route-explorer[data-view=list]{background:#edf0f2;padding:16px;gap:12px}#route-explorer[data-view=list] .ex-stage,#route-explorer[data-view=list]>.ex-stage-heading{display:none}
#explore-sheet-toggle{display:none}.ex-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body:has(#route-explorer) #sp-fab{top:auto!important;left:auto!important;bottom:28px!important;right:32px!important;width:44px!important;height:44px!important}
@media(min-width:769px){#route-explorer[data-selected=true]{padding-top:32px}}
@media(min-width:769px) and (max-width:1190px){#route-explorer{grid-template-columns:294px minmax(0,1fr);padding-left:24px;padding-right:24px}.ex-panel-head{padding:12px 14px 14px}.ex-stage-heading{left:28px;width:290px}.ex-stage-heading h1{font-size:42px}.ex-stage{left:294px}.ex-map-help{display:none}}
@media(min-width:769px) and (max-height:800px){#route-explorer{min-height:600px;padding-top:214px;padding-bottom:24px}.ex-stage-heading{top:30px}.ex-stage-heading h1{font-size:40px;margin-bottom:12px}.ex-stage-heading p{margin-bottom:12px}}
@media(max-width:768px){
  body:has(#route-explorer){--header-height:56px}body:has(#route-explorer) #nav-search-wrap{display:none}body:has(#route-explorer) #nav{grid-template-rows:44px;padding:4px 12px 8px}
  #route-explorer{display:block;height:calc(100dvh - var(--header-height));min-height:500px;margin:0;padding:0;border-radius:0;overflow:hidden}
  .ex-panel{position:static;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;backdrop-filter:none}.ex-panel-head{position:absolute;z-index:4;top:0;left:0;right:0;background:#fff;padding:12px 16px 13px;border-bottom:1px solid #eaeced}
  .ex-stage::after{display:none}
  .ex-heading-line,.ex-panel h1,.ex-intro,.ex-panel-foot{display:none}.ex-search{height:44px}.ex-search input{font-size:16px!important}.ex-filter-line{margin-top:10px}.ex-region select{height:44px}.ex-segment button{min-height:44px}
  .ex-panel-body{position:absolute;bottom:0;left:0;right:0;z-index:5;background:#fff;border-radius:22px 22px 0 0;border-top:1px solid #ddd;box-shadow:0 -8px 30px #0012231c;height:65%;max-height:calc(100% - var(--ex-head-height,185px) - 12px);padding:0 10px max(14px,env(safe-area-inset-bottom));transform:translateY(calc(100% - 144px));transition:transform .22s ease-out;overflow:hidden}
  #route-explorer[data-sheet=expanded] .ex-panel-body{transform:translateY(0);overflow-y:auto}
  #route-explorer[data-selected=true][data-sheet=expanded] .ex-panel-body{height:calc(100% - var(--ex-head-height,185px) - 3px);max-height:calc(100% - var(--ex-head-height,185px) - 3px);scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  #route-explorer[data-selected=true][data-sheet=expanded]:has(#ex-detail-action:not([hidden])) .ex-panel-body{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  #route-explorer[data-selected=true][data-sheet=expanded] #explore-sheet-toggle{min-height:44px;padding-top:18px;padding-bottom:6px}
  #route-explorer[data-selected=true][data-sheet=expanded] .ex-detail-image{height:112px;margin-bottom:10px}
  #route-explorer[data-sheet=collapsed] #ex-preview{display:none}
  #route-explorer:has(#ex-detail-action:not([hidden]))[data-sheet=expanded] .ex-panel-body{padding-bottom:110px}
  .ex-detail-action{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:12px 20px max(12px,env(safe-area-inset-bottom))}
  #route-explorer[data-sheet=collapsed] .ex-detail-action,#route-explorer[data-view=list] .ex-detail-action{display:none}
  #explore-sheet-toggle{display:flex;position:sticky;top:0;width:100%;min-height:60px;border:0;background:#fff;justify-content:space-between;align-items:center;padding:20px 14px 8px;font-size:13px!important;color:#343a42;z-index:2}.ex-sheet-grip{position:absolute;left:calc(50% - 17px);top:8px;width:34px;height:4px;background:#d4d6da;border-radius:4px}#ex-sheet-action{font-size:12px;color:var(--ex-green)}
  #route-explorer[data-sheet=collapsed] .ex-panel-body .ex-results-head{display:none}#route-explorer[data-sheet=collapsed] .ex-results .ex-route-row:not(:first-child){display:none}.ex-route-row{padding:8px 12px}.ex-thumb{width:63px;height:54px}.ex-route-copy strong{font-size:14px}
  .ex-stage{position:absolute;top:var(--ex-head-height,185px);bottom:118px;left:0;right:0;border-radius:0}.ex-stage-heading{top:calc(var(--ex-head-height,185px) + 20px);left:20px;right:66px;width:auto}.ex-stage-heading p{display:none}.ex-stage-heading h1,#route-explorer[data-selected=true] .ex-stage-heading h1{font-size:21px;margin-bottom:6px;white-space:normal;line-height:1.4;max-height:60px}.ex-stage-heading>span{font-size:11px}.ex-map-controls{right:12px;top:16px;bottom:auto;border-radius:12px}.ex-map-controls button{height:44px;width:44px}.ex-map-caption{display:none}.ex-map-help{display:none}.ex-pin-label{font-size:11px}.ex-cluster{font-size:10px;padding:4px 7px 4px 4px;gap:4px}.ex-cluster b{width:21px;height:21px;font-size:11px}#ex-load-status{font-size:11px;bottom:100px}
  .ex-appearance{top:auto;bottom:54px;right:auto;left:18px;padding:3px}.ex-appearance button{padding:0 13px;min-height:44px;font-size:11px!important;gap:6px}.ex-appearance svg{width:14px!important;height:14px!important}.ex-layer-caption{top:auto;bottom:34px;left:26px;right:auto;font-size:10px}#ex-layer-status{top:auto;bottom:109px;left:18px;right:auto;max-width:230px;font-size:11px}
  #route-explorer[data-view=list]{background:#f5f5f7;overflow-y:auto;padding:0}#route-explorer[data-view=list] .ex-panel-body{display:none}.ex-list{border-radius:0;padding:calc(var(--ex-head-height,185px) + 17px) 16px 36px;overflow:visible}.ex-list h2{font-size:23px;margin-bottom:20px}.ex-list>header p{font-size:12px}#ex-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.ex-list-image{height:116px;border-radius:11px}.ex-list-card h3{font-size:13px}.ex-list-card p{font-size:11px}
  body:has(#route-explorer) #sp-fab{bottom:calc(158px + env(safe-area-inset-bottom))!important;right:12px!important;width:42px!important;height:42px!important}body:has(#route-explorer[data-sheet=expanded]) #sp-fab{display:none!important}
}
/* Short phones keep the controls above the map, away from the help button. */
@media(max-width:768px) and (max-height:680px){
  #route-explorer>.ex-stage-heading{display:none}
  .ex-map-controls{flex-direction:row;top:12px;right:12px}
  .ex-map-controls span{width:1px;height:26px;margin:9px 0}
}
@media(prefers-reduced-motion:reduce){#route-explorer *,#route-explorer *::before,#route-explorer *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){
  #route-explorer #explore-duration{background:Field;color:FieldText;border-color:ButtonText}
  #route-explorer #explore-duration[data-active=true]{border-color:Highlight;color:FieldText;background:Field}
  body:has(#route-explorer) #ex-search-launcher{background:ButtonFace;color:ButtonText;border-color:ButtonText}
  body:has(#route-explorer) #ex-search-launcher:focus-visible,#route-explorer :focus-visible{outline-color:Highlight}
  #route-explorer .ex-search:focus-within{outline-color:Highlight}
  .ex-route-row.is-returned{outline:1px dashed Highlight;outline-offset:-2px}.ex-route-row.is-highlighted{outline:2px solid Highlight;outline-offset:-2px}
  .ex-marker.is-highlighted .ex-cluster{border-color:Highlight}.ex-marker.is-highlighted .ex-cluster b{background:Highlight;color:HighlightText}
  .ex-marker.is-highlighted:not(.selected) .ex-pin,.ex-peek.is-highlighted .ex-pin{outline:2px dashed Highlight;outline-offset:2px}
  .ex-marker.selected .ex-pin{outline:3px solid Highlight;outline-offset:3px}
  .ex-marker.is-highlighted .ex-pin-label,.ex-peek .ex-pin-label{background:Canvas;color:CanvasText;border-color:CanvasText}
  .ex-detail-facts{border-color:CanvasText}
}
/* Metadata belongs at the choice point, not only after opening the detail. */
.ex-list-card .ex-card-budget{font-size:13px;line-height:1.7;color:#505d55;margin:8px 0 12px;overflow-wrap:anywhere}
.ex-list-card h3{font-size:18px;line-height:1.5}.ex-list-card p{line-height:1.7}
.ex-list-card{padding-bottom:16px;border-bottom:1px solid #dce3df}
.ex-list h2{letter-spacing:-.025em}.ex-stage-heading h1{letter-spacing:-.035em}
@media(max-width:768px){
 #route-explorer[data-view=list] .ex-panel-head{position:sticky;top:0;padding:12px 16px;background:#fff}
 #route-explorer[data-view=list] .ex-list{padding:24px 16px 80px}
 #route-explorer[data-view=list] #ex-list-grid{grid-template-columns:1fr;gap:24px}
 #route-explorer[data-view=list] .ex-list-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:4px 16px;align-content:start}
 #route-explorer[data-view=list] .ex-list-image{grid-column:1;grid-row:1/span 4;width:112px;height:128px;border-radius:12px}
 #route-explorer[data-view=list] .ex-list-card h3{grid-column:2;font-size:17px;margin:0;line-height:1.5}
 #route-explorer[data-view=list] .ex-list-card p{grid-column:2;font-size:13px;margin:0;line-height:1.6}
 #route-explorer[data-view=list] .ex-list-card small{grid-column:2;font-size:14px;margin-top:4px;min-height:32px;display:flex;align-items:center}
 #route-explorer[data-view=list] .ex-list-card .ex-card-budget{font-size:13px;margin:4px 0;line-height:1.6}
 #route-explorer[data-view=list] .ex-list>header p{font-size:14px}.ex-list h2{font-size:24px;line-height:1.4}
 body:has(#route-explorer[data-view=list]) #sp-fab{bottom:16px!important}
}
@media(max-width:360px){#route-explorer[data-view=list] .ex-list-card{grid-template-columns:88px minmax(0,1fr);gap:4px 12px}#route-explorer[data-view=list] .ex-list-image{width:88px;height:112px}}
