/* Route template: one runtime stylesheet for catalogue, explorer and fallback.
 * Built with node scripts/build-routes-theme.mjs.
 * Rules after ROUTES_TEMPLATE_RULES are maintained manually and retained on rebuild.
 * The approved ranking-theme.css is neither read nor changed.
 */

/* Source: public/theme-tokens.css; routes only */
/* Shared theme contract. Values: docs/theme-audit/theme-tokens.json. */
@font-face{font-family:Manrope;src:url("/assets/fonts/Manrope-Variable.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root:where(html[data-vz-route-style="single"]){
  color-scheme:light;
  --vz-page:#f5f7f9;
  --vz-card:#ffffff;
  --vz-card-soft:#edf4fb;
  --vz-copy:#263238;
  --vz-muted:#62738b;
  --vz-blue:#123b6d;
  --vz-line:#bacbe9;
  --vz-hover:#edf4fb;
  --vz-selection:#edf4fb;
  --vz-current:#006b43;
  --vz-current-fill:#00875a;
  --vz-current-surface:#e9f8f0;
  --vz-ranking-current:var(--vz-current);
  --vz-ranking-place:#000;
  --vz-on-accent:#ffffff;
  --vz-success:#087b51;
  --vz-error:#ae3544;
  --vz-warning:#92630e;
  --vz-shadow-popup:0 8px 28px #102a4426;
}
:root[data-theme="dark"]:where(html[data-vz-route-style="single"]){
  color-scheme:dark;
  --vz-page:#010a11;
  --vz-card:#04111b;
  --vz-card-soft:#081827;
  --vz-copy:#c6d3e9;
  --vz-muted:#8fa5cf;
  --vz-blue:#9fb7e4;
  --vz-line:#3c4652;
  --vz-hover:#102332;
  --vz-selection:#112737;
  --vz-current:#f2b66d;
  --vz-current-fill:#f2b66d;
  --vz-current-surface:color-mix(in srgb,var(--vz-current) 10%,transparent);
  --vz-ranking-current:var(--vz-current);
  --vz-ranking-place:var(--vz-copy);
  --vz-on-accent:#010a11;
  --vz-success:#35d6a2;
  --vz-error:#fb8584;
  --vz-warning:#e9c96f;
  --vz-shadow-popup:0 8px 28px #0008;
}
:root:where(html[data-vz-route-style="single"]){
  --vz-font-body:Manrope,"Segoe UI",Arial,sans-serif;
  --vz-font-heading:"Times New Roman",Times,serif;
  --vz-control-font-size:14px;--vz-compact-font-size:12px;
  --vz-control-height:44px;--vz-control-radius:11px;--vz-control-padding:12px;
  --vz-compact-height:32px;--vz-compact-radius:6px;--vz-compact-padding:8px;
  --vz-card-radius:15px;--vz-icon-size:40px;--vz-icon-radius:10px;
  --vz-touch-size:44px;--vz-focus-width:2px;--vz-focus-offset:2px;
  --vz-active-filter:var(--vz-current);
}
:where(html[data-vz-route-style="single"]) .vz-service-theme{display:grid;place-items:center;width:40px;height:40px;flex:none;padding:8px;border:1px solid var(--vz-line);border-radius:var(--vz-icon-radius);background:var(--vz-card);color:var(--vz-blue);cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-service-theme svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-vz-route-style="single"]) .vz-service-theme:hover{background:var(--vz-hover)}
:where(html[data-vz-route-style="single"]) .vz-service-theme:focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
@media(max-width:767px),(pointer:coarse){:where(html[data-vz-route-style="single"]) .vz-service-theme{width:44px;height:44px}}


/* Leaflet 1.9.4: BSD 2-Clause License
BSD 2-Clause License

Copyright (c) 2010-2023, Volodymyr Agafonkin
Copyright (c) 2010-2011, CloudMade
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* required styles */

:where(html[data-vz-route-style="single"]) .leaflet-pane,
:where(html[data-vz-route-style="single"]) .leaflet-tile,
:where(html[data-vz-route-style="single"]) .leaflet-marker-icon,
:where(html[data-vz-route-style="single"]) .leaflet-marker-shadow,
:where(html[data-vz-route-style="single"]) .leaflet-tile-container,
:where(html[data-vz-route-style="single"]) .leaflet-pane > svg,
:where(html[data-vz-route-style="single"]) .leaflet-pane > canvas,
:where(html[data-vz-route-style="single"]) .leaflet-zoom-box,
:where(html[data-vz-route-style="single"]) .leaflet-image-layer,
:where(html[data-vz-route-style="single"]) .leaflet-layer{
	position: absolute;
	left: 0;
	top: 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-container{
	overflow: hidden;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tile,
:where(html[data-vz-route-style="single"]) .leaflet-marker-icon,
:where(html[data-vz-route-style="single"]) .leaflet-marker-shadow{
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
:where(html[data-vz-route-style="single"]) .leaflet-tile::selection{
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
:where(html[data-vz-route-style="single"]) .leaflet-safari .leaflet-tile{
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
:where(html[data-vz-route-style="single"]) .leaflet-safari .leaflet-tile-container{
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-marker-icon,
:where(html[data-vz-route-style="single"]) .leaflet-marker-shadow{
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
:where(html[data-vz-route-style="single"]) .leaflet-container .leaflet-overlay-pane svg{
	max-width: none !important;
	max-height: none !important;
	}
:where(html[data-vz-route-style="single"]) .leaflet-container .leaflet-marker-pane img,
:where(html[data-vz-route-style="single"]) .leaflet-container .leaflet-shadow-pane img,
:where(html[data-vz-route-style="single"]) .leaflet-container .leaflet-tile-pane img,
:where(html[data-vz-route-style="single"]) .leaflet-container img.leaflet-image-layer,
:where(html[data-vz-route-style="single"]) .leaflet-container .leaflet-tile{
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

:where(html[data-vz-route-style="single"]) .leaflet-container img.leaflet-tile{
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

:where(html[data-vz-route-style="single"]) .leaflet-container.leaflet-touch-zoom{
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
:where(html[data-vz-route-style="single"]) .leaflet-container.leaflet-touch-drag{
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
:where(html[data-vz-route-style="single"]) .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{
	-ms-touch-action: none;
	touch-action: none;
}
:where(html[data-vz-route-style="single"]) .leaflet-container{
	-webkit-tap-highlight-color: transparent;
}
:where(html[data-vz-route-style="single"]) .leaflet-container a{
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
:where(html[data-vz-route-style="single"]) .leaflet-tile{
	filter: inherit;
	visibility: hidden;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tile-loaded{
	visibility: inherit;
	}
:where(html[data-vz-route-style="single"]) .leaflet-zoom-box{
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
:where(html[data-vz-route-style="single"]) .leaflet-overlay-pane svg{
	-moz-user-select: none;
	}

:where(html[data-vz-route-style="single"]) .leaflet-pane{ z-index: 400; }

:where(html[data-vz-route-style="single"]) .leaflet-tile-pane{ z-index: 200; }
:where(html[data-vz-route-style="single"]) .leaflet-overlay-pane{ z-index: 400; }
:where(html[data-vz-route-style="single"]) .leaflet-shadow-pane{ z-index: 500; }
:where(html[data-vz-route-style="single"]) .leaflet-marker-pane{ z-index: 600; }
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-pane{ z-index: 650; }
:where(html[data-vz-route-style="single"]) .leaflet-popup-pane{ z-index: 700; }

:where(html[data-vz-route-style="single"]) .leaflet-map-pane canvas{ z-index: 100; }
:where(html[data-vz-route-style="single"]) .leaflet-map-pane svg{ z-index: 200; }

:where(html[data-vz-route-style="single"]) .leaflet-vml-shape{
	width: 1px;
	height: 1px;
	}
:where(html[data-vz-route-style="single"]) .lvml{
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

:where(html[data-vz-route-style="single"]) .leaflet-control{
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
:where(html[data-vz-route-style="single"]) .leaflet-top,
:where(html[data-vz-route-style="single"]) .leaflet-bottom{
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
:where(html[data-vz-route-style="single"]) .leaflet-top{
	top: 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-right{
	right: 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bottom{
	bottom: 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-left{
	left: 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control{
	float: left;
	clear: both;
	}
:where(html[data-vz-route-style="single"]) .leaflet-right .leaflet-control{
	float: right;
	}
:where(html[data-vz-route-style="single"]) .leaflet-top .leaflet-control{
	margin-top: 10px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bottom .leaflet-control{
	margin-bottom: 10px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-left .leaflet-control{
	margin-left: 10px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-right .leaflet-control{
	margin-right: 10px;
	}


/* zoom and fade animations */

:where(html[data-vz-route-style="single"]) .leaflet-fade-anim .leaflet-popup{
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
:where(html[data-vz-route-style="single"]) .leaflet-fade-anim .leaflet-map-pane .leaflet-popup{
	opacity: 1;
	}
:where(html[data-vz-route-style="single"]) .leaflet-zoom-animated{
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
:where(html[data-vz-route-style="single"]) svg.leaflet-zoom-animated{
	will-change: transform;
}

:where(html[data-vz-route-style="single"]) .leaflet-zoom-anim .leaflet-zoom-animated{
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
:where(html[data-vz-route-style="single"]) .leaflet-zoom-anim .leaflet-tile,
:where(html[data-vz-route-style="single"]) .leaflet-pan-anim .leaflet-tile{
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

:where(html[data-vz-route-style="single"]) .leaflet-zoom-anim .leaflet-zoom-hide{
	visibility: hidden;
	}


/* cursors */

:where(html[data-vz-route-style="single"]) .leaflet-interactive{
	cursor: pointer;
	}
:where(html[data-vz-route-style="single"]) .leaflet-grab{
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
:where(html[data-vz-route-style="single"]) .leaflet-crosshair,
:where(html[data-vz-route-style="single"]) .leaflet-crosshair .leaflet-interactive{
	cursor: crosshair;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-pane,
:where(html[data-vz-route-style="single"]) .leaflet-control{
	cursor: auto;
	}
:where(html[data-vz-route-style="single"]) .leaflet-dragging .leaflet-grab,
:where(html[data-vz-route-style="single"]) .leaflet-dragging .leaflet-grab .leaflet-interactive,
:where(html[data-vz-route-style="single"]) .leaflet-dragging .leaflet-marker-draggable{
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
:where(html[data-vz-route-style="single"]) .leaflet-marker-icon,
:where(html[data-vz-route-style="single"]) .leaflet-marker-shadow,
:where(html[data-vz-route-style="single"]) .leaflet-image-layer,
:where(html[data-vz-route-style="single"]) .leaflet-pane > svg path,
:where(html[data-vz-route-style="single"]) .leaflet-tile-container{
	pointer-events: none;
	}

:where(html[data-vz-route-style="single"]) .leaflet-marker-icon.leaflet-interactive,
:where(html[data-vz-route-style="single"]) .leaflet-image-layer.leaflet-interactive,
:where(html[data-vz-route-style="single"]) .leaflet-pane > svg path.leaflet-interactive,
:where(html[data-vz-route-style="single"]) svg.leaflet-image-layer.leaflet-interactive path{
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

:where(html[data-vz-route-style="single"]) .leaflet-container{
	background: #ddd;
	outline-offset: 1px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-container a{
	color: #0078A8;
	}
:where(html[data-vz-route-style="single"]) .leaflet-zoom-box{
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
:where(html[data-vz-route-style="single"]) .leaflet-container{
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

:where(html[data-vz-route-style="single"]) .leaflet-bar{
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bar a{
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bar a,
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-toggle{
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bar a:hover,
:where(html[data-vz-route-style="single"]) .leaflet-bar a:focus{
	background-color: #f4f4f4;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bar a:first-child{
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bar a:last-child{
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bar a.leaflet-disabled{
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-bar a{
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-bar a:first-child{
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-bar a:last-child{
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

:where(html[data-vz-route-style="single"]) .leaflet-control-zoom-in,
:where(html[data-vz-route-style="single"]) .leaflet-control-zoom-out{
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-control-zoom-in,
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-control-zoom-out{
	font-size: 22px;
	}


/* layers control */

:where(html[data-vz-route-style="single"]) .leaflet-control-layers{
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-toggle{
	background-image: url(/assets/vendor/leaflet/images/layers.png);
	width: 36px;
	height: 36px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-retina .leaflet-control-layers-toggle{
	background-image: url(/assets/vendor/leaflet/images/layers-2x.png);
	background-size: 26px 26px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-control-layers-toggle{
	width: 44px;
	height: 44px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers .leaflet-control-layers-list,
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-expanded .leaflet-control-layers-toggle{
	display: none;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-expanded .leaflet-control-layers-list{
	display: block;
	position: relative;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-expanded{
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-scrollbar{
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-selector{
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers label{
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-layers-separator{
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
:where(html[data-vz-route-style="single"]) .leaflet-default-icon-path{ /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(/assets/vendor/leaflet/images/marker-icon.png);
	}


/* attribution and scale controls */

:where(html[data-vz-route-style="single"]) .leaflet-container .leaflet-control-attribution{
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-attribution,
:where(html[data-vz-route-style="single"]) .leaflet-control-scale-line{
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-attribution a{
	text-decoration: none;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-attribution a:hover,
:where(html[data-vz-route-style="single"]) .leaflet-control-attribution a:focus{
	text-decoration: underline;
	}
:where(html[data-vz-route-style="single"]) .leaflet-attribution-flag{
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
:where(html[data-vz-route-style="single"]) .leaflet-left .leaflet-control-scale{
	margin-left: 5px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-bottom .leaflet-control-scale{
	margin-bottom: 5px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-scale-line{
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-scale-line:not(:first-child){
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-control-scale-line:not(:first-child):not(:last-child){
	border-bottom: 2px solid #777;
	}

:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-control-attribution,
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-control-layers,
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-bar{
	box-shadow: none;
	}
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-control-layers,
:where(html[data-vz-route-style="single"]) .leaflet-touch .leaflet-bar{
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

:where(html[data-vz-route-style="single"]) .leaflet-popup{
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-content-wrapper{
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-content{
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-content p{
	margin: 17px 0;
	margin: 1.3em 0;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-tip-container{
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-tip{
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-content-wrapper,
:where(html[data-vz-route-style="single"]) .leaflet-popup-tip{
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
:where(html[data-vz-route-style="single"]) .leaflet-container a.leaflet-popup-close-button{
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
:where(html[data-vz-route-style="single"]) .leaflet-container a.leaflet-popup-close-button:hover,
:where(html[data-vz-route-style="single"]) .leaflet-container a.leaflet-popup-close-button:focus{
	color: #585858;
	}
:where(html[data-vz-route-style="single"]) .leaflet-popup-scrolled{
	overflow: auto;
	}

:where(html[data-vz-route-style="single"]) .leaflet-oldie .leaflet-popup-content-wrapper{
	-ms-zoom: 1;
	}
:where(html[data-vz-route-style="single"]) .leaflet-oldie .leaflet-popup-tip{
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

:where(html[data-vz-route-style="single"]) .leaflet-oldie .leaflet-control-zoom,
:where(html[data-vz-route-style="single"]) .leaflet-oldie .leaflet-control-layers,
:where(html[data-vz-route-style="single"]) .leaflet-oldie .leaflet-popup-content-wrapper,
:where(html[data-vz-route-style="single"]) .leaflet-oldie .leaflet-popup-tip{
	border: 1px solid #999;
	}


/* div icon */

:where(html[data-vz-route-style="single"]) .leaflet-div-icon{
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
:where(html[data-vz-route-style="single"]) .leaflet-tooltip{
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip.leaflet-interactive{
	cursor: pointer;
	pointer-events: auto;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-top:before,
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-bottom:before,
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-left:before,
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-right:before{
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

:where(html[data-vz-route-style="single"]) .leaflet-tooltip-bottom{
	margin-top: 6px;
}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-top{
	margin-top: -6px;
}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-bottom:before,
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-top:before{
	left: 50%;
	margin-left: -6px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-top:before{
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-bottom:before{
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-left{
	margin-left: -6px;
}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-right{
	margin-left: 6px;
}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-left:before,
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-right:before{
	top: 50%;
	margin-top: -6px;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-left:before{
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
:where(html[data-vz-route-style="single"]) .leaflet-tooltip-right:before{
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print{
	/* Prevent printers from removing background-images of controls. */
	:where(html[data-vz-route-style="single"]) .leaflet-control{
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}


/* Source: public/routes-catalog-preview.css; catalog only */

/* Catalog surfaces inherit the Participants palette; map data retain their colors. */
.routes-catalog-preview:where(html[data-route-layout="catalog"]){--route-blue-text:var(--vz-blue);--catalog-paper:var(--vz-card);--catalog-ink:var(--vz-copy);--catalog-muted:var(--vz-muted);--catalog-line:var(--vz-line);--catalog-hover:var(--vz-hover);--catalog-selected:var(--vz-selection);--catalog-mobile-muted:var(--vz-muted);--catalog-shadow:var(--vz-shadow-popup)}
:where(html[data-route-layout="catalog"]) *{box-sizing:border-box}
:where(html[data-route-layout="catalog"]) [hidden]{display:none!important}
:where(html[data-route-layout="catalog"]) body{margin:0;min-width:320px;background:var(--vz-page);color:var(--catalog-ink);font:400 13px/1.4 Manrope,"Segoe UI",Arial,sans-serif;overflow:hidden}
:where(html[data-route-layout="catalog"]) button,
:where(html[data-route-layout="catalog"]) input,
:where(html[data-route-layout="catalog"]) select{font:inherit}
:where(html[data-route-layout="catalog"]) button{cursor:pointer}
:where(html[data-route-layout="catalog"]) button:disabled{cursor:default;opacity:.45}
:where(html[data-route-layout="catalog"]) a{color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) :is(a,button,input,select):focus-visible{outline:2px solid var(--route-blue-text);outline-offset:2px}
:where(html[data-route-layout="catalog"]) .catalog-explorer{position:relative;height:100dvh;min-height:320px}
:where(html[data-route-layout="catalog"]) #catalog-map{position:absolute;inset:0;background:#dae6d7}
.theme-dark:where(html[data-route-layout="catalog"]) #catalog-map{background:#010a11}
.theme-dark:where(html[data-route-layout="catalog"]) #catalog-map .catalog-street-tiles img.leaflet-tile{filter:invert(.9) hue-rotate(180deg) saturate(.8) brightness(1.1) contrast(.76)}
:where(html[data-route-layout="catalog"]) .catalog-map-controls{position:absolute;z-index:800;top:12px;right:12px;display:flex;overflow:hidden;border:1px solid var(--catalog-line);border-radius:10px;background:var(--catalog-paper);box-shadow:var(--catalog-shadow)}
:where(html[data-route-layout="catalog"]) .catalog-map-controls button{display:grid;place-items:center;width:42px;height:39px;padding:7px;border:0;border-left:1px solid var(--catalog-line);background:transparent;color:var(--route-blue-text);font:600 27px/1 Manrope,Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .catalog-map-controls button:first-child{border-left:0}
:where(html[data-route-layout="catalog"]) .catalog-map-controls button:hover,
:where(html[data-route-layout="catalog"]) .map-control:hover{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-map-controls svg,
:where(html[data-route-layout="catalog"]) .map-control svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .catalog-menu-toggle{position:absolute;z-index:810;left:12px;top:12px;display:grid;place-items:center;width:39px;height:39px;padding:8px;border:1px solid var(--catalog-line);border-radius:9px;background:var(--catalog-paper);color:var(--route-blue-text);box-shadow:var(--catalog-shadow)}
:where(html[data-route-layout="catalog"]) .routes-content{position:absolute;z-index:700;left:12px;top:12px;bottom:25px;width:460px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--catalog-line);border-radius:13px;background:var(--catalog-paper);box-shadow:var(--catalog-shadow)}
:where(html[data-route-layout="catalog"]) .routes-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px 14px 5px}
:where(html[data-route-layout="catalog"]) .page-title{margin:0;color:var(--route-blue-text);font:700 24px/1.15 var(--vz-font-heading)}
:where(html[data-route-layout="catalog"]) .routes-updated{color:var(--catalog-muted);font-size:9px;line-height:1.3;text-align:right}
:where(html[data-route-layout="catalog"]) .routes-updated time{display:block}
:where(html[data-route-layout="catalog"]) .routes-updated-label,
:where(html[data-route-layout="catalog"]) .routes-breadcrumbs{display:none}
:where(html[data-route-layout="catalog"]) .routes-updated-short{display:inline}
:where(html[data-route-layout="catalog"]) .routes-count{flex:none;margin:0;padding:0 14px 8px;color:var(--catalog-muted);font-size:11px}
:where(html[data-route-layout="catalog"]) .routes-toolbar{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'search search search' 'type difficulty sort' 'distance distance mode';gap:4px;padding:0 12px 8px;border-bottom:1px solid var(--catalog-line)}
:where(html[data-route-layout="catalog"]) .routes-search{grid-area:search;display:flex;align-items:center;gap:6px;padding:0 7px;min-height:var(--vz-compact-height);border:1px solid var(--catalog-line);border-radius:6px;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .routes-search>svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
:where(html[data-route-layout="catalog"]) .routes-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--catalog-ink);font-size:11px}
:where(html[data-route-layout="catalog"]) .routes-search input::placeholder{color:var(--catalog-muted)}
:where(html[data-route-layout="catalog"]) .routes-search:focus-within{outline:2px solid var(--route-blue-text);outline-offset:-1px}
:where(html[data-route-layout="catalog"]) .routes-search button{flex:none;width:22px;height:27px;padding:0;border:0;background:transparent;color:var(--route-blue-text);font-size:22px}
:where(html[data-route-layout="catalog"]) .routes-select{position:relative;min-width:0}
:where(html[data-route-layout="catalog"]) .routes-select:has(#routes-type){grid-area:type}
:where(html[data-route-layout="catalog"]) .routes-select:has(#routes-difficulty){grid-area:difficulty}
:where(html[data-route-layout="catalog"]) .routes-select select,
:where(html[data-route-layout="catalog"]) .catalog-filter-input,
:where(html[data-route-layout="catalog"]) .catalog-mode-select{width:100%;height:var(--vz-compact-height);padding:0 21px 0 7px;border:1px solid var(--catalog-line);border-radius:6px;background:transparent;color:var(--route-blue-text);font-size:10px;appearance:none}
:where(html[data-route-layout="catalog"]) .routes-select svg{position:absolute;top:9px;right:7px;width:10px;height:10px;fill:none;stroke:var(--route-blue-text);stroke-width:2;pointer-events:none}
:where(html[data-route-layout="catalog"]) select option{background:var(--catalog-paper);color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-distance-filter{grid-area:distance;display:flex;align-items:center;gap:5px;min-width:0;color:var(--catalog-muted);font-size:10px}
:where(html[data-route-layout="catalog"]) .catalog-filter-input{width:60px;min-width:0;padding:0 5px;height:var(--vz-compact-height);font-size:10px;appearance:auto}
:where(html[data-route-layout="catalog"]) .catalog-distance-filter>label{display:flex;align-items:center;gap:5px}
:where(html[data-route-layout="catalog"]) .catalog-sort{grid-area:sort;min-width:0;display:flex;align-items:center}
:where(html[data-route-layout="catalog"]) .catalog-sort select{width:100%;min-width:0;height:var(--vz-compact-height);border:1px solid var(--catalog-line);border-radius:6px;background:transparent;color:var(--route-blue-text);font-size:10px;padding:0 5px}
:where(html[data-route-layout="catalog"]) .catalog-mode-select{grid-area:mode;min-width:0;width:100%;appearance:auto;padding-right:3px;height:var(--vz-compact-height)}
:where(html[data-route-layout="catalog"]) .routes-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#7e91a44d transparent;margin:0;padding:5px 7px 7px;list-style:none}
:where(html[data-route-layout="catalog"]) .routes-list>li{position:relative;display:grid;grid-template-columns:27px minmax(0,1fr) 26px;align-items:center;gap:5px;min-height:57px;padding:7px 5px;border-bottom:1px solid color-mix(in srgb,var(--catalog-line) 55%,transparent);border-radius:6px}
:where(html[data-route-layout="catalog"]) .routes-list>li:hover{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .routes-list>li.is-selected{background:var(--catalog-selected)}
:where(html[data-route-layout="catalog"]) .routes-list>li.is-focused{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-add,
:where(html[data-route-layout="catalog"]) .catalog-focus{display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid var(--catalog-line);border-radius:50%;background:transparent;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-add{font-size:20px;line-height:1;font-weight:500}
:where(html[data-route-layout="catalog"]) .catalog-add[aria-pressed="true"]{border-color:var(--route-blue-text);background:var(--catalog-hover);color:var(--route-blue-text);font-size:16px}
:where(html[data-route-layout="catalog"]) .catalog-focus svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none}
:where(html[data-route-layout="catalog"]) .route-list-item{display:block;min-width:0;text-decoration:none;padding:0;border:0;background:none;box-shadow:none}
:where(html[data-route-layout="catalog"]) .route-list-item h2{margin:0 0 4px;color:var(--route-blue-text);font:700 15px/1.2 var(--vz-font-heading);overflow-wrap:anywhere}
:where(html[data-route-layout="catalog"]) .route-list-item:hover h2{text-decoration:underline;text-underline-offset:2px}
:where(html[data-route-layout="catalog"]) .route-list-arrow{display:none}
:where(html[data-route-layout="catalog"]) .route-metrics{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0;min-width:0}
:where(html[data-route-layout="catalog"]) .route-metrics>div{display:flex;align-items:center;gap:3px;white-space:nowrap}
:where(html[data-route-layout="catalog"]) .route-metrics dt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
:where(html[data-route-layout="catalog"]) .route-metrics dd{margin:0;color:var(--catalog-ink);font-size:12px;line-height:1.42;font-weight:500}
:where(html[data-route-layout="catalog"]) .route-metrics .route-metric-type dd{font-weight:400}
:where(html[data-route-layout="catalog"]) .catalog-route-color{flex:none;width:11px;height:3px;border-radius:2px;display:inline-block;background:var(--track-color)}
:where(html[data-route-layout="catalog"]) .catalog-metric-weight dd::before{content:'Вес ';font-weight:400}
:where(html[data-route-layout="catalog"]) .routes-empty{padding:16px;margin:0;color:var(--catalog-muted);font-size:12px}
:where(html[data-route-layout="catalog"]) .catalog-map-status{position:absolute;z-index:600;bottom:25px;right:12px;margin:0;max-width:calc(100% - 36px);padding:5px 9px;border:1px solid var(--catalog-line);border-radius:7px;background:var(--catalog-paper);color:var(--catalog-muted);font-size:10px;pointer-events:none}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content{bottom:auto}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content>:not(.routes-head){display:none}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-head{padding-bottom:12px}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) [data-catalog-list-toggle] svg{transform:rotate(180deg)}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content{cursor:pointer}
:where(html[data-route-layout="catalog"]) .catalog-view-tabs{display:flex;gap:4px;padding:2px 12px 7px;flex:none}
:where(html[data-route-layout="catalog"]) .catalog-view-tabs button{padding:4px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--catalog-muted);font-size:11px;font-weight:500}
:where(html[data-route-layout="catalog"]) .catalog-view-tabs button[aria-pressed="true"]{border-color:var(--catalog-line);background:var(--catalog-hover);color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-view-tabs span{margin-left:3px;font-size:10px}
:where(html[data-route-layout="catalog"]) .catalog-count-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none;padding:0 12px 6px}
:where(html[data-route-layout="catalog"]) .catalog-count-bar .routes-count{min-width:0;padding:0;font-size:10px}
:where(html[data-route-layout="catalog"]) .catalog-bulk-actions{display:flex;gap:4px;flex:none}
:where(html[data-route-layout="catalog"]) .catalog-bulk-actions button{padding:3px 5px;min-height:24px;border:1px solid var(--catalog-line);border-radius:var(--vz-compact-radius);background:var(--vz-card);color:var(--route-blue-text);font-size:10px;line-height:1.3}
:where(html[data-route-layout="catalog"]) .catalog-bulk-actions button:hover:not(:disabled){background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#7e91a44d transparent}
:where(html[data-route-layout="catalog"]) .catalog-results>.routes-list{overflow:visible;scrollbar-gutter:auto}
:where(html[data-route-layout="catalog"]) .catalog-series-card{margin:7px 9px 4px;padding:10px;border:1px solid var(--catalog-line);border-radius:var(--vz-card-radius);background:var(--vz-card)}
:where(html[data-route-layout="catalog"]) .catalog-series-card h2{margin:0;font:700 17px/1.3 var(--vz-font-heading);color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-series-caption{margin:3px 0 8px;color:var(--catalog-muted);font-size:10px}
:where(html[data-route-layout="catalog"]) .catalog-series-members{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
:where(html[data-route-layout="catalog"]) .catalog-series-members a{display:flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid var(--catalog-line);border-radius:5px;background:var(--catalog-paper);font-size:11px;text-decoration:none;font-weight:600}
:where(html[data-route-layout="catalog"]) .catalog-series-card details{font-size:15px;line-height:1.55;color:var(--catalog-ink)}
:where(html[data-route-layout="catalog"]) .catalog-series-card summary{cursor:pointer;color:var(--route-blue-text);font-weight:500}
:where(html[data-route-layout="catalog"]) .catalog-series-card details p{margin:9px 0}
:where(html[data-route-layout="catalog"]) .catalog-series-card details ol{margin:9px 0;padding-left:19px}
:where(html[data-route-layout="catalog"]) .catalog-series-card details li+li{margin-top:7px}
:where(html[data-route-layout="catalog"]) #catalog-select-series{margin-top:9px;padding:5px 8px;min-height:var(--vz-compact-height);border:1px solid var(--catalog-line);border-radius:6px;color:var(--route-blue-text);background:var(--catalog-paper);font-size:11px;font-weight:600}
:where(html[data-route-layout="catalog"]) .catalog-route-endpoint{background:transparent;border:0}
:where(html[data-route-layout="catalog"]) .catalog-route-endpoint-label{display:grid;place-items:center;width:18px;height:18px;margin:1px;border:2px solid #aa1235;border-radius:50%;background:#fff;box-shadow:0 1px 2px #1117;color:#101010;font:700 10px/1 Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .catalog-route-endpoint:focus-visible{outline:none}
:where(html[data-route-layout="catalog"]) .catalog-route-endpoint:focus-visible .catalog-route-endpoint-label{filter:drop-shadow(0 0 2px var(--route-blue-text))}
:where(html[data-route-layout="catalog"]) .catalog-track-picker{display:grid;gap:5px;width:min(320px,calc(100vw - 82px));min-width:0;font:400 13px/1.42 Manrope,"Segoe UI",Arial,sans-serif;color:var(--catalog-ink)}
:where(html[data-route-layout="catalog"]) .catalog-track-picker-title{font-weight:600;margin-bottom:2px}
:where(html[data-route-layout="catalog"]) .catalog-track-choice{display:flex;align-items:center;gap:8px;padding:5px;border:1px solid var(--catalog-line);border-radius:5px;color:var(--catalog-ink);background:var(--catalog-paper);text-align:left}
:where(html[data-route-layout="catalog"]) .catalog-track-choice-color{width:18px;height:4px;border-radius:2px;flex:none}
:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-popup-content-wrapper,
:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-popup-tip,
:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-tooltip{background:var(--catalog-paper);color:var(--route-blue-text);border-color:var(--catalog-line)}
:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-popup-close-button{color:var(--route-blue-text)!important}
:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-container{font-family:var(--vz-font-body)}
:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-control-attribution{font-size:9px}
:where(html[data-route-layout="catalog"]) .mock-site-menu .catalog-menu-theme{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;min-height:42px;border:0;border-radius:9px;background:transparent;color:inherit;font:600 14px/1.3 "Segoe UI",Arial,sans-serif;text-align:left}:where(html[data-route-layout="catalog"]) .catalog-menu-theme:hover{background:var(--menu-hover)}
:where(html[data-route-layout="catalog"]) .catalog-menu-theme svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1280px){:where(html[data-route-layout="catalog"]) .catalog-explorer{margin-left:92px}:where(html[data-route-layout="catalog"]) .catalog-menu-toggle{display:none}}
@media(min-width:768px) and (max-width:1279px){:where(html[data-route-layout="catalog"]) .routes-content{top:64px;width:410px}}
@media(max-width:767px){
 :where(html[data-route-layout="catalog"]) .routes-content{left:8px;right:8px;top:auto;bottom:23px;width:auto;height:48dvh;min-height:220px;border-radius:12px}
 :where(html[data-route-layout="catalog"]) .routes-head{padding:10px 12px 4px}:where(html[data-route-layout="catalog"]) .page-title{font-size:21px}:where(html[data-route-layout="catalog"]) .routes-updated{font-size:8px}
 :where(html[data-route-layout="catalog"]) .routes-count{padding:0 12px 6px;font-size:10px}:where(html[data-route-layout="catalog"]) .routes-toolbar{padding:0 10px 7px;gap:4px}
 :where(html[data-route-layout="catalog"]) .routes-search{min-height:var(--vz-compact-height)}:where(html[data-route-layout="catalog"]) .routes-select select{height:var(--vz-compact-height);font-size:10px}
 :where(html[data-route-layout="catalog"]) .catalog-distance-filter{gap:4px;font-size:9px}:where(html[data-route-layout="catalog"]) .catalog-filter-input{width:54px;height:var(--vz-compact-height);font-size:10px}
 :where(html[data-route-layout="catalog"]) .catalog-sort select{font-size:10px}:where(html[data-route-layout="catalog"]) .catalog-mode-select{font-size:10px;height:var(--vz-compact-height)}
 :where(html[data-route-layout="catalog"]) .routes-list{padding:3px 5px 5px}:where(html[data-route-layout="catalog"]) .routes-list>li{min-height:51px;padding:6px 3px;gap:5px}:where(html[data-route-layout="catalog"]) .route-list-item h2{font-size:14px}:where(html[data-route-layout="catalog"]) .route-metrics{gap:7px}:where(html[data-route-layout="catalog"]) .route-metrics dd{font-size:11px}
 :where(html[data-route-layout="catalog"]) .catalog-map-controls{top:10px;right:8px}:where(html[data-route-layout="catalog"]) .catalog-map-controls button{width:35px;height:36px;padding:6px;font-size:25px}:where(html[data-route-layout="catalog"]) .catalog-map-controls svg{width:21px;height:21px}
 :where(html[data-route-layout="catalog"]) .catalog-menu-toggle{top:10px;left:8px;width:36px;height:36px}
 :where(html[data-route-layout="catalog"]) .catalog-map-status{bottom:auto;top:53px;right:8px;padding:4px 7px;font-size:9px;max-width:80%}
 
 .catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content{height:auto;min-height:0;top:auto;bottom:23px}
}
@media(max-width:979px) and (max-height:500px){:where(html[data-route-layout="catalog"]) .routes-content{height:calc(100dvh - 94px);width:min(350px,calc(100vw - 16px));right:auto;top:62px;bottom:auto;min-height:0}:where(html[data-route-layout="catalog"]) .catalog-map-controls{right:8px}:where(html[data-route-layout="catalog"]) .catalog-map-status{display:none}.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content{top:62px;bottom:auto}}

/* Multi-route export stays inside the catalog, with no separate trip panel. */
:where(html[data-route-layout="catalog"]) .catalog-download-row{flex:none;padding:0 12px 8px;border-bottom:1px solid var(--catalog-line)}
:where(html[data-route-layout="catalog"]) #catalog-download-gpx{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:32px;padding:5px 9px;border:1px solid var(--catalog-line);border-radius:7px;background:var(--catalog-hover);color:var(--route-blue-text);font-weight:600;font-size:12px}
:where(html[data-route-layout="catalog"]) #catalog-download-gpx svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) #catalog-download-gpx small{font-size:10px;font-weight:500;padding:2px 5px;border-radius:4px;background:var(--catalog-paper)}
:where(html[data-route-layout="catalog"]) #catalog-download-status{margin:7px 1px 0;font:400 12px/1.5 Manrope,"Segoe UI",Arial,sans-serif;color:var(--catalog-ink)}
:where(html[data-route-layout="catalog"]) .catalog-track-choice-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:3px;align-items:stretch}
:where(html[data-route-layout="catalog"]) .catalog-track-choice{min-width:0;width:100%;font-weight:400}
:where(html[data-route-layout="catalog"]) .catalog-track-choice-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(html[data-route-layout="catalog"]) .catalog-track-open{display:grid;place-items:center;border:1px solid var(--catalog-line);border-radius:5px;background:var(--catalog-paper);color:var(--route-blue-text);text-decoration:none}
:where(html[data-route-layout="catalog"]) .catalog-track-open:hover,
:where(html[data-route-layout="catalog"]) .catalog-track-choice:hover{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-track-open svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .mock-site-menu .mock-menu-links{flex:1;min-height:0}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-explorer{margin-left:0}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-menu-toggle{display:grid}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-controls{right:8px;top:10px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-controls button{width:35px;height:36px;padding:6px;font-size:25px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-controls svg{width:21px;height:21px}
@media(max-width:767px){:where(html[data-route-layout="catalog"]) .catalog-download-row{padding:0 10px 7px}:where(html[data-route-layout="catalog"]) #catalog-download-gpx{font-size:12px}:where(html[data-route-layout="catalog"]) .catalog-count-bar{flex-wrap:wrap}:where(html[data-route-layout="catalog"]) .routes-count{white-space:nowrap}}

:where(html[data-route-layout="catalog"]) .catalog-series-card.is-selected{border-color:var(--route-blue-text);background:var(--catalog-selected)}
:where(html[data-route-layout="catalog"]) #catalog-select-series[aria-pressed="true"]{background:var(--catalog-paper);color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-header,
:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav,
:where(html[data-route-layout="catalog"]) .catalog-mobile-map-tools,
:where(html[data-route-layout="catalog"]) .catalog-mobile-profile,
:where(html[data-route-layout="catalog"]) .catalog-favorite{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]){--catalog-mobile-header:calc(61px + env(safe-area-inset-top,0px));--catalog-mobile-nav:calc(68px + env(safe-area-inset-bottom,0px));--catalog-mobile-muted:var(--vz-muted)}
html.mock-has-mobile.theme-dark:where(html[data-route-layout="catalog"]){--catalog-mobile-muted:var(--vz-muted)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) :is(.catalog-menu-toggle,.catalog-map-controls){display:none!important}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) #catalog-map{top:var(--catalog-mobile-header);bottom:var(--catalog-mobile-nav)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-header{position:fixed;z-index:1000;inset:0 0 auto;display:flex;align-items:center;justify-content:center;gap:2px;height:var(--catalog-mobile-header);padding:env(safe-area-inset-top,0px) 12px 0;background:var(--catalog-paper);color:var(--route-blue-text);box-shadow:0 1px 4px #08152c2b}
:where(html[data-route-layout="catalog"]) .catalog-mobile-header strong{font:700 clamp(19px,5.2vw,24px)/1.1 var(--vz-font-heading);min-width:0;text-align:center}
:where(html[data-route-layout="catalog"]) .catalog-mobile-header button{display:grid;place-items:center;flex:none;width:38px;height:42px;padding:0;border:0;background:transparent;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-header button:first-child{margin-right:auto}:where(html[data-route-layout="catalog"]) .catalog-mobile-header button:last-child{margin-left:auto}
:where(html[data-route-layout="catalog"]) :is(.catalog-mobile-header,.catalog-mobile-bottom-nav,.catalog-mobile-map-tools,.catalog-favorite) svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .catalog-mobile-star svg{stroke:var(--vz-current);fill:var(--vz-current)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav{position:fixed;z-index:1000;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:var(--catalog-mobile-nav);padding:5px 0 env(safe-area-inset-bottom,0px);border-top:1px solid var(--catalog-line);background:var(--catalog-paper);box-shadow:0 -2px 8px #10254518}
:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:3px 1px;border:0;background:transparent;color:var(--catalog-mobile-muted);font:12px/1.2 var(--vz-font-body)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav button.is-active{color:var(--vz-blue);font-weight:700}.theme-dark:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav button.is-active{color:var(--vz-blue)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-map-tools{position:absolute;z-index:800;top:calc(var(--catalog-mobile-header) + 10px);left:12px;right:12px;display:block;pointer-events:none}
:where(html[data-route-layout="catalog"]) .catalog-mobile-map-tools button{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--catalog-line);border-radius:50%;background:var(--catalog-paper);box-shadow:0 3px 9px #10254554;color:var(--route-blue-text);pointer-events:auto}
:where(html[data-route-layout="catalog"]) .catalog-mobile-layers{left:0;top:0}:where(html[data-route-layout="catalog"]) .catalog-mobile-locate{right:0;top:0}:where(html[data-route-layout="catalog"]) .catalog-mobile-fit{right:0;top:58px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-status{top:calc(var(--catalog-mobile-header) + 11px);bottom:auto;right:auto;left:50%;transform:translateX(-50%);max-width:calc(100% - 148px);padding:6px 9px;font-size:10px;text-align:center;border-radius:16px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-content{left:0;right:0;top:auto;bottom:var(--catalog-mobile-nav);width:auto;height:48dvh;min-height:240px;border-radius:18px 18px 0 0}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-head{padding:10px 12px 5px}.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-updated{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list>li{grid-template-columns:27px minmax(0,1fr) 26px 26px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-favorite{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--catalog-mobile-muted)}
:where(html[data-route-layout="catalog"]) .catalog-favorite svg{width:20px;height:20px}:where(html[data-route-layout="catalog"]) .catalog-favorite[aria-pressed="true"] svg{fill:var(--vz-current);stroke:var(--vz-current)}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="favorites"]:where(html[data-route-layout="catalog"]) .routes-content{top:var(--catalog-mobile-header);bottom:var(--catalog-mobile-nav);height:auto;min-height:0;border:0;border-radius:0}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-head,
html.mock-has-mobile[data-catalog-mobile-view="favorites"]:where(html[data-route-layout="catalog"]) .routes-head{display:none}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-view-tabs,
html.mock-has-mobile[data-catalog-mobile-view="favorites"]:where(html[data-route-layout="catalog"]) .catalog-view-tabs{padding-top:10px}
html.mock-has-mobile:not([data-catalog-mobile-view="map"]):where(html[data-route-layout="catalog"]) :is(.catalog-mobile-map-tools,.catalog-map-status){display:none}
html.mock-has-mobile[data-catalog-mobile-view="profile"]:where(html[data-route-layout="catalog"]) .routes-content{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-profile:not([hidden]){display:block;position:fixed;z-index:900;inset:var(--catalog-mobile-header) 0 var(--catalog-mobile-nav);overflow:auto;padding:24px 20px;background:var(--catalog-paper);color:var(--catalog-ink);font:15px/1.55 Manrope,"Segoe UI",Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .catalog-mobile-profile h2{font:700 22px/1.2 var(--vz-font-heading);color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-profile a{display:block;max-width:380px;padding:12px 16px;border:1px solid var(--catalog-line);border-radius:10px;background:var(--catalog-hover);font-weight:600;text-align:center;text-decoration:none}
/* Series belong to the full List, including when the map sheet is expanded. */
html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) :is(.catalog-series-card,.catalog-view-tabs){display:none!important}
@media(max-height:500px){html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .routes-content{left:8px;right:auto;top:calc(var(--catalog-mobile-header) + 8px);bottom:var(--catalog-mobile-nav);width:min(350px,45vw);height:auto;min-height:0}.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .catalog-mobile-layers{left:auto;right:58px}.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .catalog-map-status{display:none}}

/* Keep both button labels in one grid cell: changing state never changes its size. */
:where(html[data-route-layout="catalog"]) #catalog-select-series .catalog-series-select-label{display:grid;min-width:0;white-space:nowrap}
:where(html[data-route-layout="catalog"]) #catalog-select-series .catalog-series-select-label>span{grid-area:1/1;visibility:hidden}
:where(html[data-route-layout="catalog"]) #catalog-select-series:not([aria-pressed="true"]) .catalog-series-select-idle,
:where(html[data-route-layout="catalog"]) #catalog-select-series[aria-pressed="true"] .catalog-series-select-chosen{visibility:visible}

/* Both tabs retain the outer panel geometry; only the inner series card is compact. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) :is(.catalog-header,.routes-toolbar,.catalog-found-bar){
 width:var(--catalog-first-column-width,460px);max-width:100%;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-card{
 width:min(800px,calc(100% - 16px));margin:8px auto;padding:10px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-heading{
 grid-template-columns:40px minmax(0,1fr) 176px;align-items:center;gap:6px 8px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-art{
 width:40px;height:40px;grid-column:1;grid-row:1;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-art svg{width:30px;height:30px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-copy{display:contents}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-copy h2{
 grid-column:2;grid-row:1;align-self:center;font-size:20px;line-height:1.2;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-description{
 margin:8px 0;font-size:13px;line-height:1.4;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats{
 grid-column:1/-1;grid-row:2;display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:5px;min-width:0;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats>span{
 flex:0 0 auto;min-width:0;min-height:26px;padding:3px 5px;gap:3px;white-space:nowrap;font:600 clamp(10px,3cqi,12px)/1.2 var(--vz-font-body);border-radius:7px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats svg{width:12px;height:12px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-metric-value{white-space:nowrap}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-actions{
 grid-column:3;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) 44px;width:176px;gap:6px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-actions #catalog-select-series,
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-actions .catalog-series-toggle{
 box-sizing:border-box;margin:0;height:44px;min-height:44px;min-width:0;padding:8px;white-space:nowrap;font:600 12px/1.2 var(--vz-font-body);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-actions #catalog-select-series{width:100%}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body{margin-top:8px;padding-top:8px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list>li{min-height:68px;padding:8px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-rules{margin-top:8px;padding-top:6px}
@container route-series (max-width:680px){
 html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-heading{grid-template-columns:40px minmax(0,1fr)}
 html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-actions{grid-column:1/-1;grid-row:3;width:100%}
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-card{width:auto;margin:6px;padding:8px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-heading{grid-template-columns:40px minmax(0,1fr);gap:6px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-art{width:40px;height:40px;grid-row:1}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-art svg{width:30px;height:30px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-actions{grid-column:1/-1;grid-row:3;width:100%;justify-content:stretch}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats>span{padding-inline:2px;gap:2px;font-size:clamp(10px,3cqi,12px)}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body{margin-top:8px;padding-top:8px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list>li{min-height:68px;padding:8px}

/* Map/List remain in the catalog footer. */
:where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch{display:none!important}


/* Source: public/routes-catalog-refinement.css; catalog only */
/* Catalog composition follows the supplied reference; colors follow route detail. */
:where(html[data-route-layout="catalog"]) .catalog-route-lock{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;margin:1px 0 4px;color:var(--route-accent,var(--vz-current));font:600 10px/1.4 Manrope,'Segoe UI',Arial,sans-serif;text-align:left}
:where(html[data-route-layout="catalog"]) .catalog-route-lock svg{flex:none;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-add svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .catalog-route-lock small{flex-basis:100%;padding-left:18px;color:var(--catalog-muted);font:400 10px/1.35 Manrope,'Segoe UI',Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .routes-list>li[data-route-access="locked"] .catalog-add:disabled{opacity:1;background:var(--catalog-paper);color:var(--route-accent,var(--vz-current));cursor:default}
:where(html[data-route-layout="catalog"]) .catalog-header{position:relative;flex:none;min-height:88px;padding-right:232px}
:where(html[data-route-layout="catalog"]) .catalog-header .routes-head{padding:12px 0 8px 13px}:where(html[data-route-layout="catalog"]) .catalog-header .catalog-view-tabs{padding:0 0 10px 12px;white-space:nowrap}
:where(html[data-route-layout="catalog"]) .catalog-header-actions{position:absolute;top:8px;right:10px;width:218px;display:flex;flex-direction:column;gap:5px;padding:0;border:0;background:transparent}
:where(html[data-route-layout="catalog"]) .catalog-header-actions::before{content:none}
:where(html[data-route-layout="catalog"]) .catalog-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:26px}
:where(html[data-route-layout="catalog"]) .catalog-header-actions .routes-updated{display:flex;gap:4px;align-items:center;text-align:right;font:400 9px/1.5 Manrope,Arial,sans-serif;padding:0;background:transparent;opacity:.85;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-header-actions .routes-updated time{display:inline;white-space:nowrap}
:where(html[data-route-layout="catalog"]) .catalog-columns-toggle{display:grid;place-items:center;width:28px;height:26px;padding:4px;border:1px solid var(--catalog-line);border-radius:6px;background:var(--catalog-paper);color:var(--route-blue-text);flex:none}
:where(html[data-route-layout="catalog"]) .catalog-columns-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .catalog-columns-toggle:hover{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-columns-toggle[data-columns="3"] svg{transform:rotate(180deg)}
:where(html[data-route-layout="catalog"]) .catalog-updated-clock{position:absolute;left:7px;top:10px;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .catalog-header-actions .catalog-bulk-actions{display:flex;gap:6px;flex-wrap:nowrap;width:100%}
:where(html[data-route-layout="catalog"]) .catalog-header-actions .catalog-bulk-actions button{flex:1;padding:6px 3px;min-height:var(--vz-compact-height);white-space:nowrap;font:500 10px/1.3 Manrope,Arial,sans-serif;color:var(--route-blue-text);border:1px solid var(--catalog-line);border-radius:6px;background:var(--catalog-paper)}
:where(html[data-route-layout="catalog"]) .catalog-header-actions #catalog-deselect-all{background:var(--catalog-hover);font-weight:700}
:where(html[data-route-layout="catalog"]) .catalog-header-actions .catalog-bulk-actions button:enabled:hover{border-color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-header-actions .catalog-bulk-actions button:disabled{opacity:.6}
.theme-dark:where(html[data-route-layout="catalog"]) .catalog-header-actions::before{opacity:.2}
:where(html[data-route-layout="catalog"]) .routes-content{width:var(--catalog-panel-width,460px);bottom:15px}
:where(html[data-route-layout="catalog"]) .routes-head{padding:12px 13px 8px}:where(html[data-route-layout="catalog"]) .page-title{font-size:24px}:where(html[data-route-layout="catalog"]) .routes-updated{color:var(--route-blue-text);opacity:.8;font-size:9px}
:where(html[data-route-layout="catalog"]) .catalog-view-tabs{padding:0 12px 10px;gap:7px}:where(html[data-route-layout="catalog"]) .catalog-view-tabs button{padding:6px 12px;min-height:var(--vz-compact-height);font-size:12px;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-view-tabs button[aria-pressed="true"]{background:var(--vz-selection);border-color:var(--vz-blue);color:var(--vz-blue)}
:where(html[data-route-layout="catalog"]) .routes-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.4fr);grid-template-areas:'search search search' 'type distance difficulty';gap:7px;padding:0 12px 7px;border:0}
:where(html[data-route-layout="catalog"]) .routes-search{min-height:32px;border-radius:var(--vz-compact-radius)}:where(html[data-route-layout="catalog"]) .routes-search input{font-size:12px;color:var(--catalog-ink)}:where(html[data-route-layout="catalog"]) .routes-search input::placeholder{color:var(--route-blue-text);opacity:.8}
:where(html[data-route-layout="catalog"]) .routes-select select{height:32px;padding-left:9px;font-size:11px}:where(html[data-route-layout="catalog"]) .routes-select>svg{top:11px}
:where(html[data-route-layout="catalog"]) .catalog-filter-toggle,
:where(html[data-route-layout="catalog"]) .catalog-actions-toggle{display:grid;place-items:center;width:32px;height:32px;padding:6px;border:1px solid var(--catalog-line);border-radius:var(--vz-compact-radius);background:transparent;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .catalog-filter-toggle{grid-area:filter}:where(html[data-route-layout="catalog"]) .catalog-filter-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
:where(html[data-route-layout="catalog"]) .catalog-actions-toggle{grid-area:actions;font-size:21px;line-height:1;font-weight:700;letter-spacing:1px}
:where(html[data-route-layout="catalog"]) :is(.catalog-filter-toggle,.catalog-actions-toggle)[aria-expanded="true"]{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-km-dropdown{grid-area:distance;position:relative;color:var(--route-blue-text);font-size:11px;min-width:0}
:where(html[data-route-layout="catalog"]) .catalog-km-dropdown summary{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:0 9px;border:1px solid var(--catalog-line);border-radius:6px;list-style:none;cursor:pointer}
:where(html[data-route-layout="catalog"]) .catalog-km-dropdown summary::-webkit-details-marker{display:none}:where(html[data-route-layout="catalog"]) .catalog-km-dropdown summary svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
:where(html[data-route-layout="catalog"]) .catalog-km-dropdown[open] summary{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-km-dropdown .catalog-distance-filter{position:absolute;z-index:950;top:37px;left:0;width:252px;display:flex;gap:8px;padding:10px;border:1px solid var(--catalog-line);border-radius:var(--vz-card-radius);background:var(--catalog-paper);box-shadow:var(--catalog-shadow);font-size:11px}
:where(html[data-route-layout="catalog"]) .catalog-distance-filter .catalog-filter-input{width:66px;height:var(--vz-compact-height)}
:where(html[data-route-layout="catalog"]) .catalog-km-clear{display:grid;place-items:center;flex:none;width:22px;height:var(--vz-compact-height);padding:0;border:0;border-radius:5px;background:transparent;color:var(--route-blue-text);font:400 22px/1 Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .catalog-km-clear:hover{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-advanced,
:where(html[data-route-layout="catalog"]) .catalog-selection-actions{flex:none;margin:0 12px 7px;padding:8px;border:1px solid var(--catalog-line);border-radius:var(--vz-compact-radius);background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-advanced{display:flex;gap:8px;flex-wrap:wrap}:where(html[data-route-layout="catalog"]) .catalog-advanced label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--catalog-ink)}
:where(html[data-route-layout="catalog"]) .catalog-advanced input{width:70px;height:var(--vz-compact-height);min-width:0;border:1px solid var(--catalog-line);border-radius:6px;background:var(--catalog-paper);color:var(--route-blue-text);padding:3px 6px}
:where(html[data-route-layout="catalog"]) .catalog-selection-actions .catalog-bulk-actions{gap:8px}:where(html[data-route-layout="catalog"]) .catalog-bulk-actions button{font-size:11px;padding:4px 8px}
:where(html[data-route-layout="catalog"]) .catalog-found-bar{display:flex;flex:none;align-items:center;justify-content:space-between;gap:5px;padding:3px 12px 8px;border-bottom:1px solid var(--catalog-line)}
:where(html[data-route-layout="catalog"]) .catalog-found-bar .routes-count{margin:0;padding:0;font-size:11px;color:var(--catalog-ink);white-space:nowrap}
:where(html[data-route-layout="catalog"]) .catalog-sort{display:flex;align-items:center;gap:4px;max-width:58%;color:var(--route-blue-text)}:where(html[data-route-layout="catalog"]) .catalog-sort svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
:where(html[data-route-layout="catalog"]) .catalog-sort select{border:0;background:transparent;font-size:11px;padding:0;height:var(--vz-compact-height);color:var(--route-blue-text);max-width:100%}
:where(html[data-route-layout="catalog"]) .catalog-download-row{padding:7px 12px;border-bottom:1px solid var(--catalog-line)}:where(html[data-route-layout="catalog"]) #catalog-download-gpx{min-height:var(--vz-compact-height);font-size:11px;padding:4px 8px}
:where(html[data-route-layout="catalog"]) .catalog-gpx-hint{margin:4px 0 0;color:var(--catalog-ink);font:400 10px/1.4 Manrope,"Segoe UI",Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .routes-list{padding:0 9px 7px}:where(html[data-route-layout="catalog"]) .routes-list>li,
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list>li{display:grid;grid-template-columns:40px minmax(0,1fr) 59px 22px 16px;gap:6px;align-items:center;min-height:56px;padding:7px 3px;border-radius:0;border-bottom:1px solid color-mix(in srgb,var(--catalog-line) 60%,transparent)}
:where(html[data-route-layout="catalog"]) .routes-list>li.is-selected{background:transparent}:where(html[data-route-layout="catalog"]) .routes-list>li:hover,
:where(html[data-route-layout="catalog"]) .routes-list>li.is-focused{background:var(--catalog-hover)}
:where(html[data-route-layout="catalog"]) .catalog-route-cover{grid-column:1;grid-row:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;color:var(--track-color);background:color-mix(in srgb,var(--track-color) 13%,var(--catalog-paper));border:0}
:where(html[data-route-layout="catalog"]) .catalog-route-cover svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-add{position:absolute;left:0;bottom:5px;z-index:1;width:18px;height:18px;font:600 11px/1 Manrope,Arial,sans-serif;background:var(--catalog-paper);border-radius:50%}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-add[aria-pressed="true"]{font-size:11px;background:var(--catalog-paper)}
:where(html[data-route-layout="catalog"]) .route-list-item{grid-column:2;grid-row:1}:where(html[data-route-layout="catalog"]) .route-list-item h2{font:700 14px/1.35 Manrope,"Segoe UI",Arial,sans-serif;margin:0 0 4px;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .route-metrics{gap:5px;row-gap:4px;align-items:center}:where(html[data-route-layout="catalog"]) .route-metrics>div{gap:3px;min-width:0}:where(html[data-route-layout="catalog"]) .route-metrics dd{font:500 10px/1.3 Manrope,"Segoe UI",Arial,sans-serif;color:var(--route-blue-text)}
:where(html[data-route-layout="catalog"]) .route-metric-type dd{max-width:74px;padding:2px 5px;background:var(--catalog-hover);border-radius:5px;overflow:hidden;text-overflow:ellipsis;color:var(--catalog-ink);font-weight:400}
:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="tourism"] dd{background:#cef4e3;color:#176a54}
:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="contemplation"] dd{background:#e9e2ff;color:#624697}
:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="thematic"] dd{background:#ffe5c6;color:#8b5600}
:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="express"] dd{background:#d9ecfc;color:#21577c}
.theme-dark:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="tourism"] dd{background:#173a31;color:#96d9b9}
.theme-dark:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="contemplation"] dd{background:#302944;color:#c7b5ec}
.theme-dark:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="thematic"] dd{background:#42311d;color:#e9bd86}
.theme-dark:where(html[data-route-layout="catalog"]) .route-metric-type[data-type="express"] dd{background:#193344;color:#9ccbea}
:where(html[data-route-layout="catalog"]) .catalog-route-color{width:8px;height:3px}:where(html[data-route-layout="catalog"]) .catalog-metric-weight dd::before{content:none}
:where(html[data-route-layout="catalog"]) .catalog-metric-icon{flex:none;width:12px;height:12px;fill:none;stroke:var(--vz-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-focus{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;gap:4px;width:59px;min-height:27px;height:auto;padding:3px 5px;border:0;border-radius:999px;background:var(--catalog-hover);color:var(--route-blue-text);font:600 11px/1.2 Manrope,"Segoe UI",Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-focus svg{width:19px;height:19px;stroke-width:1.6;flex:none}:where(html[data-route-layout="catalog"]) .catalog-focus span{min-width:0}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-favorite,
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list .catalog-favorite{grid-column:4;grid-row:1;display:grid;place-items:center;width:22px;height:27px;padding:0;border:0;background:transparent;color:var(--catalog-muted)}
:where(html[data-route-layout="catalog"]) .catalog-favorite svg{width:18px;height:18px}:where(html[data-route-layout="catalog"]) .catalog-route-open{grid-column:5;grid-row:1;display:grid;place-items:center;min-height:32px;color:var(--route-blue-text);text-decoration:none}
:where(html[data-route-layout="catalog"]) .catalog-route-open svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .page-title,
:where(html[data-route-layout="catalog"]) .catalog-series-card h2,
:where(html[data-route-layout="catalog"]) .catalog-mobile-header strong{font-family:"Times New Roman",Times,serif}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-head{padding:10px 12px 8px}html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-updated{display:block}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-search{min-height:32px}html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-select select{font-size:11px;height:32px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .route-list-item h2{font-size:13px}html.mock-has-mobile:where(html[data-route-layout="catalog"]) .route-metrics dd{font-size:10px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list>li{padding:7px 2px;gap:5px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-star svg{fill:none;stroke:var(--route-blue-text)}html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-star.is-active svg{fill:var(--vz-current);stroke:var(--vz-current)}
@media(max-width:420px){:where(html[data-route-layout="catalog"]) .catalog-header .catalog-view-tabs{flex-direction:column;align-items:flex-start;gap:4px}:where(html[data-route-layout="catalog"]) .catalog-header .catalog-view-tabs button{min-height:27px;padding:5px 8px;font-size:10px}:where(html[data-route-layout="catalog"]) .catalog-header .page-title{font-size:19px}:where(html[data-route-layout="catalog"]) .catalog-header .routes-head{padding-left:10px}:where(html[data-route-layout="catalog"]) .catalog-header .catalog-view-tabs{padding-left:10px}}
@media(max-width:359px){:where(html[data-route-layout="catalog"]) .routes-list>li,
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list>li{grid-template-columns:36px minmax(0,1fr) 46px 20px 14px;gap:4px}:where(html[data-route-layout="catalog"]) .catalog-route-cover{width:36px;height:36px}:where(html[data-route-layout="catalog"]) .routes-list .catalog-focus{width:46px;gap:2px;font-size:10px}:where(html[data-route-layout="catalog"]) .routes-list .catalog-focus svg{width:16px;height:16px}:where(html[data-route-layout="catalog"]) .route-metric-type dd{max-width:61px}:where(html[data-route-layout="catalog"]) .route-metrics{gap:4px}:where(html[data-route-layout="catalog"]) .catalog-metric-icon{width:11px;height:11px}}
/* Keep the requested gap above the viewport edge or the mobile navigation. */
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="favorites"]:where(html[data-route-layout="catalog"]) .routes-content{bottom:calc(var(--catalog-mobile-nav) + 15px)}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content>.catalog-header{display:block}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .catalog-header{min-height:0;padding-right:0}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .catalog-header :is(.catalog-view-tabs,.catalog-header-actions){display:none}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content{bottom:auto}
html.mock-has-mobile.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content{height:auto;min-height:0;bottom:calc(var(--catalog-mobile-nav) + 15px)}

:where(html[data-route-layout="catalog"]) .catalog-sheet-handle{display:none}
:where(html[data-route-layout="catalog"]) .catalog-sheet-content{display:flex;flex:1;flex-direction:column;min-height:0;width:100%}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .routes-content>.catalog-sheet-content{display:flex}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .catalog-sheet-content>:not(.catalog-header){display:none}
/* The mobile catalog uses the route page's continuously resizable bottom sheet. */
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="favorites"]:where(html[data-route-layout="catalog"]) .routes-content{position:fixed;left:0;right:0;top:auto;bottom:calc(var(--catalog-mobile-nav) + 15px);width:auto;height:var(--catalog-sheet-height,48dvh);min-height:0;border:1px solid var(--catalog-line);border-radius:20px 20px 0 0;background:var(--catalog-paper);box-shadow:0 -5px 18px #132b4c35}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-head{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-sheet-handle{display:block;flex:none;width:100%;height:28px;margin:0;padding:7px 0;border:0;background:transparent;color:var(--route-blue-text);touch-action:none;cursor:ns-resize}
:where(html[data-route-layout="catalog"]) .catalog-sheet-handle span{display:block;width:38px;height:4px;margin:auto;border-radius:999px;background:var(--vz-muted)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-header,
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-found-bar{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-toolbar{grid-template-areas:'type distance difficulty';grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.4fr);padding:0 12px 9px;margin:0;border-bottom:1px solid var(--catalog-line)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-search{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-results{padding-top:2px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-sheet-content{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7e91a44d transparent}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-results{flex:none;overflow:visible}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-toolbar{position:sticky;top:0;z-index:3;background:var(--catalog-paper)}
html.mock-has-mobile.catalog-sheet-expanded:where(html[data-route-layout="catalog"]) .catalog-header{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:0;padding:0 12px 8px}
html.mock-has-mobile.catalog-sheet-expanded:where(html[data-route-layout="catalog"]) .catalog-header-actions{position:static;flex:none;width:178px}
html.mock-has-mobile.catalog-sheet-expanded:where(html[data-route-layout="catalog"]) .catalog-header .catalog-view-tabs{padding:0;gap:4px;flex-direction:column;align-items:flex-start;white-space:nowrap}
html.mock-has-mobile.catalog-sheet-expanded:where(html[data-route-layout="catalog"]) .catalog-view-tabs button{padding:4px 6px;font-size:10px;min-height:24px}
html.mock-has-mobile.catalog-sheet-expanded:where(html[data-route-layout="catalog"]) .catalog-found-bar{display:flex;padding-top:6px}
html.mock-has-mobile:is(.catalog-sheet-expanded,.catalog-sheet-search):where(html[data-route-layout="catalog"]) .routes-search{display:flex}
html.mock-has-mobile:is(.catalog-sheet-expanded,.catalog-sheet-search):where(html[data-route-layout="catalog"]) .routes-toolbar{grid-template-areas:'search search search' 'type distance difficulty'}
html.mock-has-mobile.catalog-sheet-collapsed:where(html[data-route-layout="catalog"]) .catalog-sheet-content{display:none}
html.mock-has-mobile:not([data-catalog-mobile-view="profile"]):where(html[data-route-layout="catalog"]) .catalog-mobile-map-tools{display:block}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-status{display:none}
:where(html[data-route-layout="catalog"]) .catalog-mobile-zoom{position:fixed;right:12px;bottom:calc(var(--catalog-mobile-nav) + 15px + var(--catalog-sheet-height,48dvh) + 12px);display:grid;overflow:hidden;border:1px solid var(--catalog-line);border-radius:17px;background:var(--catalog-paper);box-shadow:0 3px 9px #10254554;pointer-events:auto}
:where(html[data-route-layout="catalog"]) .catalog-mobile-zoom button{position:static;display:grid;place-items:center;width:48px;height:44px;border:0;border-radius:0;box-shadow:none;font:700 29px/1 Arial,sans-serif}
:where(html[data-route-layout="catalog"]) .catalog-mobile-zoom button+button{border-top:1px solid var(--catalog-line)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav button.is-active::after{content:"";width:28px;height:2px;margin-top:2px;border-radius:2px;background:currentColor}
@media(max-width:1100px) and (max-height:600px) and (orientation:landscape){html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-content,
html.mock-has-mobile[data-catalog-mobile-view="favorites"]:where(html[data-route-layout="catalog"]) .routes-content{left:8px;right:auto;width:min(350px,45vw)}html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-layers{left:auto;right:58px}:where(html[data-route-layout="catalog"]) .catalog-mobile-zoom{bottom:calc(var(--catalog-mobile-nav) + 27px)}}

/* Four compact filters, shared by the full list and the map sheet. */
:where(html[data-route-layout="catalog"]) #catalog-map{z-index:0}
html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) #catalog-map .leaflet-bottom{bottom:var(--catalog-sheet-height,240px)}
:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle{position:absolute;z-index:800;left:12px;bottom:15px;display:flex;align-items:center;gap:7px;height:36px;padding:0 11px;border:1px solid var(--catalog-line);border-radius:11px;background:var(--catalog-paper);color:var(--route-blue-text);box-shadow:var(--catalog-shadow);font-size:11px}
.routes-catalog-preview:not(.mock-has-mobile):not(.catalog-list-collapsed):where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle{left:calc(var(--catalog-panel-width,460px) + 24px)}
.catalog-list-collapsed:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle{left:12px}
:where(html[data-route-layout="catalog"]) .routes-toolbar,
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-toolbar,
html.mock-has-mobile:is(.catalog-sheet-expanded,.catalog-sheet-search):where(html[data-route-layout="catalog"]) .routes-toolbar{grid-template-areas:'search type distance difficulty';grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.62fr) minmax(42px,.47fr);gap:6px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-search{display:flex}
:where(html[data-route-layout="catalog"]) .routes-search{min-width:0;padding:0 6px;gap:4px}:where(html[data-route-layout="catalog"]) .routes-search svg{width:14px;height:14px;flex:none}:where(html[data-route-layout="catalog"]) .routes-search input{width:0;min-width:0;flex:1;font-size:11px}:where(html[data-route-layout="catalog"]) .routes-search button{width:17px;padding:0}
:where(html[data-route-layout="catalog"]) .routes-select:has(#routes-type){grid-area:type}:where(html[data-route-layout="catalog"]) .routes-select:has(#routes-difficulty){grid-area:difficulty}
:where(html[data-route-layout="catalog"]) .routes-select select,
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-select select{padding-left:6px;padding-right:18px;font-size:11px}:where(html[data-route-layout="catalog"]) .routes-select>svg{right:6px}
:where(html[data-route-layout="catalog"]) .catalog-km-dropdown summary{padding:0 6px}:where(html[data-route-layout="catalog"]) .catalog-km-dropdown .catalog-distance-filter{left:auto;right:0}
/* Join the sheet to the navigation, so the map cannot leak through a gap. */
html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .routes-content{bottom:var(--catalog-mobile-nav)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-zoom{bottom:calc(var(--catalog-mobile-nav) + var(--catalog-sheet-height,240px) + 12px)}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle{position:fixed;left:12px;bottom:calc(var(--catalog-mobile-nav) + var(--catalog-sheet-height,240px) + 12px);top:auto;display:flex;align-items:center;gap:7px;width:auto;height:36px;padding:0 11px;border-radius:11px;font-size:11px}
:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* List is a full page. Only Map has a draggable panel and map controls. */
html.mock-has-mobile:not([data-catalog-mobile-view="map"]):where(html[data-route-layout="catalog"]) :is(#catalog-map,.catalog-mobile-map-tools,.catalog-map-selection-toggle){display:none!important}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-content{left:0;right:0;top:var(--catalog-mobile-header);bottom:var(--catalog-mobile-nav);width:auto;height:auto;border:0;border-radius:0;box-shadow:none}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-sheet-handle{display:none}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-sheet-content{display:flex;padding-top:12px}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-header{display:block;min-height:0;padding:0;background:var(--catalog-paper)}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-header-actions{display:none}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-view-tabs{display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 12px 12px}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-view-tabs button{min-height:32px;padding:6px 12px;font-size:12px}
html.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .catalog-found-bar{display:flex;padding-top:6px}
html.mock-has-mobile:is([data-catalog-mobile-view="favorites"],[data-catalog-mobile-view="profile"]):where(html[data-route-layout="catalog"]) .routes-content{display:none}
:where(html[data-route-layout="catalog"]) .catalog-mobile-favorites{position:fixed;z-index:900;inset:var(--catalog-mobile-header) 0 var(--catalog-mobile-nav);padding:12px 16px;background:var(--catalog-paper);overflow-y:auto}
:where(html[data-route-layout="catalog"]) .catalog-mobile-favorites[hidden]{display:none}
@media(max-width:1100px) and (max-height:600px) and (orientation:landscape){html.mock-has-mobile[data-catalog-mobile-view="map"]:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle{left:auto;right:12px;bottom:calc(var(--catalog-mobile-nav) + 130px)}:where(html[data-route-layout="catalog"]) .catalog-mobile-zoom{bottom:calc(var(--catalog-mobile-nav) + 27px)}}

/* Extra desktop columns retain the same row geometry and selection behavior. */
.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .routes-list{display:grid;grid-template-columns:repeat(var(--catalog-columns,1),minmax(0,1fr));column-gap:14px;align-content:start}
.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .routes-list>li{min-width:0}
.routes-catalog-preview:not(.mock-has-mobile)[data-catalog-columns="2"]:where(html[data-route-layout="catalog"]) .routes-list>li:nth-child(2n+1),
.routes-catalog-preview:not(.mock-has-mobile)[data-catalog-columns="3"]:where(html[data-route-layout="catalog"]) .routes-list>li:not(:nth-child(3n)){box-shadow:7px 0 0 -6px var(--catalog-line)}
/* An inward focus ring stays fully visible inside the mobile sheet and toolbar. */
:where(html[data-route-layout="catalog"]) .routes-toolbar :is(input,select,button,summary):focus-visible{outline-offset:2px}
:where(html[data-route-layout="catalog"]) .routes-toolbar .routes-search:focus-within{outline-offset:2px}
:where(html[data-route-layout="catalog"]) .routes-toolbar .routes-search input:focus-visible{outline:none}
:where(html[data-route-layout="catalog"]) .routes-toolbar .catalog-distance-filter :is(input,button):focus-visible{outline-offset:2px}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-columns-toggle{display:none}
html.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-header-tools{min-height:0}
html.mock-has-mobile.catalog-sheet-expanded:where(html[data-route-layout="catalog"]) .catalog-header-actions .routes-updated{font-size:8px}
@media(min-width:768px){html[data-catalog-columns="3"]:where(html[data-route-layout="catalog"]) .catalog-map-controls{flex-direction:column}html[data-catalog-columns="3"]:where(html[data-route-layout="catalog"]) .catalog-map-controls button{border-left:0;border-top:1px solid var(--catalog-line)}html[data-catalog-columns="3"]:where(html[data-route-layout="catalog"]) .catalog-map-controls button:first-child{border-top:0}}

/* A compact directional handle keeps the full touch/keyboard target. */
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-sheet-handle{display:grid;place-items:center;padding:0;min-height:28px;color:var(--route-accent)}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root:where(html[data-route-layout="catalog"]) .catalog-sheet-handle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="catalog"]) .catalog-sheet-handle[data-direction="up"] .catalog-sheet-down,
:where(html[data-route-layout="catalog"]) .catalog-sheet-handle[data-direction="down"] .catalog-sheet-up{display:none}

/* Site navigation is separate from the catalog's Map / List controls. */
:where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch{display:none}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch{position:fixed;z-index:1710;top:calc(var(--route-viewport-top,0px) + var(--catalog-mobile-header) + 10px);left:50%;transform:translateX(-50%);display:flex;gap:2px;padding:3px;border:1px solid var(--catalog-line);border-radius:11px;background:var(--catalog-paper);box-shadow:0 2px 6px #10254518}
:where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch button{display:flex;align-items:center;justify-content:center;gap:4px;width:65px;min-height:38px;padding:4px;border:0;border-radius:7px;background:transparent;color:var(--route-blue-text);font:600 11px/1.2 var(--vz-font-body)}
:where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch button.is-active{background:var(--route-accent-surface);color:var(--route-accent)}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle[aria-pressed="mixed"] svg rect{fill:currentColor}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle[aria-pressed="mixed"] svg path{stroke:var(--vz-on-accent);stroke-width:2.2}
:where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root:where(html[data-route-layout="catalog"]) .catalog-mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:3px 1px;color:var(--catalog-mobile-muted);font:12px/1.2 var(--vz-font-body);text-decoration:none}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full:where(html[data-route-layout="catalog"]) .catalog-mobile-map-tools{display:none!important}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full:where(html[data-route-layout="catalog"]) .catalog-sheet-handle{display:none}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full:where(html[data-route-layout="catalog"]) .catalog-sheet-content{padding-top:58px}
@media(max-width:374px){html[data-vz-route-style="single"][data-route-layout="catalog"]:root.mock-has-mobile:not(.catalog-sheet-full):where(html[data-route-layout="catalog"]) .catalog-mobile-view-switch{top:calc(var(--route-viewport-top,0px) + var(--catalog-mobile-header) + 64px)}}

/* Series use the same inline icon/value language as each route. */
:where(html[data-route-layout="catalog"]) .routes-list .route-metric-passages{display:none}
:where(html[data-route-layout="catalog"]) .routes-list .catalog-focus-pin-icon{display:none}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .route-metrics>.route-metric-passages{display:inline-flex;align-items:center;gap:3px}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .catalog-focus>span{display:none}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .catalog-focus .catalog-focus-count-icon{display:none}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .catalog-focus .catalog-focus-pin-icon{display:block}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .catalog-focus{width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:11px;background:transparent}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .route-metrics{flex-wrap:nowrap;column-gap:4px}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .route-metric-type{flex:0 1 auto;min-width:0}
html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .route-metric-type dd{max-width:65px;overflow:hidden;text-overflow:ellipsis}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats>span{min-height:24px;padding:2px 7px;border:0;border-radius:0;background:transparent;color:var(--route-blue-text);font-weight:600}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats>span+span{border-left:1px solid var(--catalog-line)}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-stats svg{stroke:var(--route-blue-text)}
/* Map and favorite actions share the title row; metrics use the full row below. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list>li{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto;align-items:start;gap:6px;min-height:80px;padding:8px}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .route-list-item{grid-column:2/-1;grid-row:1}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .route-list-item h2{display:flex;align-items:center;min-height:44px;margin:0 92px 4px 0}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .catalog-route-cover{grid-column:1;grid-row:1;align-self:start}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list :is(.catalog-focus,.catalog-favorite){position:absolute;top:8px;grid-column:auto;grid-row:auto;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:11px;background:transparent}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list .catalog-focus{right:52px;left:auto}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list .catalog-favorite{right:8px;left:auto}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view.catalog-series-compact:where(html[data-route-layout="catalog"]) .catalog-series-body .routes-list .catalog-route-open{display:none}
@media(max-width:359px){html[data-vz-route-style="single"][data-route-layout="catalog"]:root.catalog-series-view:where(html[data-route-layout="catalog"]) .route-metric-type dd{max-width:35px}}

/* Shared compact controls; the sheet keeps its dedicated map geometry. */
.routes-catalog-preview:where(html[data-route-layout="catalog"]) :is(.routes-search,.routes-select select,.catalog-km-dropdown summary,.catalog-sort select,.catalog-filter-input,.catalog-mode-select,.catalog-advanced input,.catalog-view-tabs button,.catalog-bulk-actions button,#catalog-download-gpx,#catalog-select-series,.catalog-km-clear){
  box-sizing:border-box;min-height:var(--vz-compact-height);border-radius:var(--vz-compact-radius);font-family:var(--vz-font-body);
}
.routes-catalog-preview:where(html[data-route-layout="catalog"]) :is(.routes-search,.routes-select select,.catalog-filter-input,.catalog-advanced input,.catalog-km-dropdown summary){ background:var(--vz-card);border-color:var(--vz-line); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .routes-search input{ color:var(--vz-copy); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .routes-search input::placeholder{ color:var(--vz-muted);opacity:1; }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .routes-search:focus-within{ outline:2px solid var(--vz-blue);outline-offset:2px; }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) :is(.catalog-series-card,.catalog-mobile-profile-card){ border-radius:var(--vz-card-radius); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) :is(.catalog-track-choice,.catalog-track-open,.catalog-series-members a){ min-height:var(--vz-compact-height);border-radius:var(--vz-compact-radius); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-favorite[aria-pressed="true"]{ color:var(--vz-current); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-favorite[aria-pressed="true"] svg{ fill:var(--vz-current);stroke:var(--vz-current); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) :is(.catalog-map-controls,.catalog-mobile-zoom,.catalog-mobile-map-tools button,.catalog-menu-toggle){ color:var(--vz-blue); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-gpx-hint,
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .routes-updated{ color:var(--vz-muted); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-sort select{ border:1px solid var(--vz-line);background:var(--vz-card);padding-inline:8px; }
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) :is(.routes-search,.routes-select select,.catalog-km-dropdown summary,.catalog-sort select,.catalog-filter-input,.catalog-mode-select,.catalog-advanced input,.catalog-view-tabs button,.catalog-bulk-actions button,#catalog-download-gpx,#catalog-select-series,.catalog-km-clear,.catalog-track-choice,.catalog-track-open,.catalog-series-members a){ min-height:44px;height:44px;border-radius:var(--vz-control-radius); }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) :is(.catalog-filter-toggle,.catalog-actions-toggle,.catalog-km-clear,.catalog-mobile-header button){ min-width:44px;min-height:44px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-toolbar{ grid-template-areas:'search search search' 'type distance difficulty';grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr); }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-select>svg{ top:50%;transform:translateY(-50%); }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-search{ padding-right:0; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-search button{ width:44px;height:42px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-search:has(button:not([hidden])){ grid-column:1/-1; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-toolbar:has(.routes-search button:not([hidden])){ grid-template-areas:'search search search' 'type distance difficulty'; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-km-dropdown .catalog-distance-filter{ top:49px;max-width:calc(100vw - 24px); }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list>li{ grid-template-columns:44px minmax(0,1fr) 59px 44px;gap:5px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-route-open{ display:none; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .route-list-item{ display:flex;flex-direction:column;justify-content:center;min-height:44px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list :is(.catalog-favorite,.catalog-focus){ min-height:44px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list .catalog-favorite{ width:44px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-add::after{ content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%); }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .routes-list .catalog-add{ left:13px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-map-selection-toggle{ min-height:44px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-track-choice-row{ grid-template-columns:minmax(0,1fr) 44px; }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-view-tabs button{ white-space:normal; }
}

.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-mobile-profile a{ min-height:44px;border-radius:var(--vz-control-radius);background:var(--vz-blue);color:var(--vz-on-accent); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-series-card{ box-shadow:none; }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .routes-content{ box-shadow:var(--vz-shadow-popup); }
html.routes-catalog-preview.mock-has-mobile[data-catalog-mobile-view="list"]:where(html[data-route-layout="catalog"]) .routes-content{ box-shadow:none; }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-explorer .leaflet-popup-content-wrapper{ border:1px solid var(--vz-line);border-radius:15px;box-shadow:var(--vz-shadow-popup); }

/* Text size follows the same density variant as the control geometry. */
.routes-catalog-preview:where(html[data-route-layout="catalog"]) :is(.routes-search input,.routes-select select,.catalog-km-dropdown summary,.catalog-sort select,.catalog-filter-input,.catalog-mode-select,.catalog-advanced input,.catalog-view-tabs button,.catalog-bulk-actions button,#catalog-download-gpx,#catalog-select-series,.catalog-track-choice,.catalog-series-members a){ font-size:var(--vz-compact-font-size,12px); }
.routes-catalog-preview:where(html[data-route-layout="catalog"]) .catalog-mobile-profile a{ font-size:var(--vz-control-font-size,14px); }
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) :is(.routes-search input,.routes-select select,.catalog-km-dropdown summary,.catalog-sort select,.catalog-filter-input,.catalog-mode-select,.catalog-advanced input,.catalog-view-tabs button,.catalog-bulk-actions button,#catalog-download-gpx,#catalog-select-series,.catalog-track-choice,.catalog-series-members a){ font-size:var(--vz-control-font-size,14px); }
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) .catalog-bulk-actions button{ white-space:normal; }
}

@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.routes-catalog-preview.mock-has-mobile:where(html[data-route-layout="catalog"]) :is(.catalog-focus,.catalog-map-selection-toggle){ font-size:var(--vz-control-font-size,14px); }
}

/* Desktop since 2026-10-24: the list sits on the right and the map navigation
   on the left; the phone keeps its bottom sheet. */
@media(min-width:768px){
  html.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .routes-content{ left:auto; right:12px; }
  html.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .catalog-map-controls{ right:auto; left:12px; }
  html.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .catalog-map-status{ right:auto; left:12px; }
}
@media(min-width:768px) and (max-width:1279px){
  html.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .routes-content{ top:12px; }
  html.routes-catalog-preview:not(.mock-has-mobile):where(html[data-route-layout="catalog"]) .catalog-map-controls{ left:60px; }
}


/* Source: public/route-memoriz-mockup.css; explorer only */
:root:where(html[data-route-layout="explorer"]){font-family:"Times New Roman",Times,serif;color:#051a72;background:#dae8ca;font-synthesis:none}
:where(html[data-route-layout="explorer"]) *{box-sizing:border-box}
html:where(html[data-route-layout="explorer"]),
:where(html[data-route-layout="explorer"]) body{width:100%;height:100%;margin:0}
:where(html[data-route-layout="explorer"]) body{overflow:hidden}
:where(html[data-route-layout="explorer"]) button{font:inherit;cursor:pointer}
:where(html[data-route-layout="explorer"]) button:focus-visible{outline:3px solid #ffad00;outline-offset:2px}
:where(html[data-route-layout="explorer"]) .mock-explorer{position:relative;width:100vw;height:100vh;min-height:540px;overflow:hidden;isolation:isolate}
:where(html[data-route-layout="explorer"]) #mock-map{position:absolute;inset:0;background:#b8d5a7;z-index:0}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-container{font-family:Arial,sans-serif}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-attribution{font-size:9px;line-height:13px;background:#ffffffe5;border-radius:4px 0 0 0;color:#526477;padding:1px 4px}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-attribution a{color:#144496}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-bottom.leaflet-left{left:4.5vw;bottom:10px}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-scale{margin:0}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-scale-line{border:0;border-bottom:2px solid #174de6;color:#002da9;background:#ffffffe8;box-shadow:0 0 0 1px #c2d2e5;border-radius:4px;font-family:"Times New Roman",serif;font-size:14px;line-height:16px;padding:2px 4px;text-align:right}
:where(html[data-route-layout="explorer"]) .mock-panel{position:absolute;z-index:20;display:flex;flex-direction:column;border:1px solid #bacbe9;border-radius:13px;background:rgba(255,255,255,.97);box-shadow:0 3px 9px #00296755,0 15px 28px #00225f33;overflow:hidden;min-width:220px;min-height:36px}
:where(html[data-route-layout="explorer"]) .mock-panel--header{left:2.87vw;top:3.08vh;width:647px;height:111px}
:where(html[data-route-layout="explorer"]) .mock-panel--description{left:1.82vw;top:17.1vh;width:335px;height:565px}
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{right:5.08vw;top:17.32vh;width:383px;height:539px}
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:9.32vw;top:78.11vh;width:774px;height:159px}
:where(html[data-route-layout="explorer"]) .mock-panel--related{left:56.2vw;top:78.11vh;width:494px;height:160px}
:where(html[data-route-layout="explorer"]) .mock-panel-heading{display:flex;align-items:center;flex:none;min-height:43px;padding:0 13px 0 15px;gap:11px}
:where(html[data-route-layout="explorer"]) .mock-panel-heading--header{min-height:40px;gap:16px}
:where(html[data-route-layout="explorer"]) .mock-panel-heading h2{margin:0;min-width:0;font-size:21px;font-weight:700;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed{height:44px!important;min-height:44px}
:where(html[data-route-layout="explorer"]) [data-panel-content][hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-panel-content{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#9db7e6 transparent}

:where(html[data-route-layout="explorer"]) .mock-crumbs{display:flex;align-items:center;gap:18px;min-width:0;font-size:16px;line-height:1;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-crumb-separator{font-family:Arial,sans-serif;font-size:23px;font-weight:300;color:#183ba0}
:where(html[data-route-layout="explorer"]) .mock-header-content{display:flex;align-items:center;gap:16px;padding:0 37px 8px 15px;overflow:hidden;flex:1}
:where(html[data-route-layout="explorer"]) .mock-header-cover{width:110px;height:59px;object-fit:cover;border-radius:10px;box-shadow:0 1px 4px #0d2c6e55}
:where(html[data-route-layout="explorer"]) .mock-header-cover{object-fit:none;object-position:-64px -72px}
:where(html[data-route-layout="explorer"]) .mock-header-content h1{margin:0;font-size:36px;line-height:1.05;letter-spacing:-1px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-star{font-size:41px;color:#ff9900;line-height:1;margin-left:-6px;margin-top:-5px}
:where(html[data-route-layout="explorer"]) .mock-gpx{display:flex;align-items:center;justify-content:center;gap:11px;flex:none;width:138px;height:50px;margin-left:auto;border:1px solid #bfd2f3;border-radius:8px;background:#f6f8fe;box-shadow:0 2px 6px #04379333;color:#02248d;font-size:20px;font-weight:700}
:where(html[data-route-layout="explorer"]) .mock-gpx svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

:where(html[data-route-layout="explorer"]) .mock-weather{position:absolute;z-index:15;right:9.5vw;top:2.65vh;display:flex;align-items:center;gap:8px;height:35px;padding:3px 11px;border:1px solid #a6bee1;border-radius:20px;background:#fffefaee;box-shadow:0 2px 5px #1b2c3c55;color:#09237c;font-size:14px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-weather-pin,
:where(html[data-route-layout="explorer"]) .mock-metric-pin,
:where(html[data-route-layout="explorer"]) .mock-mini-card p span,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i{position:relative;display:inline-block;flex:none;width:18px;height:22px;font-size:0!important;line-height:1;color:transparent!important}
:where(html[data-route-layout="explorer"]) .mock-weather-pin:before,
:where(html[data-route-layout="explorer"]) .mock-metric-pin:before,
:where(html[data-route-layout="explorer"]) .mock-mini-card p span:before,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i:before{position:absolute;top:1px;left:2px;width:13px;height:13px;border:3px solid #ff0738;border-radius:50% 50% 50% 0;background:#fff;transform:rotate(-45deg);content:""}
:where(html[data-route-layout="explorer"]) .mock-weather-pin:after,
:where(html[data-route-layout="explorer"]) .mock-metric-pin:after,
:where(html[data-route-layout="explorer"]) .mock-mini-card p span:after,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i:after{position:absolute;top:6px;left:8px;width:4px;height:4px;border-radius:50%;background:#ff0738;content:""}
:where(html[data-route-layout="explorer"]) .mock-sun{font-family:Arial,sans-serif;font-size:28px;line-height:1;color:#ff6e00}
:where(html[data-route-layout="explorer"]) .mock-login{position:absolute;z-index:15;right:1.55vw;top:2.65vh;display:flex;align-items:center;gap:12px;height:36px;padding:1px 13px;border:1px solid #8ca8d8;border-radius:9px;background:#06348d;color:#fff;font-size:18px;box-shadow:0 2px 4px #17294a66}
:where(html[data-route-layout="explorer"]) .mock-login span{color:#ffd31e;font-family:Arial,sans-serif;font-size:27px;line-height:1}

:where(html[data-route-layout="explorer"]) .mock-description-content{padding:0 17px 11px;flex:1}
:where(html[data-route-layout="explorer"]) .mock-description-image{display:block;width:100%;height:122px;object-fit:cover;object-position:center 54%;border-radius:9px}
:where(html[data-route-layout="explorer"]) .mock-description-image{object-fit:none;object-position:-48px -207px}
:where(html[data-route-layout="explorer"]) .mock-description-content h3{margin:7px 0 3px;font-size:27px;line-height:1.08}
:where(html[data-route-layout="explorer"]) .mock-description-content>p{margin:0 0 14px;font-size:17px;line-height:1.22}
:where(html[data-route-layout="explorer"]) .mock-metrics{margin:0}
:where(html[data-route-layout="explorer"]) .mock-metrics div{display:flex;align-items:center;justify-content:space-between;min-height:33px;border-top:1px solid #d9e4f3;font-size:16px}
:where(html[data-route-layout="explorer"]) .mock-metrics dt{display:flex;align-items:center;gap:17px;min-width:0;white-space:nowrap}:where(html[data-route-layout="explorer"]) .mock-metrics dd{margin:0;font-weight:700;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;color:#001b81;font-family:Arial,sans-serif;font-size:24px;font-weight:700;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-metric-pin{width:24px}
:where(html[data-route-layout="explorer"]) .mock-red-button{height:40px;border:1px solid #dc032c;border-radius:8px;background:#d9002c;color:#fff;box-shadow:0 1px 3px #92022144;font-size:16px}
:where(html[data-route-layout="explorer"]) .mock-red-button:hover{background:#c5002a}
:where(html[data-route-layout="explorer"]) .mock-description-action{display:flex;justify-content:center;align-items:center;gap:13px;width:100%;margin-top:3px}
:where(html[data-route-layout="explorer"]) .mock-description-action span{font-family:Arial,sans-serif;font-size:22px}

:where(html[data-route-layout="explorer"]) .mock-checkpoint-heading{min-height:46px;gap:12px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-heading h2{font-size:24px}
:where(html[data-route-layout="explorer"]) .mock-small-shield{display:grid;place-items:center;align-self:flex-start;width:35px;height:43px;margin-top:-1px;background:#d9002e;color:#fff;font-size:26px;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%)}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content{padding:0 15px 11px;flex:1}
:where(html[data-route-layout="explorer"]) .mock-feature-image{position:relative;height:179px;overflow:hidden;border-radius:9px}
:where(html[data-route-layout="explorer"]) .mock-feature-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
:where(html[data-route-layout="explorer"]) .mock-feature-image img{object-fit:none;object-position:-1222px -210px}
:where(html[data-route-layout="explorer"]) .mock-image-arrow{position:absolute;top:47%;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#fff;color:#082a8d;font-family:Arial,sans-serif;font-size:29px;line-height:1;transform:translateY(-50%);box-shadow:0 1px 4px #112b4b88}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--left{left:9px}:where(html[data-route-layout="explorer"]) .mock-image-arrow--right{right:9px}
:where(html[data-route-layout="explorer"]) .mock-image-count{position:absolute;right:0;bottom:0;min-width:89px;padding:5px 11px;background:#131619cf;color:white;text-align:center;font-size:14px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content h3{margin:4px 0 8px;font-size:28px;line-height:1.02;letter-spacing:-.2px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta{display:flex;justify-content:space-between;align-items:center;gap:7px;white-space:nowrap;font-size:13px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta span{display:flex;align-items:center;gap:5px}:where(html[data-route-layout="explorer"]) .mock-feature-meta i{font-family:Arial,sans-serif;font-size:22px;font-style:normal;color:#ff073d;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content>p{margin:10px 0 13px;font-size:16px;line-height:1.22}
:where(html[data-route-layout="explorer"]) .mock-feature-actions{display:flex;gap:7px}:where(html[data-route-layout="explorer"]) .mock-feature-actions>.mock-red-button{flex:1;font-size:14px;white-space:nowrap}

:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-panel-heading,
:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-panel-heading{min-height:36px;padding-left:15px}
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-panel-heading h2,
:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-panel-heading h2{font-size:20px}
:where(html[data-route-layout="explorer"]) .mock-rail-content{display:flex;align-items:center;flex:1;gap:3px;padding:0 4px 6px;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{z-index:1;flex:none;display:grid;place-items:center;width:24px;height:33px;padding:0;border:1px solid #d3e3fa;border-radius:50%;background:#fff;color:#f00936;box-shadow:0 1px 3px #23437766;font-family:Arial,sans-serif;font-size:27px;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-card-list{display:flex;gap:5px;min-width:0;height:100%;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-mini-card{flex:none;min-width:0;height:100%;padding:3px 4px 4px;border:1px solid #d7e4f6;border-radius:8px;background:#fdfefe;box-shadow:0 1px 4px #264b8244;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card{width:113px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card{width:106px}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{border:2px solid #f5003f;padding:2px 3px 3px;box-shadow:0 0 0 3px #ffdd4c99,0 1px 5px #29427a66}
:where(html[data-route-layout="explorer"]) .mock-mini-image{position:relative;width:100%;height:47px;overflow:hidden;border-radius:5px 5px 1px 1px}
:where(html[data-route-layout="explorer"]) .mock-mini-image img{width:100%;height:100%;object-fit:cover}
:where(html[data-route-layout="explorer"]) .mock-mini-image img{object-fit:none}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card:nth-child(1) img{object-position:-188px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card:nth-child(2) img{object-position:-307px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card:nth-child(3) img{object-position:-426px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card:nth-child(4) img{object-position:-556px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card:nth-child(5) img{object-position:-674px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card:nth-child(6) img{object-position:-793px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image span{display:none}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card:nth-child(1) img{object-position:-972px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card:nth-child(2) img{object-position:-1084px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card:nth-child(3) img{object-position:-1195px -773px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card:nth-child(4) img{object-position:-1306px -773px}
:where(html[data-route-layout="explorer"]) .mock-mini-image span{position:absolute;top:1px;left:6px;padding:1px 10px;border:1px solid #342716;background:#ffe08b;color:#111;font-size:13px;font-weight:700}
:where(html[data-route-layout="explorer"]) .mock-mini-card h3{height:32px;margin:4px 2px 1px;color:#0a2a8e;font-size:12px;font-weight:700;line-height:1.08;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-mini-card p{display:flex;align-items:center;gap:6px;margin:0 2px;color:#003497;font-size:13px}:where(html[data-route-layout="explorer"]) .mock-mini-card p span{color:#ff0738;font-family:Arial,sans-serif;font-size:20px;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected h3{color:#e00031;font-size:11px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card h3{height:21px;margin-top:5px;font-size:11px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image{height:64px}

:where(html[data-route-layout="explorer"]) .mock-top-tools{position:absolute;z-index:15;top:23px;right:calc(8.5vw + 18px);display:flex;align-items:center;gap:8px}
:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{position:static}
:where(html[data-route-layout="explorer"]) .mock-map-controls{display:flex;align-items:center;flex:none;height:35px;padding:2px 5px;border:1px solid #a6bee1;border-radius:20px;background:#fffefaee;box-shadow:0 2px 5px #1b2c3c55}
:where(html[data-route-layout="explorer"]) .mock-zoom-controls{display:flex;align-items:center}
:where(html[data-route-layout="explorer"]) .mock-zoom-controls button,
:where(html[data-route-layout="explorer"]) .mock-locate{display:grid;place-items:center;width:28px;height:27px;padding:0;border:0;background:transparent;color:#092ea1;font-family:Arial,sans-serif;font-size:22px;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-zoom-controls button+button,
:where(html[data-route-layout="explorer"]) .mock-locate{border-left:1px solid #d9e4f8}:where(html[data-route-layout="explorer"]) .mock-locate{font-size:24px}

:where(html[data-route-layout="explorer"]) .mock-map-shield{display:flex;flex-direction:column;align-items:center;width:68px;height:93px;filter:drop-shadow(0 2px 1px #1119);pointer-events:auto}
:where(html[data-route-layout="explorer"]) .mock-map-shield-label{z-index:1;display:grid;place-items:center;width:68px;height:28px;border:2px solid #1a130b;background:#ffdf85;color:#100f12;font-family:"Times New Roman",serif;font-size:17px;font-weight:700;line-height:1;clip-path:polygon(4% 0,96% 0,100% 100%,0 100%)}
:where(html[data-route-layout="explorer"]) .mock-map-shield-body{display:grid;place-items:center;width:57px;height:53px;margin-top:-2px;border:3px solid #0e0a05;background:var(--shield-color,#da0030);color:#fff;font-family:Georgia,serif;font-size:38px;line-height:1;clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}
:where(html[data-route-layout="explorer"]) .mock-map-shield--black .mock-map-shield-body{background:#101111}:where(html[data-route-layout="explorer"]) .mock-map-shield--blue .mock-map-shield-body{background:#064ac3}:where(html[data-route-layout="explorer"]) .mock-map-shield--white .mock-map-shield-body{background:#f7f4e7;color:#111}
:where(html[data-route-layout="explorer"]) .mock-map-shield-dot{width:23px;height:23px;margin-top:-1px;border:4px solid #070809;border-radius:50%;background:#ffdf72}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-map-shield-dot{background:#fff;border-color:#e00030;box-shadow:0 0 0 3px white,0 0 0 6px #e00030,0 0 15px 8px #f12758}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active{filter:drop-shadow(0 2px 2px #1119) drop-shadow(0 0 6px #ff2a5a)}

@media(max-width:1450px){:where(html[data-route-layout="explorer"]) .mock-panel--header{width:600px}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{right:2vw}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:5vw}:where(html[data-route-layout="explorer"]) .mock-panel--related{left:auto;right:3vw;width:410px}:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card{width:85px}:where(html[data-route-layout="explorer"]) .mock-rail-content{gap:1px}:where(html[data-route-layout="explorer"]) .mock-card-list{gap:3px}}
@media(max-width:1229px){:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:2vw;width:650px}:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card{width:93px}:where(html[data-route-layout="explorer"]) .mock-panel--related{right:2vw;width:390px}:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card{width:79px}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{width:348px}:where(html[data-route-layout="explorer"]) .mock-panel--description{width:315px}:where(html[data-route-layout="explorer"]) .mock-weather{right:12vw}:where(html[data-route-layout="explorer"]) .mock-header-content h1{font-size:32px}}
@media(max-width:1229px){:where(html[data-route-layout="explorer"]) body{overflow:auto}:where(html[data-route-layout="explorer"]) .mock-explorer{height:auto;min-height:100vh;padding:12px 12px 20px;overflow:visible;display:flex;flex-direction:column;gap:12px}:where(html[data-route-layout="explorer"]) #mock-map{position:fixed;inset:0}:where(html[data-route-layout="explorer"]) .mock-panel{position:relative;left:auto;right:auto;top:auto;width:min(100%,680px);height:auto;max-height:none;flex:none}:where(html[data-route-layout="explorer"]) .mock-panel--header{order:1}:where(html[data-route-layout="explorer"]) .mock-panel--description{order:2}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{order:3}:where(html[data-route-layout="explorer"]) .mock-panel--related{order:4}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{order:5}:where(html[data-route-layout="explorer"]) .mock-panel--description,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{max-height:600px}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints,
:where(html[data-route-layout="explorer"]) .mock-panel--related{height:162px}:where(html[data-route-layout="explorer"]) .mock-top-tools{position:relative;order:0;top:auto;right:auto;align-self:flex-start;margin-left:auto;margin-right:95px}:where(html[data-route-layout="explorer"]) .mock-login{top:13px;right:14px}:where(html[data-route-layout="explorer"]) .mock-map-scale{display:none}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{margin-left:auto}:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints,
:where(html[data-route-layout="explorer"]) .mock-panel--related{width:min(100%,750px)}:where(html[data-route-layout="explorer"]) .mock-rail-content{overflow-x:auto}:where(html[data-route-layout="explorer"]) .mock-card-list{overflow:visible}:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card{width:108px}:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card{width:106px}}
@media(max-width:600px){:where(html[data-route-layout="explorer"]) .mock-explorer{padding:8px;gap:8px}:where(html[data-route-layout="explorer"]) .mock-panel{border-radius:10px}:where(html[data-route-layout="explorer"]) .mock-panel--header{min-width:0}:where(html[data-route-layout="explorer"]) .mock-panel-heading--header{gap:7px}:where(html[data-route-layout="explorer"]) .mock-crumbs{gap:7px;font-size:12px}:where(html[data-route-layout="explorer"]) .mock-crumb-separator{font-size:17px}:where(html[data-route-layout="explorer"]) .mock-header-content{padding:0 12px 10px;gap:8px}:where(html[data-route-layout="explorer"]) .mock-header-cover{width:58px;height:51px}:where(html[data-route-layout="explorer"]) .mock-header-content h1{font-size:23px;letter-spacing:-.5px}:where(html[data-route-layout="explorer"]) .mock-star{font-size:30px;margin-left:0}:where(html[data-route-layout="explorer"]) .mock-gpx{width:90px;height:39px;gap:3px;font-size:13px}:where(html[data-route-layout="explorer"]) .mock-gpx svg{width:20px;height:20px}:where(html[data-route-layout="explorer"]) .mock-panel--header{height:102px}:where(html[data-route-layout="explorer"]) .mock-panel--description,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{max-height:none}:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-panel-content,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint .mock-panel-content{overflow:visible}:where(html[data-route-layout="explorer"]) .mock-panel-heading h2{font-size:19px}:where(html[data-route-layout="explorer"]) .mock-top-tools{margin:0 80px 0 0;max-width:calc(100% - 80px);flex-wrap:wrap}:where(html[data-route-layout="explorer"]) .mock-weather{max-width:100%;overflow:hidden;gap:4px;padding:2px 5px;font-size:11px}:where(html[data-route-layout="explorer"]) .mock-weather-pin{font-size:17px}:where(html[data-route-layout="explorer"]) .mock-sun{font-size:19px}:where(html[data-route-layout="explorer"]) .mock-moon{display:none}:where(html[data-route-layout="explorer"]) .mock-login{height:35px;padding:1px 7px;font-size:14px}:where(html[data-route-layout="explorer"]) .mock-login span{font-size:21px}:where(html[data-route-layout="explorer"]) .mock-feature-meta{font-size:11px}:where(html[data-route-layout="explorer"]) .mock-feature-meta i{font-size:15px}:where(html[data-route-layout="explorer"]) .mock-checkpoint-content h3{font-size:25px}}

@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-panel--header{left:1.5vw;top:3.8vh;width:531px;height:102px}
  :where(html[data-route-layout="explorer"]) .mock-panel--description{left:1.44vw;top:16.5vh;bottom:calc(3.2vh + 178px);width:346px;height:auto}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{left:auto;right:1.44vw;top:12vh;bottom:3.2vh;width:443px;height:auto}
  :where(html[data-route-layout="explorer"]) .mock-panel--related{left:1.44vw;right:auto;top:auto;bottom:3.2vh;width:346px;height:164px}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:calc(1.44vw + 360px);right:calc(1.44vw + 455px);top:auto;bottom:3.2vh;width:auto;height:164px}
  :where(html[data-route-layout="explorer"]) .mock-top-tools{top:4.1vh;right:170px;gap:55px}
  :where(html[data-route-layout="explorer"]) .mock-login{top:4.1vh;right:22px}
}

:where(html[data-route-layout="explorer"]) .mock-panel{cursor:default;touch-action:auto}
:where(html[data-route-layout="explorer"]) .mock-panel-heading{gap:16px}
:where(html[data-route-layout="explorer"]) .mock-fold{display:grid;place-items:center;flex:none;width:25px;height:30px;padding:0;border:0;background:transparent;color:#062f9f;font-family:Arial,sans-serif;font-size:22px;font-weight:700;line-height:1;cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-fold:focus-visible{outline:3px solid #ffad00;outline-offset:2px;border-radius:4px}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"]{min-width:44px;width:44px!important;height:auto!important}
:where(html[data-route-layout="explorer"]) .mock-panel--related.is-collapsed[data-fold="left"]{height:164px!important}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-panel-heading{height:100%;min-height:0;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:8px 0}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-panel-heading h2{writing-mode:vertical-rl;transform:rotate(180deg);max-height:calc(100% - 44px);font-size:17px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="up"]{bottom:auto!important}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="down"]{top:auto!important}
:where(html[data-route-layout="explorer"]) .mock-header-content{gap:12px;padding-left:14px;padding-right:14px}
:where(html[data-route-layout="explorer"]) .mock-header-cover{width:115px;height:54px}
:where(html[data-route-layout="explorer"]) .mock-header-content h1{font-size:32px;letter-spacing:-.6px}
:where(html[data-route-layout="explorer"]) .mock-star{font-size:37px}
:where(html[data-route-layout="explorer"]) .mock-gpx{width:118px;height:43px;gap:7px;font-size:18px}
:where(html[data-route-layout="explorer"]) .mock-gpx svg{width:24px;height:24px}
:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:364px;height:43px;justify-content:space-between;gap:5px;padding:3px 10px;border-radius:20px}
:where(html[data-route-layout="explorer"]) .mock-weather-chevron{font-family:Arial,sans-serif;font-size:22px;font-weight:700;line-height:1;transform:translateY(-4px)}
:where(html[data-route-layout="explorer"]) .mock-map-controls{width:150px;height:43px;padding:0;border-radius:9px;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-zoom-controls{height:100%}
:where(html[data-route-layout="explorer"]) .mock-zoom-controls button,
:where(html[data-route-layout="explorer"]) .mock-locate{width:49px;height:39px;font-size:29px;font-weight:700}
:where(html[data-route-layout="explorer"]) .mock-locate svg{width:23px;height:23px;fill:#073bb8}
:where(html[data-route-layout="explorer"]) .mock-login{justify-content:center;width:134px;height:43px;gap:8px;padding:0 8px;font-size:18px}
:where(html[data-route-layout="explorer"]) .mock-login img{width:36px;height:36px;object-fit:contain}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-heading{min-height:58px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-heading h2{font-size:31px}
:where(html[data-route-layout="explorer"]) .mock-small-shield{align-self:center;width:39px;height:46px;margin-top:0;font-size:28px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content{display:flex;flex-direction:column;padding:0 15px 26px}
:where(html[data-route-layout="explorer"]) .mock-feature-image{flex:none;height:238px}
:where(html[data-route-layout="explorer"]) .mock-feature-image img{object-fit:cover;object-position:center 55%}
:where(html[data-route-layout="explorer"]) .mock-image-arrow{top:66%}
:where(html[data-route-layout="explorer"]) .mock-image-count{min-width:67px;font-size:17px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content h3{margin:8px 6px 12px;font-size:33px;line-height:1.02}
:where(html[data-route-layout="explorer"]) .mock-feature-meta{font-size:15px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta i{font-size:25px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content>p{margin:17px 5px 0;font-size:18px;line-height:1.28}
:where(html[data-route-layout="explorer"]) .mock-feature-actions{margin-top:auto;padding-top:12px}
:where(html[data-route-layout="explorer"]) .mock-feature-actions>.mock-red-button{width:100%;height:50px;font-size:17px}
:where(html[data-route-layout="explorer"]) .mock-rail-content{gap:3px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints,
:where(html[data-route-layout="explorer"]) .mock-card-list--related{flex:1;justify-content:space-between}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card{width:90px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image{height:50px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card h3{height:30px;white-space:normal;font-size:11px}
:where(html[data-route-layout="explorer"]) .mock-description-content{padding:2px 14px 5px}
:where(html[data-route-layout="explorer"]) .mock-description-content h3{margin-top:11px}
:where(html[data-route-layout="explorer"]) .mock-description-content>p{margin-bottom:16px}
:where(html[data-route-layout="explorer"]) .mock-metrics div{min-height:36px}
:where(html[data-route-layout="explorer"]) .mock-description-action{height:35px}

@media(max-width:1229px){
  :where(html[data-route-layout="explorer"]) .mock-top-tools{gap:8px}
  :where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:auto}
  :where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed{width:min(100%,680px)!important;height:44px!important;min-width:0}
  :where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-panel-heading{height:44px;flex-direction:row;justify-content:flex-start;padding:0 13px 0 15px}
  :where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-panel-heading h2{writing-mode:initial;transform:none;max-height:none}
  :where(html[data-route-layout="explorer"]) .mock-panel--related.is-collapsed[data-fold="left"]{height:44px!important}
}

@media(max-width:600px){
  :where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{max-width:100%;font-size:11px}
  :where(html[data-route-layout="explorer"]) .mock-map-controls{width:122px;height:35px}
  :where(html[data-route-layout="explorer"]) .mock-zoom-controls button,
:where(html[data-route-layout="explorer"]) .mock-locate{width:40px;height:32px;font-size:24px}
  :where(html[data-route-layout="explorer"]) .mock-login{width:auto;height:35px}
  :where(html[data-route-layout="explorer"]) .mock-login img{width:27px;height:27px}
  :where(html[data-route-layout="explorer"]) .mock-feature-image{height:190px}
  :where(html[data-route-layout="explorer"]) .mock-checkpoint-content h3{font-size:25px}
  :where(html[data-route-layout="explorer"]) .mock-checkpoint-content>p{font-size:16px}
}

/* The route panels use a single card size and fold into their nearest edge. */
:where(html[data-route-layout="explorer"]) .mock-explorer{--mock-card-width:94px;--mock-card-gap:5px}
:where(html[data-route-layout="explorer"]) .mock-panel-content{overflow:hidden;scrollbar-width:none}
:where(html[data-route-layout="explorer"]) .mock-panel-content::-webkit-scrollbar{display:none}
:where(html[data-route-layout="explorer"]) [data-route-full][hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-panel--description.is-reading .mock-description-content{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8caae0 transparent}
:where(html[data-route-layout="explorer"]) .mock-panel--description.is-reading .mock-description-content::-webkit-scrollbar{display:block;width:7px}
:where(html[data-route-layout="explorer"]) .mock-panel--description.is-reading .mock-description-content::-webkit-scrollbar-thumb{background:#8caae0;border-radius:8px}
:where(html[data-route-layout="explorer"]) .mock-route-summary{margin-top:16px!important;margin-bottom:11px!important}
:where(html[data-route-layout="explorer"]) .mock-route-full{font-size:16px;line-height:1.22}
:where(html[data-route-layout="explorer"]) .mock-route-full p{margin:10px 0}
:where(html[data-route-layout="explorer"]) .mock-route-full ol{margin:10px 0;padding-left:21px}
:where(html[data-route-layout="explorer"]) .mock-route-full li{margin-bottom:8px}
:where(html[data-route-layout="explorer"]) .mock-description-action{flex:none;margin-top:5px}
:where(html[data-route-layout="explorer"]) .mock-panel--description.is-reading .mock-description-action{position:sticky;bottom:0;z-index:1}

:where(html[data-route-layout="explorer"]) .mock-fold{position:relative;font-size:0!important}
:where(html[data-route-layout="explorer"]) .mock-fold::after{display:block;width:9px;height:9px;border-right:2px solid #0b319c;border-bottom:2px solid #0b319c;content:""}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="up"] .mock-fold::after{transform:rotate(225deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="down"] .mock-fold::after{transform:rotate(45deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="left"] .mock-fold::after{transform:rotate(135deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="right"] .mock-fold::after{transform:rotate(315deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="up"] .mock-fold::after{transform:rotate(45deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="down"] .mock-fold::after{transform:rotate(225deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-fold::after{transform:rotate(315deg) translate(-2px,-2px)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="right"] .mock-fold::after{transform:rotate(135deg) translate(-2px,-2px)}

:where(html[data-route-layout="explorer"]) .mock-weather-pin,
:where(html[data-route-layout="explorer"]) .mock-metric-pin,
:where(html[data-route-layout="explorer"]) .mock-mini-card p span,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i{background:url('/assets/route-v-memoriz-100/map-pin.svg?v=2') center / contain no-repeat;font-size:0!important;color:transparent!important}
:where(html[data-route-layout="explorer"]) .mock-weather-pin::before,
:where(html[data-route-layout="explorer"]) .mock-weather-pin::after,
:where(html[data-route-layout="explorer"]) .mock-metric-pin::before,
:where(html[data-route-layout="explorer"]) .mock-metric-pin::after,
:where(html[data-route-layout="explorer"]) .mock-mini-card p span::before,
:where(html[data-route-layout="explorer"]) .mock-mini-card p span::after,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i::before,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i::after{display:none}
:where(html[data-route-layout="explorer"]) .mock-weather-pin{width:19px;height:26px}
:where(html[data-route-layout="explorer"]) .mock-metric-pin{width:24px;height:26px;background-size:18px 24px}
:where(html[data-route-layout="explorer"]) .mock-mini-card p span{width:16px;height:22px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i{width:18px;height:24px}

:where(html[data-route-layout="explorer"]) .mock-login{position:absolute;justify-content:center;overflow:visible;width:132px;height:43px;padding:0 7px 0 25px;gap:0;background:#06348d;color:#fff;font-size:18px}
:where(html[data-route-layout="explorer"]) .mock-login img{position:absolute;left:-17px;top:-2px;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 1px 1px #09204688)}

:where(html[data-route-layout="explorer"]) .mock-image-arrow,
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{position:absolute;display:grid;place-items:center;border:1px solid #dae5f7;border-radius:50%;background:#fff;box-shadow:0 1px 4px #19396970;color:transparent;font-size:0!important}
:where(html[data-route-layout="explorer"]) .mock-image-arrow::after,
:where(html[data-route-layout="explorer"]) .mock-rail-arrow::after{display:block;width:9px;height:9px;border-right:2px solid #ef0039;border-bottom:2px solid #ef0039;content:""}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--left::after,
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child::after{transform:rotate(135deg) translate(-1px,-1px)}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--right::after,
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child::after{transform:rotate(315deg) translate(-1px,-1px)}
:where(html[data-route-layout="explorer"]) .mock-image-arrow{top:50%;z-index:2;width:35px;height:35px;transform:translateY(-50%)}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{top:50%;z-index:2;width:29px;height:34px;padding:0;transform:translateY(-50%)}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child{left:3px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child{right:3px}

:where(html[data-route-layout="explorer"]) .mock-rail-content{position:relative;align-items:stretch;flex:1;gap:0;width:max-content;max-width:100%;padding:0 19px 7px;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-card-list,
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints,
:where(html[data-route-layout="explorer"]) .mock-card-list--related{display:flex;flex:none;justify-content:flex-start;gap:var(--mock-card-gap);width:max-content;min-width:0;height:100%;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card,
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card{width:var(--mock-card-width)}
:where(html[data-route-layout="explorer"]) .mock-mini-card{padding:3px 4px 4px}
:where(html[data-route-layout="explorer"]) .mock-mini-image,
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image{height:46px}
:where(html[data-route-layout="explorer"]) .mock-mini-card h3,
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card h3{height:31px;margin:4px 2px 1px;font-size:11px;line-height:1.08;white-space:normal}
:where(html[data-route-layout="explorer"]) .mock-mini-card p{gap:4px;margin:0 1px;font-size:12px}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{padding:2px 3px 3px}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected h3{font-size:11px}

@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-panel--description{bottom:auto;height:max-content;max-height:calc(100vh - 16.5vh - 3.2vh - 164px - 16px)}
  :where(html[data-route-layout="explorer"]) .mock-panel--related,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{right:auto;bottom:3.2vh;width:max-content;min-width:0;height:150px}
  :where(html[data-route-layout="explorer"]) .mock-panel--related{left:1.44vw}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:calc(1.44vw + 344px)}
  :where(html[data-route-layout="explorer"]) .mock-panel--related .mock-panel-heading,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-panel-heading{min-height:34px}
  :where(html[data-route-layout="explorer"]) .mock-panel--related .mock-panel-heading h2,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-panel-heading h2{font-size:19px}
  :where(html[data-route-layout="explorer"]) .mock-description-content{padding:2px 14px 11px}
  :where(html[data-route-layout="explorer"]) .mock-description-content .mock-description-image{height:122px}
  :where(html[data-route-layout="explorer"]) .mock-metrics div{min-height:36px}
  :where(html[data-route-layout="explorer"]) .mock-feature-image{height:238px}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint .mock-panel-content{overflow:hidden}
}

@media(max-width:1229px){
  :where(html[data-route-layout="explorer"]) .mock-panel--related,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{width:max-content;max-width:100%;height:150px;min-width:0}
  :where(html[data-route-layout="explorer"]) .mock-panel--description{max-height:none}
  :where(html[data-route-layout="explorer"]) .mock-panel--description.is-reading{max-height:min(70vh,650px)}
  :where(html[data-route-layout="explorer"]) .mock-rail-content{width:100%;overflow:hidden}
  :where(html[data-route-layout="explorer"]) .mock-card-list{overflow:hidden}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint .mock-panel-content{overflow:hidden}
}

@media(max-width:600px){
  :where(html[data-route-layout="explorer"]) .mock-login{width:89px;height:35px;padding-left:20px;font-size:14px}
  :where(html[data-route-layout="explorer"]) .mock-login img{left:-13px;top:-2px;width:39px;height:39px}
  :where(html[data-route-layout="explorer"]) .mock-panel--description.is-reading{max-height:70vh}
}

/* Refined route controls and compact information cards. */
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-description-image{display:none}
:where(html[data-route-layout="explorer"]) .mock-description-action[hidden],
:where(html[data-route-layout="explorer"]) .mock-feature-actions[hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-description-content{padding-top:3px}
:where(html[data-route-layout="explorer"]) .mock-route-summary{margin-top:16px!important}

:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:364px;gap:4px;padding:3px 8px;font-size:13px}
:where(html[data-route-layout="explorer"]) .mock-login{padding-left:45px}
:where(html[data-route-layout="explorer"]) .mock-login img{left:-1px}
:where(html[data-route-layout="explorer"]) .mock-weather-pin{width:18px;height:24px}
:where(html[data-route-layout="explorer"]) .mock-sun{font-size:25px}
:where(html[data-route-layout="explorer"]) .mock-theme-toggle{position:relative;display:flex;align-items:center;flex:none;width:44px;height:25px;padding:0;border:1px solid #7b98cb;border-radius:15px;background:#183b8e;box-shadow:inset 0 1px 2px #001f5d80}
:where(html[data-route-layout="explorer"]) .mock-theme-moon{position:absolute;left:6px;top:1px;color:#d6e4ff;font-family:Arial,sans-serif;font-size:19px;line-height:21px}
:where(html[data-route-layout="explorer"]) .mock-theme-knob{position:absolute;right:1px;top:1px;width:21px;height:21px;border-radius:50%;background:linear-gradient(135deg,#fff,#d6e3f8);box-shadow:0 1px 3px #041e5499}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-toggle{background:#a9c9ef}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-moon{left:auto;right:5px;color:#164394}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-knob{right:auto;left:1px;background:linear-gradient(135deg,#fff8da,#ffd34e)}

:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-rail-content,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-rail-content{padding:0 9px 8px}
:where(html[data-route-layout="explorer"]) .mock-card-list,
:where(html[data-route-layout="explorer"]) .mock-card-list--related,
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints{gap:9px}
:where(html[data-route-layout="explorer"]) .mock-mini-card{display:flex;flex-direction:column}
:where(html[data-route-layout="explorer"]) .mock-mini-image,
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image{flex:none;height:54px}
:where(html[data-route-layout="explorer"]) .mock-mini-card p{margin-top:auto;margin-bottom:1px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{top:50%;width:50px;height:50px;border:1px solid #d9e4f4;border-radius:50%;background:#fff;box-shadow:0 3px 8px #122a4f4d;overflow:visible}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow::after{width:13px;height:13px;border-width:3px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child::after{margin-left:4px;transform:rotate(135deg)}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child::after{margin-right:4px;transform:rotate(315deg)}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child{left:-5px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child{right:-5px}

:where(html[data-route-layout="explorer"]) .mock-checkpoint-heading{min-height:46px;gap:12px}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-heading h2{font-size:21px}
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint .mock-checkpoint-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 15px 13px;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-feature-image{flex:none;height:238px;border-radius:7px}
:where(html[data-route-layout="explorer"]) .mock-feature-image::before{position:absolute;z-index:1;inset:0 0 auto;height:94px;background:linear-gradient(#081d39b8,#081d3900);content:"";pointer-events:none}
:where(html[data-route-layout="explorer"]) .mock-feature-image h3{position:absolute;z-index:2;top:10px;left:16px;max-width:calc(100% - 100px);margin:0;color:#fff;font-size:26px;line-height:1.02;letter-spacing:-.2px;text-shadow:0 2px 4px #000,0 5px 9px #000}
:where(html[data-route-layout="explorer"]) .mock-feature-number{position:absolute;z-index:2;top:10px;right:13px;display:grid;place-items:center;min-width:78px;height:34px;padding:0 8px;border:2px solid #201512;background:linear-gradient(#ffe9a6,#f6ca6b);box-shadow:0 2px 4px #0008;color:#111;font-size:21px;font-weight:700;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-feature-meta{flex:none;min-height:34px;margin:7px 3px 4px;font-size:15px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-hourglass{display:inline-grid;place-items:center;width:19px;height:25px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-hourglass svg{width:18px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content>[data-checkpoint-text]{flex:1;min-height:0;margin:4px 3px 0;overflow:hidden;font-size:18px;line-height:1.25}
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint.is-reading [data-checkpoint-text]{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8caae0 transparent}
:where(html[data-route-layout="explorer"]) .mock-feature-actions{flex:none;margin:0;padding-top:11px}
:where(html[data-route-layout="explorer"]) .mock-feature-actions>.mock-red-button{height:49px}
:where(html[data-route-layout="explorer"]) .mock-image-arrow{width:37px;height:37px}
:where(html[data-route-layout="explorer"]) .mock-image-arrow::after{width:9px;height:9px;border-width:2px}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--left::after{margin-left:3px;transform:rotate(135deg)}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--right::after{margin-right:3px;transform:rotate(315deg)}
:where(html[data-route-layout="explorer"]) .mock-image-arrow::after{border-color:#1435ab}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--left{left:8px}
:where(html[data-route-layout="explorer"]) .mock-image-arrow--right{right:8px}
:where(html[data-route-layout="explorer"]) .mock-image-count{font-size:17px}

.theme-dark:where(html[data-route-layout="explorer"]) body{background:#010a11}
.theme-dark:where(html[data-route-layout="explorer"]) #mock-map{background:#010a11}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-weather,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls{border-color:#3c4652;background:#04111bf7;color:#f5f3ed;box-shadow:0 8px 24px #0008}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel h1,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel h2,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel h3,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-crumbs,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-feature-meta,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card p{color:#f5f3ed}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card{border-color:#3c4652;background:#081827}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-metrics div{border-color:#3c4652}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-metric-icon,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-crumb-separator{color:#9fb7e4}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-fold::after{border-color:#9fb7e4}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-zoom-controls button,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-locate{color:#9fb7e4}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-locate svg{fill:#9fb7e4}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-gpx{background:#081827;color:#f5f3ed;border-color:#3c4652}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-route-full,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-route-summary,
.theme-dark:where(html[data-route-layout="explorer"]) [data-checkpoint-text]{color:#f5f3ed}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card h3,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-weather{color:#c8c1b5}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-image-arrow,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-rail-arrow{border-color:#3c4652;background:#f5f3ed}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-feature-image h3{color:#fff}
.theme-dark:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-attribution{background:#04111be5;color:#c8c1b5}
.theme-dark:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-attribution a{color:#9fb7e4}

:where(html[data-route-layout="explorer"]) .mock-explorer{--mock-card-width:102px}
:where(html[data-route-layout="explorer"]) .mock-panel--related,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints,
:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-rail-content,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-rail-content{overflow:visible}
:where(html[data-route-layout="explorer"]) .mock-description-content{display:flex;flex-direction:column}
:where(html[data-route-layout="explorer"]) .mock-description-action{margin-top:auto}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-panel-heading h2{font-size:21px}

@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-panel--description{top:16.5vh;bottom:calc(3.2vh + 178px);height:auto;max-height:none}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:12vh;bottom:3.2vh;height:auto;max-height:none}
  :where(html[data-route-layout="explorer"]) .mock-panel--related,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{height:164px}
  :where(html[data-route-layout="explorer"]) .mock-panel--related{width:346px;min-width:346px}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:calc(1.44vw + var(--related-width,320px) + 12px)}
}
@media(max-width:1229px){
  :where(html[data-route-layout="explorer"]) .mock-panel--related,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{height:164px}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{height:660px;max-height:calc(100vh - 24px)}
}
@media(max-width:600px){
  :where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:auto;max-width:100%;flex-wrap:wrap}
  :where(html[data-route-layout="explorer"]) .mock-login{padding-left:28px}
  :where(html[data-route-layout="explorer"]) .mock-login img{left:-1px}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{height:600px;max-height:none}
  :where(html[data-route-layout="explorer"]) .mock-feature-image{height:230px}
  :where(html[data-route-layout="explorer"]) .mock-feature-image h3{font-size:20px}
  :where(html[data-route-layout="explorer"]) .mock-feature-number{min-width:57px;height:28px;font-size:16px}
  :where(html[data-route-layout="explorer"]) .mock-checkpoint-content>[data-checkpoint-text]{font-size:16px}
}

/* Final route mockup details: crisp icons, quiet selection and an inset cover. */
:where(html[data-route-layout="explorer"]) .mock-header-cover{width:110px;height:54px;object-position:-64px -73px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-header-cover{box-shadow:0 0 0 1px #71849a,0 2px 5px #0009}

:where(html[data-route-layout="explorer"]) .mock-login{width:134px;height:43px;padding:0 5px 0 46px;border:1px solid #6687c8;border-radius:999px;background:linear-gradient(180deg,#154b9f,#092e78);box-shadow:0 2px 5px #031d5588;color:#fff;font-size:18px}
:where(html[data-route-layout="explorer"]) .mock-login::after{position:absolute;left:49px;top:8px;width:1px;height:26px;background:#c4d0e4b8;content:""}
:where(html[data-route-layout="explorer"]) .mock-login img{left:0;top:-2px;width:46px;height:46px;filter:drop-shadow(0 1px 2px #001d52aa)}

:where(html[data-route-layout="explorer"]) .mock-fold::after,
:where(html[data-route-layout="explorer"]) .mock-rail-arrow::after,
:where(html[data-route-layout="explorer"]) .mock-image-arrow::after{display:none}
:where(html[data-route-layout="explorer"]) .mock-fold svg,
:where(html[data-route-layout="explorer"]) .mock-rail-arrow svg,
:where(html[data-route-layout="explorer"]) .mock-image-arrow svg{display:block;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-fold svg{width:19px;height:19px;stroke:#0b319c;stroke-width:2.2;transform-origin:center}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="up"] .mock-fold svg{transform:rotate(180deg)}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="left"] .mock-fold svg{transform:rotate(90deg)}
:where(html[data-route-layout="explorer"]) .mock-panel[data-fold="right"] .mock-fold svg{transform:rotate(-90deg)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="up"] .mock-fold svg{transform:none}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="down"] .mock-fold svg{transform:rotate(180deg)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-fold svg{transform:rotate(-90deg)}
:where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="right"] .mock-fold svg{transform:rotate(90deg)}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-fold svg{stroke:#9fb7e4}

:where(html[data-route-layout="explorer"]) .mock-rail-arrow,
:where(html[data-route-layout="explorer"]) .mock-image-arrow{display:flex;align-items:center;justify-content:center;background:#fff;color:#123da5;font-size:0;line-height:1}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{width:50px;height:50px;border:1px solid #d5dfec;box-shadow:0 3px 8px #12305a55}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow svg{width:25px;height:25px;stroke-width:2.6}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child{left:-25px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child{right:-5px}
:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-rail-content,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-rail-content{padding-left:24px;padding-right:6px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related{gap:5px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints{gap:6px}
:where(html[data-route-layout="explorer"]) .mock-image-arrow{top:50%;width:37px;height:37px;transform:translateY(-50%)}
:where(html[data-route-layout="explorer"]) .mock-image-arrow svg{width:20px;height:20px;stroke-width:2.3}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-rail-arrow,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-image-arrow{background:#fff;color:#123da5;border-color:#d5dfec}

:where(html[data-route-layout="explorer"]) .mock-panel--related,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{border-color:#cadbf1;box-shadow:0 3px 9px #0029674d,0 10px 20px #00225f29}
:where(html[data-route-layout="explorer"]) .mock-mini-card{border-color:#d9e5f5;background:#fff;box-shadow:0 1px 3px #29427a22}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{padding:4px 4px 5px;border:2px solid #f5ac1b;background:#fffdf8;box-shadow:0 0 0 2px #ffe3a280,0 2px 5px #29427a33}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected h3{color:#0a2a8e}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{border-color:#f5ac1b;background:#102033;box-shadow:0 0 0 2px #f6c66d55,0 2px 5px #0006}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected h3{color:#f5f3ed}
@media(min-width:1230px){:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{width:677px;min-width:677px}}

/* Keep the OSM raster dark while preserving the original colors of map overlays. */
.theme-dark:where(html[data-route-layout="explorer"]) #mock-map .mock-street-tiles img.leaflet-tile{filter:invert(.9) hue-rotate(180deg) saturate(.8) brightness(1.1) contrast(.76)}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metric-pin{background-image:url('/assets/route-v-memoriz-100/map-pin-blue.svg')}

/* The rail controls sit at the vertical center of the thumbnails. */
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{top:29px;width:32px;height:32px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow svg{width:17px;height:17px;stroke-width:2.7}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child{left:-14px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child{right:5px}
:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-rail-content,
:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-rail-content{padding-left:17px;padding-right:8px}

:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{background:#fff;border-color:#e9a41e;box-shadow:none}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{background:#081827;border-color:#e9a41e;box-shadow:none}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected .mock-mini-image img{object-fit:cover;object-position:center!important}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card.is-selected .mock-mini-image span{display:block}

.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-toggle{border-color:#6e8ebd;background:#143d85;box-shadow:inset 0 1px 2px #001939a8}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-moon{color:#e5edff}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-knob{background:linear-gradient(135deg,#fff2af,#f9c842)}
:where(html[data-route-layout="explorer"]) .mock-feature-actions>.mock-red-button{height:35px}

/* A separate, initially folded route-credit panel shares the description width. */
:where(html[data-route-layout="explorer"]) .mock-panel--credit{left:calc(1.5vw + 531px + 16px);top:3.8vh;width:346px;height:max-content;max-height:calc(100vh - 7vh - 180px)}
html:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-panel--credit:not(.is-collapsed){z-index:1400}
:where(html[data-route-layout="explorer"]) .mock-panel--credit.mock-panel.is-collapsed[data-fold="down"]{top:3.8vh!important;bottom:auto!important}
:where(html[data-route-layout="explorer"]) .mock-credit-heading{min-height:43px;padding-right:12px}
:where(html[data-route-layout="explorer"]) .mock-credit-heading h2{font-size:21px}
:where(html[data-route-layout="explorer"]) .mock-credit-fold-end{margin-left:auto}
:where(html[data-route-layout="explorer"]) .mock-panel--credit.mock-panel.is-collapsed[data-fold="down"] .mock-fold svg{transform:none}
:where(html[data-route-layout="explorer"]) .mock-panel--credit.mock-panel:not(.is-collapsed)[data-fold="down"] .mock-fold svg{transform:rotate(180deg)}
:where(html[data-route-layout="explorer"]) .mock-credit-content{padding:2px 15px 14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9fb7e4 transparent;color:#051a72;font-size:16px;line-height:1.2}
:where(html[data-route-layout="explorer"]) .mock-credit-content p{margin:9px 0}
:where(html[data-route-layout="explorer"]) .mock-credit-content h3{margin:14px 0 5px;font-size:18px}
:where(html[data-route-layout="explorer"]) .mock-credit-content ol{margin:6px 0;padding-left:22px}
:where(html[data-route-layout="explorer"]) .mock-credit-content li{margin-bottom:7px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-credit-content{color:#f5f3ed}

/* Keep map controls clear of the new top panel at narrower desktop widths. */
@media(min-width:1230px) and (max-width:1669px){
  :where(html[data-route-layout="explorer"]) .mock-top-tools{top:calc(3.8vh + 115px);left:calc(1.44vw + 362px);right:auto;gap:8px}
  :where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:320px}
}
@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-panel--description{top:max(16.5vh,calc(3.8vh + 114px))}
}
@media(max-width:1229px){
  :where(html[data-route-layout="explorer"]) body{overflow-x:hidden}
  :where(html[data-route-layout="explorer"]) .mock-explorer{width:100%}
  :where(html[data-route-layout="explorer"]) .mock-panel--credit{left:auto;right:auto;top:auto;bottom:auto;order:2;width:min(100%,680px);max-height:none}
  :where(html[data-route-layout="explorer"]) .mock-panel--credit.mock-panel.is-collapsed[data-fold="down"]{top:auto!important;bottom:auto!important}
  :where(html[data-route-layout="explorer"]) .mock-panel--description{order:3}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{order:4}
  :where(html[data-route-layout="explorer"]) .mock-panel--related{order:5}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{order:6}
  :where(html[data-route-layout="explorer"]) .mock-card-list,
:where(html[data-route-layout="explorer"]) .mock-card-list--related,
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints{flex:1;width:100%;max-width:100%;overflow:hidden}
  :where(html[data-route-layout="explorer"]) .mock-credit-content{overflow:visible}
}
@media(min-width:601px) and (max-width:1229px){:where(html[data-route-layout="explorer"]) .mock-top-tools{margin-right:155px}}
@media(max-width:600px){
  :where(html[data-route-layout="explorer"]) .mock-panel--header .mock-header-content{gap:5px;padding:0 8px 8px}
  :where(html[data-route-layout="explorer"]) .mock-panel--header .mock-header-cover{width:48px;height:45px;object-position:-93px -73px}
  :where(html[data-route-layout="explorer"]) .mock-panel--header .mock-header-content h1{font-size:20px;letter-spacing:-.4px}
  :where(html[data-route-layout="explorer"]) .mock-panel--header .mock-star{margin:0;font-size:25px}
  :where(html[data-route-layout="explorer"]) .mock-panel--header .mock-gpx{width:74px;height:33px;gap:1px;font-size:12px}
  :where(html[data-route-layout="explorer"]) .mock-panel--header .mock-gpx svg{width:16px;height:16px}
}

/* All checkpoint labels use one HTML style, including the selected card. */
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image span{display:grid;place-items:center;top:4px;left:7px;min-width:45px;height:19px;padding:0 5px;border:1px solid #9e700e;background:#ffdb58;box-shadow:0 1px 2px #1118;color:#111;font-size:14px;line-height:1}

/* Center arrows on the actual photo bounds, measured when the rail lays out. */
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{top:var(--mock-rail-arrow-center,29px)}

/* A prominent bulb on a black knob identifies the light-theme action. */
:where(html[data-route-layout="explorer"]) .mock-theme-bulb{display:none}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-toggle{border-color:#c5b592;background:#e9ddc4;box-shadow:inset 0 1px 2px #8e7f6280}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-knob{left:1px;right:auto;background:#101923;box-shadow:0 1px 3px #534b3c99}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-moon{display:none}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-bulb{position:absolute;z-index:2;top:2px;left:2px;display:block;width:19px;height:19px;fill:#ffdf59;stroke:#fff2a0;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px #ffd24a)}

/* Desktop route controls and checkpoint cards. */
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metric-icon,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metric-icon{color:#ee0038}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metric-pin{background-image:url('/assets/route-v-memoriz-100/map-pin.svg?v=2')}
:where(html[data-route-layout="explorer"]) .mock-map-controls{width:234px}
:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-zoom-controls button,
:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-locate,
:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-basemap-toggle,
:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-collapse-all{width:46px;height:39px;flex:none}
:where(html[data-route-layout="explorer"]) .mock-basemap-toggle{display:grid;place-items:center;padding:0;border:0;border-left:1px solid #d9e4f8;background:transparent;color:#092ea1;cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-basemap-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-basemap-toggle[aria-pressed="true"]{background:#dceaf8}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-basemap-toggle{color:#9fb7e4}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-basemap-toggle[aria-pressed="true"]{background:#203e5b}
:where(html[data-route-layout="explorer"]) .mock-collapse-all{display:grid;place-items:center;padding:0;border:0;border-left:1px solid #d9e4f8;background:transparent;color:#092ea1;cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-collapse-all svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-collapse-all{border-color:#3c4652;color:#9fb7e4}
:where(html[data-route-layout="explorer"]) .mock-theme-moon{z-index:2;left:auto;right:3px;top:3px;width:17px;height:17px;fill:#153b90;color:#153b90}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-theme-moon{display:none}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image img{object-fit:cover!important;object-position:center!important}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image span{z-index:1;display:grid;place-items:center}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-image::after{display:none}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints [data-checkpoint]{cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints [data-checkpoint]:focus-visible{outline:2px solid #1649b5;outline-offset:2px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta span[hidden]{display:none}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow{top:var(--mock-rail-arrow-center,29px);width:31px;height:31px;padding:0;border:1px solid #ccd9eb;background:#fff;color:#123da5;box-shadow:0 2px 5px #12305a44;transform:translateY(-50%)}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow svg{width:17px;height:17px;stroke-width:2.5;transform:none}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:first-child{left:-5px}
:where(html[data-route-layout="explorer"]) .mock-rail-arrow:last-child{right:-5px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-rail-arrow{border-color:#9fb7e4;background:#102747;color:#e7efff;box-shadow:0 2px 6px #0009}

/* The badge has one opaque label with optical centering on every card. */
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image span{
  top:4px;left:6px;z-index:1;display:flex;align-items:center;justify-content:center;
  width:50px;min-width:50px;height:23px;padding:0 0 1px;
  border:1.5px solid #23190d;border-radius:2px;background:#f9d66d;
  box-shadow:0 1px 3px #0009;color:#15110a;font:700 15px/1 Georgia,"Times New Roman",serif;
  text-align:center;white-space:nowrap;text-shadow:0 1px 0 #fff8;
}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{padding:2px 3px 4px}
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card.is-selected .mock-mini-image span{display:flex}

/* The crescent is cut from a solid blue disc, inside the light-theme knob. */
:where(html[data-route-layout="explorer"]) .mock-theme-moon{z-index:3;right:3px;top:3px;width:17px;height:17px;fill:#17469f}
:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:246px}

/* Map marker artwork follows the six shields in the supplied map reference. */
:where(html[data-route-layout="explorer"]) .mock-map-shield{width:82px;height:124px;filter:drop-shadow(0 2px 2px #1118)}
:where(html[data-route-layout="explorer"]) .mock-map-shield svg{display:block;width:82px;height:124px;overflow:visible}
:where(html[data-route-layout="explorer"]) .mock-marker-label{fill:#f6d977;stroke:#17110a;stroke-width:3;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-marker-label-text{fill:#16110a;font:700 19px "Times New Roman",serif;text-anchor:middle;dominant-baseline:middle}
:where(html[data-route-layout="explorer"]) .mock-marker-body{fill:var(--shield-color,#d50024);stroke:#0e0b08;stroke-width:3;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-marker-emblem{fill:#fff;stroke:none}
:where(html[data-route-layout="explorer"]) .mock-marker-stroke{fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-marker-cross{fill:#fff;font:700 51px "Segoe UI Symbol",Georgia,serif;text-anchor:middle}
:where(html[data-route-layout="explorer"]) .mock-marker-fleur{fill:#fff;font:700 52px Georgia,"Times New Roman",serif;text-anchor:middle}
:where(html[data-route-layout="explorer"]) .mock-map-shield--white .mock-marker-body{fill:#f7f4e7}
:where(html[data-route-layout="explorer"]) .mock-map-shield--white .mock-marker-emblem{fill:#111}
:where(html[data-route-layout="explorer"]) .mock-marker-dot{fill:#ffdc62;stroke:#090807;stroke-width:4}
:where(html[data-route-layout="explorer"]) .mock-marker-selected-ring{display:none;fill:none;stroke:#ed0035;stroke-width:4}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-dot{fill:#fff;stroke:#090807}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-selected-ring{display:block}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active{filter:drop-shadow(0 0 7px #ed0035) drop-shadow(0 2px 2px #1119)}

/* Keep the map toolbar separators quiet against the dark control surface. */
.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-zoom-controls button+button,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-locate,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-basemap-toggle,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-collapse-all{border-left-color:#354557}

/* A soft shade behind the photo title keeps the image visible. */
:where(html[data-route-layout="explorer"]) .mock-feature-image::before{height:112px;background:linear-gradient(180deg,#081d398c 0%,#081d393d 52%,#081d3900 100%)}

/* Uniform lettering and numeral alignment on all checkpoint cards. */
:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image span{
  padding:0;font:700 16px/1 "Times New Roman",serif;
  font-variant-numeric:lining-nums tabular-nums;
}

/* Scale the whole shield, including its label and endpoint, as one marker. */
:where(html[data-route-layout="explorer"]) .mock-map-shield,
:where(html[data-route-layout="explorer"]) .mock-map-shield svg{width:56px;height:85px}

/* The live route uses independent photographs, not slices of the mockup image. */
:where(html[data-route-layout="explorer"]) .mock-header-cover,
:where(html[data-route-layout="explorer"]) .mock-feature-image img,
:where(html[data-route-layout="explorer"]) .mock-mini-image img{
  object-fit:cover!important;object-position:center!important;
}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty{
  display:grid;place-items:center;padding:5px 7px;
  background:linear-gradient(145deg,#c8dcbd,#90b8d9 58%,#e7d5a0);
  color:#082770;text-align:center;
}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty span{display:none}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty{
  background:linear-gradient(145deg,#173446,#244960 58%,#63583b);color:#f5f3ed;
}
:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-card-list--related{flex:1;width:100%;max-width:100%;overflow:hidden}
:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-place-index]{cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-place-index]:focus-visible{outline:2px solid #1649b5;outline-offset:2px}
:where(html[data-route-layout="explorer"]) .mock-feature-meta [hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-feature-meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
:where(html[data-route-layout="explorer"]) .mock-weather [data-weather-temp]{max-width:126px;overflow:hidden;text-overflow:ellipsis}
:where(html[data-route-layout="explorer"]) .mock-credit-prose{line-height:1.3}
:where(html[data-route-layout="explorer"]) .mock-credit-prose a{color:#0b3ba9;font-weight:700;text-underline-offset:2px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-credit-prose a,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-crumbs a{color:#abc8ff}

@media(min-width:1600px){:where(html[data-route-layout="explorer"]) .mock-panel--credit{left:calc(50.75vw - 237px)}}
@media(min-width:1230px) and (max-width:1599px){
  :where(html[data-route-layout="explorer"]) .mock-panel--credit{max-height:min(52vh,480px)}
  :where(html[data-route-layout="explorer"]) .mock-top-tools{top:calc(3.8vh + 48px);left:calc(1.5vw + 534px);right:auto;gap:8px}
  :where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:221px;gap:2px;padding-inline:5px;font-size:12px}
}
@media(min-width:1230px) and (max-width:1549px){
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:12vh;bottom:calc(3.2vh + 176px);height:auto}
}

@media(max-width:600px){
  :where(html[data-route-layout="explorer"]) .mock-login{width:91px;height:35px;padding:0 4px 0 29px;font-size:14px}
  :where(html[data-route-layout="explorer"]) .mock-login::after{left:35px;top:6px;height:22px}
  :where(html[data-route-layout="explorer"]) .mock-login img{left:-1px;top:-2px;width:38px;height:38px}
}

/* Live route corrections for the desktop explorer. */
:where(html[data-route-layout="explorer"]) .mock-map-shield,
:where(html[data-route-layout="explorer"]) .mock-map-shield svg{width:44px;height:66px}
:where(html[data-route-layout="explorer"]) .mock-marker-dot,
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-dot{fill:#fff;stroke:#111;stroke-width:4}
:where(html[data-route-layout="explorer"]) .mock-marker-selected-ring{stroke:#ffd230;stroke-width:5}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active{filter:drop-shadow(0 0 3px #ffd230) drop-shadow(0 2px 2px #1119)}
:where(html[data-route-layout="explorer"]) .mock-map-point-icon{background:transparent;border:0}
:where(html[data-route-layout="explorer"]) .mock-map-point{display:grid;place-items:center;width:14px;height:14px;margin:5px;border:2px solid #101010;border-radius:50%;background:#fff;box-shadow:0 1px 2px #1117;color:#101010;font:700 9px/1 Arial,sans-serif}
:where(html[data-route-layout="explorer"]) .mock-map-point.is-active{outline:3px solid #ffd230;outline-offset:1px}
:where(html[data-route-layout="explorer"]) .mock-map-point--start,
:where(html[data-route-layout="explorer"]) .mock-map-point--finish{width:21px;height:21px;margin:1.5px;border-width:2.5px;background:#fff4ce;font-size:11px}
:where(html[data-route-layout="explorer"]) .mock-map-point--start.is-active,
:where(html[data-route-layout="explorer"]) .mock-map-point--finish.is-active{background:#fff}
:where(html[data-route-layout="explorer"]) .mock-feature-image::before{height:145px;background:linear-gradient(180deg,#061322c9 0%,#0613228c 42%,#06132200 100%)}
:where(html[data-route-layout="explorer"]) .mock-feature-image h3{line-height:1.08;text-shadow:0 2px 5px #000d}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty{background:linear-gradient(150deg,#a9d7e7,#d6e8be 52%,#d8c8a2)}
:where(html[data-route-layout="explorer"]) .mock-feature-image img[hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty::before{background:linear-gradient(180deg,#092449a8,transparent 80%)}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty h3{max-width:calc(100% - 95px)}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty::after{position:absolute;left:50%;top:55%;width:92px;height:92px;border:5px solid #fff9;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 2px 8px #1234;content:""}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty .mock-feature-number{min-width:54px;font-size:17px}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-description-content{padding-left:15px;padding-right:15px}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary{font-size:18px;line-height:1.25}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary p{margin:10px 0}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-description-action,
:where(html[data-route-layout="explorer"]) .mock-feature-actions>.mock-red-button{height:35px}
:where(html[data-route-layout="explorer"]) .mock-metric-outline{display:inline-grid;place-items:center}
:where(html[data-route-layout="explorer"]) .mock-metric-outline svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-weather-place{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-weather-place:hover{text-decoration:underline;text-underline-offset:3px}
:where(html[data-route-layout="explorer"]) .mock-city-dialog{width:min(420px,calc(100vw - 32px));padding:22px;border:1px solid #a7bde1;border-radius:14px;background:#fffdf8;box-shadow:0 12px 32px #1118;color:#09267f;font:16px Georgia,serif}
:where(html[data-route-layout="explorer"]) .mock-city-dialog::backdrop{background:#071c38a8}
:where(html[data-route-layout="explorer"]) .mock-city-dialog h2{margin:0 0 16px;font-size:23px}
:where(html[data-route-layout="explorer"]) .mock-city-dialog form label{display:block;margin-bottom:8px}
:where(html[data-route-layout="explorer"]) .mock-city-dialog form div{display:flex;gap:8px}
:where(html[data-route-layout="explorer"]) .mock-city-dialog input{flex:1;min-width:0;padding:8px;border:1px solid #8fa8cd;border-radius:6px;font:inherit}
:where(html[data-route-layout="explorer"]) .mock-city-dialog button{padding:8px 12px;border:1px solid #95add0;border-radius:6px;background:#edf4ff;color:#09267f;font:inherit;cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-city-dialog .mock-city-close{position:absolute;top:10px;right:10px;border:0;background:transparent;font:25px Arial,sans-serif}
:where(html[data-route-layout="explorer"]) .mock-city-dialog ul{max-height:240px;margin:10px 0;padding:0;overflow:auto;list-style:none}
:where(html[data-route-layout="explorer"]) .mock-city-dialog li button{width:100%;margin:2px 0;text-align:left}
:where(html[data-route-layout="explorer"]) .mock-city-dialog [data-city-status]{min-height:20px;margin:12px 0 2px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-city-dialog{border-color:#4f688b;background:#061a2b;color:#f5f3ed}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-city-dialog input{background:#102a42;color:#fff}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-city-dialog button{border-color:#516c90;background:#173657;color:#fff}
:where(html[data-route-layout="explorer"]) .mock-feature-meta{flex-wrap:wrap;justify-content:flex-start;column-gap:18px;row-gap:2px;white-space:normal}
:where(html[data-route-layout="explorer"]) .mock-mini-card h3,
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card h3{height:26px;max-height:26px;margin:4px 2px 1px;overflow:hidden;overflow-wrap:anywhere;white-space:normal;font-size:12px;line-height:13px}
:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected h3{font-size:12px}
:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="start"] .mock-mini-image--empty{background:linear-gradient(135deg,#f4d483,#f3a33e);color:#49311b}
:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="finish"] .mock-mini-image--empty{background:linear-gradient(135deg,#d3e8ad,#64a26a);color:#123b22}
:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="start"] .mock-mini-image--empty svg,
:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="finish"] .mock-mini-image--empty svg{width:30px;height:30px;stroke-width:1.8}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty strong{font:700 11px/1 Arial,sans-serif;letter-spacing:.4px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="start"] .mock-mini-image--empty{background:linear-gradient(135deg,#785a28,#a36c2e);color:#fff4cb}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="finish"] .mock-mini-image--empty{background:linear-gradient(135deg,#27553e,#42734c);color:#e8ffe4}
@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-panel--header{left:1vw;top:2.1vh}
  :where(html[data-route-layout="explorer"]) .mock-panel--description{left:1vw;top:15.4vh}
  :where(html[data-route-layout="explorer"]) .mock-panel--related{left:1vw;bottom:1.7vh}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{left:calc(1vw + var(--related-width,320px) + 12px);bottom:1.7vh}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{right:1vw;top:10.7vh;bottom:1.7vh}
  :where(html[data-route-layout="explorer"]) .mock-panel--credit,
:where(html[data-route-layout="explorer"]) .mock-panel--credit.mock-panel.is-collapsed[data-fold="down"]{top:2.1vh!important}
  :where(html[data-route-layout="explorer"]) .mock-panel--credit{left:calc(1vw + 531px + 16px)}
}

/* Point outlines remain black; the selected halo follows the route color. */
:root:where(html[data-route-layout="explorer"]){--vz-route-red:#aa1235;--vz-route-red-hover:#90102e;--point-active-color:#aa1235}
.mock-route-red-track:where(html[data-route-layout="explorer"]){--point-active-color:#63c8f3}
:where(html[data-route-layout="explorer"]) .mock-marker-dot,
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-dot{stroke:#111}
:where(html[data-route-layout="explorer"]) .mock-marker-selected-ring{stroke:var(--point-active-color)}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active{filter:drop-shadow(0 0 3px var(--point-active-color)) drop-shadow(0 2px 2px #1119)}
:where(html[data-route-layout="explorer"]) .mock-map-point{border-color:#111}
:where(html[data-route-layout="explorer"]) .mock-map-point--start,
:where(html[data-route-layout="explorer"]) .mock-map-point--finish{background:#fff}
:where(html[data-route-layout="explorer"]) .mock-map-point.is-active{outline-color:var(--point-active-color)}
:where(html[data-route-layout="explorer"]) .mock-red-button{border-color:var(--vz-route-red);background:var(--vz-route-red)}
:where(html[data-route-layout="explorer"]) .mock-red-button:hover{background:var(--vz-route-red-hover)}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metric-icon,
.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metric-icon,
:where(html[data-route-layout="explorer"]) .mock-feature-meta i{color:var(--vz-route-red)}
:where(html[data-route-layout="explorer"]) .mock-sun{display:grid;place-items:center;width:24px;height:24px;color:var(--vz-route-red)}
:where(html[data-route-layout="explorer"]) .mock-sun[hidden]{display:none}
:where(html[data-route-layout="explorer"]) .mock-sun svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-sun[data-condition="clear"] .mock-weather-cloud,
:where(html[data-route-layout="explorer"]) .mock-sun[data-condition="cloud"] .mock-weather-sun{display:none}
:where(html[data-route-layout="explorer"]) .mock-feature-image{height:260px}
:where(html[data-route-layout="explorer"]) .mock-feature-image .mock-feature-number[hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty::after{display:none}
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty img{object-fit:contain!important}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty img{object-fit:contain!important}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty{background:linear-gradient(145deg,#c8dcbd,#90b8d9 58%,#e7d5a0)}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty[data-kind="start"]{background:linear-gradient(135deg,#f4d483,#f3a33e)}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty[data-kind="finish"]{background:linear-gradient(135deg,#d3e8ad,#64a26a)}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty{background:linear-gradient(145deg,#173446,#244960 58%,#63583b)}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty[data-kind="start"]{background:linear-gradient(135deg,#785a28,#a36c2e)}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty[data-kind="finish"]{background:linear-gradient(135deg,#27553e,#42734c)}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty::before{height:96px;background:linear-gradient(180deg,#061322a8,#06132200)}
:where(html[data-route-layout="explorer"]) .mock-map-shield--white .mock-marker-stroke{stroke:#172a39}

/* Three point facts stay in one row: route distance, coordinates, track offset. */
@media(min-width:768px){
  :where(html[data-route-layout="explorer"]) .mock-feature-meta{flex-wrap:nowrap;justify-content:space-between;column-gap:6px;white-space:nowrap;font-size:15px}
  :where(html[data-route-layout="explorer"]) .mock-feature-meta>span{flex:none;gap:3px;white-space:nowrap}
  :where(html[data-route-layout="explorer"]) .mock-feature-meta i{font-size:22px}
  :where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child i{width:18px;height:24px;background-size:18px 24px}
  :where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-hourglass{width:18px;height:24px}
  :where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-hourglass svg{width:18px;height:24px}
}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary{margin-top:5px!important}
:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary p:first-child{margin-top:0}
:where(html[data-route-layout="explorer"]) .mock-panel--description:not(.is-reading) .mock-route-summary{flex:1 1 auto;min-height:0;overflow:hidden;margin-bottom:0!important}
:where(html[data-route-layout="explorer"]) .mock-panel--description:not(.is-reading) .mock-description-action{flex:none;margin-top:7px}
/* The checkpoint rail grows toward the map and stops before the related rail. */
@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-explorer{
    --route-gap:15px;
    --checkpoint-room:calc(100vw - 478px - var(--related-width,346px) - var(--route-gap) - var(--route-gap) - var(--route-gap) - var(--route-gap));
    --checkpoint-width-step:calc(round(down,calc(var(--checkpoint-room) - 21px),108px) + 21px);
  }
  :where(html[data-route-layout="explorer"]) .mock-panel--description{top:max(15.4vh,calc(2.1vh + 102px + var(--route-gap)));bottom:calc(164px + var(--route-gap) + var(--route-gap))}
  :where(html[data-route-layout="explorer"]) .mock-panel--related{bottom:var(--route-gap)}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{right:var(--route-gap);bottom:var(--route-gap)}
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{
    left:auto;
    right:calc(443px + var(--route-gap) + var(--route-gap));
    bottom:var(--route-gap);
    width:max-content;
    min-width:0;
    max-width:max(345px,var(--checkpoint-width-step));
  }
  :where(html[data-route-layout="explorer"]) .mock-explorer .mock-panel--checkpoints .mock-card-list{
    flex:0 0 auto!important;
    width:max-content!important;
    max-width:100%!important;
  }
}
@media(min-width:1230px) and (max-width:1445px){
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:max(10.7vh,calc(3.8vh + 91px + var(--route-gap)))}
}
@media(min-width:1670px){
  :where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:max(10.7vh,calc(4.1vh + 43px + var(--route-gap)))}
}

/* Folded desktop panels share one 44px row and one heading baseline. */
@media(min-width:1230px){
  :where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed:not([data-fold="left"]) .mock-panel-heading{
    flex:0 0 42px;
    height:42px;
    min-height:42px;
    max-height:42px;
    padding:0 14px;
    gap:10px;
    align-items:center;
  }
  :where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed .mock-panel-heading h2{
    font-size:20px;
    line-height:1.1;
  }
  :where(html[data-route-layout="explorer"]) .mock-panel.is-collapsed[data-fold="left"] .mock-panel-heading h2{font-size:20px}
}

/* Restore the map controls and weather to one desktop row. */
@media(min-width:1230px) and (max-width:1699px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools{
    z-index:30;
    top:calc(3.8vh + 48px);
    left:clamp(calc(1.5vw + 534px),calc(50vw - 143px - var(--route-gap) - var(--route-gap)),580px);
    right:auto;
    flex-direction:row;
    align-items:center;
    gap:8px;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{width:246px}
}
@media(min-width:1446px) and (max-width:1542px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:max(10.7vh,calc(3.8vh + 106px))}
}
@media(min-width:1700px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools{
    z-index:30;
    top:4.1vh;
    left:calc(50% + 173px + var(--route-gap));
    right:auto;
    gap:8px;
  }
}
@media(min-width:1786px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools{
    left:auto;
    right:170px;
    gap:55px;
  }
}
/* Route text stays available as a normal document below the map. */
:where(html[data-route-layout="explorer"]) body:has(#route-guide){height:auto;overflow-y:auto}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints:not(:has(.mock-mini-card)){display:none}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-header-content h1{min-width:0;overflow:hidden;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-route-guide{max-width:980px;margin:0 auto 28px;padding:28px 34px 36px;border:1px solid #c7d7e7;border-radius:16px;background:#fffffff2;box-shadow:0 4px 20px #12294a2a;color:#10244f;font:16px/1.5 Manrope,Arial,sans-serif}
:where(html[data-route-layout="explorer"]) .mock-route-guide h2{margin:0 0 18px;color:#092776;font:700 27px/1.2 Georgia,serif}
:where(html[data-route-layout="explorer"]) .mock-route-guide h3{margin:24px 0 8px;color:#092776;font:700 20px/1.25 Georgia,serif}
:where(html[data-route-layout="explorer"]) .mock-route-guide p{margin:0 0 12px;text-align:justify;hyphens:none;word-break:normal}
:where(html[data-route-layout="explorer"]) .mock-route-guide article+article{border-top:1px solid #d4dfea}
:where(html[data-route-layout="explorer"]) .mock-route-guide a{color:#154cb2;text-underline-offset:2px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-route-guide{border-color:#365269;background:#061b2cf5;color:#e7ecf4}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-route-guide :is(h2,h3){color:#e8f0ff}

/* Shared route explorer: the same descriptions remain available through
   the route and point panels, so the duplicate reading section stays out of view. */
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-route-guide{display:none!important}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-gpx{width:auto;min-width:102px;padding-inline:10px;white-space:nowrap}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint [data-checkpoint-text]{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8caae0 transparent}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint [data-checkpoint-text]{margin-right:-3px;padding-right:6px}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint [data-checkpoint-text]::-webkit-scrollbar{display:block;width:7px}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-thumb,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint [data-checkpoint-text]::-webkit-scrollbar-thumb{background:#8caae0;border-radius:8px}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-description-gpx-row{display:flex;width:100%;margin:0 0 5px}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-description-gpx{width:100%;min-width:0;height:32px;margin:0;padding:0 8px;gap:7px;font-size:14px;white-space:nowrap}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-description-gpx svg{flex:none;width:17px;height:17px}
@media(min-width:1230px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) body{height:100%;overflow:hidden}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit{z-index:40}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed{height:36px!important;min-height:36px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed .mock-panel-heading{flex-basis:34px;height:34px;min-height:34px;max-height:34px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed .mock-panel-heading h2{font-size:19px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint.is-collapsed[data-fold="right"]{
    left:auto!important;right:var(--route-gap,15px)!important;bottom:var(--route-gap,15px)!important;
    width:44px!important;min-width:44px;height:auto!important;min-height:0;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint.is-collapsed[data-fold="right"] .mock-panel-heading{
    flex:1 1 auto;height:100%;min-height:0;max-height:none;flex-direction:column;align-items:center;
    justify-content:flex-start;gap:10px;padding:9px 0;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint.is-collapsed[data-fold="right"] .mock-panel-heading h2{
    writing-mode:vertical-rl;transform:none;max-height:calc(100% - 40px);font-size:19px;
  }
}
@media(min-width:1230px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit ~ .mock-top-tools{
    top:calc(36px + var(--route-gap));left:0;right:0;width:auto;height:43px;display:block;pointer-events:none;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit ~ .mock-top-tools .mock-map-controls{
    position:absolute;top:0;left:50%;transform:translateX(-50%);pointer-events:auto;
  }
}

/* Keep the compact route card aligned with the route description. */
@media(min-width:768px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header{width:346px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header .mock-header-content h1{font-size:31px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header .mock-crumbs{gap:6px;font-size:15px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed .mock-credit-heading{gap:0;padding-inline:12px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed .mock-credit-heading h2{flex:1;text-align:center}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-credit-content{text-align:justify;hyphens:none;overflow-wrap:normal;word-break:normal}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-credit-content a{white-space:nowrap}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metrics div{min-height:32px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-panel-heading{gap:5px;padding-left:12px;padding-right:9px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-panel-heading h2{font-size:18px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{justify-content:flex-start;gap:4px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-weather-pin{margin-right:-1px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-weather .mock-theme-toggle{margin-left:auto}
}
@media(min-width:1230px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header{height:94px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description{top:calc(2.1vh + 94px + var(--route-gap))}
  /* Both bottom rails grow continuously, so narrowing the page never adds
     more visible MBI cards than a wider viewport. */
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{width:clamp(345px,calc(49vw - 258px),669px);max-width:669px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related{width:var(--v100-related-width,346px);min-width:346px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{position:fixed!important;top:15px!important;left:calc(100vw - 443px - var(--route-gap))!important;right:auto;width:246px;pointer-events:auto}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-login{top:15px!important}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:73px!important}
}
@media(min-width:1230px) and (max-width:1291px){
  /* Keep the centered credit pill clear of the raised weather panel. */
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{left:calc(50vw + 188px)!important}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{left:calc(50vw + 188px)!important;right:var(--route-gap);width:auto!important}
}
@media(min-width:768px) and (max-width:1229px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-explorer{align-items:flex-start;padding:12px 12px 75px;gap:12px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-explorer>.mock-panel{left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin-left:0;min-width:0;max-width:calc(100vw - 24px)}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit{order:1;width:346px!important}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed{height:36px!important;min-height:36px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--credit.is-collapsed .mock-panel-heading{height:34px;min-height:34px;max-height:34px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header{order:2;width:346px;height:94px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header .mock-panel-heading--header{gap:5px;padding-inline:8px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--header .mock-crumbs{gap:3px;font-size:15px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description{order:3;width:346px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{order:4;width:669px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{order:5;width:443px;margin-left:0}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related{order:6;width:346px;min-width:0}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools{position:absolute;z-index:30;top:auto;bottom:15px;left:12px;right:auto;display:flex;width:246px;height:43px;margin:0}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-weather{position:static;width:246px;max-width:none}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-top-tools .mock-map-controls{position:fixed;top:12px;right:12px;left:auto;transform:none}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-login{position:absolute;top:auto;right:auto;bottom:15px;left:268px}
}

/* Both point rails use equal cards and clip after a whole card. */
@media(min-width:768px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-explorer{--mock-card-width:107px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-rail-content,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-rail-content{width:100%;max-width:100%}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-rail-content{padding-left:8px;padding-right:5px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-rail-content{padding-left:7px;padding-right:4px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints{gap:5px}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related .mock-card-list,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints .mock-card-list{
    flex:0 0 auto!important;
    width:var(--v100-visible-cards-width,max-content)!important;
    max-width:100%!important;
    overflow:clip;
    overflow-clip-margin:4px;
  }
}
@media(min-width:1230px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related{
    width:var(--v100-related-width,346px);min-width:0;max-width:none;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{
    width:var(--v100-checkpoints-width,344px);min-width:0;max-width:none;
  }
}
@media(min-width:768px) and (max-width:1229px){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{width:var(--v100-checkpoints-width,680px)}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--related{width:var(--v100-related-width,346px)}
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint.is-collapsed[data-fold="right"]{width:443px!important}
}
@media(min-width:1230px){
  .mock-route-explorer.mock-route-asphalt:where(html[data-route-layout="explorer"]) .mock-panel--header{width:346px}
  .mock-route-explorer.mock-route-asphalt:where(html[data-route-layout="explorer"]) .mock-panel--header .mock-header-content h1{font-size:28px}
}


/* Source: public/route-memoriz-points.css; explorer only */
/* Map points: interest points have a blue rim, route start/finish a red one;
   a lime halo marks the selection, which always stays on top. */
:root:where(html[data-route-layout="explorer"]),
.mock-route-red-track:where(html[data-route-layout="explorer"]){--point-active-color:#b4ed52}
:where(html[data-route-layout="explorer"]) .mock-marker-dot,
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-dot{stroke:#aa1235}
:where(html[data-route-layout="explorer"]) .mock-marker-selected-ring{stroke:var(--point-active-color)}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active{filter:drop-shadow(0 0 3px var(--point-active-color)) drop-shadow(0 2px 2px #1119)}
:where(html[data-route-layout="explorer"]) .mock-map-point{border-color:var(--vz-blue,#123b6d)}
:where(html[data-route-layout="explorer"]) .mock-map-point--start,
:where(html[data-route-layout="explorer"]) .mock-map-point--finish{border-color:#aa1235}
:where(html[data-route-layout="explorer"]) #mock-map .leaflet-marker-icon.is-map-selected{z-index:30000 !important}
:where(html[data-route-layout="explorer"]) .mock-map-point.is-active{outline-color:var(--point-active-color);box-shadow:0 0 0 1px #111,0 0 7px 3px #b4ed5280}


/* Source: public/route-memoriz-details.css; explorer only */
/* Route and point descriptions: justify wrapped lines, keep the final line natural. */
:where(html[data-route-layout="explorer"]) .route-access-notice{display:grid;gap:7px;margin:0 0 14px;padding:12px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card-soft);color:var(--vz-copy);text-align:left;font:400 13px/1.5 Manrope,'Segoe UI',Arial,sans-serif;overflow-wrap:anywhere}
:where(html[data-route-layout="explorer"]) .route-access-notice strong{display:flex;align-items:center;gap:7px;color:var(--route-accent,var(--vz-current));font:700 14px/1.4 Manrope,'Segoe UI',Arial,sans-serif}
:where(html[data-route-layout="explorer"]) .route-access-notice svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .route-access-notice p{margin:0;font:inherit;color:var(--vz-muted)}
:where(html[data-route-layout="explorer"]) .route-access-notice a{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border:1px solid var(--vz-line);border-radius:11px;color:var(--vz-blue);background:var(--vz-card);font:600 13px/1.4 Manrope,'Segoe UI',Arial,sans-serif;text-decoration:none}
:where(html[data-route-layout="explorer"]) .route-access-notice a:focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
:where(html[data-route-layout="explorer"]) .mock-route-summary,
:where(html[data-route-layout="explorer"]) .mock-checkpoint-content [data-checkpoint-text],
:where(html[data-route-layout="explorer"]) .mock-mobile-description{
  text-align: justify;
  text-align-last: start;
  text-justify: inter-word;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

/* Selected map labels and white points use a bright yellow outer outline. */
:root:where(html[data-route-layout="explorer"]),
.mock-route-red-track:where(html[data-route-layout="explorer"]){ --point-active-color: #ffeb00; }

:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active{
  filter: drop-shadow(0 2px 2px #1119);
}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-label{
  stroke: #ffeb00;
  stroke-width: 3.5;
  filter: drop-shadow(0 0 2px #ffeb00) drop-shadow(0 0 6px #ffeb00cc);
}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-dot{
  fill: #fff;
  stroke: #aa1235;
}
:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-selected-ring{
  stroke: #ffeb00;
  filter: drop-shadow(0 0 2px #ffeb00) drop-shadow(0 0 7px #ffeb00cc);
}

:where(html[data-route-layout="explorer"]) .mock-map-point.is-active,
:where(html[data-route-layout="explorer"]) .mock-map-point--start.is-active,
:where(html[data-route-layout="explorer"]) .mock-map-point--finish.is-active{
  border-color: #aa1235;
  outline: 3px solid #ffeb00;
  outline-offset: 1px;
  background: #fff;
  box-shadow: 0 0 0 1px #ffeb00, 0 0 7px 3px #ffeb00bb, 0 0 15px 8px #ffeb0088;
  color: #111;
}

/* The yellow selection sits outside the shield's existing black ink. */
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-label{
  stroke: #17110a;
  stroke-width: 3;
  filter: none;
}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-dot{
  fill: #fff;
  stroke: var(--vz-route-red, #aa1235);
  stroke-width: 4;
}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-map-shield .mock-marker-selected-ring{ display: none; }
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-marker-selection-shield,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-marker-selection-dot{
  display: none;
  fill: none;
  stroke: #ffeb00;
  stroke-width: 9;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px #ffeb00) drop-shadow(0 0 12px #ffeb00) drop-shadow(0 0 22px #ffeb00cc);
}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-selection-shield,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-map-shield.is-active .mock-marker-selection-dot{ display: block; }

/* Interest cards are yellow; selected checkpoint cards match route difficulty. */
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-map-point.is-active{
  border-color: var(--vz-route-red, #aa1235);
  outline-color: #ffeb00;
  background: #fff;
  box-shadow: 0 0 0 2px #ffeb00, 0 0 11px 5px #ffe600, 0 0 22px 11px #ffeb00aa;
}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card.is-selected{
  border-color: #ffeb00;
  box-shadow: 0 0 0 2px #ffeb00, 0 0 10px 3px #ffeb0088;
}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card.is-selected{
  border-color: var(--route-difficulty-color, #f2c22c);
  box-shadow: 0 0 0 2px var(--route-difficulty-color, #f2c22c),
    0 0 12px 4px color-mix(in srgb, var(--route-difficulty-color, #f2c22c) 75%, transparent);
}
.mock-route-explorer.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card.is-selected{
  border-color: #ffeb00;
  box-shadow: 0 0 0 2px #ffeb00, 0 0 11px 4px #ffeb0088;
}
.mock-route-explorer.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card.is-selected{
  border-color: var(--route-difficulty-color, #f2c22c);
  box-shadow: 0 0 0 2px var(--route-difficulty-color, #f2c22c),
    0 0 14px 5px color-mix(in srgb, var(--route-difficulty-color, #f2c22c) 84%, transparent);
}

/* Point facts: route distance and coordinates first, track offset beneath them. */
:where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-fact-icon,
:where(html[data-route-layout="explorer"]) .mock-feature-meta span:first-child .mock-fact-icon{
  display:grid;
  place-items:center;
  flex:none;
  width:22px;
  height:24px;
  background:none;
  color:var(--vz-blue)!important;
  font-size:0;
}
:where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-fact-icon::before,
:where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-fact-icon::after{ content:none; display:none; }
:where(html[data-route-layout="explorer"]) .mock-feature-meta .mock-fact-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-distance]{ order:0; }
:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-coordinates]{ order:1; }
:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-distance-to-track]{ order:2; flex-basis:100%; }
:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-century]{ order:3; }
@media (min-width:768px){
  :where(html[data-route-layout="explorer"]) .mock-feature-meta{
    display:grid;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    column-gap:10px;
    row-gap:4px;
  }
  :where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-distance]{ grid-column:1; grid-row:1; }
  :where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-coordinates]{ grid-column:2; grid-row:1; }
  :where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-century]{ grid-column:3; grid-row:1; }
  :where(html[data-route-layout="explorer"]) .mock-feature-meta [data-distance-to-track]{ grid-column:1 / -1; grid-row:2; }
}


.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary,
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-checkpoint-content [data-checkpoint-text],
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-description{
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: 0;
  color: #172b3a;
}
.mock-route-explorer.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary,
.mock-route-explorer.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-content [data-checkpoint-text],
.mock-route-explorer.theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-description{
  color: #d9e0e8;
}

/* Shared route layout: compact toolbar, merged description and photo viewer. */
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls{width:326px}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile){
  position:relative;inset:auto!important;display:grid;place-items:center;flex:none;
  width:46px;height:39px;margin:0;padding:0;border:0;border-left:1px solid var(--vz-line);
  border-radius:0;background:transparent;color:var(--vz-blue);box-shadow:none;cursor:pointer;
}
@media(orientation:landscape) and (max-width:1100px) and (max-height:600px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-right-tools{grid-template-columns:repeat(2,48px)}
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools{top:calc(var(--mm-map-bottom) - var(--mm-header) - 59px)}
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools>div{display:flex}
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools>div button+button{border-top:0;border-left:1px solid var(--mm-line)}
}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile)::after{display:none}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile)>svg{
  display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-toolbar-theme svg.mock-toolbar-sun{display:none}
.mock-route-compact-toolbar.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-toolbar-theme svg.mock-toolbar-sun{display:block}
.mock-route-compact-toolbar.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-toolbar-theme svg.mock-toolbar-moon{display:none}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-toolbar-session{display:none}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls .is-authenticated .mock-toolbar-session{
  position:absolute;right:4px;bottom:3px;display:grid;place-items:center;width:13px;height:13px;
  border:1px solid #fff;border-radius:50%;background:#168253;color:#fff;
}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-toolbar-session svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile):hover{background:var(--vz-hover)}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile):focus-visible{outline:2px solid var(--vz-blue);outline-offset:-3px}
.mock-route-compact-toolbar.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile){border-color:var(--vz-line);color:var(--vz-blue)}
.mock-route-compact-toolbar.theme-dark:where(html[data-route-layout="explorer"]) .mock-map-controls :is(.mock-toolbar-theme,.mock-toolbar-profile):hover{background:var(--vz-hover)}
@media(min-width:1230px){
  .mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{top:15px!important;left:auto!important;right:var(--route-gap);width:400px!important}
  .mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--description{
    top:15px!important;bottom:calc(var(--preview-related-height,164px) + var(--route-gap) + var(--route-gap));width:350px;height:auto;max-height:none;
  }
  .mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{right:calc(400px + var(--route-gap) + var(--route-gap))}
}
@media(min-width:768px) and (max-width:1229px){
  .mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-top-tools{width:326px;height:43px}
  .mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--description{width:350px!important}
  .mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{width:400px!important}
}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-route-merged-heading{gap:7px;padding:12px 12px 5px!important;min-height:52px}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-route-merged-heading h1{flex:1;min-width:0;margin:0;overflow:hidden;font-size:28px;line-height:1.15;white-space:nowrap}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-route-merged-heading .mock-star{flex:none;margin:0;font-size:29px;line-height:1}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-route-folded-label{display:none}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--description.is-collapsed .mock-route-merged-heading :is(h1,.mock-star){display:none}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--description.is-collapsed .mock-route-folded-label{display:block}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--description.is-collapsed .mock-route-merged-heading{padding-block:0!important}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint .mock-feature-image{height:auto;aspect-ratio:3 / 2}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-image h3{max-width:calc(100% - 88px);font-size:22px;line-height:1.08}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-number{top:10px;right:10px;min-width:60px;height:28px;font-size:18px}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 10px;font-size:14px}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-distance]{grid-column:1;grid-row:1}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-checkpoint-coordinates]{grid-column:2;grid-row:1;justify-self:end;white-space:nowrap}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-meta [data-distance-to-track]{grid-column:1;grid-row:2;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .mock-photo-century{position:absolute;z-index:2;right:10px;bottom:10px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:6px 9px;border:1px solid #ffffff80;border-radius:7px;background:#04111bde;color:#fff;box-shadow:0 2px 6px #0006;font:700 14px/1.2 Georgia,serif;pointer-events:none;text-shadow:0 1px 2px #000}
:where(html[data-route-layout="explorer"]) .mock-photo-century[hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .mock-photo-century i{display:flex;color:#ffe4aa}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-photo-century svg{display:block;width:16px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
:where(html[data-route-layout="explorer"]) .mock-photo-open{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
:where(html[data-route-layout="explorer"]) .mock-photo-open:focus-visible{outline:2px solid var(--vz-blue);outline-offset:-3px}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-feature-image :is(h3,.mock-feature-number),
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-hero :is(h1,.mock-mobile-hero-badge,.mock-mobile-hero-shade){pointer-events:none}
:where(html[data-route-layout="explorer"]) .mock-feature-image.is-photo-empty .mock-photo-open{display:none}
:where(html[data-route-layout="explorer"]) .mock-photo-dialog{position:fixed;inset:0;width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:40px 14px 12px;overflow:auto;border:1px solid #bacbe9;border-radius:var(--vz-card-radius);background:var(--vz-card);color:var(--vz-copy);box-shadow:var(--vz-shadow-popup)}
:where(html[data-route-layout="explorer"]) .mock-photo-dialog::backdrop{background:#010a11c9}
:where(html[data-route-layout="explorer"]) .mock-photo-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 130px);width:auto;height:auto;margin:auto;object-fit:contain}
:where(html[data-route-layout="explorer"]) .mock-photo-dialog p{margin:10px 0 0;text-align:center;font:700 18px/1.2 var(--vz-font-heading)}
:where(html[data-route-layout="explorer"]) .mock-photo-close{position:absolute;top:7px;right:8px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #bacbe9;border-radius:7px;background:transparent;color:inherit;font:26px/1 Arial,sans-serif;cursor:pointer}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-photo-dialog{border-color:#3c4652;background:#04111b;color:#f5f3ed}
@media(max-width:767px), (max-width:1100px) and (max-height:767px){
  html.mock-route-compact-toolbar.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]){--mm-sheet-height:30dvh}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-map-route-summary{text-align:justify;hyphens:none;overflow-wrap:normal;word-break:normal}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-hero{height:auto;aspect-ratio:3 / 2}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-hero>img{position:absolute;inset:0}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-hero :is(h1,.mock-mobile-hero-badge,.mock-mobile-hero-arrow){z-index:2}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 8px}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta>a{grid-column:2;grid-row:1;justify-self:end}
  .mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-mobile-track-distance{grid-column:1;grid-row:2}
}

/* Shared reading layout and thematic placeholders for every route. */
.mock-route-typography-preview:where(html[data-route-layout="explorer"]){
  --reading-text: var(--vz-copy);
  --reading-secondary: var(--vz-muted);
  --reading-heading: var(--vz-blue);
  --reading-leading: 1.55;
}
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]){
  --reading-text: var(--vz-copy);
  --reading-secondary: var(--vz-muted);
  --reading-heading: var(--vz-blue);
  --reading-leading: 1.55;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel-heading h2{
  color: var(--reading-heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint:not(.is-collapsed) .mock-panel-heading{
  padding-top: 6px;
  padding-bottom: 6px;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-description-content{ padding: 8px 22px 18px; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-checkpoint-content{ padding: 0 22px 18px; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary,
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-checkpoint-content [data-checkpoint-text],
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-description,
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-explorer .mock-mobile-map-route-summary{
  color: var(--reading-text);
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: var(--reading-leading);
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary{ padding-top: 16px; }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary,
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-content [data-checkpoint-text],
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-description{ color: var(--reading-text); }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-mobile-description,.mock-mobile-map-route-summary) a{ color: var(--reading-heading); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-mobile-description,.mock-mobile-map-route-summary) a{ color: var(--vz-blue); }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-mobile-description,.mock-mobile-map-route-summary) p{ margin: 0 0 18px; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-mobile-description,.mock-mobile-map-route-summary) br{
  display: block;
  content: "";
  margin-bottom: 8px;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metrics{ color: var(--reading-heading); font-size: 15px; line-height: 1.4; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metrics div{ min-height: 36px; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metrics dt{ gap: 10px; font-weight: 400; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-metrics dd{ font-weight: 600; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-feature-meta{
  padding: 12px 0;
  gap: 8px 10px;
  color: var(--reading-secondary);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-feature-meta a{ color: var(--reading-heading); }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-feature-image h3{
  top: 8px;
  left: 10px;
  padding: 6px 8px;
  border-radius: 5px;
  background: linear-gradient(100deg,#071827a6,#07182755);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-photo-century{
  right: 8px;
  bottom: 8px;
  gap: 4px;
  padding: 3px 6px;
  border-color: #ffffff45;
  border-radius: 5px;
  background: #071827c9;
  box-shadow: 0 1px 3px #0004;
  font: 500 11px/1.3 "Manrope", "Segoe UI", Arial, sans-serif;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-photo-century svg{ width: 11px; height: 14px; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-panel--related,.mock-panel--checkpoints):not(.is-collapsed){ height: 180px; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mini-card h3,
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card h3,
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected h3{
  height: 36px;
  max-height: 36px;
  margin: 4px 2px 3px;
  color: var(--reading-heading);
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mini-card p{ margin-top: 3px; color: var(--reading-secondary); font-size: 12px; font-weight: 500; line-height: 1.35; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mini-image span{ font-size: 12px; font-weight: 500; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-image span{ font-weight: 600; }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-mini-card h3{ color: #fff; }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list .mock-mini-card.is-selected{
  box-shadow: inset 0 0 12px #ffe07122, 0 0 0 2px #ffeb00, 0 0 8px 2px #ffeb0066;
}
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--checkpoints .mock-mini-card.is-selected{
  box-shadow: inset 0 0 12px #ffe07122, 0 0 0 2px var(--route-difficulty-color,#f2c22c), 0 0 8px 2px color-mix(in srgb,var(--route-difficulty-color,#f2c22c) 45%,transparent);
}
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty{ background: linear-gradient(145deg,#203b50,#122938); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty img[src*="/place-placeholder.svg"]{ content: url('/assets/route-v-memoriz-100/place-placeholder-dark-preview.svg'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="start"] .mock-mini-image--empty{ background: linear-gradient(145deg,#51452b,#332e23); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="start"] .mock-mini-image--empty img{ content: url('/assets/route-v-memoriz-100/start-placeholder-dark-preview.svg'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="finish"] .mock-mini-image--empty{ background: linear-gradient(145deg,#25483e,#19332f); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-card-list--related [data-kind="finish"] .mock-mini-image--empty img{ content: url('/assets/route-v-memoriz-100/finish-placeholder-dark-preview.svg'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-app img[src*="place-placeholder.svg"]{ content: url('/assets/route-v-memoriz-100/place-placeholder-dark-preview.svg'); background: linear-gradient(145deg,#203b50,#122938); object-fit: contain; }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-app img[src*="start-placeholder.svg"]{ content: url('/assets/route-v-memoriz-100/start-placeholder-dark-preview.svg'); background: linear-gradient(145deg,#51452b,#332e23); object-fit: contain; }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-app img[src*="finish-placeholder.svg"]{ content: url('/assets/route-v-memoriz-100/finish-placeholder-dark-preview.svg'); background: linear-gradient(145deg,#25483e,#19332f); object-fit: contain; }
@media (max-width:767px), (max-width:1100px) and (max-height:767px){
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-tab-content{ padding: 12px 22px 24px; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-tab-content h2{ margin-bottom: 8px; color: var(--reading-heading); font-size: 19px; line-height: 1.35; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-explorer .mock-mobile-map-route-summary{ padding: 16px 22px 18px; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-hero h1{ padding: 6px 8px; border-radius: 5px; background: linear-gradient(100deg,#071827a6,#07182755); font-size: 20px; line-height: 1.25; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta{ padding: 12px 22px; color: var(--reading-secondary); font-size: 14px; line-height: 1.4; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta b{ font-weight: 500; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-point-century{ display: none; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-card-copy strong{ display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--reading-heading); font-size: 17px; line-height: 1.35; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-card-copy strong{ -webkit-line-clamp: 2; font-size: 14px; line-height: 1.35; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-card-copy small{ color: var(--reading-secondary); font-size: 13px; line-height: 1.4; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics strong{ color: var(--reading-heading); font-weight: 600; line-height: 1.4; }
  .mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics small{ color: var(--reading-secondary); line-height: 1.35; }
}
/* The card and selected TI use the same illustration; a real photo takes priority. */
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-image--empty:has(img[src*="/route-place-preview/"]){ padding: 0; background: none; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mini-image img[src*="/route-place-preview/"]{ object-fit: cover!important; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-mini-image .mock-place-category{
  position: absolute; display: block; top: 3px; left: 3px; min-width: 0; height: auto;
  padding: 1px 4px; border: 0; border-radius: 8px; background: var(--place-ink,#526b80); color: #fff;
  box-shadow: none; font: 600 9px/1.4 "Manrope","Segoe UI",sans-serif;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/route-place-preview/"])::after{
  position: absolute; display: block; z-index: 2; top: auto; left: 8px; bottom: 8px; width: auto; height: auto;
  padding: 3px 8px; border: 0; border-radius: 10px; transform: none; box-shadow: none;
  background: var(--place-ink,#526b80); color: #fff; font: 600 12px/1.4 "Manrope","Segoe UI",sans-serif; pointer-events: none;
}
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-mini-image,.mock-feature-image,.mock-mobile-hero):has(img[src*="/food-light.svg"]),
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-mini-image,.mock-feature-image,.mock-mobile-hero):has(img[src*="/bakery-light.svg"]){ --place-ink: #b47114; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/food-light.svg"])::after,
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/bakery-light.svg"])::after{ content: "Еда"; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-mini-image,.mock-feature-image,.mock-mobile-hero):has(img[src*="/culture-light.svg"]){ --place-ink: #28598a; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/culture-light.svg"])::after{ content: "Культура"; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-mini-image,.mock-feature-image,.mock-mobile-hero):has(img[src*="/nature-light.svg"]){ --place-ink: #4c8656; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/nature-light.svg"])::after{ content: "Природа"; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-mini-image,.mock-feature-image,.mock-mobile-hero):has(img[src*="/photo-light.svg"]){ --place-ink: #1686b1; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/photo-light.svg"])::after{ content: "Фото"; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-mini-image,.mock-feature-image,.mock-mobile-hero):has(img[src*="/history-light.svg"]){ --place-ink: #75549b; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/history-light.svg"])::after{ content: "История"; }
.mock-route-typography-preview:where(html[data-route-layout="explorer"]) :is(.mock-feature-image,.mock-mobile-hero):has(img[src*="/other-light.svg"])::after{ content: "Другое"; }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/food-light.svg"]{ content: url('/assets/route-place-preview/food-dark.svg?v=1'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/bakery-light.svg"]{ content: url('/assets/route-place-preview/bakery-dark.svg?v=1'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/culture-light.svg"]{ content: url('/assets/route-place-preview/culture-dark.svg?v=1'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/nature-light.svg"]{ content: url('/assets/route-place-preview/nature-dark.svg?v=1'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/photo-light.svg"]{ content: url('/assets/route-place-preview/photo-dark.svg?v=1'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/history-light.svg"]{ content: url('/assets/route-place-preview/history-dark.svg?v=1'); }
.mock-route-typography-preview.theme-dark:where(html[data-route-layout="explorer"]) img[src*="/route-place-preview/other-light.svg"]{ content: url('/assets/route-place-preview/other-dark.svg?v=1'); }
@media (min-width:768px){
  .mock-route-explorer.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint{ width: 450px!important; }
}
@media (min-width:1230px){
  .mock-route-explorer.mock-route-typography-preview:where(html[data-route-layout="explorer"]) .mock-panel--checkpoints{ right: calc(450px + var(--route-gap) + var(--route-gap)); }
}

/* Route-description scrollbar only: 4 px painted thumb inside a 12 px hit area. */
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary{
  --route-scroll-normal: #919eac;
  --route-scroll-hover: #617a96;
  --route-scroll-active: #8593a2;
  --route-scroll-thumb: var(--route-scroll-normal);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--route-scroll-thumb) transparent;
}
.mock-route-explorer.theme-dark:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary{
  --route-scroll-normal: #939eaf;
  --route-scroll-hover: #97a0b2;
  --route-scroll-active: #a1b8db;
}
.mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary:focus-within{
  --route-scroll-thumb: var(--route-scroll-hover);
}
@supports selector(::-webkit-scrollbar){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary{
    /* Standard thin/color settings override Chromium's exact-width pseudo-elements. */
    scrollbar-width: auto;
    scrollbar-color: auto;
    /* Extend the hit area into existing panel padding, retaining the old 7 px text gutter. */
    margin-right: -5px;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar{
    display: block;
    width: 12px;
    background: transparent;
    border: 0;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-track{
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-thumb{
    min-height: 32px;
    border: 4px solid transparent;
    border-radius: 6px;
    background: var(--route-scroll-thumb);
    background-clip: padding-box;
    box-shadow: none;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-thumb:hover{
    background-color: var(--route-scroll-hover);
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-thumb:active{
    background-color: var(--route-scroll-active);
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-button{
    display: none;
    width: 0;
    height: 0;
    border: 0;
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary::-webkit-scrollbar-corner{
    background: transparent;
    border: 0;
  }
}
@supports not selector(::-webkit-scrollbar){
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary:hover{
    --route-scroll-thumb: var(--route-scroll-hover);
  }
  .mock-route-explorer:where(html[data-route-layout="explorer"]) .mock-panel--description .mock-route-summary:active{
    --route-scroll-thumb: var(--route-scroll-active);
  }
}

/* Shared route reading colors, scrollbars and fullscreen point description. */
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]){
  --reading-text: var(--vz-copy);
  --reading-secondary: var(--vz-muted);
  --reading-heading: var(--vz-blue);
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-mobile-description,.mock-mobile-map-route-summary){
  font-size: 15px;
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) :is(.mock-route-merged-heading h1,.mock-mini-card h3,.mock-feature-image h3,.mock-mobile-hero h1){
  color: var(--reading-heading);
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-mobile-description,.mock-mobile-map-route-summary) a{
  color: var(--vz-blue);
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) .mock-metrics dt{ color: var(--reading-text); }
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) :is(.mock-photo-century,.mock-mobile-photo-century){ color: #c7d2dc; }

/* Quiet 4 px thumb; the transparent 12 px native scrollbar remains easy to grab. */
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description){
  --route-scroll-normal: rgba(105,120,135,.28);
  --route-scroll-hover: rgba(105,120,135,.5);
  --route-scroll-active: rgba(105,120,135,.65);
  --route-scroll-thumb: var(--route-scroll-normal);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--route-scroll-thumb) transparent;
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description){
  --route-scroll-normal: rgba(140,157,174,.28);
  --route-scroll-hover: rgba(140,157,174,.5);
  --route-scroll-active: rgba(140,157,174,.65);
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description):focus-within{
  --route-scroll-thumb: var(--route-scroll-hover);
}
@supports selector(::-webkit-scrollbar){
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description){
    scrollbar-width: auto;
    scrollbar-color: auto;
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-panel--checkpoint [data-checkpoint-text]{ margin-right: -5px; }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar{
    display: block;
    width: 12px;
    background: transparent;
    border: 0;
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar-track{
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar-thumb{
    min-height: 32px;
    border: 4px solid transparent;
    border-radius: 6px;
    background: var(--route-scroll-thumb);
    background-clip: padding-box;
    box-shadow: none;
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar-thumb:hover{
    background-color: var(--route-scroll-hover);
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar-thumb:active{
    background-color: var(--route-scroll-active);
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar-button{
    display: none;
    width: 0;
    height: 0;
    border: 0;
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description)::-webkit-scrollbar-corner{
    background: transparent;
    border: 0;
  }
}
@supports not selector(::-webkit-scrollbar){
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description):hover{
    --route-scroll-thumb: var(--route-scroll-hover);
  }
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) :is(.mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description):active{
    --route-scroll-thumb: var(--route-scroll-active);
  }
}

/* Expand the current checkpoint, retaining its photo, facts and complete prose. */
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog{
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #fff;
  color: var(--reading-text);
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog[open]{ display: flex; flex-direction: column; }
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog{ background: #04111b; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog::backdrop{ background: #010a11c9; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-heading{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: none;
  gap: 20px;
  padding: 14px 24px;
  border-bottom: 1px solid #dce3e8;
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-heading{ border-color: #3c4652; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-heading h2{
  margin: 0;
  color: var(--reading-heading);
  font: 700 19px/1.35 var(--vz-font-heading);
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-close{
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  background: transparent;
  color: var(--reading-heading);
  font: 400 26px/1 Arial,sans-serif;
  cursor: pointer;
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-close{ border-color: #3c4652; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-close:focus-visible{ outline: 2px solid var(--vz-blue); outline-offset: 2px; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-body{ flex: 1; min-height: 0; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content{
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(320px,1fr);
  grid-template-rows: minmax(0,1fr) auto;
  align-items: start;
  gap: 0 28px;
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: 24px;
  overflow: hidden;
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-image{
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  background: #eef2f5;
}
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-image{ background: #081827; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-image img{
  width: 100%;
  height: 100%;
  object-fit: contain!important;
  object-position: center!important;
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-meta{
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  padding: 16px 0 0;
  white-space: normal;
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-meta>span:nth-child(2){ justify-self: end; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-meta>span:nth-child(3){ grid-column: 1 / -1; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-description{
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: stretch;
  box-sizing: border-box;
  min-height: 0;
  padding-right: 10px;
  overflow-y: auto;
  color: var(--reading-text);
  font: 400 15px/var(--reading-leading) "Manrope","Segoe UI",Arial,sans-serif;
  text-align: justify;
  text-align-last: start;
}
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-description p{ margin: 0 0 18px; }
.mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-description a{ color: var(--reading-heading); }
.mock-route-explorer.mock-route-reading-refinement.theme-dark:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-description a{ color: var(--vz-blue); }
@media (max-width: 1000px){
  .mock-route-explorer.mock-route-reading-refinement:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content{ grid-template-columns: minmax(0,1fr) minmax(280px,1fr); gap: 0 20px; padding: 20px; }
}

/* «Только еда» in the related places panel and the phone ТИ list. */
:where(html[data-route-layout="explorer"]) .mock-food-filter{ display:grid; place-items:center; flex:none; width:28px; height:28px; margin-left:auto; padding:0; border:1px solid var(--vz-line); border-radius:7px; background:transparent; color:var(--vz-blue); cursor:pointer; }
:where(html[data-route-layout="explorer"]) .mock-food-filter svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
:where(html[data-route-layout="explorer"]) .mock-food-filter:hover{ background:var(--vz-hover); }
:where(html[data-route-layout="explorer"]) .mock-food-filter[aria-pressed="true"]{ border-color:var(--vz-current-fill); background:var(--vz-current-surface); color:var(--vz-current); }
:where(html[data-route-layout="explorer"]) .mock-card-list--related .mock-mini-card[hidden]{ display:none !important; }
:where(html[data-route-layout="explorer"]) #mock-map .mock-map-point-icon.is-filtered{ display:none; }
:where(html[data-route-layout="explorer"]) #mock-map .mock-map-point-icon.is-food-highlight:not(.is-map-selected){ z-index:20000 !important; }
:where(html[data-route-layout="explorer"]) #mock-map .mock-map-point-icon.is-food-highlight .mock-map-point{ width:32px; height:32px; margin:-4px; border:3px solid #fff; background:#e8590c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E") center/17px no-repeat; box-shadow:0 0 0 2px #6b2600,0 2px 6px #0007,0 0 14px 7px #ff7a1acc,0 0 30px 12px #ff7a1a55; animation:mock-food-pulse 1.8s ease-in-out infinite; }
.theme-dark:where(html[data-route-layout="explorer"]) #mock-map .mock-map-point-icon.is-food-highlight .mock-map-point{ box-shadow:0 0 0 2px #ffd8b8,0 2px 6px #000a,0 0 14px 7px #ff7a1acc,0 0 30px 12px #ff7a1a66; }
@keyframes mock-food-pulse{ 50% { box-shadow:0 0 0 2px #6b2600,0 2px 6px #0007,0 0 18px 10px #ff7a1add,0 0 40px 16px #ff7a1a66; } }
@media (prefers-reduced-motion:reduce){ :where(html[data-route-layout="explorer"]) #mock-map .mock-map-point-icon.is-food-highlight .mock-map-point{ animation:none; } }

/* «Я тут»: one row for the phone checkpoint card and the desktop description panel. */
:where(html[data-route-layout="explorer"]) .mock-checkin-slot{ margin:0 0 10px; padding:10px 0; border-bottom:1px solid var(--vz-line); }
:where(html[data-route-layout="explorer"]) .mock-checkin-slot[hidden]{ display:none; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin{ padding:10px 16px; border-bottom:1px solid var(--mm-line,var(--vz-line)); }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-row{ display:flex; align-items:center; gap:12px; min-height:44px; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-holder{ display:flex; flex:1; align-items:center; gap:10px; min-width:0; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-holder > span:last-child{ display:grid; min-width:0; line-height:1.25; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-holder small{ color:var(--mm-muted,var(--vz-muted)); font-size:12px; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-holder b{ overflow:hidden; color:var(--mm-accent,var(--vz-blue)); font-size:14px; white-space:nowrap; text-overflow:ellipsis; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-holder time{ color:var(--mm-text,var(--vz-copy)); font-size:12px; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-holder.is-free small{ font-size:13px; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-avatar{ display:grid; place-items:center; flex:none; width:32px; height:32px; overflow:hidden; border-radius:50%; background:#123b6d; color:#fff; font:700 12px/1 var(--vz-font-body); }
.theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-avatar{ background:#9fb7e4; color:#04111b; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-avatar img{ width:100%; height:100%; object-fit:cover; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button{ display:flex; align-items:center; justify-content:center; gap:6px; flex:none; height:40px; padding:0 14px; border:1px solid var(--vz-current-fill); border-radius:11px; background:var(--vz-current-fill); box-shadow:0 2px 6px color-mix(in srgb,var(--vz-current-fill) 30%,transparent); color:var(--vz-on-accent); font:700 14px/1 var(--vz-font-body)!important; white-space:nowrap; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button svg{ width:18px; height:18px; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button:disabled{ box-shadow:none; cursor:default; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button[aria-busy="true"]{ cursor:progress; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button.is-here{ background:var(--vz-current-surface); color:var(--vz-current); }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-message{ margin:6px 0 0; font-size:13px; line-height:1.35; color:var(--mm-text,var(--vz-copy)); }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-message.is-success{ color:var(--vz-success); }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-message.is-warning{ color:var(--vz-warning); }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-message.is-error{ color:var(--vz-error); }
:where(html[data-route-layout="explorer"]) .mock-mobile-preview-wrap{ position:relative; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button.is-compact{ position:absolute; right:30px; bottom:8px; height:30px; padding:0 10px; border-radius:9px; font-size:13px!important; }
:where(html[data-route-layout="explorer"]) .mock-mobile-checkin-button.is-compact svg{ width:16px; height:16px; }
:where(html[data-route-layout="explorer"]) .mock-checkin-slot svg{ display:block; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
:where(html[data-route-layout="explorer"]) .mock-checkin-slot .mock-mobile-checkin-button{ cursor:pointer; }


/* Source: public/route-memoriz-mobile.css; explorer only */
/* The mobile experience is mounted only after route-memoriz-mobile.js is ready. */
html.mock-has-mobile[data-route-mobile-view]:not([data-route-mobile-view="map"]):where(html[data-route-layout="explorer"]) #mock-map{display:none}
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-search>span{display:none}
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-search input{margin-top:0}
:where(html[data-route-layout="explorer"]) .mock-mobile-route-view-switch{display:none}
@media (max-width: 767px), (max-width:1100px) and (max-height:767px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]){ --mm-header:calc(61px + env(safe-area-inset-top,0px)); --mm-nav:calc(68px + env(safe-area-inset-bottom,0px)); --mm-sheet-min:202px; --mm-map-bottom:min(calc(var(--mm-header) + 60dvh),calc(100dvh - var(--mm-nav) - var(--mm-sheet-min))); }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]),
html.mock-has-mobile:where(html[data-route-layout="explorer"]) body{ width:100%; height:100%; overflow:hidden; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) body:has(#route-guide){ height:100%; overflow:hidden; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-explorer{ display:block; width:100vw; height:100dvh; min-height:0; padding:0; overflow:hidden; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-explorer > :not(#mock-map){ display:none!important; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) #mock-map{ position:fixed; inset:auto 0 auto; top:var(--mm-header); width:100vw; height:calc(var(--mm-map-bottom) - var(--mm-header)); z-index:0; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) #mock-map .leaflet-bottom.leaflet-right{ bottom:0; }
  html.mock-mobile-hide-track:where(html[data-route-layout="explorer"]) #mock-map .leaflet-overlay-pane{ visibility:hidden; }
  html.mock-mobile-hide-checkpoints:where(html[data-route-layout="explorer"]) #mock-map .mock-map-shield-icon{ visibility:hidden; }
  html.mock-mobile-hide-places:where(html[data-route-layout="explorer"]) #mock-map .mock-map-point-icon{ visibility:hidden; }

  :where(html[data-route-layout="explorer"]) .mock-mobile-app{ --mm-paper:var(--vz-card); --mm-page:var(--vz-page); --mm-text:var(--vz-copy); --mm-muted:var(--vz-muted); --mm-line:var(--vz-line); --mm-accent:var(--vz-blue); --mm-soft:var(--vz-card-soft); position:fixed; z-index:1000; inset:0; color:var(--mm-text); font:15px/1.35 var(--vz-font-body); pointer-events:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-app *,
:where(html[data-route-layout="explorer"]) .mock-mobile-app *::before,
:where(html[data-route-layout="explorer"]) .mock-mobile-app *::after{ box-sizing:border-box; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-app [hidden]{ display:none!important; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-app button{ font:inherit; cursor:pointer; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-app button:focus-visible,
:where(html[data-route-layout="explorer"]) .mock-mobile-app a:focus-visible,
:where(html[data-route-layout="explorer"]) .mock-mobile-app input:focus-visible{ outline:2px solid var(--mm-accent); outline-offset:2px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-app svg{ display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

  :where(html[data-route-layout="explorer"]) .mock-mobile-header{ position:fixed; z-index:11; top:0; left:0; right:0; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:2px; height:var(--mm-header); padding:env(safe-area-inset-top,0px) 12px 0; background:var(--mm-paper); box-shadow:0 1px 4px #08152c2b; pointer-events:auto; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-route-heading{ grid-column:2; grid-row:1; display:flex; align-items:center; justify-content:center; gap:2px; min-width:0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header strong{ display:block; flex:1 1 auto; min-width:0; overflow:hidden; white-space:nowrap; text-align:center; font:700 clamp(19px,5.2vw,24px)/1.1 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-icon-button{ display:grid; place-items:center; flex:none; width:40px; height:44px; padding:0; border:0; background:transparent; color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header .mock-mobile-icon-button{ width:36px; margin:0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header>[popovertarget]{ grid-column:1; grid-row:1; justify-self:start; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header>.mock-mobile-weather-button{ grid-column:3; grid-row:1; justify-self:start; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header>[data-mobile-action="theme"]{ grid-column:3; grid-row:1; justify-self:end; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header .mock-mobile-weather-button{ border-radius:8px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-weather-button.is-active{ background:#eaf3ff; color:#144a88; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-weather-button.is-active{ background:#193954; color:#b8d7ff; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header .mock-mobile-route-star{ color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-header .mock-mobile-route-star.is-active svg{ fill:#e9b63a; stroke:#a06a08; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > .mock-mobile-weather-button,
:where(html[data-route-layout="explorer"]) .mock-mobile-list-controls > .mock-mobile-weather-button{ width:44px; height:44px; border:1px solid var(--mm-line); border-radius:var(--vz-card-radius,11px); background:var(--mm-paper); box-shadow:var(--vz-shadow-popup); }
  :where(html[data-route-layout="explorer"]) .mock-site-menu .mock-mobile-menu-theme{ display:flex; align-items:center; gap:10px; width:100%; min-height:42px; padding:8px 9px; border:0; border-radius:9px; background:transparent; color:inherit; text-align:left; font:600 14px/1.3 var(--vz-font-body); cursor:pointer; }
  :where(html[data-route-layout="explorer"]) .mock-site-menu .mock-mobile-menu-theme:hover{ background:#f0f5f8; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-site-menu .mock-mobile-menu-theme:hover{ background:#102332; }
  :where(html[data-route-layout="explorer"]) .mock-site-menu .mock-mobile-menu-theme svg{ width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

  :where(html[data-route-layout="explorer"]) .mock-mobile-view{ position:fixed; inset:var(--mm-header) 0 var(--mm-nav); pointer-events:auto; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map{ background:transparent; pointer-events:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map > :is(button,div,section){ pointer-events:auto; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-pill{ position:absolute; z-index:3; top:11px; left:50%; display:flex; align-items:center; justify-content:center; gap:10px; width:min(220px,calc(100vw - 124px)); height:42px; padding:0 10px; border:1px solid var(--mm-line); border-radius:999px; background:var(--mm-paper); box-shadow:0 4px 12px #142b4760; color:var(--mm-text); font:700 var(--vz-control-font-size,14px)/1 var(--vz-font-body)!important; transform:translateX(-50%); white-space:nowrap; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-pill svg{ width:17px; height:17px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-pill[aria-expanded="true"] svg{ transform:rotate(180deg); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-body{ position:fixed; z-index:20; top:calc(var(--mm-header) + 59px); bottom:auto; left:50%; display:flex; flex-direction:column; width:min(420px,calc(100vw - 24px)); max-height:calc(100dvh - var(--mm-header) - var(--mm-nav) - 71px); padding:0; overflow:hidden; border:1px solid var(--mm-line); border-radius:11px; background:var(--mm-paper); box-shadow:0 6px 16px #0e214b55; font-size:14px; line-height:1.32; transform:translateX(-50%); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-head{ display:flex; flex:none; align-items:center; justify-content:space-between; gap:10px; padding:5px 6px 5px 14px; border-bottom:1px solid var(--mm-line); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-head strong{ font:700 16px/1.2 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-head button{ display:grid; place-items:center; flex:none; width:40px; height:40px; padding:0; border:0; border-radius:7px; background:transparent; color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-head button:hover{ background:var(--mm-page); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-content{ min-height:0; padding:12px 14px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#8caae0 transparent; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-content:focus-visible{ outline:2px solid var(--mm-accent); outline-offset:-2px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-content::-webkit-scrollbar{ width:7px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-content::-webkit-scrollbar-thumb{ border-radius:8px; background:#8caae0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-body p{ margin:0 0 9px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-credit-body{ text-align:left; hyphens:none; overflow-wrap:anywhere; word-break:normal; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-tools{ position:absolute; z-index:3; top:10px; right:12px; display:grid; justify-items:center; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-tools button,
:where(html[data-route-layout="explorer"]) .mock-mobile-layer-button,
:where(html[data-route-layout="explorer"]) .mock-mobile-fit-button{ display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--mm-line); border-radius:50%; background:var(--mm-paper); box-shadow:0 3px 9px #10254554; color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > div{ overflow:hidden; border:1px solid var(--mm-line); border-radius:17px; background:var(--mm-paper); box-shadow:0 3px 9px #10254554; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > div button{ width:48px; height:44px; border:0; border-radius:0; box-shadow:none; font:700 29px/1 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > div button + button{ border-top:1px solid var(--mm-line); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-map-bottom-tools{ position:absolute; z-index:2; top:calc(var(--mm-map-bottom) - var(--mm-header) - 66px); left:12px; right:12px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-location{ display:flex; align-items:center; gap:8px; height:43px; padding:0 14px; border:1px solid var(--mm-line); border-radius:999px; background:var(--mm-paper); box-shadow:0 3px 9px #10254554; color:var(--mm-text); font:600 14px/1 var(--vz-font-body)!important; white-space:nowrap; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-location svg{ width:20px; height:20px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-layer-button{ position:absolute; z-index:3; top:10px; left:12px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-layer-button[aria-pressed="true"]{ color:#092f86; background:#e4f2fd; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-layer-button[aria-pressed="true"]{ color:#b8d7ff; background:#142c46; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-fit-button{ flex:none; }

  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet{ position:fixed; z-index:2; top:var(--mm-map-bottom); bottom:var(--mm-nav); left:0; right:0; height:auto; padding:7px 14px 11px; border:1px solid var(--mm-line); border-radius:20px 20px 0 0; background:var(--mm-paper); box-shadow:0 -5px 18px #132b4c35; overflow-y:auto; overscroll-behavior:contain; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-handle{ display:block; width:100%; height:24px; margin:0; padding:6px 0; border:0; background:transparent; color:var(--mm-text); touch-action:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-handle span{ display:block; width:38px; height:4px; margin:auto; border-radius:999px; background:#aebccc; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:minmax(48px,auto); min-height:98px; margin-bottom:10px; border:1px solid var(--mm-line); border-radius:8px; overflow:hidden; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics > span{ display:grid; grid-template-columns:17px minmax(0,1fr); grid-column:span 2; align-content:center; column-gap:5px; padding:4px 6px; min-width:0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics > span + span{ border-left:1px solid var(--mm-line); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics > span:nth-child(n+4){ grid-column:span 3; border-top:1px solid var(--mm-line); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics > span:nth-child(4){ border-left:0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics > span:nth-child(n+4){ grid-column:span 2; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics small{ white-space:normal; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics svg{ grid-row:span 2; align-self:center; width:17px; height:17px; color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics strong{ white-space:nowrap; font:700 13px/1.1 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics small{ min-width:0; white-space:nowrap; font-size:10px; line-height:1.1; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-extra{ padding:0 2px 12px; font-size:14px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-extra p{ margin:0 0 10px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-extra button{ padding:7px 11px; border:1px solid var(--mm-line); border-radius:7px; background:var(--mm-paper); color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-sheet-extra .mock-mobile-description-gpx{ display:inline-flex; align-items:center; justify-content:center; min-height:34px; margin:3px 0 11px; padding:6px 12px; border-color:#b7ccef; background:#f5f9ff; box-shadow:0 2px 5px #142b4726; color:#082d77; font:700 13px/1 var(--vz-font-body); white-space:nowrap; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-extra .mock-mobile-description-gpx{ border-color:#425b7c; background:#102a45; color:#d5e5ff; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-primary{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; padding:7px 12px; border:0; border-radius:12px; background:#072e77; color:#fff; font:700 var(--vz-control-font-size,14px)/1.2 var(--vz-font-body)!important; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-primary svg{ width:17px; height:17px; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-primary{ background:#1c458a; }

  :where(html[data-route-layout="explorer"]) .mock-mobile-list,
:where(html[data-route-layout="explorer"]) .mock-mobile-favorites{ padding:12px 12px 10px; overflow-y:auto; scrollbar-width:none; background:var(--mm-page); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide{padding:15px 16px 28px;overflow-y:auto;background:var(--mm-paper);font:15px/1.45 var(--vz-font-body)}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide>button{display:flex;align-items:center;gap:5px;min-height:37px;margin:0 0 15px;padding:0;border:0;background:transparent;color:var(--mm-text);font-weight:700}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide>button svg{width:18px;height:18px}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide .mock-route-guide{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--mm-text);font:inherit}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide :is(h2,h3){color:var(--mm-text);font-family:var(--vz-font-body)}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide h2{margin:0 0 15px;font-size:22px}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide h3{margin:20px 0 8px;font-size:18px}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide p{margin:0 0 12px;text-align:justify;hyphens:none;word-break:normal}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide article+article{border-top:1px solid var(--mm-line)}
  :where(html[data-route-layout="explorer"]) .mock-mobile-guide a{color:var(--mm-text)}
  :where(html[data-route-layout="explorer"]) .mock-mobile-list::-webkit-scrollbar,
:where(html[data-route-layout="explorer"]) .mock-mobile-favorites::-webkit-scrollbar,
:where(html[data-route-layout="explorer"]) .mock-mobile-detail-scroll::-webkit-scrollbar{ display:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-list-controls{ position:sticky; z-index:4; top:0; display:flow-root; isolation:isolate; background:var(--mm-page); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-list-controls > .mock-mobile-weather-button{ position:absolute; top:0; right:0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-list-controls:has(> .mock-mobile-weather-button:not([hidden])) .mock-mobile-segmented{ margin-right:52px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-list-controls > .mock-mobile-food-filter{ position:absolute; top:3px; right:0; width:44px; height:44px; border-radius:var(--vz-card-radius,11px); box-shadow:var(--vz-shadow-popup); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-list-controls > .mock-mobile-food-filter svg{ width:22px; height:22px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-list-controls:has(> .mock-mobile-food-filter:not([hidden])) .mock-mobile-segmented{ margin-right:52px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-segmented{ display:grid; grid-template-columns:1fr 1fr; padding:3px; margin-bottom:13px; border-radius:10px; background:#e1f0fb; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-segmented{ background:#102435; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-segmented button{ min-height:39px; padding:4px; border:0; border-radius:8px; background:transparent; color:var(--mm-text); font:700 var(--vz-control-font-size,14px)/1 var(--vz-font-body)!important; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-segmented button.is-active{ background:#082d77; color:#fff; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-search{ display:block; margin:0 0 12px; font-size:13px; font-weight:700; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-search input{ display:block; width:100%; height:40px; margin-top:4px; padding:0 10px; border:1px solid var(--mm-line); border-radius:8px; background:var(--mm-paper); color:var(--mm-text); font:inherit; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card-list{ display:grid; gap:10px; padding-bottom:12px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-checkpoint-card,
:where(html[data-route-layout="explorer"]) .mock-mobile-checkpoint-weather{ min-width:0; width:100%; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-checkpoint-card.is-selected .mock-mobile-checkpoint-weather{ outline:0; border-radius:10px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card{ display:grid; grid-template-columns:84px minmax(0,1fr) 22px; align-items:center; gap:11px; width:100%; min-height:112px; padding:9px; border:1px solid var(--mm-line); border-radius:var(--vz-card-radius); background:var(--mm-paper); box-shadow:none; color:var(--mm-text); text-align:left; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card.is-selected{ border-left:4px solid var(--mm-accent); padding-left:6px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card > img{ width:84px; height:94px; object-fit:cover; border-radius:7px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card-copy{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-badge,
:where(html[data-route-layout="explorer"]) .mock-mobile-hero-badge{ display:inline-block; padding:4px 9px; border:1px solid #ac7b09; border-radius:5px; background:#ffdc68; color:#22160a; font:700 16px/1 var(--vz-font-body); white-space:nowrap; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card-copy strong{ width:100%; overflow-wrap:anywhere; font:700 16px/1.16 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card-copy small{ display:flex; align-items:center; gap:4px; margin-top:3px; color:var(--mm-text); font:13px/1.2 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card-copy small svg{ width:17px; height:17px; color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-card-next{ width:20px!important; height:20px!important; color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-empty{ padding:12px; text-align:center; }

  :where(html[data-route-layout="explorer"]) .mock-mobile-detail{ inset:0 0 var(--mm-nav); background:var(--mm-paper); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-top{ position:absolute; z-index:3; top:0; left:0; right:0; display:flex; align-items:center; gap:2px; height:var(--mm-header); padding:env(safe-area-inset-top,0px) 12px 0; background:var(--mm-paper); border-bottom:1px solid var(--mm-line); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-top button{ display:flex; align-items:center; justify-content:center; gap:2px; height:42px; min-width:40px; padding:0 5px; border:0; background:transparent; color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-top button:first-child{ margin-right:auto; font:var(--vz-control-font-size,14px) var(--vz-font-body)!important; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-top button.is-active svg{ fill:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-scroll{ position:absolute; top:var(--mm-header); bottom:0; left:0; right:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero{ position:relative; height:clamp(270px,82vw,340px); overflow:hidden; background:#c8d6dd; color:#fff; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero > img{ display:block; width:100%; height:100%; object-fit:cover; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero-shade{ position:absolute; inset:0 0 auto; height:48%; background:linear-gradient(#061525d9,#06152577 55%,transparent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero-badge{ position:absolute; top:13px; right:13px; font-size:18px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero h1{ position:absolute; top:13px; left:16px; right:88px; margin:0; color:#fff; text-shadow:0 2px 5px #000,0 0 8px #000b; font:700 clamp(22px,6.5vw,29px)/1.08 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero-count{ position:absolute; right:0; bottom:0; min-width:65px; padding:9px 11px; background:#07101dbb; color:#fff; text-align:center; font-size:13px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero-arrow{ position:absolute; top:50%; display:grid; place-items:center; width:39px; height:39px; padding:0; border:0; border-radius:50%; background:#fff; box-shadow:0 2px 7px #0006; color:#052772; transform:translateY(-50%); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero-arrow.is-left{ left:8px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-hero-arrow.is-right{ right:8px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px 10px; min-height:62px; padding:9px 16px; border-bottom:1px solid var(--mm-line); font:13px/1.2 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta > :is(span,a){ display:flex; align-items:center; gap:4px; min-width:0; color:var(--mm-text); text-decoration:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta > :is(span,a){ white-space:nowrap; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta svg{ width:20px; height:20px; color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta b{ font-size:13px; white-space:nowrap; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-detail-meta .mock-mobile-track-distance{ flex-basis:100%; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-visit{ display:flex; align-items:center; gap:10px; width:calc(100% - 28px); min-height:48px; margin:13px 14px; padding:7px 13px; border:0; border-radius:12px; background:var(--mm-soft); color:var(--mm-text); font:700 var(--vz-control-font-size,14px)/1.2 var(--vz-font-body)!important; text-align:left; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-visit > svg:first-child{ width:25px; height:25px; padding:3px; border:2px solid var(--mm-accent); border-radius:50%; background:transparent; color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-visit > svg:last-child{ margin-left:auto; width:18px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-visit.is-visited{ opacity:.82; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-tabs{ display:flex; justify-content:space-between; gap:3px; margin:0 12px; border-bottom:1px solid var(--mm-line); overflow-x:auto; scrollbar-width:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-tabs button{ flex:none; min-height:43px; padding:6px 4px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--mm-muted); font:700 var(--vz-control-font-size,14px)/1 var(--vz-font-body)!important; white-space:nowrap; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-tabs button.is-active{ border-bottom-color:var(--mm-accent); color:var(--mm-text); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-tab-content{ padding:15px 16px 24px; color:var(--mm-text); font:15px/1.42 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-tab-content h2{ margin:3px 0 10px; font:700 18px/1.2 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-description{ overflow-wrap:normal; word-break:normal; hyphens:none; text-align:justify; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-description p{ margin:0 0 11px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-description .mock-source-note{ padding:8px 10px; border-left:3px solid var(--mm-accent); background:var(--vz-card-soft); color:var(--vz-copy); text-align:left; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-description .mock-source-note{ background:var(--vz-card-soft); color:var(--vz-copy); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-description br{ display:block; content:""; margin-bottom:7px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-gallery{ margin:20px 0 15px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-gallery h2{ display:flex; align-items:center; gap:8px; margin-bottom:9px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-gallery h2 svg{ color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-gallery > img{ display:block; width:100%; max-height:240px; object-fit:cover; border-radius:8px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-route-to{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:46px; margin-top:18px; padding:8px 12px; border-radius:999px; background:var(--mm-soft); color:var(--mm-text); text-align:center; text-decoration:none; font:700 14px/1.2 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-route-to svg{ width:20px; height:20px; color:var(--mm-accent); }

  :where(html[data-route-layout="explorer"]) .mock-mobile-favorites h2{ margin:4px 4px 14px; font:700 22px/1.2 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-favorites [data-mobile-favorites]{ display:grid; gap:10px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-favorites p{ padding:15px; border-radius:10px; background:var(--mm-paper); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-favorite-route{ display:flex; align-items:center; gap:9px; min-height:66px; padding:10px 14px; border:1px solid var(--mm-line); border-radius:var(--vz-card-radius); background:var(--mm-paper); color:var(--mm-text); text-align:left; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-favorite-route svg:first-child{ color:var(--mm-accent); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-favorite-route svg:last-child{ margin-left:auto; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile{ padding:22px 14px; overflow-y:auto; background:var(--mm-page); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile-card{ max-width:440px; margin:0 auto; padding:22px 18px; border:1px solid var(--mm-line); border-radius:var(--vz-card-radius); background:var(--mm-paper); box-shadow:none; text-align:center; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile-card > svg{ width:34px; height:34px; margin:0 auto 10px; color:#0c3b8c; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile-card h2{ margin:0 0 9px; font:700 21px/1.18 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile-card p{ margin:0 0 18px; color:var(--mm-muted); font:14px/1.4 var(--vz-font-body); }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile-card button{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:42px; padding:8px 12px; border:0; border-radius:9px; background:#082d77; color:#fff; font:700 var(--vz-control-font-size,14px)/1.2 var(--vz-font-body)!important; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-profile-card button svg{ width:17px; height:17px; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-profile-card > svg{ color:#b7d0ff; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-profile-card button{ background:#214e93; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-bottom-nav{ position:fixed; z-index:12; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); height:var(--mm-nav); padding:5px 0 env(safe-area-inset-bottom,0px); border-top:1px solid var(--mm-line); background:var(--mm-paper); box-shadow:0 -2px 8px #10254518; pointer-events:auto; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-bottom-nav button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; padding:3px 1px; border:0; background:transparent; color:var(--mm-muted); font:12px/1.2 var(--vz-font-body)!important; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-bottom-nav a{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; padding:3px 1px; color:var(--mm-muted); font:12px/1.2 var(--vz-font-body)!important; text-decoration:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-bottom-nav button.is-active{ color:#092f86; font-weight:700!important; }
  .theme-dark:where(html[data-route-layout="explorer"]) .mock-mobile-bottom-nav button.is-active{ color:#bed0ff; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-bottom-nav svg{ width:22px; height:22px; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-status{ position:fixed; z-index:30; left:12px; right:12px; bottom:calc(var(--mm-nav) + 8px); width:max-content; max-width:calc(100vw - 24px); margin:0 auto; padding:8px 12px; border-radius:9px; background:#061936; color:#fff; box-shadow:0 2px 8px #0005; font-size:13px; pointer-events:none; }
  :where(html[data-route-layout="explorer"]) .mock-mobile-status:empty{ display:none; }

  /* Keep local Map/List switching beside the existing map tools, while the
     bottom navigation remains the same four site sections on every page. */
  html[data-vz-route-style="single"][data-route-layout="explorer"]:root.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-route-view-switch{position:fixed;z-index:13;top:calc(var(--mm-map-bottom) - 56px);left:50%;transform:translateX(-50%);display:flex;gap:2px;width:100px;height:44px;padding:3px;border:1px solid var(--mm-line);border-radius:11px;background:var(--mm-paper);box-shadow:0 2px 6px #10254518;pointer-events:auto}
  :where(html[data-route-layout="explorer"]) .mock-mobile-route-view-switch button{flex:1;min-width:0;padding:2px;border:0;border-radius:7px;background:transparent;color:var(--mm-text);font:600 11px/1.2 var(--vz-font-body)}
  :where(html[data-route-layout="explorer"]) .mock-mobile-route-view-switch button.is-active{background:var(--route-accent-surface);color:var(--route-accent)}
  html[data-vz-route-style="single"][data-route-layout="explorer"]:root.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-app:not([data-view="map"]):not([data-view="list"]) .mock-mobile-route-view-switch{display:none}
  html[data-vz-route-style="single"][data-route-layout="explorer"]:root.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-app[data-view="list"] .mock-mobile-route-view-switch{top:calc(var(--route-viewport-top,0px) + var(--mm-header) + 8px)}

  /* The fixed content-height sheet is shared by all route explorers. */
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]){ --mm-sheet-height:214px; --mm-sheet-offset:0px; --mm-map-bottom:calc(100dvh - var(--mm-nav) - var(--mm-sheet-height) + var(--mm-sheet-offset)); }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet{ height:calc(var(--mm-sheet-height) - var(--mm-sheet-offset)); padding:0 10px 4px; border-radius:18px 18px 0 0; overflow:hidden; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-content{ display:grid; grid-template-rows:auto minmax(0,1fr); height:calc(100% - 24px); min-height:0; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-content .mock-mobile-map-preview{ height:auto; min-height:0; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-content .mock-mobile-preview-card{ min-height:80px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-content .mock-mobile-preview-card > img{ height:70px; }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet::-webkit-scrollbar{ display:none; }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics{ grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:minmax(43px,auto); min-height:0; margin-bottom:7px; }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics > span{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; grid-column:auto; min-width:0; padding:3px 2px; border-top:0; border-left:0; text-align:center; }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics > span:not(:nth-child(3n+1)){ border-left:1px solid var(--mm-line); }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics > span:nth-child(n+4){ border-top:1px solid var(--mm-line); }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-metric-value{ display:flex; align-items:center; justify-content:center; gap:4px; width:100%; min-height:17px; min-width:0; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-metric-value svg{ flex:none; width:15px; height:15px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-metric-value strong{ min-width:0; font:700 13px/1.2 var(--vz-font-body); overflow-wrap:anywhere; }
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics small{ font-size:10px; line-height:1.15; white-space:normal; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-preview{ height:100px; overflow-y:auto; overscroll-behavior:contain; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-route-summary{ height:100%; padding:8px 10px; overflow-y:auto; border:1px solid var(--mm-line); border-radius:10px; background:var(--mm-paper); color:var(--mm-text); font:13px/1.32 var(--vz-font-body); text-align:left; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-route-summary p{ margin:0 0 7px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card{ grid-template-columns:70px minmax(0,1fr) 17px; gap:8px; min-height:98px; padding:5px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card > img{ width:70px; height:86px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-card-copy{ gap:2px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-badge{ padding:2px 6px; font-size:14px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-card-copy strong{ display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-size:13px; line-height:1.1; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-card-copy small{ margin-top:0; font-size:11px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-card-copy small svg{ width:14px; height:14px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card .mock-mobile-card-next{ width:17px!important; height:17px!important; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-bottom-tools{ top:calc(var(--mm-map-bottom) - var(--mm-header) - 64px); align-items:flex-end; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools{ top:calc(var(--mm-map-bottom) - var(--mm-header) - 103px); }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-right-tools{ position:fixed; z-index:3; top:calc(var(--mm-header) + 10px); right:12px; display:grid; gap:8px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-location,
.mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-download{ display:grid; place-items:center; flex:none; width:48px; height:48px; padding:0; border:1px solid var(--mm-line); border-radius:50%; background:var(--mm-paper); box-shadow:0 3px 9px #10254554; color:var(--mm-text); }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-download-tools{ display:flex; align-items:center; gap:8px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-download svg{ width:22px; height:22px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) #mock-map .mock-marker-label-text{ font-family:var(--vz-font-body); font-size:18px; font-weight:700; font-variant-numeric:lining-nums tabular-nums; font-kerning:none; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-badge,
.mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-hero-badge{ font-family:var(--vz-font-body); font-variant-numeric:lining-nums tabular-nums; font-kerning:none; }
}

@media (max-width: 359px){
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-sheet-metrics.is-six-metrics small{ font-size:9px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card{ grid-template-columns:62px minmax(0,1fr) 15px; gap:6px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card > img{ width:62px; }
}
@media (max-width:1100px) and (max-height:600px){
  html.mock-mobile-explorer.mock-has-mobile:where(html[data-route-layout="explorer"]){ --mm-sheet-height:196px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-preview{ height:82px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card{ min-height:80px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-preview-card > img{ height:70px; }
}
@media (min-width:568px) and (max-width:1100px) and (max-height:600px){
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-right-tools{ display:flex; gap:6px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) :is(.mock-mobile-location,.mock-mobile-fit-button,.mock-mobile-layer-button,.mock-mobile-download){ width:40px; height:40px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-credit-pill{ width:min(220px,calc(100vw - 216px)); height:40px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools{ top:calc(var(--mm-map-bottom) - var(--mm-header) - 56px); }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > div{ display:flex; border-radius:14px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > div button{ width:40px; height:40px; font-size:26px; }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-tools > div button + button{ border-top:0; border-left:1px solid var(--mm-line); }
  .mock-mobile-explorer:where(html[data-route-layout="explorer"]) .mock-mobile-map-bottom-tools{ top:calc(var(--mm-map-bottom) - var(--mm-header) - 56px); }
}

/* Map/List remain in the route footer. */
:where(html[data-route-layout="explorer"]) .mock-mobile-route-view-switch{display:none!important}


/* Source: public/assets/route-explorer/palette.css; explorer only */
/* Route interface roles inherit the same two palettes as Participants.
   Track colors, difficulty shields and point-selection halos remain map data. */
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]){
  --route-blue-text: var(--vz-blue);
  --reading-text: var(--vz-copy);
  --reading-secondary: var(--vz-muted);
  --reading-heading: var(--vz-blue);
  color: var(--vz-copy);
  background: var(--vz-page);
  font-family: var(--vz-font-body);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) body{ background: var(--vz-page); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-app{
  --mm-paper: var(--vz-card);
  --mm-page: var(--vz-page);
  --mm-text: var(--vz-copy);
  --mm-muted: var(--vz-muted);
  --mm-line: var(--vz-line);
  --mm-accent: var(--vz-blue);
  --mm-soft: var(--vz-card-soft);
  font-family: var(--vz-font-body);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-panel,.mock-weather,.mock-map-controls){
  background: color-mix(in srgb,var(--vz-card) 97%,transparent);
  border-color: var(--vz-line);
  color: var(--vz-copy);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-route-summary,[data-checkpoint-text],.mock-checkpoint-dialog-description,
  .mock-mobile-description,.mock-mobile-map-route-summary,.mock-credit-content,
  .mock-mobile-credit-content,.mock-route-guide,.mock-mobile-tab-content,.mock-metrics dd,
  .mock-mobile-sheet-metrics strong,.mock-mobile-detail-meta b
){ color: var(--vz-copy); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-feature-meta,.mock-mini-card p,.mock-mobile-card-copy small,
  .mock-mobile-detail-meta,.mock-metrics dt,.mock-mobile-sheet-metrics small
){ color: var(--vz-muted); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-panel-heading h1,.mock-panel-heading h2,.mock-route-merged-heading h1,
  .mock-description-content h3,.mock-mini-card h3,.mock-crumbs,.mock-crumb-separator,
  .mock-credit-content a,.mock-route-summary a,[data-checkpoint-text] a,
  .mock-checkpoint-dialog-description a,.mock-mobile-description a,.mock-mobile-map-route-summary a,
  .mock-checkpoint-dialog-heading h2,.mock-feature-meta a,.mock-mobile-detail-meta a,
  .mock-mobile-card-copy strong,.mock-mobile-tab-content h2,.mock-mobile-guide a,
  .mock-mobile-guide h2,.mock-mobile-guide h3,.mock-route-guide h2,.mock-route-guide h3,
  .mock-route-guide a,.mock-mobile-header,.mock-mobile-bottom-nav button.is-active,
  .mock-mobile-card-next
){ color: var(--vz-blue); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-panel-heading h1,.mock-panel-heading h2,.mock-route-merged-heading h1,
  .mock-description-content h3,.mock-checkpoint-dialog-heading h2,.mock-route-guide h2,
  .mock-route-guide h3,.mock-mobile-header strong,.mock-mobile-guide h2,.mock-mobile-guide h3,
  .mock-mobile-tab-content h2,.mock-mobile-profile-card h2,.mock-mobile-favorites h2
){ font-family: var(--vz-font-heading); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-city-dialog,.mock-route-guide,.mock-mobile-card,
  .mock-mobile-favorite-route,.mock-mobile-profile-card,.mock-mobile-credit-body
){
  border-color: var(--vz-line);
  background: var(--vz-card);
  color: var(--vz-copy);
  border-radius: var(--vz-card-radius);
}
/* A selected checkpoint retains the route-difficulty border and map halo. */
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mini-card{ border-radius:var(--vz-card-radius);background:var(--vz-card);color:var(--vz-copy); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mini-card.is-selected{ background: var(--vz-selection); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mini-card:not(.is-selected){ border-color: var(--vz-line);box-shadow:none; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-metrics div,.mock-route-guide article+article){ border-color: var(--vz-line); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-gpx,.mock-image-arrow,.mock-rail-arrow,.mock-checkpoint-dialog-close,
  .mock-city-dialog button,.mock-mobile-description-gpx,.mock-mobile-hero-arrow
){ background: var(--vz-card); color: var(--vz-blue); border-color: var(--vz-line); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-map-controls button,.mock-fold,.mock-metric-icon,.mock-mobile-icon-button,
  .mock-mobile-map-tools button,.mock-mobile-layer-button,.mock-mobile-fit-button,
  .mock-mobile-location,.mock-mobile-download,.mock-mobile-credit-pill
){ color: var(--vz-blue); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-fold svg,.mock-locate svg){ stroke: currentColor; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-fold::after,.mock-image-arrow::after,.mock-rail-arrow::after){ border-color: var(--vz-blue); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-map-controls button{ border-color: var(--vz-line); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-basemap-toggle[aria-pressed="true"],.mock-mobile-layer-button[aria-pressed="true"],
  .mock-mobile-weather-button.is-active,.mock-mobile-segmented button.is-active
){ color: var(--vz-blue); background: var(--vz-selection); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-segmented{ background: var(--vz-card-soft); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-segmented button.is-active{ box-shadow: inset 0 0 0 1px var(--vz-blue); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-gpx,.mock-city-dialog button,.mock-city-dialog input){
  min-height: var(--vz-control-height);
  border-radius: var(--vz-control-radius);
  font-family: var(--vz-font-body);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-city-dialog input{
  background: var(--vz-card); color: var(--vz-copy); border-color: var(--vz-line);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-red-button,.mock-mobile-primary,.mock-mobile-profile-card button){
  min-height: var(--vz-control-height); border-radius: var(--vz-control-radius);
  background: var(--vz-blue); color: var(--vz-on-accent); border-color: var(--vz-blue);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-gpx,.mock-city-dialog button,.mock-map-controls button,.mock-fold,
  .mock-checkpoint-dialog-close,.mock-image-arrow,.mock-rail-arrow
):hover{ background: var(--vz-hover); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
  .mock-star.is-active,.mock-mobile-route-star.is-active,.mock-mobile-detail-top button.is-active
){ color: var(--vz-current); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-mobile-route-star.is-active,.mock-mobile-detail-top button.is-active) svg{
  fill: var(--vz-current); stroke: var(--vz-current);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(button,a,input,select,summary,[tabindex]):focus-visible{
  outline: 2px solid var(--vz-blue); outline-offset: 2px;
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-app input::placeholder{ color: var(--vz-muted); opacity: 1; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog{ background: var(--vz-card); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-heading{ border-color: var(--vz-line); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-checkpoint-dialog-content .mock-feature-image{ background: var(--vz-card-soft); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) #mock-map :is(.leaflet-control-attribution,.leaflet-control-scale-line){
  background: color-mix(in srgb,var(--vz-card) 97%,transparent); color: var(--vz-muted); border-color: var(--vz-line);
}
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) #mock-map .leaflet-control-attribution a{ color: var(--vz-blue); }
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-search input{
    height:var(--vz-control-height);border-radius:var(--vz-control-radius);
  }
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(
    .mock-mobile-tabs button,.mock-mobile-segmented button,.mock-mobile-detail-top button,
    .mock-mobile-credit-head button,.mock-mobile-header .mock-mobile-icon-button,
    .mock-mobile-hero-arrow,.mock-mobile-description-gpx,.mock-mobile-guide>button,
    .mock-mobile-credit-pill,.mock-mobile-map-tools button,.mock-mobile-fit-button,
    .mock-mobile-location,.mock-mobile-layer-button,.mock-mobile-download
  ){ min-height:44px;min-width:44px; }
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-header{
    grid-template-columns:44px minmax(0,1fr) 88px;padding-inline:8px;
  }

  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-profile-card>svg{ color:var(--vz-blue); }
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-card-copy small svg{ color:var(--vz-blue); }
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-tabs button.is-active{ border-color:var(--vz-blue);color:var(--vz-blue); }
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-card.is-selected{ border-left-color:var(--vz-blue); }
  html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-credit-content:focus-visible{ outline-offset:-2px; }
}

html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-route-guide,.mock-mobile-card,.mock-mobile-favorite-route,.mock-mobile-profile-card){ box-shadow:none; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-panel,.mock-weather,.mock-map-controls,.mock-photo-dialog,.mock-city-dialog,.mock-mobile-credit-body){ box-shadow:var(--vz-shadow-popup); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-photo-dialog,.mock-photo-close){ color:var(--vz-copy);background:var(--vz-card);border-color:var(--vz-line); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-photo-dialog{ border-radius:var(--vz-card-radius); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-checkpoint-dialog-close,.mock-photo-close){ width:44px;height:44px;border-radius:10px;color:var(--vz-blue); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-mini-card h3,.mock-mini-card p,.mock-mobile-card-copy strong,.mock-mobile-card-copy small){ font-family:var(--vz-font-body); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-feature-image h3,.mock-mobile-hero h1){ color:#fff;font-family:var(--vz-font-heading); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-star{ color:var(--vz-muted); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-hero-arrow{ border:1px solid var(--vz-line); }

html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .route-weather-time input:focus-visible{ outline:none; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-photo-open:focus-visible{ outline-offset:-2px; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-guide .mock-route-guide{ background:transparent;border:0;border-radius:0; }

html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-city-dialog input,.mock-city-dialog button,.mock-gpx,.mock-mobile-search input,.mock-mobile-description-gpx,.mock-mobile-route-to){ font-size:var(--vz-control-font-size,14px); }

html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-mobile-guide>button{ font-size:var(--vz-control-font-size,14px); }

html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-photo-dialog{ padding-top:58px; }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-city-dialog{ font-family:var(--vz-font-body);font-size:var(--vz-control-font-size,14px); }
html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) .mock-city-dialog h2{ font-family:var(--vz-font-heading);color:var(--vz-blue); }

html.mock-route-explorer.mock-route-palette:root:where(html[data-route-layout="explorer"]) :is(.mock-mobile-segmented button,.mock-mobile-description-gpx,.mock-mobile-visit){ border-radius:var(--vz-control-radius); }


/* Source: public/assets/route-explorer/weather.css; explorer only */
:where(html[data-route-layout="explorer"]) .route-weather-panel,
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint{--rw-paper:var(--vz-card);--rw-ink:var(--vz-copy);--rw-line:var(--vz-line);--rw-muted:var(--vz-muted);--rw-soft:var(--vz-card-soft);--rw-notice-paper:color-mix(in srgb,var(--vz-blue) 10%,var(--vz-card));--rw-notice-ink:var(--vz-blue);--rw-warning-paper:color-mix(in srgb,var(--vz-warning) 10%,var(--vz-card));--rw-warning-ink:var(--vz-warning);--rw-danger-paper:color-mix(in srgb,var(--vz-error) 10%,var(--vz-card));--rw-danger-ink:var(--vz-error);box-sizing:border-box;color:var(--rw-ink);background:var(--rw-paper);font:13px/1.4 var(--vz-font-body);font-variant-numeric:tabular-nums}
:where(html[data-route-layout="explorer"]) .route-weather-panel{position:fixed;z-index:1200;top:15px;border:1px solid var(--rw-line);border-radius:13px;box-shadow:var(--vz-shadow-popup);overflow:hidden}
:where(html[data-route-layout="explorer"]) .route-weather-panel[hidden],
:where(html[data-route-layout="explorer"]) .route-weather-panel [hidden],
:where(html[data-route-layout="explorer"]) .route-weather-sidebar[hidden]{display:none!important}
:where(html[data-route-layout="explorer"]) .route-weather-sidebar{position:fixed;z-index:1200;top:15px;bottom:15px;left:15px;display:flex;flex-direction:column;gap:12px;width:350px;min-height:0;pointer-events:none}
:where(html[data-route-layout="explorer"]) .route-weather-sidebar>.route-weather-panel{position:relative;inset:auto!important;width:100%!important;max-width:none!important;pointer-events:auto}
:where(html[data-route-layout="explorer"]) .route-weather-sidebar>.route-weather-planner{flex:0 1 auto;min-height:46px;max-height:calc(100% - 180px)}
:where(html[data-route-layout="explorer"]) .route-weather-overview{display:flex;flex-direction:column;min-height:0;font-family:var(--vz-font-body)}
:where(html[data-route-layout="explorer"]) .route-weather-sidebar>.route-weather-overview{flex:1;max-height:none}
:where(html[data-route-layout="explorer"]) .route-weather-sidebar>.route-weather-overview.is-collapsed{flex:0 0 auto;margin-top:auto}
:where(html[data-route-layout="explorer"]) .route-weather-overview>[data-weather-body]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;padding:0 12px 12px;overscroll-behavior:contain;scrollbar-width:thin}
:where(html[data-route-layout="explorer"]) .route-weather-planner{left:15px;right:auto;width:350px;max-height:calc(100dvh - 30px);display:flex;flex-direction:column}
:where(html[data-route-layout="explorer"]) .route-weather-list{right:15px;width:450px;max-height:calc(100dvh - 30px);display:flex;flex-direction:column}
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 13px 0 15px;flex:none}
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading h2{flex:1;min-width:0;margin:0;font:700 20px/1.2 var(--vz-font-heading)}
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading button:not(.mock-fold){display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--rw-line);border-radius:7px;background:transparent;color:inherit;cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-panel svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading .mock-fold svg{width:19px;height:19px;stroke:var(--vz-blue);stroke-width:2.2;transform:rotate(180deg)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-panel-heading .mock-fold svg{stroke:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-panel.is-collapsed .mock-fold svg{transform:none}
:where(html[data-route-layout="explorer"]) .route-weather-overview .mock-fold svg{transform:none}
:where(html[data-route-layout="explorer"]) .route-weather-overview.is-collapsed .mock-fold svg{transform:rotate(180deg)}
:where(html[data-route-layout="explorer"]) .route-weather-overview>.route-weather-panel-heading{min-height:40px}
:where(html[data-route-layout="explorer"]) .route-weather-overview>.route-weather-panel-heading h2{font-size:18px}
:where(html[data-route-layout="explorer"]) .route-weather-planner>[data-weather-body]{min-height:0;overflow:auto;padding:0 12px 12px;overscroll-behavior:contain;scrollbar-width:thin}
:where(html[data-route-layout="explorer"]) .route-weather-list>[data-weather-body]{min-height:0;overflow:auto;padding:0 12px 12px;overscroll-behavior:contain;scrollbar-width:thin}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:8px;align-items:end}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields label{display:grid;gap:4px;min-width:0;font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-start{grid-column:1/-1;display:grid;gap:5px;min-width:0;font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-departure{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px}
:where(html[data-route-layout="explorer"]) .route-weather-speed{grid-column:1}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields input,
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button{box-sizing:border-box;width:100%;height:36px;min-width:0;padding:5px 8px;border:1px solid var(--rw-line);border-radius:7px;background:var(--rw-paper);color:var(--rw-ink);font:13px var(--vz-font-body)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button{display:flex;gap:5px;align-items:center;justify-content:center;cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button[aria-pressed=true]{background:var(--vz-selection);color:var(--vz-blue);border-color:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-date-toggle{justify-content:flex-start;gap:8px;height:40px;padding:8px 10px;text-align:left}
:where(html[data-route-layout="explorer"]) .route-weather-date-toggle [data-weather-date-label]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .route-weather-date-short{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-date-toggle svg{flex:none;width:17px;height:17px}
:where(html[data-route-layout="explorer"]) .route-weather-date-toggle svg:last-child{width:15px;height:15px;transition:transform .15s}
:where(html[data-route-layout="explorer"]) .route-weather-date-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time{display:flex;align-items:center;gap:6px;box-sizing:border-box;height:40px;padding:0 8px;border:1px solid var(--rw-line);border-radius:7px;background:var(--rw-paper)}
:where(html[data-route-layout="explorer"]) .route-weather-time svg{flex:none;width:16px;height:16px;color:var(--rw-muted)}
:where(html[data-route-layout="explorer"]) .route-weather-time-face{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time input{width:100%;height:38px;padding:0;border:0;border-radius:0;background:transparent;font-variant-numeric:tabular-nums}
:where(html[data-route-layout="explorer"]) .route-weather-time input::-webkit-calendar-picker-indicator{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-time input::-webkit-datetime-edit,
:where(html[data-route-layout="explorer"]) .route-weather-time input::-webkit-datetime-edit-fields-wrapper{padding:0}
:where(html[data-route-layout="explorer"]) .route-weather-time input::-webkit-datetime-edit-hour-field,
:where(html[data-route-layout="explorer"]) .route-weather-time input::-webkit-datetime-edit-minute-field,
:where(html[data-route-layout="explorer"]) .route-weather-time input::-webkit-datetime-edit-ampm-field{padding:0}
:where(html[data-route-layout="explorer"]) .route-weather-time:focus-within{outline:2px solid var(--vz-blue);outline-offset:2px}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time input:focus-visible{outline:none}
:where(html[data-route-layout="explorer"]) .route-weather-calendar{box-sizing:border-box;grid-column:1/-1;min-width:0;margin-top:2px;padding:10px;border:1px solid var(--rw-line);border-radius:9px;background:var(--rw-paper);color:var(--rw-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-head strong{font-size:13px;text-align:center;text-transform:capitalize}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-head button{flex:none;width:32px;height:32px;padding:0;background:var(--rw-soft)}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-head svg{width:15px;height:15px}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-weekdays,
:where(html[data-route-layout="explorer"]) .route-weather-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-weekdays{margin-bottom:4px;font-size:10px;color:var(--rw-muted)}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-weekdays span{padding:3px 0}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-days button{height:36px;padding:0;border-color:transparent;background:transparent;font-size:12px;font-variant-numeric:tabular-nums}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-days button:not(:disabled):hover{background:var(--rw-soft)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-days button[data-today=true]{border-color:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-days button[aria-pressed=true]{border-color:var(--vz-blue);background:var(--vz-selection);color:var(--vz-blue);font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-calendar-shortcuts{display:flex;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--rw-line)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-shortcuts button{height:32px;padding:5px 8px;background:var(--rw-soft);font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-calendar button:disabled{opacity:.3;cursor:default}
:where(html[data-route-layout="explorer"]) .route-weather-panel :is(input,button,select):focus-visible,
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint button:focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
:where(html[data-route-layout="explorer"]) .route-weather-plan-meta{display:grid;gap:6px;margin-top:12px;color:var(--rw-muted);font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-stops-heading{font-size:11px;font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list{display:grid;gap:2px;margin:0;padding:0;list-style:none;overflow:visible}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list li{min-width:0}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;min-height:30px;padding:6px 9px;border:0;border-left:2px solid transparent;border-radius:5px;background:transparent;color:var(--rw-ink);font:12px/1.4 var(--vz-font-body);cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button:hover{background:var(--rw-soft)}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button[aria-pressed=true]{border-left-color:var(--vz-blue);background:var(--rw-soft)}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list strong{font-size:13px}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list time{color:var(--rw-muted);white-space:nowrap}
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button[aria-pressed=true] time{color:var(--rw-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-plan-meta [data-weather-journey]{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-map-status{margin:10px 0 0;font-size:12px;line-height:1.45}
:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-rain{color:var(--vz-blue);font-weight:700}:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-risk{color:var(--vz-warning);font-weight:700}:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-dry{color:var(--vz-success)}
:where(html[data-route-layout="explorer"]) .route-weather-map-status button{padding:2px 7px;border:1px solid var(--rw-line);border-radius:5px;background:var(--rw-paper);color:var(--rw-ink);font:inherit;cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-source{display:block;margin-top:10px;padding-top:8px;border-top:1px solid var(--rw-line);color:var(--rw-muted);font-size:11px;line-height:1.45}:where(html[data-route-layout="explorer"]) .route-weather-source a{color:inherit}
:where(html[data-route-layout="explorer"]) .route-weather-summary{padding:0;margin:0;border:0;background:var(--rw-paper);font-size:13px}
:where(html[data-route-layout="explorer"]) .route-weather-summary h3{margin:0;font-size:16px;line-height:1.3}:where(html[data-route-layout="explorer"]) .route-weather-summary p{margin:7px 0;line-height:1.5}
:where(html[data-route-layout="explorer"]) .route-weather-summary-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-bottom:5px}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-summary-period{display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin:0;color:var(--rw-muted);font-size:11px}
:where(html[data-route-layout="explorer"]) .route-weather-summary-period time{white-space:nowrap}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-summary-route,
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-summary-note{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-summary-metrics{display:grid;gap:4px;margin-top:5px}
:where(html[data-route-layout="explorer"]) .route-weather-summary-group{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:5px 8px;border:1px solid var(--rw-line);border-radius:8px;background:var(--rw-soft)}
:where(html[data-route-layout="explorer"]) .route-weather-summary-icon{display:flex;align-items:center;justify-content:center;color:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-summary-icon svg{width:18px;height:18px}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-summary-icon{color:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-summary-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:8px;min-width:0}
:where(html[data-route-layout="explorer"]) .route-weather-metric{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 4px;min-width:0;padding:0;border:0;background:transparent}
:where(html[data-route-layout="explorer"]) .route-weather-metric-label{font-size:11px;color:var(--rw-muted);line-height:1.35}
:where(html[data-route-layout="explorer"]) .route-weather-metric-value{font-size:15px;line-height:1.25;white-space:nowrap;font-weight:600;letter-spacing:-.2px}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-metric-value small{font-size:10px;font-weight:400;letter-spacing:0;color:inherit}
:where(html[data-route-layout="explorer"]) .route-weather-summary small{color:var(--rw-muted);font-size:11px}
:where(html[data-route-layout="explorer"]) .route-weather-recommendation{padding:6px 9px;border:0;border-left:2px solid var(--rw-ink);border-radius:0 7px 7px 0;background:var(--rw-soft);color:var(--reading-text,var(--rw-ink));font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-recommendation{margin:7px 0 0;line-height:1.4}
:where(html[data-route-layout="explorer"]) .route-weather-recommendation strong{font-size:inherit;color:var(--rw-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-alerts{display:flex;flex-wrap:wrap;gap:5px;padding:7px 8px;border-top:1px solid var(--rw-line)}
:where(html[data-route-layout="explorer"]) .route-weather-summary>.route-weather-alerts{border:0;padding:0}
:where(html[data-route-layout="explorer"]) .route-weather-summary-head>.route-weather-alerts{border:0;padding:0;gap:4px}
:where(html[data-route-layout="explorer"]) .route-weather-summary-head .route-weather-alert{padding:3px 6px;font-size:11px;line-height:1.3;box-shadow:none}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-metric:is(.is-notice,.is-warning,.is-danger){background:transparent;box-shadow:none;color:var(--rw-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-metric.is-notice .route-weather-metric-value{color:var(--rw-notice-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-metric.is-warning .route-weather-metric-value{color:var(--rw-warning-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-metric.is-danger .route-weather-metric-value{color:var(--rw-danger-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-overview .route-weather-source{margin-top:auto;padding-top:6px;font-size:10px;line-height:1.3}
:where(html[data-route-layout="explorer"]) .route-weather-alert{display:inline-flex;align-items:center;border-radius:5px;padding:4px 7px;font-size:12px;font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings{margin-top:4px;font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings>summary{display:flex;align-items:center;gap:7px;min-height:22px;color:var(--rw-muted);font-size:11px;list-style:none;cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings>summary::-webkit-details-marker{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings>summary::before{content:'';flex:none;width:5px;height:5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings[open]>summary::before{transform:rotate(135deg)}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings>summary:focus-visible{outline:2px solid var(--vz-blue);outline-offset:1px;border-radius:4px}
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings p{padding:5px 7px;margin:4px 0;border-radius:5px;font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-rows{display:grid;gap:12px}
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint{min-width:0;width:100%;padding:0;border:1px solid var(--rw-line);border-radius:8px;overflow:hidden}
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint.is-selected{border-color:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint>header{display:flex;align-items:center;gap:5px;min-height:39px;box-sizing:border-box;padding:6px 8px;border-bottom:1px solid var(--rw-line)}
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint.is-selected>header{background:var(--rw-soft)}
:where(html[data-route-layout="explorer"]) .route-weather-cp-select{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:1px 0;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-cp-select strong{font-size:14px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .route-weather-cp-select>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-cp-select small{white-space:nowrap;font-size:11px;color:var(--rw-muted)}
:where(html[data-route-layout="explorer"]) .route-weather-extend{display:grid;place-items:center;flex:none;width:27px;height:27px;padding:0;border:1px solid var(--rw-line);border-radius:6px;background:var(--rw-paper);color:inherit;cursor:pointer}
:where(html[data-route-layout="explorer"]) .route-weather-extend:not(:disabled):hover{background:var(--rw-soft);border-color:var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-extend svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}:where(html[data-route-layout="explorer"]) .route-weather-extend:disabled{opacity:.35;cursor:default}
:where(html[data-route-layout="explorer"]) .route-weather-hours{overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}
:where(html[data-route-layout="explorer"]) .route-weather-panel>[data-weather-body],
:where(html[data-route-layout="explorer"]) .route-weather-hours{scrollbar-color:var(--vz-blue) transparent}
:where(html[data-route-layout="explorer"]) .route-weather-panel>[data-weather-body]::-webkit-scrollbar,
:where(html[data-route-layout="explorer"]) .route-weather-hours::-webkit-scrollbar{width:7px;height:7px}
:where(html[data-route-layout="explorer"]) .route-weather-panel>[data-weather-body]::-webkit-scrollbar-thumb,
:where(html[data-route-layout="explorer"]) .route-weather-hours::-webkit-scrollbar-thumb{background:var(--vz-blue);border-radius:8px}
:where(html[data-route-layout="explorer"]) .route-weather-panel>[data-weather-body]::-webkit-scrollbar-track,
:where(html[data-route-layout="explorer"]) .route-weather-hours::-webkit-scrollbar-track{background:transparent}
:where(html[data-route-layout="explorer"]) .route-weather-panel>[data-weather-body]::-webkit-scrollbar-button,
:where(html[data-route-layout="explorer"]) .route-weather-hours::-webkit-scrollbar-button{display:none}
:where(html[data-route-layout="explorer"]) .route-weather-hours::-webkit-scrollbar-corner{background:transparent}
:where(html[data-route-layout="explorer"]) .route-weather-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:400px;font-size:14px;text-align:center}
:where(html[data-route-layout="explorer"]) .route-weather-table :is(th,td){box-sizing:border-box;min-width:64px;padding:6px 3px;border-bottom:1px solid var(--rw-line);border-right:1px solid var(--rw-line);vertical-align:middle;line-height:1.2}
:where(html[data-route-layout="explorer"]) .route-weather-table tr:last-child>*{border-bottom:0}:where(html[data-route-layout="explorer"]) .route-weather-table tr>*:last-child{border-right:0}
:where(html[data-route-layout="explorer"]) .route-weather-table tr>th:first-child{position:sticky;left:0;z-index:2;width:80px;text-align:left;padding-left:8px;background:var(--rw-paper);font-size:11px}
:where(html[data-route-layout="explorer"]) .route-weather-table th{font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-table thead th{height:60px;font-size:12px}
:where(html[data-route-layout="explorer"]) .route-weather-table time{display:block;font-size:14px;font-weight:700;margin-top:3px}
:where(html[data-route-layout="explorer"]) .route-weather-table :is(th,td)>small,
:where(html[data-route-layout="explorer"]) .route-weather-table time small{display:block;font-size:11px;font-weight:400;color:var(--rw-muted);margin-top:3px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .route-weather-table td strong{font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-table td>small{white-space:normal}
:where(html[data-route-layout="explorer"]) .route-weather-table .is-arrival{background:var(--rw-soft);box-shadow:inset 1px 0 var(--vz-blue),inset -1px 0 var(--vz-blue)}
:where(html[data-route-layout="explorer"]) .route-weather-temperature{display:flex;align-items:center;justify-content:center;gap:3px;font-size:20px;white-space:nowrap}
:where(html[data-route-layout="explorer"]) .route-weather-sky{display:flex;align-items:center;color:#65829d}:where(html[data-route-layout="explorer"]) .route-weather-sky.is-sun{color:#9a6900}:where(html[data-route-layout="explorer"]) .route-weather-sky.is-rain{color:#1670ac}:where(html[data-route-layout="explorer"]) .route-weather-sky.is-storm{color:#a11c30}:where(html[data-route-layout="explorer"]) .route-weather-sky svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .route-weather-wind{display:flex;align-items:center;justify-content:center;white-space:nowrap;gap:3px;font-size:13px}
:where(html[data-route-layout="explorer"]) .route-weather-wind i{display:flex;align-items:center;transform:rotate(var(--wind-turn))}:where(html[data-route-layout="explorer"]) .route-weather-wind svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
:where(html[data-route-layout="explorer"]) .route-weather-table :is(td,th).is-notice,
:where(html[data-route-layout="explorer"]) .route-weather-summary .is-notice,
:where(html[data-route-layout="explorer"]) .route-weather-alert.is-notice,
:where(html[data-route-layout="explorer"]) .route-weather-mobile-table td.is-notice{background:var(--rw-notice-paper);color:var(--rw-notice-ink)}
:where(html[data-route-layout="explorer"]) .route-weather-table :is(td,th).is-warning,
:where(html[data-route-layout="explorer"]) .route-weather-summary .is-warning,
:where(html[data-route-layout="explorer"]) .route-weather-alert.is-warning,
:where(html[data-route-layout="explorer"]) .route-weather-mobile-table td.is-warning{background:var(--rw-warning-paper);color:var(--rw-warning-ink);box-shadow:inset 0 -2px #be8500}
:where(html[data-route-layout="explorer"]) .route-weather-table :is(td,th).is-danger,
:where(html[data-route-layout="explorer"]) .route-weather-summary .is-danger,
:where(html[data-route-layout="explorer"]) .route-weather-alert.is-danger,
:where(html[data-route-layout="explorer"]) .route-weather-mobile-table td.is-danger{background:var(--rw-danger-paper);color:var(--rw-danger-ink);box-shadow:inset 0 -3px currentColor}
:where(html[data-route-layout="explorer"]) .route-weather-summary-head .route-weather-alert:is(.is-warning,.is-danger){box-shadow:none}
:where(html[data-route-layout="explorer"]) .route-weather-table :is(td,th):is(.is-warning,.is-danger)>small,
:where(html[data-route-layout="explorer"]) .route-weather-mobile-table td:is(.is-warning,.is-danger)>small{color:inherit;font-weight:700}
:where(html[data-route-layout="explorer"]) .route-weather-mobile-table,
:where(html[data-route-layout="explorer"]) .route-weather-hour-strip,
:where(html[data-route-layout="explorer"]) .route-weather-hour-units{display:none}
:where(html[data-route-layout="explorer"]) [data-route-weather-toggle][aria-pressed=true]{color:var(--vz-blue)!important;background:var(--vz-selection)!important}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-panel{box-shadow:var(--vz-shadow-popup)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-plan-fields input{color-scheme:dark}.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button[aria-pressed=true]{background:var(--vz-selection);color:var(--vz-blue);border-color:var(--vz-blue)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-days button[aria-pressed=true]{background:var(--vz-selection);color:var(--vz-blue);border-color:var(--vz-blue)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-rain{color:var(--vz-blue)}.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-risk{color:var(--vz-warning)}.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-dry{color:var(--vz-success)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-checkpoint.is-selected{border-color:var(--vz-blue)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-focus-list button[aria-pressed=true]{border-left-color:var(--vz-blue);background:var(--vz-selection)}
.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-sky{color:#aec7df}.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-sky.is-sun{color:#ffda70}.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-sky.is-rain{color:#93ceff}.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-sky.is-storm{color:#ffb8c4}
.theme-dark:where(html[data-route-layout="explorer"]) [data-route-weather-toggle][aria-pressed=true]{color:var(--vz-blue)!important;background:var(--vz-selection)!important}
/* Preserve the original toolbar anchor in every panel/weather state. */
html[data-profile-menu-only="true"].mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls{width:326px!important}
.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls .mock-toolbar-weather{position:relative;display:grid;place-items:center;flex:none;width:46px;height:39px;margin:0;padding:0;border:0;border-left:1px solid var(--vz-line);border-radius:0;background:transparent;color:var(--vz-blue);box-shadow:none;cursor:pointer}
:where(html[data-route-layout="explorer"]) .mock-toolbar-weather svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-route-layout="explorer"]) .mock-toolbar-weather:focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
.theme-dark:where(html[data-route-layout="explorer"]) .mock-toolbar-weather{border-color:var(--vz-line)!important;color:var(--vz-blue)!important}
@media(min-width:768px){
 html.mock-route-compact-toolbar:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-top-tools{position:fixed!important;top:12px!important;left:calc(100vw - 338px)!important;right:auto!important;bottom:auto!important;display:block!important;width:326px!important;height:43px!important;margin:0!important;transform:none!important;z-index:1300!important}
 html.mock-route-compact-toolbar:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-top-tools .mock-map-controls{position:static!important;inset:auto!important;transform:none!important}
 html.route-weather-active:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-explorer>.mock-panel,
html.route-weather-active:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-explorer>.mock-login{visibility:hidden!important;pointer-events:none!important}
 html.route-weather-active:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-explorer{height:100dvh!important;min-height:0!important;overflow:hidden!important}
}
@media(min-width:1230px){
 html.mock-route-compact-toolbar:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .mock-top-tools{top:calc(36px + var(--route-gap,15px))!important;left:50vw!important;right:auto!important;transform:translateX(-50%)!important}
}
@media(min-width:1280px){:where(html[data-route-layout="explorer"]) .route-weather-planner,
:where(html[data-route-layout="explorer"]) .route-weather-sidebar{left:106px}}
@media(min-width:1230px) and (max-width:1399px){:where(html[data-route-layout="explorer"]) .route-weather-list{top:110px;max-height:calc(100dvh - 125px)}}
@media(min-width:768px) and (max-width:1229px){:where(html[data-route-layout="explorer"]) .route-weather-list{top:75px;max-height:calc(100dvh - 90px);width:min(500px,calc(50vw - 25px))}}
@media(min-width:768px) and (max-width:1059px){
 html:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .route-weather-panel{max-width:calc(50vw - 25px)}
 :where(html[data-route-layout="explorer"]) .route-weather-sidebar{top:75px;max-width:calc(50vw - 25px)}
 :where(html[data-route-layout="explorer"]) .route-weather-planner{top:75px;max-height:calc(100dvh - 90px)}
}
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings]{min-height:40px;margin-bottom:12px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-sidebar{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-mobile-panels[hidden]{display:none!important}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-panel{position:relative;inset:auto;width:100%;max-width:none;max-height:none;box-shadow:none;border-radius:10px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-panel-heading{min-height:38px;padding:0 10px;gap:8px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-panel-heading h2{font-size:18px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings] .route-weather-planner{z-index:8;overflow:visible;inset:auto!important;width:100%!important;max-width:none!important;border:0;border-radius:0;background:transparent}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings] .route-weather-planner>.route-weather-panel-heading,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings] .route-weather-plan-meta,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings] .route-weather-source,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings] .route-weather-map-status{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings] .route-weather-planner>[data-weather-body]{display:block!important;overflow:visible;padding:0}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields{position:relative;grid-template-columns:minmax(0,1fr) 92px 62px 36px;gap:6px;align-items:center;min-height:40px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-start,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-departure{display:contents}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-start>[data-weather-start-label]{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-date-long{display:none}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-date-short{display:inline}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields label{font-size:11px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields input,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button{height:40px;padding:6px;font-size:13px;border-radius:7px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button{gap:5px;font-size:12px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button svg{width:16px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-date-toggle{gap:5px;padding:6px 8px;font-weight:700}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-date-toggle svg:last-child{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time{position:relative;justify-content:center;padding:0;min-width:0}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-time svg{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-time-face{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:var(--rw-ink);font:600 14px/1 var(--vz-font-body);font-variant-numeric:tabular-nums;letter-spacing:.1px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time input{height:38px;flex:1;width:100%;min-width:0;max-width:100%;padding:0 6px;font-size:14px;font-weight:600;opacity:0}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-time:focus-within .route-weather-time-face{visibility:hidden}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time input:focus{opacity:1}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-speed{position:relative;display:block;grid-column:auto}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed>span{position:absolute;z-index:1;top:50%;right:5px;transform:translateY(-50%);color:var(--rw-muted);font-size:0;pointer-events:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed>span::after{content:'км/ч';font-size:9px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed input{padding:6px 27px 6px 7px;font-weight:700;appearance:textfield;-moz-appearance:textfield}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed input::-webkit-inner-spin-button,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields [data-weather-reverse]{padding:0}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields [data-weather-reverse]>span{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields [data-weather-reverse] svg{width:19px;height:19px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-calendar{position:absolute;z-index:30;inset:auto;top:calc(100% + 7px);left:0;width:min(100%,340px);margin:0;padding:10px;box-shadow:var(--vz-shadow-popup)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-days button{height:38px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary]{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--vz-blue) transparent}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary]::-webkit-scrollbar{width:5px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary]::-webkit-scrollbar-thumb{background:var(--vz-blue);border-radius:6px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary]::-webkit-scrollbar-track{background:transparent}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary] .route-weather-overview{inset:auto!important;width:100%!important;max-width:none!important;border:0;border-radius:0}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-settings="map"]{margin-bottom:7px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary] .route-weather-overview>.route-weather-panel-heading{padding:0 0 4px;min-height:25px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary] .route-weather-overview>.route-weather-panel-heading h2{font-size:18px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary] .route-weather-overview .mock-fold{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) [data-mobile-weather-summary] .route-weather-overview>[data-weather-body]{display:block!important;padding:0;overflow:visible}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-summary{padding:0;margin:0}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-summary-head{margin-bottom:4px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-summary-metrics{gap:4px;margin-top:4px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-metric-value{font-size:15px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-summary .route-weather-recommendation{margin-top:7px;padding:6px 9px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-overview .route-weather-source{margin-top:7px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hours,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-mobile-table{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-strip{display:flex;gap:4px;box-sizing:border-box;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--vz-blue) transparent;padding:0 0 3px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-strip::-webkit-scrollbar{height:3px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-strip::-webkit-scrollbar-thumb{border-radius:4px;background:var(--vz-blue)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-strip:focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px;border-radius:7px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour{box-sizing:border-box;flex:0 0 calc((100% - 16px)/5);min-width:0;padding:5px 2px 6px;scroll-snap-align:start;text-align:center;font-size:11px;line-height:1.3;background:var(--rw-soft);border:1px solid transparent;border-radius:7px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour.is-arrival{border-color:var(--vz-blue);background:var(--rw-notice-paper);box-shadow:inset 0 2px var(--vz-blue)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour.has-warning:not(.is-arrival){background:var(--rw-warning-paper);border-color:color-mix(in srgb,var(--rw-warning-ink) 16%,transparent)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour.has-danger:not(.is-arrival){background:var(--rw-danger-paper);border-color:color-mix(in srgb,var(--rw-danger-ink) 16%,transparent)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-label{display:block;min-height:14px;font-size:10px;white-space:nowrap;color:var(--rw-muted)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour.is-arrival .route-weather-hour-label{color:var(--rw-ink);font-weight:700}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-time{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:2px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour time{display:block;font-size:12px;line-height:1.25;font-weight:700;white-space:nowrap}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-sky svg{width:14px;height:14px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-temperature{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px;margin:5px 0}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-temperature{margin:0;font-size:17px;line-height:1.2}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-feels,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-gust{white-space:nowrap;font-size:9px;color:var(--rw-muted)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-wind{gap:2px;font-size:11px;white-space:nowrap}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-wind svg{width:10px;height:10px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-gust{display:block;margin-top:1px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-rain{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:5px;min-width:0;font-size:10px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-precip{white-space:nowrap;font-size:inherit}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-probability{white-space:nowrap;font-size:inherit;color:var(--rw-muted)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-rain:is(.is-warning,.is-danger) .route-weather-hour-probability{color:inherit}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour :is(.is-notice,.is-warning,.is-danger){border-radius:0}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .is-notice{color:var(--rw-notice-ink)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .is-warning{background:transparent;color:var(--rw-warning-ink);box-shadow:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .is-danger{background:transparent;color:var(--rw-danger-ink);box-shadow:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-units{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 6px;margin:4px 0 0;padding:0 2px;color:var(--rw-muted);font-size:9px;line-height:1.3}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-checkpoint{padding:0 7px 6px;border-radius:10px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-checkpoint>header{min-height:38px;margin:0 -7px 5px;padding:4px 7px;gap:5px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-checkpoint.is-selected>header{box-shadow:inset 3px 0 var(--vz-blue)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-cp-select strong{font-size:13px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-cp-select>span{font-size:12px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-cp-select small{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-extend{width:28px;height:28px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-alerts{padding:6px 0 0;gap:4px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-alert{font-size:11px;padding:4px 5px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-loading{padding:10px;color:var(--rw-muted)}
 html.mock-has-mobile.theme-dark:where(html[data-route-layout="explorer"]) .route-weather-calendar{box-shadow:var(--vz-shadow-popup)}
}
@media(max-width:359px){
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields{grid-template-columns:minmax(0,1fr) 92px 56px 34px;gap:4px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed input{padding-left:5px;padding-right:25px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-speed>span{right:3px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour{font-size:10px;padding-left:1px;padding-right:1px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-label{font-size:9px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour time{font-size:11px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-temperature{gap:1px;font-size:16px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-sky svg{width:13px;height:13px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-wind{font-size:10px;gap:1px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour .route-weather-wind svg{width:9px;height:9px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-feels,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-gust,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-hour-rain{font-size:9px}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-summary-group{grid-template-columns:minmax(0,1fr)}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-summary-icon{display:none}
 html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-metric-value{font-size:14px}html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-calendar{padding:7px}
}
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading button.route-weather-menu{display:none}
@media(min-width:768px) and (max-width:1279px){html:not(.mock-has-mobile):where(html[data-route-layout="explorer"]) .route-weather-panel-heading .route-weather-menu{display:grid}}

:where(html[data-route-layout="explorer"]) .route-weather-table tr>th:first-child>small{white-space:normal}

:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-notice{color:var(--rw-notice-ink);font-weight:700}:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-warning{color:var(--rw-warning-ink);background:var(--rw-warning-paper);padding:6px;border-radius:5px;font-weight:700}:where(html[data-route-layout="explorer"]) .route-weather-map-status.is-danger{color:var(--rw-danger-ink);background:var(--rw-danger-paper);padding:6px;border-radius:5px;font-weight:700}

/* Shared control geometry and text hierarchy; forecast colors keep their meaning. */
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading h2,
:where(html[data-route-layout="explorer"]) .route-weather-summary h3{ color:var(--vz-blue);font-family:var(--vz-font-heading); }
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields :is(input,button),
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-date-toggle,
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time{ height:var(--vz-compact-height);border-radius:var(--vz-compact-radius); }
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time input{ height:calc(var(--vz-compact-height) - 2px);border:0;border-radius:0; }
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields button,
:where(html[data-route-layout="explorer"]) .route-weather-cp-select,
:where(html[data-route-layout="explorer"]) .route-weather-extend,
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button{ color:var(--vz-blue); }
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields label{ color:var(--vz-muted); }
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields input{ color:var(--vz-copy); }
:where(html[data-route-layout="explorer"]) .route-weather-calendar{ border-radius:var(--vz-card-radius); }
:where(html[data-route-layout="explorer"]) .route-weather-checkpoint{ border-radius:var(--vz-card-radius);box-shadow:none; }
:where(html[data-route-layout="explorer"]) .route-weather-panel-heading button:not(.mock-fold),
:where(html[data-route-layout="explorer"]) .route-weather-extend{ width:32px;height:32px;border-radius:var(--vz-compact-radius); }
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button,
:where(html[data-route-layout="explorer"]) .route-weather-map-status button,
:where(html[data-route-layout="explorer"]) .route-weather-window-warnings>summary{ min-height:32px; }
:where(html[data-route-layout="explorer"]) .route-weather-focus-list button[aria-pressed=true]{ background:var(--vz-selection);color:var(--vz-blue); }
:where(html[data-route-layout="explorer"]) .route-weather-panel .route-weather-time input:focus-visible{ outline:none; }
:where(html[data-route-layout="explorer"]) .route-weather-plan-fields input::placeholder{ color:var(--vz-muted);opacity:1; }
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields{ grid-template-columns:minmax(0,1fr) 92px 62px 44px;min-height:44px; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields :is(input,button),
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time{ height:44px;border-radius:var(--vz-control-radius); }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-time input{ height:42px;border-radius:0; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-days button,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-head button{ height:44px;min-width:44px; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields .route-weather-calendar-head button{ width:44px; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-calendar{ width:calc(100vw - 16px);max-width:400px;transform:none;padding:8px; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-calendar-days,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-calendar-weekdays{ gap:0; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-checkpoint{ border-radius:var(--vz-card-radius); }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) :is(.route-weather-cp-select,.route-weather-focus-list button,.route-weather-map-status button,.route-weather-window-warnings>summary){ min-height:44px; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-extend,
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-panel-heading button:not(.mock-fold){ width:44px;height:44px; }
}
@media(max-width:359px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields{ grid-template-columns:minmax(0,1fr) 84px 56px 44px;gap:4px; }
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-calendar{ width:100vw;padding:6px 3px; }
}

:where(html[data-route-layout="explorer"]) .route-weather-plan-fields :is(input,button),
:where(html[data-route-layout="explorer"]) .route-weather-panel .route-weather-time-face{ font-size:var(--vz-compact-font-size,12px); }
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields :is(input,button),
html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-time-face{ font-size:var(--vz-control-font-size,14px); }
}

@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) .route-weather-plan-fields :is(.route-weather-calendar-days,.route-weather-calendar-head,.route-weather-calendar-shortcuts) button{ font-size:var(--vz-control-font-size,14px); }
}

@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html.mock-has-mobile:where(html[data-route-layout="explorer"]) :is(.route-weather-focus-list button,.route-weather-map-status button,.route-weather-window-warnings>summary,.route-weather-cp-select strong,.route-weather-cp-select>span){ font-size:var(--vz-control-font-size,14px); }
}


/* Source: public/assets/route-explorer/profile-menu-only.css; explorer only */
/* Six map controls, with profile access in the shared menu. */
html[data-profile-menu-only="true"].mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-map-controls{width:280px}
@media(min-width:768px) and (max-width:1229px){
  html[data-profile-menu-only="true"].mock-route-explorer.mock-route-compact-toolbar:where(html[data-route-layout="explorer"]) .mock-top-tools{width:280px}
}


/* Source: public/favorites.css; routes only */
:where(html[data-vz-route-style="single"]) .vz-save-page{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:10px;padding:5px;border:0;background:transparent;color:var(--route-blue-text,var(--nav-accent,#123b6d));vertical-align:middle;cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-save-page svg,
:where(html[data-vz-route-style="single"]) .vz-favorites-list svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-vz-route-style="single"]) .vz-save-page.is-active svg,
:where(html[data-vz-route-style="single"]) .vz-favorites-list .is-active svg{fill:color-mix(in srgb,var(--vz-current-fill) 15%,transparent);stroke:var(--vz-current-fill)}
:where(html[data-vz-route-style="single"]) .atlas-mobile-head h1>.vz-save-page{width:24px;height:28px;padding:3px;margin-left:5px}:where(html[data-vz-route-style="single"]) .atlas-mobile-head h1>.vz-save-page svg{width:18px;height:18px}
:where(html[data-vz-route-style="single"]) .vz-favorites-list{--fav-ink:var(--vz-blue);--fav-copy:var(--vz-copy);--fav-paper:var(--vz-card);--fav-line:var(--vz-line);color:var(--fav-copy);font:400 13px/1.5 Manrope,"Segoe UI",Arial,sans-serif}
:where(html[data-vz-route-style="single"]) .vz-favorites-list ul{margin:0;padding:0;list-style:none}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--fav-line);transition:background .15s}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li:last-child{border-bottom:0}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li>a{display:flex;flex:1;min-width:0;gap:12px;align-items:center;color:var(--fav-ink);text-decoration:none;padding:2px 0}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li>a>svg{flex:none}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li>a>span:not(.vz-favorites-symbol):not(.vz-favorites-arrow){flex:1;min-width:0}
:where(html[data-vz-route-style="single"]) .vz-favorites-list strong{display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.4}:where(html[data-vz-route-style="single"]) .vz-favorites-list small{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:5px;color:var(--vz-muted);font-size:11px;line-height:1.4}
:where(html[data-vz-route-style="single"]) .vz-favorites-symbol{--favorite-route-color:var(--fav-ink);display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;color:var(--favorite-route-color);background:color-mix(in srgb,var(--favorite-route-color) 10%,var(--fav-paper))}
:where(html[data-vz-route-style="single"]) .vz-favorites-symbol svg{width:23px;height:23px;stroke-width:1.9}:where(html[data-vz-route-style="single"]) .vz-favorites-arrow{display:grid;place-items:center;flex:none;width:20px}:where(html[data-vz-route-style="single"]) .vz-favorites-arrow svg{width:17px;height:17px}
:where(html[data-vz-route-style="single"]) .vz-favorites-kind{padding:2px 7px;border-radius:4px;background:#edf2f7;color:#4c6078}:where(html[data-vz-route-style="single"]) .vz-favorites-kind[data-category="tourism"]{background:#d8f5e8;color:#286854}:where(html[data-vz-route-style="single"]) .vz-favorites-kind[data-category="contemplation"]{background:#ede5fc;color:#736096}:where(html[data-vz-route-style="single"]) .vz-favorites-kind[data-category="thematic"]{background:#ffebd3;color:#9a6328}
:root[data-theme="dark"]:where(html[data-vz-route-style="single"]) .vz-favorites-kind{background:#142535;color:#a1b5cf}:root[data-theme="dark"]:where(html[data-vz-route-style="single"]) .vz-favorites-kind[data-category="tourism"]{background:#12382d;color:#87cbb0}:root[data-theme="dark"]:where(html[data-vz-route-style="single"]) .vz-favorites-kind[data-category="contemplation"]{background:#2e2541;color:#b9a6da}:root[data-theme="dark"]:where(html[data-vz-route-style="single"]) .vz-favorites-kind[data-category="thematic"]{background:#3c2d1a;color:#e0b57d}
:where(html[data-vz-route-style="single"]) .vz-favorites-section{margin:0 0 24px}:where(html[data-vz-route-style="single"]) .vz-favorites-section>h2{display:flex;align-items:center;gap:9px;margin:0 0 10px;color:var(--fav-ink);font:700 23px/1.3 "Times New Roman",serif}:where(html[data-vz-route-style="single"]) .vz-favorites-section>h2>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 4px;box-sizing:border-box;border-radius:50%;background:color-mix(in srgb,var(--fav-ink) 8%,transparent);font:500 11px/1 Manrope,Arial,sans-serif}
:where(html[data-vz-route-style="single"]) .vz-favorites-section>ul{overflow:hidden;border:1px solid var(--fav-line);border-radius:var(--vz-card-radius);background:var(--fav-paper)}
:where(html[data-vz-route-style="single"]) .vz-favorites-section[data-favorite-group="points"] strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li>button{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:7px;border:0;border-radius:10px;background:transparent;cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li>button:hover{background:color-mix(in srgb,var(--fav-ink) 8%,transparent)}
:where(html[data-vz-route-style="single"]) .vz-favorites-list li>button[aria-busy="true"]{opacity:.5;cursor:progress}
:where(html[data-vz-route-style="single"]) .vz-favorites-empty{margin:8px 0 20px;max-width:440px}:where(html[data-vz-route-style="single"]) .vz-favorites-login-link{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--vz-control-height);padding:9px 16px;border:1px solid var(--fav-line);border-radius:var(--vz-control-radius);background:var(--fav-paper);color:var(--fav-ink);text-decoration:none;font:600 var(--vz-control-font-size)/1.5 var(--vz-font-body);cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-favorites-login-link:hover{background:color-mix(in srgb,var(--fav-ink) 6%,var(--fav-paper))}:where(html[data-vz-route-style="single"]) .vz-favorites-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px;border:1px solid var(--fav-line);border-radius:var(--vz-card-radius);background:var(--fav-paper)}:where(html[data-vz-route-style="single"]) .vz-favorites-state h2{margin:18px 0 0;color:var(--fav-ink);font:700 25px/1.25 "Times New Roman",serif}:where(html[data-vz-route-style="single"]) .vz-favorites-state-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:color-mix(in srgb,var(--fav-ink) 7%,transparent);color:var(--fav-ink)}:where(html[data-vz-route-style="single"]) .vz-favorites-state-icon svg{width:38px;height:38px;stroke-width:1.2}:where(html[data-vz-route-style="single"]) .vz-favorites-no-results{padding:24px 16px;border:1px solid var(--fav-line);border-radius:var(--vz-card-radius);background:var(--fav-paper);text-align:center}
:where(html[data-vz-route-style="single"]) .vz-favorites-list :is(a,button):focus-visible,
:where(html[data-vz-route-style="single"]) .favorites-page :is(a,button,input):focus-visible{outline:2px solid var(--fav-ink,var(--route-blue-text));outline-offset:2px}
:where(html[data-vz-route-style="single"]) .vz-favorite-login{box-sizing:border-box;width:min(380px,calc(100vw - 32px));padding:24px;border:1px solid var(--vz-line);border-radius:var(--vz-card-radius);background:var(--vz-card);color:var(--vz-copy);box-shadow:var(--vz-shadow-popup);font:400 14px/1.6 Manrope,"Segoe UI",Arial,sans-serif}
:where(html[data-vz-route-style="single"]) .vz-favorite-login::backdrop{background:#07152488}:where(html[data-vz-route-style="single"]) .vz-favorite-login h2{margin:0 0 12px;color:var(--vz-blue);font:700 24px/1.2 "Times New Roman",serif}:where(html[data-vz-route-style="single"]) .vz-favorite-login p{margin:0 0 20px}
:where(html[data-vz-route-style="single"]) .vz-favorite-login>div{display:flex;justify-content:flex-end;gap:10px}:where(html[data-vz-route-style="single"]) .vz-favorite-login button,
:where(html[data-vz-route-style="single"]) .vz-favorite-login a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--vz-control-height);padding:7px 12px;border:1px solid var(--vz-line);border-radius:var(--vz-control-radius);background:var(--vz-card);color:var(--vz-blue);text-decoration:none;font:inherit;cursor:pointer}:where(html[data-vz-route-style="single"]) .vz-favorite-login a{background:var(--vz-blue);border-color:var(--vz-blue);color:var(--vz-on-accent)}
:where(html[data-vz-route-style="single"]) .vz-favorite-status:not(:empty){position:fixed;z-index:12000;bottom:90px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 24px);margin:0;padding:10px 16px;border-radius:var(--vz-card-radius);background:var(--vz-blue);color:var(--vz-on-accent);font:400 13px/1.5 Manrope,Arial,sans-serif;box-shadow:var(--vz-shadow-popup)}
:where(html[data-vz-route-style="single"]) .favorites-page{--route-blue-text:var(--vz-blue);--favorites-line:var(--vz-line);--favorites-paper:var(--vz-card);background:var(--vz-page);color:var(--vz-copy);font:400 14px/1.6 Manrope,"Segoe UI",Arial,sans-serif}
:where(html[data-vz-route-style="single"]) .favorites-page body{margin:0}:where(html[data-vz-route-style="single"]) .favorites-page main{box-sizing:border-box;margin-left:92px;padding:24px clamp(20px,4vw,70px) 45px;max-width:1100px}:where(html[data-vz-route-style="single"]) .favorites-page h1{margin:0;font:700 30px/1.3 "Times New Roman",serif;color:var(--route-blue-text)}
:where(html[data-vz-route-style="single"]) .favorites-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}:where(html[data-vz-route-style="single"]) .favorites-page-header button{display:grid;place-items:center;width:40px;height:40px;padding:9px;border:1px solid var(--vz-line);border-radius:10px;background:transparent;color:var(--route-blue-text);cursor:pointer}:where(html[data-vz-route-style="single"]) .favorites-page-header button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}:where(html[data-vz-route-style="single"]) .favorites-page-header [popovertarget]{display:none}
:where(html[data-vz-route-style="single"]) .favorites-page.theme-dark .favorites-page-header button{border-color:var(--favorites-line)}
:where(html[data-vz-route-style="single"]) .favorites-page-intro{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:-8px 0 22px;font-size:13px}:where(html[data-vz-route-style="single"]) .favorites-page-intro p{margin:0}:where(html[data-vz-route-style="single"]) .favorites-page-intro>span{flex:none;font-size:11px;color:var(--route-blue-text)}
:where(html[data-vz-route-style="single"]) .favorites-toolbar{display:grid;gap:14px;margin-bottom:24px}:where(html[data-vz-route-style="single"]) .favorites-toolbar[hidden]{display:none}:where(html[data-vz-route-style="single"]) .favorites-tabs{display:flex;flex-wrap:wrap;gap:6px}:where(html[data-vz-route-style="single"]) .favorites-tabs button{box-sizing:border-box;min-height:var(--vz-control-height);display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid transparent;border-radius:var(--vz-control-radius);background:transparent;color:var(--route-blue-text);font:500 var(--vz-control-font-size)/1.4 var(--vz-font-body);cursor:pointer}:where(html[data-vz-route-style="single"]) .favorites-tabs button[aria-pressed="true"]{border-color:var(--route-blue-text);background:var(--vz-selection);color:var(--route-blue-text);font-weight:700}:where(html[data-vz-route-style="single"]) .favorites-tabs button:hover:not([aria-pressed="true"]){background:color-mix(in srgb,var(--route-blue-text) 6%,transparent)}:where(html[data-vz-route-style="single"]) .favorites-tabs span{font-size:10px;opacity:.8}:where(html[data-vz-route-style="single"]) .favorites-search{display:flex;align-items:center;gap:9px;box-sizing:border-box;height:var(--vz-control-height);min-height:var(--vz-control-height);padding:0 12px;border:1px solid var(--favorites-line);border-radius:var(--vz-control-radius);background:var(--favorites-paper);color:var(--vz-copy)}:where(html[data-vz-route-style="single"]) .favorites-search>svg,
:where(html[data-vz-route-style="single"]) .favorites-search button svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}:where(html[data-vz-route-style="single"]) .favorites-search input{width:100%;min-width:0;height:100%;padding:0;border:0;background:transparent;color:inherit;font:400 var(--vz-control-font-size)/1.4 var(--vz-font-body);outline:none}:where(html[data-vz-route-style="single"]) .favorites-search input::-webkit-search-cancel-button{display:none}:where(html[data-vz-route-style="single"]) .favorites-search input::placeholder{color:var(--vz-muted);opacity:1}:where(html[data-vz-route-style="single"]) .favorites-search button{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:4px;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer}:where(html[data-vz-route-style="single"]) .favorites-search button[hidden]{display:none}:where(html[data-vz-route-style="single"]) .favorites-search:has(input:focus-visible){outline:2px solid var(--route-blue-text);outline-offset:2px}:where(html[data-vz-route-style="single"]) .favorites-search input:focus-visible{outline:none}
@media(max-width:1279px){:where(html[data-vz-route-style="single"]) .favorites-page main{margin-left:0}:where(html[data-vz-route-style="single"]) .favorites-page-header [popovertarget]{display:grid}}
@media(max-width:767px){:where(html[data-vz-route-style="single"]) .vz-save-page{width:44px;height:44px}:where(html[data-vz-route-style="single"]) .favorites-search button{width:44px;height:44px;margin-block:-1px;margin-right:-8px}:where(html[data-vz-route-style="single"]) .favorites-page main{padding:16px 12px calc(24px + env(safe-area-inset-bottom))}:where(html[data-vz-route-style="single"]) .favorites-page h1{font-size:25px}:where(html[data-vz-route-style="single"]) .favorites-page-header{margin-bottom:16px}:where(html[data-vz-route-style="single"]) .favorites-page-intro{flex-wrap:wrap;gap:5px;margin-top:0;font-size:12px}:where(html[data-vz-route-style="single"]) .favorites-tabs{gap:3px}:where(html[data-vz-route-style="single"]) .favorites-tabs button{padding:7px 8px;font-size:var(--vz-control-font-size)}:where(html[data-vz-route-style="single"]) .favorites-search input{font-size:var(--vz-control-font-size)}:where(html[data-vz-route-style="single"]) .vz-favorites-section>h2{font-size:22px}:where(html[data-vz-route-style="single"]) .vz-favorites-list li{padding:9px 8px;gap:2px}:where(html[data-vz-route-style="single"]) .vz-favorites-list li>a{gap:8px}:where(html[data-vz-route-style="single"]) .vz-favorites-symbol{width:35px;height:35px}:where(html[data-vz-route-style="single"]) .vz-favorites-list strong{font-size:13px}:where(html[data-vz-route-style="single"]) .vz-favorites-list li>button{width:44px;height:44px;padding:6px}:where(html[data-vz-route-style="single"]) .vz-favorites-arrow{width:16px}:where(html[data-vz-route-style="single"]) .vz-favorites-state{padding:30px 15px}:where(html[data-vz-route-style="single"]) .vz-favorites-state h2{font-size:23px}}
@media(max-width:1279px){:where(html[data-vz-route-style="single"]) .favorites-page.vz-unified .favorites-page-header{display:none}}

/* On the shared «Списки» shell (since 2026-10-22) the shell's theme button is
   the only one; the page's own button would duplicate it. */
html[data-page-template="favorites"]:where(html[data-vz-route-style="single"]) [data-favorites-theme]{display:none!important}


/* Source: public/assets/route-explorer/navigation.css; routes only */
/* Shared navigation for public route explorers. */
.mock-route-navigation:where(html[data-vz-route-style="single"]){
  --route-menu-width: 92px;
  --menu-paper: color-mix(in srgb,var(--vz-card) 97%,transparent);
  --menu-ink: var(--vz-blue);
  --menu-line: var(--vz-line);
  --menu-hover: var(--vz-hover);
  --menu-selected: var(--vz-current-surface);
  --menu-accent: var(--vz-current);
  --menu-profile-signed-in: var(--vz-success);
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail{
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 35;
  display: none;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
  width: var(--route-menu-width);
  min-width: var(--route-menu-width);
  max-width: var(--route-menu-width);
  height: 100dvh;
  padding: 8px 6px;
  border: 0;
  border-right: 1px solid var(--menu-line);
  border-radius: 0;
  background: var(--menu-paper);
  color: var(--menu-ink);
  box-shadow: 3px 0 12px #102a4410;
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  overflow-x: hidden;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu){ isolation: isolate; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu)::before,
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu)::after{
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image: var(--menu-art);
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
}
/* Contours fill the menu; the complete landscape stays visible near the footer. */
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu)::before{
  background-size: auto 100%;
  background-position: center;
  opacity: .10;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu)::after{
  background-size: 100% auto;
  background-position: center bottom 94px;
  opacity: .32;
  mask-image: linear-gradient(transparent 45%,#000 68%);
}
.mock-route-navigation.theme-dark:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu)::before,
.mock-route-navigation.theme-dark:where(html[data-vz-route-style="single"]) :is(.mock-site-rail,.mock-site-menu)::after{
  filter: invert(1);
  mix-blend-mode: screen;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-brand{
  display: grid;
  place-items: center;
  flex: none;
  box-sizing: border-box;
  width: 100%;
  height: 90px;
  padding: 4px 0 10px;
  border-radius: 0;
  border-bottom: 0;
  background: transparent;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-brand img{
  display: block;
  width: 76px;
  height: 62px;
  object-fit: contain;
}
.mock-route-navigation.theme-dark:where(html[data-vz-route-style="single"]) .mock-menu-brand img{
  filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px #e0f4ffb3) drop-shadow(0 0 6px #86d7ff66);
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-links{
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-content: start;
  flex: 1;
  gap: 3px;
  min-height: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #889aab50 transparent;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-link{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: none;
  gap: 5px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 64px;
  height: auto;
  padding: 7px 0;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--menu-ink);
  text-decoration: none;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-link svg,
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-profile svg{
  display: block;
  flex: none;
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-link span{
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-link span{
  display: block;
  flex: none;
  width: 100%;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
}
/* A signed-in profile uses the same green indicator in every menu. */
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is([data-menu-profile],[data-vz-nav-profile],.mock-toolbar-profile).is-authenticated > svg,
.mock-route-navigation:has([data-menu-profile].is-authenticated):where(html[data-vz-route-style="single"]) .mock-mobile-bottom-nav [data-mobile-nav="profile"] > svg{
  color: var(--menu-profile-signed-in)!important;
  stroke: currentColor!important;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-link:hover,
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-profile:hover{ background: var(--menu-hover); }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-link.is-current{
  border-color: transparent;
  background: transparent;
  color: var(--menu-accent);
  font-weight: 700;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-link.is-current > svg{
  color: var(--vz-current-fill, var(--menu-accent));
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-link.is-current::before{
  content: none;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-link.is-current::after{
  position: absolute;
  z-index: -1;
  inset: 2px 0;
  content: "";
  background: var(--menu-selected);
  clip-path: polygon(8% 3%,89% 0,100% 7%,91% 17%,100% 23%,95% 34%,100% 42%,95% 55%,100% 62%,93% 76%,97% 84%,83% 96%,12% 100%,2% 94%,9% 84%,0 76%,6% 66%,1% 55%,7% 45%,0 34%,8% 24%,2% 16%,11% 9%);
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-footer{
  flex: none;
  width: 100%;
  padding-top: 9px;
  border-top: 0;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail .mock-menu-profile{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  gap: 6px;
  width: 100%;
  height: 62px;
  padding: 7px;
  border: 0;
  border-top: 1px solid var(--menu-line);
  border-radius: 0;
  color: var(--menu-ink);
  background: transparent;
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-session{
  position: absolute;
  top: 9px;
  right: 22px;
  width: 7px;
  height: 7px;
  border: 2px solid var(--menu-paper);
  border-radius: 50%;
  background: var(--vz-success);
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-session[hidden]{ display: none; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) :is(.mock-menu-link,.mock-menu-brand,.mock-menu-profile,.mock-menu-socials a):focus-visible{
  outline: 2px solid var(--vz-blue);
  outline-offset: -2px;
}

/* The same sections and icons appear in the narrow-screen menu. */
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu[popover]{
  inset: 12px auto 12px 12px;
  box-sizing: border-box;
  width: 260px;
  max-height: calc(100dvh - 24px);
  margin: 0;
  padding: 12px;
  border-color: var(--menu-line);
  border-radius: var(--vz-card-radius);
  background: var(--menu-paper);
  color: var(--menu-ink);
  box-shadow: var(--vz-shadow-popup);
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  overflow-x: hidden;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu:popover-open{ display: flex; flex-direction: column; gap: 6px; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu-head{
  flex: none;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding-bottom: 10px;
  border-color: var(--menu-line);
  color: var(--menu-ink);
  font-size: 13px;
  font-weight: 700;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu-head .mock-menu-brand img{ width: 64px; height: 52px; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu-head button{ align-self: center; color: var(--menu-ink); }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-link,
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-profile{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 9px;
  color: var(--menu-ink);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-link:hover{ background: var(--menu-hover); }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-link.is-current{
  background: transparent;
  color: var(--menu-accent);
  font-weight: 700;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-profile{ border: 1px solid var(--menu-line); font-weight: 600; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-session{ top: 12px; right: 12px; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-socials{
  display: flex;
  justify-content: center;
  gap: 3px;
  padding: 0 0 12px;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-socials a{
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: 1px solid color-mix(in srgb,var(--menu-ink) 45%,transparent);
  border-radius: 50%;
  background: color-mix(in srgb,var(--menu-paper) 80%,transparent);
  color: var(--menu-ink);
  text-decoration: none;
  font: 700 9px/1 "Manrope","Segoe UI",Arial,sans-serif;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-socials a:hover{ background: var(--menu-hover); }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-socials a[title="MAX"] span{
  font-size: 7px;
  letter-spacing: -.15px;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-menu-socials svg{
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-socials{ gap: 12px; }
.mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-socials a{ width: 34px; height: 34px; }
@media (min-width: 1280px){
  .mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-rail{ display: flex; }
  .mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-explorer :is(.mock-panel--description,.mock-panel--related){
    left: calc(var(--route-menu-width) + var(--route-gap))!important;
  }
}
@media (min-width: 1230px) and (max-width: 1279px){
  .mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle{ display: grid; }
  .mock-route-navigation:where(html[data-vz-route-style="single"]) .mock-explorer :is(.mock-panel--description,.mock-panel--related){ left: var(--route-gap)!important; }
}
html.mock-route-navigation.mock-has-mobile:where(html[data-vz-route-style="single"]) .mock-site-menu[popover]{
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-height: none;
  padding: 16px;
  border: 0;
  border-radius: 0;
}
html.mock-route-navigation.mock-has-mobile:where(html[data-vz-route-style="single"]) .mock-site-rail{ display: none; }

/* Quiet permanent policy/cookies link; the privacy row itself shows once. */


/* Source: public/route-memoriz-menu.css; routes only */
/* Desktop route overlay: compact site navigation and centered route credit. */
:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle{display:none;place-items:center;flex:none;width:30px;height:30px;padding:3px;border:1px solid var(--vz-line);border-radius:7px;background:var(--vz-card);color:var(--vz-blue);cursor:pointer}
:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle:hover{background:var(--vz-hover)}
:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle:focus-visible,
:where(html[data-vz-route-style="single"]) .mock-site-rail :is(a,button):focus-visible,
:where(html[data-vz-route-style="single"]) .mock-site-menu button:focus-visible,
:where(html[data-vz-route-style="single"]) .mock-site-menu a:focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
:where(html[data-vz-route-style="single"]) .mock-site-rail{position:absolute;z-index:25;inset:0 auto 0 0;display:grid;grid-auto-rows:max-content;align-content:start;justify-items:center;gap:2px;width:35px;padding:max(calc(15.4vh + 12px),134px) 2px 4px;border:1px solid var(--vz-line);border-left:0;border-radius:0 0 10px 0;background:var(--vz-card);box-shadow:0 3px 12px #102a445c;color:var(--vz-copy)}
:where(html[data-vz-route-style="single"]) .mock-site-rail :is(a,button){display:grid;place-items:center;width:29px;height:31px;padding:3px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer;text-decoration:none}
:where(html[data-vz-route-style="single"]) .mock-site-rail :is(a,button):hover{background:var(--vz-hover)}
:where(html[data-vz-route-style="single"]) .mock-site-rail a.is-current{background:var(--vz-selection);color:var(--vz-current)}
:where(html[data-vz-route-style="single"]) .mock-site-rail svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:where(html[data-vz-route-style="single"]) .mock-site-rail button svg{stroke-width:2}
:where(html[data-vz-route-style="single"]) .mock-site-rail img{display:block;width:24px;height:24px;object-fit:contain}
:where(html[data-vz-route-style="single"]) .mock-panel-heading--header{gap:7px;padding-left:9px}
:where(html[data-vz-route-style="single"]) .mock-crumbs{gap:7px;font-size:15px;line-height:1.15}
:where(html[data-vz-route-style="single"]) .mock-crumb-separator{font-size:17px;font-weight:500;line-height:1}
:where(html[data-vz-route-style="single"]) .mock-site-menu[popover]{position:fixed;inset:54px auto auto 12px;box-sizing:border-box;width:216px;max-height:calc(100vh - 66px);margin:0;padding:10px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card);box-shadow:var(--vz-shadow-popup);color:var(--vz-copy);font:600 14px/1.3 var(--vz-font-body);overflow-y:auto}
:where(html[data-vz-route-style="single"]) .mock-site-menu-head{display:flex;align-items:center;gap:5px;margin:0 0 6px;padding:0 0 7px;border-bottom:1px solid var(--vz-line);color:var(--vz-muted);font-size:11px;font-weight:500}
:where(html[data-vz-route-style="single"]) .mock-site-menu-head a{flex:none;padding:0}
:where(html[data-vz-route-style="single"]) .mock-site-menu-head img{display:block;width:66px;height:54px;object-fit:contain}
:where(html[data-vz-route-style="single"]) .mock-site-menu-head span{flex:1;min-width:0}
:where(html[data-vz-route-style="single"]) .mock-site-menu-head button{align-self:flex-start;width:25px;height:25px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--vz-muted);font:24px/1 Arial,sans-serif;cursor:pointer}
:where(html[data-vz-route-style="single"]) .mock-site-menu>a{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 9px;border-radius:9px;color:inherit;text-decoration:none}
:where(html[data-vz-route-style="single"]) .mock-site-menu>a:hover{background:var(--vz-hover)}
:where(html[data-vz-route-style="single"]) .mock-site-menu>a.is-current{background:var(--vz-selection);color:var(--vz-current)}
:where(html[data-vz-route-style="single"]) .mock-site-menu>a svg{display:block;flex:none;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle{border-color:var(--vz-line);background:var(--vz-card);color:var(--vz-blue)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu-toggle:hover{background:var(--vz-selection)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-rail{border-color:var(--vz-line);background:var(--vz-card);color:var(--vz-copy);box-shadow:0 3px 12px #0009}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-rail :is(a,button):hover{background:var(--vz-hover)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-rail a.is-current{background:var(--vz-selection);color:var(--vz-current)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu[popover]{border-color:var(--vz-line);background:var(--vz-card);color:var(--vz-copy);box-shadow:var(--vz-shadow-popup)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu-head{border-color:var(--vz-line);color:var(--vz-muted)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu-head button{color:var(--vz-muted)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu>a:hover{background:var(--vz-hover)}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-site-menu>a.is-current{background:var(--vz-selection);color:var(--vz-current)}
@media(min-width:1230px){
  :where(html[data-vz-route-style="single"]) .mock-explorer .mock-panel--header{left:calc(35px + var(--route-gap))}
  :where(html[data-vz-route-style="single"]) .mock-explorer .mock-panel--description,
:where(html[data-vz-route-style="single"]) .mock-explorer .mock-panel--related{left:calc(35px + var(--route-gap))!important}
  :where(html[data-vz-route-style="single"]) .mock-explorer .mock-panel--credit,
:where(html[data-vz-route-style="single"]) .mock-explorer .mock-panel--credit.mock-panel.is-collapsed[data-fold="down"]{left:50%!important;right:auto!important;top:0!important;bottom:auto!important;width:346px;transform:translateX(-50%)}
}
@media(min-width:1230px) and (max-width:1533px){
  :where(html[data-vz-route-style="single"]) .mock-explorer .mock-panel--header{width:min(531px,calc(50vw - 208px - var(--route-gap) - var(--route-gap)))}
  :where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-content{gap:9px;padding-left:11px;padding-right:11px}
  :where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-cover{width:clamp(66px,calc(20vw - 202px),86px)}
  :where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-content h1{font-size:clamp(28px,calc(8vw - 83px),32px)}
  :where(html[data-vz-route-style="single"]) .mock-panel--header .mock-gpx{width:108px}
}
@media(max-width:1229px){
  :where(html[data-vz-route-style="single"]) .mock-site-rail{display:none}
  :where(html[data-vz-route-style="single"]) .mock-site-menu-toggle{display:grid}
  :where(html[data-vz-route-style="single"]) .mock-site-menu[popover]{inset:56px auto auto 12px}
}

/* The long Asphalt 222 name must fit beside the centered route-credit pill. */
@media(min-width:1230px){
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header{width:min(600px,calc(50vw - 208px - var(--route-gap) - var(--route-gap)))}
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-cover{display:none}
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-content h1{min-width:0;font-size:clamp(20px,calc(2.4vw - 10px),30px);letter-spacing:-.8px}
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-gpx{width:150px;gap:5px;font-size:15px;white-space:nowrap}
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-gpx svg{width:19px;height:19px;flex:none}
}
@media(min-width:1230px) and (max-width:1533px){
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-gpx{width:136px;gap:3px;font-size:13px}
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-star{font-size:clamp(25px,2.1vw,32px)}
}

.mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-gpx{width:auto;min-width:102px;padding-inline:10px;gap:5px;font-size:15px;white-space:nowrap}
.mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-gpx svg{width:19px;height:19px;flex:none}
@media(min-width:1230px) and (max-width:1533px){
  .mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-gpx{width:auto;min-width:96px;gap:3px;font-size:13px}
  .mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-content{gap:6px}
}
@media(min-width:1230px) and (max-width:1270px){
  .mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-header-content h1{font-size:31px}
  .mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-panel--header .mock-star{font-size:36px}
}
@media(min-width:1230px){
  .mock-route-memoriz:where(html[data-vz-route-style="single"]) .mock-panel--header{width:346px}
  .mock-route-asphalt:where(html[data-vz-route-style="single"]) .mock-panel--header{width:min(515px,calc(50vw - 208px - var(--route-gap) - var(--route-gap)))}
}
:where(html[data-vz-route-style="single"]) .mock-credit-topic{margin:5px 0 10px;font-weight:700}
:where(html[data-vz-route-style="single"]) .mock-credit-topic a{color:var(--vz-blue);text-underline-offset:2px}
.theme-dark:where(html[data-vz-route-style="single"]) .mock-credit-topic a{color:var(--vz-blue)}


/* Source: public/site-unified.css; routes only */
html.vz-unified:where(html[data-vz-route-style="single"]){--route-blue-text:var(--vz-blue)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page{--teal:var(--vz-blue);--atlas-orange:var(--vz-blue);--atlas-cyan:var(--vz-blue);--accent:var(--vz-blue);--ink:var(--vz-copy);--muted:var(--vz-muted);--line:var(--vz-line);--panel:var(--vz-card);--heading:var(--vz-blue);--page:var(--vz-page);--bg:var(--vz-page);--p-sort:var(--vz-blue);--p-accent:var(--vz-blue);--p-blue:var(--vz-blue);--p-muted:var(--vz-muted);color:var(--vz-copy);font-family:Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(main,.atlas-stage,.participants-page,.cabinet-shell){font-family:Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(h1,h2,h3){font-family:'Times New Roman',Times,serif;color:var(--vz-blue);letter-spacing:normal;text-transform:none}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(input,select,textarea,button){font-family:Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.hero-copy p,.card p,.lead,.page-description,.theme-description,.event p,.quest-description){color:var(--vz-muted);line-height:1.6}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.atlas-sidebar,.drawer-shade,.site-header,.journey-site-header,.standalone-theme-switch,.design-switch,[data-favorites-theme]){display:none!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-stage{margin-left:0!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-topbar{display:none!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-topbar .drawer-open{display:none!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-mobile-head{display:none!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.participants-page,.cabinet-shell,.page){--p-sort:var(--vz-blue);--p-accent:var(--vz-blue);--p-blue:var(--vz-blue);--p-muted:var(--vz-muted)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.participant-name,.identity-name,.theme-title,.event h3,.quest-card h3){font-family:Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-login{border-color:var(--vz-line);color:var(--vz-blue)}
:where(html[data-vz-route-style="single"]) .vz-common-header{display:none}:where(html[data-vz-route-style="single"]) .vz-common-bottom{display:none}
:where(html[data-vz-route-style="single"]) .vz-common-header button{display:grid;place-items:center;width:40px;height:40px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--vz-blue);cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-common-header svg,
:where(html[data-vz-route-style="single"]) .vz-common-bottom svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button){position:relative;min-width:0;min-height:44px;box-sizing:border-box;border:0;border-radius:0;padding:4px 2px;background:transparent;box-shadow:none;line-height:1.2;cursor:pointer}
html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button):focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px;border-radius:var(--vz-control-radius)}
html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom button:disabled{cursor:default;opacity:.45}
html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom [data-vz-nav-count]{position:absolute;top:7px;left:calc(50% + 13px);font:600 9px/1 Manrope,'Segoe UI',Arial,sans-serif;color:var(--vz-muted)}
html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom [data-vz-nav-count]:empty{display:none}
:where(html[data-vz-route-style="single"]) .vz-common-header :is(h1,.vz-common-title){margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 25px/1.2 'Times New Roman',Times,serif;text-align:center;color:var(--vz-blue)}
:where(html[data-vz-route-style="single"]) .vz-common-header :is(h1,.vz-common-title){display:flex;align-items:center;justify-content:center;gap:8px}:where(html[data-vz-route-style="single"]) .vz-common-header :is(h1,.vz-common-title)>span{min-width:0;overflow:hidden;text-overflow:ellipsis}:where(html[data-vz-route-style="single"]) .vz-common-header :is(h1,.vz-common-title) button.vz-save-page{flex:none;width:24px;height:24px;padding:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page{font-family:Manrope,'Segoe UI',Arial,sans-serif!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .expedition-home .atlas-stage{margin-left:0!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(h1,h2,h3){font-family:'Times New Roman',Times,serif!important;color:var(--vz-blue)!important;letter-spacing:normal!important;text-transform:none!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page h1{font-size:32px!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(p,a,input,select,textarea,button,th,td,label,small){font-family:Manrope,'Segoe UI',Arial,sans-serif!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.expedition-home,.atlas-stage,main){--teal:var(--vz-blue);--atlas-orange:var(--vz-blue);--atlas-cyan:var(--vz-blue);--heading:var(--vz-blue);--muted:var(--vz-muted)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.about-page,.events-page,.quests-page,.passages-page){--e-accent:var(--vz-blue);--e-muted:var(--vz-muted);--e-ink:var(--vz-copy);--about-accent:var(--vz-blue);--about-accent-warm:var(--vz-blue);--about-card:var(--vz-card);--about-paper:var(--vz-card);--about-muted:var(--vz-muted);--about-ink:var(--vz-copy);--about-line:var(--vz-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .privacy-page{--privacy-teal:var(--vz-blue);--privacy-ink:var(--vz-copy);--privacy-muted:var(--vz-muted);--privacy-surface:var(--vz-card);--privacy-surface-muted:var(--vz-card-soft);--privacy-line:var(--vz-line)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-passages.community-skin.page-inner.vz-public-page .passages-head .page-title{font:700 32px/1 'Times New Roman',Times,serif!important;color:var(--vz-blue)!important;-webkit-text-fill-color:var(--vz-blue)!important;letter-spacing:normal!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .passages-page{--passages-accent:var(--vz-blue);--passages-ink:var(--vz-copy);--passages-muted:var(--vz-muted)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.classic-toggle,.atlas-controls>.sun-icon){display:none!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-hero h1 :is(span,em){color:var(--vz-blue)!important;font-family:'Times New Roman',Times,serif!important;font-style:normal!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-controls [data-vz-theme]{display:grid;place-items:center;width:38px;height:38px;padding:7px;border:1px solid var(--vz-line);border-radius:9px;background:var(--vz-card);color:var(--vz-blue);cursor:pointer}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-controls [data-vz-theme] svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .login-card{--ink:var(--vz-copy);--focus:var(--vz-blue);--muted:var(--vz-muted);--line:var(--vz-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .login-submit{background:var(--vz-blue);color:var(--vz-on-accent);border-color:var(--vz-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .login-submit:hover{filter:brightness(.92)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.cabinet-page{--profile-sort:var(--vz-blue);--profile-level:var(--vz-blue);--profile-current-line:var(--vz-blue);--profile-blue:var(--vz-blue);--app-teal:var(--vz-blue);--profile-muted:var(--vz-muted);--app-heading:var(--vz-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.card,.experience-card,.managed-block,.about-card){background:var(--vz-card)!important;border-color:var(--vz-line)!important;color:var(--vz-copy)!important}
html.vz-unified:where(html[data-vz-route-style="single"]) .mock-site-menu-head{display:flex;border-bottom:1px solid var(--menu-line)}
html.vz-unified:where(html[data-vz-route-style="single"]) .mock-site-menu-head button{margin-left:auto;width:36px;height:36px;border:0;border-radius:8px;background:transparent;font:28px/1 Arial;color:var(--menu-ink);cursor:pointer}
html.vz-unified:where(html[data-vz-route-style="single"]) .mock-site-menu-head .mock-menu-brand{display:block;flex:none}
html.vz-unified:where(html[data-vz-route-style="single"]) .mock-menu-socials a span{max-width:100%;overflow:hidden;font-size:8px}
@media(min-width:1280px){html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page{margin-left:92px!important}html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.expedition-home,.favorites-page){margin-left:0!important}html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-stage{margin-left:0!important}}
@media(min-width:1280px){html.favorites-page.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page main{margin-left:0!important}}
@media(min-width:1280px){
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .vz-common-header{position:fixed;z-index:36;top:12px;right:20px;display:block;width:40px;height:40px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .vz-common-header>:not([data-vz-theme]){display:none}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .vz-common-header>[data-vz-theme]{border:1px solid var(--vz-line);background:var(--vz-card);border-radius:10px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.login-theme,.favorites-theme,[data-inner-theme]){display:none!important}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.participants-head,.events-head,.passages-head,.cabinet-top,.profile-content-head,.favorites-header,.season-themes-heading,.my-passages-head){padding-right:56px}

}
@media(max-width:1279px){
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .login-theme{display:none}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page{padding-top:62px!important}
 :where(html[data-vz-route-style="single"]) .vz-common-header{position:fixed;z-index:36;top:0;left:0;right:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;height:62px;padding:0 12px;box-sizing:border-box;background:var(--vz-card);border-bottom:1px solid var(--vz-line)}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-topbar{position:relative;top:0}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(.favorites-header>.favorites-menu,.favorites-header>.favorites-theme){display:none}
}
@media(max-width:767px){
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page [data-vz-page-title]{display:none!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.participants-theme-toggle,.participants-head>.drawer-open,.events-theme-toggle,.passages-theme-toggle,.events-head>.drawer-open,.passages-head>.drawer-open){display:none!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .vz-common-header :is(h1,.vz-common-title){font-size:25px!important}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page{padding-bottom:calc(68px + env(safe-area-inset-bottom))!important;scroll-padding-top:64px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .atlas-topbar{display:none!important}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(main>.page-head h1,main>.page-heading h1,.participants-head h1,.favorites-header h1,.cabinet-top h1,.page>h1,.hero-copy h1){display:none}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(main.page,main#app){padding-top:16px!important;padding-bottom:20px!important}
 :where(html[data-vz-route-style="single"]) .vz-common-bottom{position:fixed;z-index:36;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(var(--vz-nav-columns,4),minmax(0,1fr));height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;border-top:1px solid var(--vz-line);background:var(--vz-card);font-family:Manrope,'Segoe UI',Arial,sans-serif}
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--vz-muted);font-size:11px;text-decoration:none}
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button)[aria-current]{color:var(--vz-blue);font-weight:700}
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button)[aria-current]::after{content:'';position:absolute;bottom:7px;width:32px;border-top:2px solid currentColor}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-season-themes .season-themes-tabs{display:none}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page :is(main h2,main section,[data-vz-target]){scroll-margin-top:76px}
 html.vz-unified:where(html[data-vz-route-style="single"]) .mock-site-menu[popover]{inset:0;width:100%;height:100dvh;max-height:none;padding:16px;border:0;border-radius:0}
}

/* Home: the route page's typography and surfaces, with the original live photo. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page{background:var(--page-route-background)!important;color:var(--page-route-copy)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .expedition-home{display:block!important;min-height:0;background:transparent!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .legacy-home{display:none!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100dvh;background:transparent}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-topbar{height:54px;padding-inline:24px;text-transform:none;font-size:13px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.atlas-region,.atlas-weather,.atlas-controls time){font-family:Manrope,'Segoe UI',Arial,sans-serif;font-style:normal;letter-spacing:normal;text-transform:none;color:var(--page-route-copy)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-weather i{background:var(--page-route-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero{display:flex;align-items:flex-start;flex:1;min-height:0;height:auto;margin:0;border:0;border-radius:0;background:none!important;box-shadow:none;overflow:visible}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero::after{display:none}
/* The brand remains a semantic H1; the illustrated slogan is selectable text. */
:where(html[data-vz-route-style="single"]) .home-page-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

:where(html[data-vz-route-style="single"]) .vz-home-brand{display:flex;align-items:center;justify-content:center;min-width:0;height:48px}
:where(html[data-vz-route-style="single"]) .vz-home-brand img{display:block;width:auto;height:46px;max-width:100%;object-fit:contain}
html.vz-unified.vz-unified[data-theme=light]:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy{position:relative;isolation:isolate}
html.vz-unified.vz-unified[data-theme=light]:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;max-width:850px;background:linear-gradient(90deg,#f5f7f9eb 0%,#f5f7f9d6 60%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy{container-type:inline-size;display:flex;flex-direction:column;justify-content:center;gap:18px;width:min(1100px,100%);height:auto;min-height:0;padding:48px 36px;--hero-gold:#8b5619;--hero-pearl:#354c62;--hero-blue:#175d94;--hero-trail:#9c712f;--hero-glow:transparent}
html.vz-unified.vz-unified[data-theme=dark]:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy{--hero-gold:#f6d18d;--hero-pearl:#fff9e9;--hero-blue:#9cd4ff;--hero-trail:#f0cf89;--hero-glow:#62b8ff55;--hero-letter-shadow:#001120a6}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-hero-slogan{display:grid;align-self:flex-start;width:100%;max-width:100%;margin:0;font:400 clamp(28px,9.2cqi,94px)/.98 'Times New Roman',Times,serif!important;letter-spacing:-.035em!important;text-transform:none}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-hero-slogan :is(#hero-title,#hero-accent){display:block;width:fit-content;max-width:100%;padding:0 .04em .07em 0;margin-bottom:-.07em;white-space:nowrap;font:inherit!important;font-style:normal!important;color:var(--hero-blue);background:linear-gradient(102deg,var(--hero-gold) 0%,var(--hero-pearl) 49%,var(--hero-blue) 88%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 2px var(--hero-letter-shadow,transparent)) drop-shadow(0 0 9px var(--hero-glow))}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-hero-trail{display:block;align-self:center;width:min(90%,580px);height:auto;max-height:20px;margin:0 0 -.02em;transform:translateY(.12em);stroke:var(--hero-trail);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--hero-glow))}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero #hero-text{width:100%;max-width:53ch;margin:0;padding-left:20px;border-left:2px solid var(--hero-trail);color:var(--page-route-copy);font:400 clamp(14px,2cqi,21px)/1.65 Manrope,'Segoe UI',Arial,sans-serif;text-wrap:pretty}
@media(forced-colors:active){html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-hero-slogan :is(#hero-title,#hero-accent){background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;filter:none}html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-hero-trail{stroke:CanvasText;filter:none}}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets{flex:none;align-items:stretch;gap:16px;min-height:0;margin-top:auto;padding:0 24px 15px;border:0;background:transparent}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget{min-width:0;height:278px;max-height:52dvh;padding:16px;border:1px solid var(--page-route-line);border-radius:var(--vz-card-radius);box-shadow:none;background:color-mix(in srgb,var(--page-route-paper) 96%,transparent);font-family:Manrope,'Segoe UI',Arial,sans-serif;overflow:hidden}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget>header{height:30px;min-height:30px;align-items:baseline;gap:12px;margin-bottom:14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget h2{margin:0;font:700 24px/1.2 'Times New Roman',Times,serif!important;letter-spacing:normal;font-style:normal;text-transform:none}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget header>a{margin:0;font:500 11px/1.4 Manrope,'Segoe UI',Arial,sans-serif;color:var(--page-route-blue);text-transform:none;text-decoration:none;white-space:nowrap}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-stack,.route-stack,.quest-stack){flex:1;grid-auto-rows:96px;align-content:start;gap:8px;min-height:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-row,.route-row,.quest-row,.home-loading){min-width:0;border:1px solid var(--page-route-line);border-radius:12px;background:var(--page-route-paper);color:var(--page-route-copy);transition:border-color .15s ease}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-row,.route-row,.quest-row){height:96px;grid-template-columns:62px minmax(0,1fr)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-row,.route-row,.quest-row):hover{border-color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-date,.route-distance,.quest-symbols){border-right:1px solid var(--page-route-line);background:var(--page-route-hover);color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-date,.route-distance)>strong{font:700 24px/1 Manrope,'Segoe UI',Arial,sans-serif;color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .event-date>strong.is-range{font-size:17px;letter-spacing:-.03em;white-space:nowrap}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-date,.route-distance)>span:not(.bike-mark){margin-top:4px;font:400 11px/1.3 Manrope,'Segoe UI',Arial,sans-serif;color:var(--page-route-copy);text-transform:none}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.bike-mark,.quest-mark){color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .bike-mark{height:20px;margin-top:5px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .bike-mark svg{width:24px;height:19px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .quest-symbols{grid-template-rows:1fr auto;padding:12px 0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .quest-mark svg{width:27px;height:27px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-cover,.quest-cover){min-width:0;padding:12px 14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-cover,.quest-cover)::before{background:linear-gradient(90deg,var(--page-route-paper) 0%,color-mix(in srgb,var(--page-route-paper) 94%,transparent) 55%,color-mix(in srgb,var(--page-route-paper) 60%,transparent) 100%)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-cover,.quest-cover)>strong{max-width:100%;font:700 16px/1.25 'Times New Roman',Times,serif;color:var(--page-route-blue);text-transform:none;letter-spacing:normal;overflow-wrap:anywhere}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .event-cover:has(time:not(:empty))>strong{padding-right:42px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-cover,.quest-cover)>small{color:var(--page-route-copy);font:400 11px/1.4 Manrope,'Segoe UI',Arial,sans-serif;text-transform:none}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .event-cover small{left:14px;right:12px;bottom:10px;max-width:none;white-space:normal;overflow-wrap:anywhere}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .event-cover time{top:12px;right:12px;color:var(--page-route-copy);font:400 11px/1.4 Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-main{min-width:0;padding:12px 82px 26px 14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-main::before{background:color-mix(in srgb,var(--page-route-paper) 93%,transparent)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets .atlas-widget .route-row .route-main h3{max-width:none;margin:0;font:700 16px/1.25 'Times New Roman',Times,serif!important;color:var(--page-route-blue);text-transform:none;overflow-wrap:anywhere}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-main p{display:block;margin:5px 0 0;color:var(--page-route-copy);font:400 11px/1.3 Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-difficulty{top:12px;right:10px;min-width:0;width:64px;padding:5px 3px;border:1px solid var(--home-track-color);border-radius:8px;background:var(--page-route-paper);color:var(--page-route-copy);font:400 9px/1.2 Manrope,'Segoe UI',Arial,sans-serif;text-transform:none}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-difficulty b{margin-top:3px;color:var(--page-route-blue);font:700 14px/1.2 Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-spark{left:14px;right:10px;bottom:5px;width:calc(100% - 24px);height:16px;stroke:var(--home-track-color,var(--page-route-blue));stroke-width:2}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-loading{min-height:96px;font:400 13px/1.5 Manrope,'Segoe UI',Arial,sans-serif;color:var(--page-route-copy)}
@media(max-width:1100px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets{align-items:stretch;max-height:52dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget{height:278px;max-height:none;border-bottom:1px solid var(--page-route-line);border-radius:16px;overflow:visible}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-stack,.route-stack,.quest-stack){overflow-y:auto}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget:last-child{border-radius:16px}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets,
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets.two-widgets{grid-template-columns:1fr}
}
@media(max-width:767px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero{height:auto;min-height:0;max-height:none;margin:0;border-radius:0}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero::after{display:none}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy{width:100%;padding:24px 20px 28px;gap:16px}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-hero-slogan{font-size:clamp(28px,9.4cqi,62px)!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero #hero-text{padding-left:13px;font-size:14px;line-height:1.55;overflow-wrap:normal}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets{align-items:stretch;gap:12px;max-height:none;padding:0 10px 15px;overflow:visible}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget{height:auto;max-height:none;padding:14px 12px;border-bottom:1px solid var(--page-route-line);border-radius:14px;overflow:visible}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget h2{font-size:23px!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget>header{gap:8px;margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-row,.route-row,.quest-row){transition:none}}

/* Home photograph is confined to the area outside the menu and widgets. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(90deg,color-mix(in srgb,var(--page-route-paper) 88%,transparent) 0%,color-mix(in srgb,var(--page-route-paper) 62%,transparent) 38%,color-mix(in srgb,var(--page-route-paper) 10%,transparent) 76%),var(--home-scene-image,url('/assets/hero-summer-clear.webp'));background-size:cover;background-position:center}
html.vz-unified.vz-unified[data-theme=light]:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{background-image:var(--home-scene-image,url('/assets/hero-summer-clear.webp'))}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget:not([hidden]){display:flex;flex-direction:column}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget>header{flex:none}

@media(max-width:1279px){html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage{min-height:calc(100dvh - 62px)}}
@media(max-width:767px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage{min-height:calc(100dvh - 130px - env(safe-area-inset-bottom))}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{background-image:linear-gradient(90deg,color-mix(in srgb,var(--page-route-paper) 86%,transparent),color-mix(in srgb,var(--page-route-paper) 44%,transparent)),var(--home-scene-image,url('/assets/hero-summer-clear.webp'));background-position:65% center}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-stack,.route-stack,.quest-stack){flex:none;overflow:visible}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget:last-child{border-radius:var(--vz-card-radius)}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page .vz-common-header{top:0;right:0}
}
@media(max-height:600px){html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy{padding-block:24px;gap:16px}}
/* Home headings and compact completion totals. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-passages-count{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;min-width:50px;justify-content:center;padding:4px 7px;border-radius:20px;background:var(--page-route-hover);color:var(--page-route-blue);font:600 11px/1.2 Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-passages-count svg{width:20px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-main .home-passages-count{bottom:25px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .quest-cover>small{padding-right:78px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-event-status{display:inline-block;margin-right:5px;padding:2px 5px;border-radius:5px;background:var(--page-route-hover);color:var(--page-route-blue);font:600 10px/1.2 Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .event-cover>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:767px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero{flex:none}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-stack,.route-stack,.quest-stack){flex:none;overflow:visible}
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .is-past .event-cover>strong{padding-right:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .is-past .home-event-period{top:auto;right:12px;bottom:10px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .is-past .home-event-status{right:auto;max-width:none;margin:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-difficulty{top:8px;padding:3px;font:400 9px/1 Manrope,'Segoe UI',Arial,sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .route-difficulty b{margin-top:2px;font:700 13px/1 Manrope,'Segoe UI',Arial,sans-serif}
/* Content ends above the fixed navigation, without an extra viewport of scroll. */
@media(max-width:767px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page{padding-top:0!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page>.vz-common-header{position:relative;inset:auto}
}

:where(html[data-vz-route-style="single"]) .vz-mobile-page-tools{display:none}
@media(max-width:767px){
 :where(html[data-vz-route-style="single"]) .vz-mobile-page-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:0 0 8px}
 :where(html[data-vz-route-style="single"]) .vz-mobile-page-tools .vz-mobile-page-filter{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:88px;min-height:36px;padding:6px 10px;border:1px solid var(--vz-line);border-radius:9px;background:var(--vz-card);color:var(--vz-blue);font:600 12px/1.2 var(--vz-font-body,Manrope,'Segoe UI',sans-serif)}
 :where(html[data-vz-route-style="single"]) .vz-mobile-page-filter svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-season-themes .season-themes-tabs{display:flex}
}

/* Desktop home: full-height column with the original card height. */
@media(min-width:768px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page{padding-top:0!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage{min-height:100dvh}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero{flex:1 0 auto;min-height:clamp(340px,44dvh,480px)}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero-copy{width:calc(100% - clamp(340px,32vw,390px));max-width:1280px;padding:clamp(64px,8dvh,88px) clamp(24px,3vw,60px) 36px;gap:20px}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets,
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widgets.two-widgets{position:fixed;inset:0 0 0 auto;display:flex;flex-direction:column;align-items:stretch;width:clamp(340px,32vw,390px);height:100dvh;max-height:100dvh;margin:0;padding:0;gap:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget,
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget:last-child{flex:1 0 auto;min-height:0;height:auto;max-height:none;padding:16px;border-radius:0;overflow:hidden}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget>header{height:30px;min-height:30px;margin-bottom:14px;gap:12px}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget h2{font-size:24px!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page :is(.event-stack,.route-stack,.quest-stack){flex:none;grid-auto-rows:96px;gap:8px;overflow:visible}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page [data-home-height-hidden]{display:none!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .vz-common-header{position:fixed;inset:16px calc(clamp(340px,32vw,390px) + 16px) auto auto;display:block;width:40px;height:40px;padding:0;border:0;background:transparent}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .vz-common-header>:not([data-vz-theme]){display:none}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .vz-common-header>[data-vz-theme]{border:1px solid var(--vz-line);background:var(--vz-card);border-radius:10px}
}
@media(min-width:768px) and (max-width:1279px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .vz-common-header>.vz-common-menu{position:fixed;top:12px;left:12px;display:grid;border:1px solid var(--vz-line);background:var(--vz-card)}
}
@media(max-width:767px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page [data-home-mobile-hidden]{display:none!important}
}

@media(min-width:768px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{left:0;right:clamp(340px,32vw,390px)}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget{background:var(--page-route-paper)}
}
@media(min-width:1280px){html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{left:92px}}
@media(max-width:767px){
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{display:none}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero{background-image:linear-gradient(90deg,color-mix(in srgb,var(--page-route-paper) 86%,transparent),color-mix(in srgb,var(--page-route-paper) 44%,transparent)),var(--home-scene-image-mobile,var(--home-scene-image,url('/assets/hero-summer-clear.webp')))!important;background-size:cover!important;background-position:65% center!important}
 html.vz-unified.vz-unified[data-theme=light]:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-hero{background-image:var(--home-scene-image-mobile,var(--home-scene-image,url('/assets/hero-summer-clear.webp')))!important}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-widget{background:var(--page-route-paper)}
}

/* Home news shares the dimensions of the event dock; mobile remains in the page flow. */
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news{box-sizing:border-box;flex:none;min-width:0;margin:0;padding:15px;border:1px solid var(--page-route-line);border-radius:16px 16px 0 0;background:var(--page-route-paper);color:var(--page-route-copy)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-news-heading h2{margin:0;font:700 24px/1.2 'Times New Roman',Times,serif}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-heading>a{display:inline-flex;align-items:center;gap:6px;min-height:28px;color:var(--page-route-blue);font-size:11px;font-weight:500;text-decoration:none;white-space:nowrap}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-heading>a span{font-size:20px;line-height:1}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-grid{display:grid;grid-template-columns:repeat(var(--home-news-visible-count,3),minmax(0,1fr));gap:16px;overflow:visible;padding:0;margin:0}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-card{position:relative;isolation:isolate;display:grid;grid-template-columns:62px minmax(0,1fr);height:96px;min-width:0;overflow:hidden;border:1px solid var(--page-route-line);border-radius:12px;background:var(--page-route-paper);color:var(--page-route-copy);text-decoration:none;transition:border-color .15s ease}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-card:hover{border-color:var(--page-route-blue)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home :is(.home-news-card,.home-news-heading>a,.home-news-empty a):focus-visible{outline:2px solid var(--page-route-blue);outline-offset:3px}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-mark{z-index:1;grid-column:1;grid-row:1;display:grid;place-items:center;border-right:1px solid var(--page-route-line);background:var(--page-route-hover);color:var(--page-route-blue)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-cover{position:absolute;z-index:-1;inset:0 0 0 62px;overflow:hidden;background:var(--page-route-hover)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-cover img{display:block;width:100%;height:100%;object-fit:cover}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--page-route-paper),color-mix(in srgb,var(--page-route-paper) 94%,transparent) 50%,color-mix(in srgb,var(--page-route-paper) 72%,transparent))}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-copy{z-index:1;grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;min-height:0;padding:8px 12px}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-copy time{color:var(--page-route-copy);font-size:11px;font-weight:400;line-height:1.4;font-variant-numeric:tabular-nums}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-news-copy h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;font:700 16px/1.25 'Times New Roman',Times,serif;overflow-wrap:anywhere}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-copy p{display:none}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-read{display:inline-flex;align-items:center;align-self:flex-end;gap:6px;margin-top:auto;color:var(--page-route-blue);font-size:11px;font-weight:600;line-height:1.4}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-read svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-empty{grid-column:1/-1;margin:0;padding:20px;border:1px solid var(--page-route-line);border-radius:12px;background:var(--page-route-paper);font-size:13px;line-height:1.7}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-empty a{color:var(--page-route-blue)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-card.is-image-unavailable .home-news-cover{display:none}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-card:is([data-home-news-hidden],[data-home-news-extra]:not([data-home-news-visible])){display:none}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-legal{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px;margin:5px 0 0;padding:3px 2px 0;border-top:1px solid var(--page-route-line)}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-legal>:is(a,button){display:inline-flex;align-items:center;gap:6px;min-height:20px;padding:0;border:0;background:none;color:var(--page-route-copy);font:500 11px/1.3 Manrope,'Segoe UI',Arial,sans-serif;text-decoration:none;opacity:.78;cursor:pointer;transition:color .15s,opacity .15s}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-legal>:is(a,button):hover{color:var(--page-route-blue);opacity:1}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-legal>:is(a,button):focus-visible{outline:2px solid var(--page-route-blue);outline-offset:3px;border-radius:4px;opacity:1}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-legal svg{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:768px){
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news{--home-news-menu-width:0px;position:fixed;z-index:24;left:calc(var(--home-news-menu-width) + 15px);right:calc(clamp(340px,32vw,390px) + 15px);bottom:0;transform:none;width:auto;max-width:none;border-bottom:0}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage{padding-bottom:var(--home-news-dock-height,173px)}
}
@media(min-width:1280px){html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news{--home-news-menu-width:92px}}
@media(max-width:767px){
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news{position:static;width:auto;margin:0 15px 16px;padding:15px;border-radius:14px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-heading{gap:6px 12px;margin-bottom:14px}
 html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .home-news-heading h2{font-size:23px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-heading>a{min-height:28px;font-size:11px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-grid{grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none;padding:0;margin:0}
}


/* Shared icon controls keep their visible form and provide touch-size targets. */
@media(max-width:767px),(pointer:coarse){
  :where(html[data-vz-route-style="single"]) .vz-common-header>button,
:where(html[data-vz-route-style="single"]) .vz-common-header :is(h1,.vz-common-title) button.vz-save-page,
html.vz-unified:where(html[data-vz-route-style="single"]) .mock-site-menu-head button{width:44px;height:44px}
  html.vz-unified:where(html[data-vz-route-style="single"]) .mock-site-menu .mock-menu-socials a{width:44px;height:44px}
}
/* Shared mobile filter dialog; the ranking pages carry the same component in ranking-theme.css. */
:where(html[data-vz-route-style="single"]) dialog.vz-mobile-filter-dialog{box-sizing:border-box;container-type:normal;width:min(560px,calc(100vw - 24px));max-width:none;min-width:0;min-height:0;max-height:calc(100dvh - 32px);margin:auto;padding:16px;border:1px solid var(--vz-line);border-radius:var(--vz-card-radius);background:var(--vz-card);color:var(--vz-copy);box-shadow:var(--vz-shadow-popup);font:400 14px/1.5 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif);overflow:auto;overscroll-behavior:contain}
:where(html[data-vz-route-style="single"]) dialog.vz-mobile-filter-dialog:not([open]){display:none}
:where(html[data-vz-route-style="single"]) dialog.vz-mobile-filter-dialog::backdrop{background:#07152488}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-header h2{margin:0;color:var(--vz-blue);font:700 26px/1.2 "Times New Roman",Times,serif}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:9px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card);color:var(--vz-blue);cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-content{display:grid;gap:12px;min-width:0}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-content .favorites-toolbar{margin:0;min-width:0}
@media(max-width:1279px){
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .vz-common-header :is(h1,.vz-common-title){justify-self:center;width:fit-content;max-width:100%;display:flex;justify-content:center;gap:3px;overflow:visible}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .vz-common-header :is(h1,.vz-common-title)>span{flex:0 1 auto;min-width:0;text-align:center}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page .vz-common-header :is(h1,.vz-common-title) button.vz-save-page{position:static!important;transform:none!important;flex:0 0 32px;width:32px;height:40px;margin:0!important;padding:4px}
 html.vz-unified:where(html[data-vz-route-style="single"]) body.page-announcements.vz-public-page .vz-common-header :is(h1,.vz-common-title){font-size:20px!important;line-height:1.05;white-space:normal}
}
@media(max-width:767px){
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button){justify-content:flex-start;padding:8px 3px 5px;gap:3px;font-size:10px;line-height:1.1}
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button)>svg{flex:none;width:22px;height:22px}
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button)[aria-current]::after{bottom:2px}
 html.vz-unified:where(html[data-vz-route-style="single"]) .vz-common-bottom :is(a,button)>span{max-width:100%;text-align:center;text-wrap:balance}
}
@media(max-width:359px){html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .vz-common-header :is(h1,.vz-common-title){font-size:22px!important}}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-done{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:16px;padding:9px 14px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-selection);color:var(--vz-blue);font:700 14px/1.2 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif);cursor:pointer}
:where(html[data-vz-route-style="single"]) .vz-mobile-filter-dialog :is(button,input,select):focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
:where(html[data-vz-route-style="single"]) body.vz-mobile-filter-open{overflow:hidden}

/* Creation controls appear only after an administrator session is confirmed. */
:where(html[data-vz-route-style="single"]) .vz-admin-topic-action{position:fixed;z-index:1250;right:20px;bottom:76px;display:inline-flex;align-items:center;justify-content:center;min-height:36px;max-width:calc(100vw - 80px);padding:7px 12px;border:1px solid var(--vz-line,#bacbe9);border-radius:10px;background:var(--vz-card,#fff);color:var(--vz-blue,#123b6d);box-shadow:var(--vz-shadow-popup,0 3px 14px #102a4426);font:600 12px/1.35 Manrope,'Segoe UI',sans-serif;text-decoration:none;cursor:pointer;white-space:normal;text-align:center}
:where(html[data-vz-route-style="single"]) .vz-admin-topic-action:hover{background:var(--vz-hover,#edf4fb)}
:where(html[data-vz-route-style="single"]) .vz-admin-topic-action:focus-visible{outline:2px solid var(--vz-blue,#123b6d);outline-offset:2px}
@media(max-width:767px){:where(html[data-vz-route-style="single"]) .vz-admin-topic-action{display:none!important}}
@media(pointer:coarse){:where(html[data-vz-route-style="single"]) .vz-admin-topic-action{min-height:44px}}

/* Event creation belongs to the visible title, after its favorite star. */
:where(html[data-vz-route-style="single"]) body.page-events h1:has(>[data-admin-topic-inline]){display:flex;align-items:center;gap:10px}
:where(html[data-vz-route-style="single"]) body.page-events .vz-admin-topic-action[data-admin-topic-inline]{position:static;z-index:auto;flex:none;inset:auto;min-height:36px;max-width:none;margin-left:2px;padding:7px 12px;box-shadow:none;white-space:nowrap;text-align:center}
@media(max-width:767px){:where(html[data-vz-route-style="single"]) body.page-events .vz-admin-topic-action[data-admin-topic-inline]{display:none!important}}

/* Preserve photo proportions; keep the cyclists and distant landmark in view. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.page-home.vz-public-page.vz-public-page .atlas-stage::before{background-position:64% 68%}
/* Signed-in-only menu items (favourites) stay hidden until site-unified.js confirms a session. */
:where(html[data-vz-route-style="single"]) .mock-menu-link[data-menu-signed-in][hidden]{display:none!important}

/* Admin creation action inside a map toolbar (routes catalogue and route pages). */
:where(html[data-vz-route-style="single"]) .vz-admin-topic-action.vz-admin-topic-action--toolbar{position:static;flex:none;align-self:stretch;display:inline-flex;align-items:center;min-height:0;max-width:none;margin:0;padding:0 13px;border:0;border-left:1px solid var(--vz-line);border-radius:0;background:transparent;box-shadow:none;color:var(--vz-blue);font:600 13px/1 var(--vz-font-body,Manrope,sans-serif);white-space:nowrap}
:where(html[data-vz-route-style="single"]) .vz-admin-topic-action.vz-admin-topic-action--toolbar:hover{background:var(--vz-hover)}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile).mock-route-compact-toolbar:where(html[data-vz-route-style="single"]) .mock-top-tools:has(.vz-admin-topic-action--toolbar){width:auto!important;left:auto!important}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile).mock-route-compact-toolbar:where(html[data-vz-route-style="single"]) .mock-top-tools:has(.vz-admin-topic-action--toolbar) .mock-map-controls{width:auto!important;max-width:none!important}
html:root:where(html[data-vz-route-style="single"]) .mock-map-controls:has(> .vz-admin-topic-action--toolbar) .mock-toolbar-weather{flex:0 0 auto!important;padding-inline:10px}
html.vz-unified:where(html[data-vz-route-style="single"]) body.page-home .home-news-legal-more{margin-inline-start:calc(.28em - 6px)}


/* Source: public/site-page-palette.css; routes only */
/* Public page aliases consume the shared theme tokens; rank and award colors remain semantic. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .is-filter-active{
  color:var(--vz-blue)!important;border-color:var(--vz-line)!important;font-weight:700;
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .is-filter-active :is(input,select,span){color:var(--vz-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page .is-filter-active svg{stroke:var(--vz-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.participants-page #period:has(option:checked:not([value="all"])),#passages-year:has(option:checked:not([value="all"])),.search-control:has(input:not(:placeholder-shown)),.passages-field:has(input:not(:placeholder-shown))){
  color:var(--vz-blue)!important;border-color:var(--vz-line)!important;font-weight:700;
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.search-control:has(input:not(:placeholder-shown)),.passages-field:has(input:not(:placeholder-shown))) input{color:var(--vz-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page :is(.select-control:has(#period option:checked:not([value="all"])),.search-control:has(input:not(:placeholder-shown)),.passages-field:has(input:not(:placeholder-shown)))>svg{stroke:var(--vz-blue)!important}
html.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages){
  --page-route-blue:var(--vz-blue);--page-route-copy:var(--vz-copy);--page-route-line:var(--vz-line);
  --page-route-paper:var(--vz-card);--page-route-background:var(--vz-page);--page-route-hover:var(--vz-hover);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages){
  --teal:var(--page-route-blue);--teal-2:var(--page-route-blue);--atlas-cyan:var(--page-route-blue);
  --ink:var(--page-route-copy);--muted:var(--vz-muted);--line:var(--page-route-line);
  color:var(--page-route-copy);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.expedition-home,.atlas-stage,.about-page,.privacy-page,.events-page,.quests-page,.participants-page,.passages-page){
  --teal:var(--page-route-blue);--teal-2:var(--page-route-blue);--atlas-cyan:var(--page-route-blue);
  --atlas-orange:var(--page-route-blue);--atlas-orange-strong:var(--page-route-blue);
  --ink:var(--page-route-copy);--muted:var(--vz-muted);--heading:var(--page-route-blue);
  --page:var(--page-route-background);--panel:var(--page-route-paper);--panel-2:var(--page-route-hover);
  --line:var(--page-route-line);--line-soft:var(--page-route-line);
  font-family:Manrope,"Segoe UI",Arial,sans-serif;color:var(--page-route-copy);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .participants-page{
  --p-ink:var(--page-route-copy);--p-muted:var(--vz-muted);--p-sort:var(--page-route-blue);
  --p-accent:var(--page-route-blue);--p-blue:var(--page-route-blue);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .passages-page{
  --passages-ink:var(--page-route-copy);--passages-muted:var(--vz-muted);--passages-meta:var(--vz-muted);
  --passages-accent:var(--page-route-blue);--passages-line:var(--page-route-line);--passages-control-line:var(--page-route-line);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .events-page,
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .quests-page{
  --e-accent:var(--page-route-blue);--e-ink:var(--page-route-copy);--e-muted:var(--vz-muted);
  --e-line:var(--page-route-line);--e-control-line:var(--page-route-line);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.passages-types label:has(input:checked),.event-card-actions a){
  color:var(--page-route-blue);background:var(--page-route-hover);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.atlas-controls time,.atlas-datetime time,.participants-updated,.passages-updated,.events-updated){color:var(--vz-muted)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.participants-updated,.passages-updated,.events-updated) time{color:var(--vz-muted)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .inner-theme-icon{border-color:var(--page-route-line)!important;background:var(--page-route-paper)!important;color:var(--page-route-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.event-card,.quest-card,.route-row) h3{font-family:Manrope,"Segoe UI",Arial,sans-serif!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.participants-page .person b,.passage-person strong){font-family:Manrope,"Segoe UI",Arial,sans-serif!important;color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(.participants-title,.events-head h1,.passages-head h1){color:var(--page-route-blue)!important;-webkit-text-fill-color:var(--page-route-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-page{
  --about-accent:var(--page-route-blue);--about-accent-warm:var(--page-route-blue);
  --about-ink:var(--page-route-copy);--about-muted:var(--vz-muted);
  --about-card:var(--page-route-paper);--about-paper:var(--page-route-paper);--about-line:var(--page-route-line);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-history>ol::before{background:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-final{background:var(--page-route-paper);color:var(--page-route-copy);border:1px solid var(--page-route-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-final::after{border-color:color-mix(in srgb,var(--page-route-blue) 12%,transparent)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-final-row>span{color:var(--page-route-copy)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-button{background:var(--page-route-blue);border-color:var(--page-route-blue);color:var(--vz-on-accent)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-button-secondary{background:var(--page-route-paper);border-color:var(--page-route-line);color:var(--page-route-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-story aside{background:var(--vz-card-soft);color:var(--page-route-copy);border:1px solid var(--page-route-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .about-story-note{background:var(--vz-card-soft);color:var(--page-route-copy)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .privacy-page{
  --privacy-teal:var(--page-route-blue);--privacy-ink:var(--page-route-copy);--privacy-muted:var(--vz-muted);
  --privacy-line:var(--page-route-line);--privacy-surface:var(--page-route-paper);--privacy-surface-muted:var(--vz-card-soft);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .privacy-hero{background:var(--page-route-paper)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) .privacy-document a{color:var(--page-route-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.register-page{
  --app-ink:var(--page-route-copy);--app-muted:var(--vz-muted);--app-line:var(--page-route-line);
  --app-teal:var(--page-route-blue);--app-teal-hover:var(--page-route-blue);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.register-page :is(.brand,.mock-menu-brand,.mock-menu-link,.mock-menu-profile,.mock-menu-socials a){color:var(--page-route-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.register-page :is(#inspectButton,#submitButton){background:var(--page-route-blue)!important;border-color:var(--page-route-blue)!important;color:var(--vz-on-accent)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:not(.cabinet-page):not(.season-page):not(.page-my-passages) :is(a,button,input,select,textarea):focus-visible{outline-color:var(--page-route-blue)!important}

/* Participants: compact rows and a visible current sorting criterion. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page{
  --p-selected-ink:var(--vz-ranking-current);--p-selected-line:var(--page-route-line);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-head{margin-bottom:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .toolbar{gap:8px;margin-bottom:12px!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page :is(.control,.search-control,.participant-totals){height:44px!important;min-height:44px!important;border-radius:11px!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant-totals span{padding:3px 8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant-totals b{font-size:18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant-totals small{margin-top:2px;font-size:12px;line-height:1.1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .sort-select .control{
  background:var(--page-route-paper)!important;border-color:var(--p-selected-line)!important;color:var(--page-route-blue)!important;font-weight:700;
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .sort-select>svg{stroke:var(--page-route-blue)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant-list{gap:8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant{
  min-height:0;padding:12px 16px;column-gap:14px;border-radius:var(--vz-card-radius)!important;
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants :is(.avatar-wrap,.avatar){width:46px;height:46px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .avatar-wrap{flex-basis:46px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .person{gap:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .person b{font-size:18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant[data-sort="level"] .tag{
  display:block;padding:0;border-radius:0;background:transparent!important;color:var(--p-selected-ink)!important;font-weight:400;
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant[data-sort="level"] .participant-level-value{color:var(--p-selected-ink)!important;font-weight:800}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants :is(.participant[data-sort="weight"] .metric-weight,.participant[data-sort="distanceKm"] .metric-distance,.participant[data-sort="contribution"] .metric-contribution){
  background:transparent!important;color:var(--p-selected-ink);
}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants :is(.participant[data-sort="weight"] .metric-weight,.participant[data-sort="distanceKm"] .metric-distance,.participant[data-sort="contribution"] .metric-contribution) :is(b,small){color:var(--p-selected-ink)!important}
@media(max-width:767px){
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants main#participants-app{padding:10px 10px 20px!important}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-head{display:block;min-height:0;margin-bottom:8px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-meta .atlas-datetime{display:flex!important;gap:10px;min-width:0}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .toolbar{grid-template-columns:minmax(0,1fr) 82px 106px;gap:6px;margin-bottom:8px!important}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .toolbar:has(.is-season-rating){grid-template-columns:repeat(2,minmax(0,1fr))}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .toolbar:has(.is-season-rating) .search-control{grid-column:1/-1}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .participant-totals{height:52px!important;min-height:52px!important}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .participant{padding:7px 9px;row-gap:4px;border-radius:var(--vz-card-radius)!important}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants :is(.avatar-wrap,.avatar){width:39px;height:39px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .avatar-wrap{flex-basis:39px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .person{gap:8px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .person b{font-size:15px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participant>.participant-metrics{padding-top:6px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .metric small{margin-top:3px;font-size:12px}
}
@media(max-width:360px){
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants :is(.avatar-wrap,.avatar){width:34px;height:34px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .avatar-wrap{flex-basis:34px}
  html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-participants .participants-page .person b{font-size:13.5px}
}


/* Owner-approved exceptions shared by both ranking pages. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:is(.page-participants,.page-passages) :is(.participant-totals b,.participant .metric b,.passages-number){font-family:var(--vz-font-body)!important;font-weight:700!important;font-style:italic!important;letter-spacing:0!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:is(.page-participants,.page-passages) :is(.avatar,.passage-avatar){font-family:var(--vz-font-body)!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:is(.page-participants,.page-passages) :is(.participants-updated,.participants-updated time,.passages-updated,.passages-updated time){font:500 11px/1.2 var(--vz-font-body)!important}
/* Passages inherit participants geometry; Manrope metrics, initials and full dates are shared. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page{font:400 14px/1.5 var(--vz-font-body)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-head{margin-bottom:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-head h1{line-height:1!important;letter-spacing:normal!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-meta{padding:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-updated{margin-left:auto;padding-bottom:4px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-toolbar{grid-template-columns:minmax(240px,1fr) 140px 155px;gap:8px;margin-bottom:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages :is(.passages-field,.passages-types,.passages-totals){height:44px;min-height:44px;border-radius:11px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field{font-size:var(--vz-control-font-size)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field[role="search"]{gap:14px;padding:0 18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field[role="search"] svg{width:25px;height:25px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-select{display:block;position:relative;min-width:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-select select{width:100%;appearance:none;padding:0 32px 0 12px;font-weight:700;color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-select>svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--page-route-blue);stroke-width:1.8;pointer-events:none}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages :is(.passages-totals,.passages-types){grid-column:1/-1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals{align-self:stretch}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals>span{padding:3px 8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals b{display:flex;align-items:baseline;justify-content:center;gap:4px;font-size:18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals em{font:500 12px var(--vz-font-body)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals small{margin-top:2px;font-size:12px;line-height:1.1;white-space:nowrap}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-types label{font-size:var(--vz-control-font-size)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-types label:has(input:checked){color:var(--page-route-blue)!important;background:var(--page-route-hover)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages :is(.passages-page[data-sort="weight"] .passage-weight,.passages-page[data-sort="distanceKm"] .passage-distance) :is(.passages-number,small){color:var(--vz-ranking-current)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page[data-event-view="true"] .passage-metrics :is(.passages-number,small){color:var(--passages-ink)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-list{gap:8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:54px minmax(270px,1fr) minmax(330px,.9fr);min-height:72px;padding:12px 16px;gap:14px;border-radius:var(--vz-card-radius)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-rank{font:400 24px/1 "Bebas VZ",sans-serif}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card[data-rank-long="true"] .passage-rank{font-size:16px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-avatar{flex-basis:46px;width:46px;height:46px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-person{gap:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-person strong{font-size:18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-copy{flex:1;gap:4px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-theme{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap;color:var(--vz-muted);font-size:13px;line-height:1;font-weight:500}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-subject{min-width:0;overflow:hidden;text-overflow:ellipsis}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-completion{display:inline-flex;flex:0 0 auto;align-items:baseline;gap:3px;margin:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-completion::before{content:"·";margin-right:3px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-period{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-theme a{color:var(--page-route-blue)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-theme small{font-size:11px;line-height:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics>div{padding:0 12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics b{display:block}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics em{font:italic 400 11px var(--vz-font-body)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics small{margin-top:5px;font-size:13px;line-height:1.15}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page[data-event-view="true"] .passage-card{grid-template-columns:72px minmax(270px,1fr) minmax(330px,.9fr)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page .empty{padding:34px;font:400 14px/1.5 var(--vz-font-body)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-summary{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1181px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-toolbar{grid-template-columns:minmax(300px,1.2fr) 132px 160px minmax(390px,1fr)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals{grid-column:4;grid-row:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-types{grid-row:2}
}
@media(min-width:768px) and (max-width:1180px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:46px minmax(250px,1fr) minmax(290px,.9fr);row-gap:12px}
}
@container(max-width:900px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:12px 14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card>.passage-rank{grid-column:1;grid-row:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card>.passage-person{grid-column:2;grid-row:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card>.passage-metrics{grid-column:1/-1;grid-row:2;padding-top:12px;border-top:1px solid var(--passages-line)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page[data-event-view="true"] .passage-card{grid-template-columns:72px minmax(0,1fr)}
}
@media(max-width:767px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages main#passages-app{padding:10px 10px 20px!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-head{display:block;min-height:0;margin-bottom:8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-head>[data-inner-theme]{display:none!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .atlas-datetime time{font:500 11px/1.2 "Segoe UI",Arial,sans-serif!important}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-meta .atlas-datetime{display:flex!important;gap:10px;min-width:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-toolbar{grid-template-columns:minmax(0,1fr) 82px 106px;gap:6px;margin-bottom:8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-types{height:auto;min-height:54px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-types label{min-height:44px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-totals{height:52px;min-height:52px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:42px minmax(0,1fr);min-height:0;padding:7px 9px;gap:4px 14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-avatar{flex-basis:39px;width:39px;height:39px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-person{gap:8px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-person strong{font-size:15px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-theme{font-size:11px;line-height:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card>.passage-metrics{padding-top:6px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics>div{padding:0 5px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card:is([data-rank-range="true"],[data-rank-long="true"]) .passage-rank{font-size:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics small{margin-top:3px;font-size:12px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page[data-event-view="true"] .passage-card{grid-template-columns:54px minmax(0,1fr)}
}
@media(max-width:720px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-updated{margin:0;padding:0}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field[role="search"]{gap:7px;padding:0 9px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field[role="search"] svg{width:18px;height:18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:32px minmax(0,1fr);grid-template-rows:minmax(69px,auto) auto}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-completion-prefix{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-avatar{font-size:18px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-metrics .passages-number{font-size:18px}
}
@media(max-width:430px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:27px minmax(0,1fr)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-avatar{font-size:16px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field[role="search"]{padding-inline:8px}
}
@media(max-width:360px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-field[role="search"]{grid-column:1/-1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-card{grid-template-columns:24px minmax(0,1fr)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-avatar{flex-basis:34px;width:34px;height:34px;font-size:14px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-person strong{font-size:13.5px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passages-page[data-event-view="true"] .passage-card{grid-template-columns:48px minmax(0,1fr)}
}

/* Ordinary places are foreground text, while podium colors retain their meaning. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page:is(.page-participants,.page-passages) :is(.participant:not(.rank-1,.rank-2,.rank-3) .rank,.passage-card[data-podium="4"] .passage-rank){color:var(--vz-ranking-place)!important}

/* Compact event dates fit the same row rhythm without losing range or year. */
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;justify-items:center;row-gap:1px;min-height:46px;padding:1px 3px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date b{grid-column:1/-1;grid-row:1;font:italic 700 18px/1 var(--vz-font-body)}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date span{grid-column:1;grid-row:2;margin:0;font-size:10px;line-height:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date small:last-child{grid-column:2;grid-row:2;margin:0;font-size:10px;line-height:1}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date small:not(:last-child){grid-column:1/-1;grid-row:3;margin:0;font-size:10px;line-height:1}
@media(max-width:767px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date{min-height:39px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages .passage-event-date b{font-size:15px}
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages :is(.passage-event-date span,.passage-event-date small:last-child,.passage-event-date small:not(:last-child)){font-size:9px}
}
@media(max-width:360px){
html.vz-unified.vz-unified:where(html[data-vz-route-style="single"]) body.vz-public-page.vz-public-page.page-passages :is(.passage-event-date span,.passage-event-date small:last-child,.passage-event-date small:not(:last-child)){font-size:8px}
}


/* Source: public/site-cabinet-palette.css; routes only */
/* Route typography and UI colors for every private cabinet view.
   Passage statuses, award colors, figures, and responsive grids remain separate. */


:root:where(html[data-vz-route-style="single"]){
  --cab-route-blue:var(--vz-blue);--cab-route-copy:var(--vz-copy);--cab-route-muted:var(--vz-muted);
  --cab-route-page:var(--vz-page);--cab-route-paper:var(--vz-card);--cab-route-soft:var(--vz-card-soft);--cab-route-line:var(--vz-line);
}
:root[data-theme]:has(>body:is(.cabinet-page,.page-season-themes,.page-my-passages)):where(html[data-vz-route-style="single"]){
  background:var(--cab-route-page)!important;
}
:root[data-theme][data-design]:where(html[data-vz-route-style="single"]) body:is(.cabinet-page,.page-season-themes,.page-my-passages){
  background:var(--cab-route-page)!important;
  color:var(--cab-route-copy)!important;
  font-family:Manrope,"Segoe UI",Arial,sans-serif!important;
}
html:where(html[data-vz-route-style="single"]) body.cabinet-page,
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app{
  --profile-bg:var(--cab-route-page)!important;
  --profile-card:var(--cab-route-paper)!important;
  --profile-card-2:var(--cab-route-soft)!important;
  --profile-soft:var(--cab-route-soft)!important;
  --profile-ink:var(--cab-route-copy)!important;
  --profile-muted:var(--cab-route-muted)!important;
  --profile-line:var(--cab-route-line)!important;
  --profile-sort:var(--cab-route-blue)!important;
  --profile-level:var(--cab-route-blue)!important;
  --profile-current-line:var(--cab-route-blue)!important;
  --profile-blue:var(--cab-route-blue)!important;
}
html:where(html[data-vz-route-style="single"]) body.page-season-themes,
html:where(html[data-vz-route-style="single"]) body.page-season-themes .season-themes-page{
  --st-bg:var(--cab-route-page)!important;
  --st-page-bg:var(--cab-route-page)!important;
  --st-card:var(--cab-route-paper)!important;
  --st-card-2:var(--cab-route-soft)!important;
  --st-ink:var(--cab-route-copy)!important;
  --st-muted:var(--cab-route-muted)!important;
  --st-line:var(--cab-route-line)!important;
  --st-accent:var(--cab-route-blue)!important;
}
html:where(html[data-vz-route-style="single"]) body.page-my-passages,
html:where(html[data-vz-route-style="single"]) body.page-my-passages .my-passages-page{
  --mp-bg:var(--cab-route-page)!important;
  --mp-card:var(--cab-route-paper)!important;
  --mp-card-2:var(--cab-route-soft)!important;
  --mp-ink:var(--cab-route-copy)!important;
  --mp-muted:var(--cab-route-muted)!important;
  --mp-line:var(--cab-route-line)!important;
  --mp-accent:var(--cab-route-blue)!important;
  --mp-ordered:var(--vz-warning)!important;
}
html:where(html[data-vz-route-style="single"]) body:is(.cabinet-page,.page-season-themes,.page-my-passages) :is(main,p,a,small,label,legend,input,select,textarea,button,th,td){
  font-family:Manrope,"Segoe UI",Arial,sans-serif!important;
}
html:where(html[data-vz-route-style="single"]) body:is(.cabinet-page,.page-season-themes,.page-my-passages) main#app :is(h1,h2,h3){
  font-family:"Times New Roman",Times,serif!important;
  color:var(--cab-route-blue)!important;
  letter-spacing:normal!important;
}
html:where(html[data-vz-route-style="single"]) body:is(.cabinet-page,.page-season-themes,.page-my-passages) main#app :is(p,a,small,label,legend,input,select,textarea,button,th,td,.label,.eyebrow,.profile-updated){
  font-family:Manrope,"Segoe UI",Arial,sans-serif!important;
}
html:where(html[data-vz-route-style="single"]) body.page-season-themes main#app :is(.season-themes-person strong,.season-theme-meta,.season-theme-date,.season-themes-updated),
html:where(html[data-vz-route-style="single"]) body.page-my-passages main#app :is(.my-passages-identity-copy strong,.my-passages-theme,.my-passages-badge-copy strong),
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app :is(.profile-title-line h1,.rating .label,.reward-copy b,.legendary-copy b,.season-achievement-text b,.achievement-history-row b){
  font-family:Manrope,"Segoe UI",Arial,sans-serif!important;
}
html:where(html[data-vz-route-style="single"]) body.page-season-themes :is(.season-themes-updated,.season-themes-updated time){color:var(--st-muted)}
html:where(html[data-vz-route-style="single"]) body:is(.cabinet-page,.page-season-themes,.page-my-passages) :is(a,button,input,select,textarea):focus-visible{
  outline-color:var(--cab-route-blue)!important;
}

/* Participant identity captions are metadata, independent of award actions. */
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .profile-copy .eyebrow{color:var(--vz-muted)!important}
/* A generic page-card rule must not erase the award's own colored edge. */
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .special-achievements .legendary{
  border-left-color:var(--award-color)!important;
}
:root[data-theme="light"]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .special-achievements .legendary{
  border-left-color:var(--award-light-color)!important;
}
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .medal-rewards .reward{
  background:linear-gradient(110deg,color-mix(in srgb,var(--reward-color) 7%,var(--profile-card)),var(--profile-card))!important;
}
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .season-achievement:not(.locked){
  border-color:color-mix(in srgb,var(--profile-sort) 70%,var(--profile-line))!important;
  background:color-mix(in srgb,var(--profile-sort) 5%,var(--profile-card))!important;
}

/* Light award scenes retain color and readable edges; locked art stays quiet. */
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-overall-badge{position:absolute;z-index:3;top:-7px;left:-7px;display:grid;place-items:center;min-width:28px;height:28px;padding:0 5px;border:1px solid var(--vz-current-fill,var(--vz-current));border-radius:50%;background:var(--vz-card);color:var(--vz-current);font:800 12px/1 Manrope,'Segoe UI',Arial,sans-serif}
html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .profile-progression{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:14px 20px;margin:18px 0 22px;padding:18px;border:1px solid var(--vz-line);border-radius:15px;background:var(--vz-card)}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;color:var(--vz-muted);font-size:12px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score>span{grid-column:1/-1}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score strong{color:var(--vz-current);font-size:36px;line-height:1.15}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score small{max-width:80px;font-size:10px}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-copy{min-width:0}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-copy>b{color:var(--vz-blue);font-size:15px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-copy>p{margin:5px 0 9px;color:var(--vz-muted);font-size:12px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-counts{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--vz-muted);font-size:11px}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development{position:relative;grid-column:1/-1;min-width:0;padding:2px 0 0}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development ol{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-rail{position:absolute;left:10%;top:19px;width:80%;height:6px;margin:0;border:0;border-radius:10px;appearance:none;background:var(--vz-line);color:var(--vz-current-fill,var(--vz-current))}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-rail::-webkit-progress-bar{border-radius:10px;background:var(--vz-line)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-rail::-webkit-progress-value{border-radius:10px;background:linear-gradient(90deg,var(--vz-current-fill,var(--vz-current)),#238bc2)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-rail::-moz-progress-bar{border-radius:10px;background:linear-gradient(90deg,var(--vz-current-fill,var(--vz-current)),#238bc2)}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center;color:var(--vz-muted)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-node{display:grid;place-items:center;position:relative;width:36px;height:36px;border:2px solid var(--vz-line);border-radius:50%;background:var(--vz-card);color:var(--vz-muted);font:800 13px/1 Manrope,'Segoe UI',Arial,sans-serif}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step b{font-size:13px;line-height:1.25;font-weight:750}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step small{font-size:10px;line-height:1.3}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step.is-reached{color:var(--vz-blue)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step.is-reached .profile-development-node{border-color:var(--vz-current-fill,var(--vz-current));background:var(--vz-current-fill,var(--vz-current));color:var(--vz-on-accent);box-shadow:inset 0 1px #ffffff88,0 2px 6px #123b6d24}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step.is-current .profile-development-node{outline:3px solid color-mix(in srgb,var(--vz-current-fill,var(--vz-current)) 24%,transparent);outline-offset:3px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step.is-current b{color:var(--vz-current)}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret{grid-column:1/-1;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;border:1px solid var(--vz-line);border-radius:12px;background:var(--vz-card-soft)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--vz-blue)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret b{font-size:13px;color:var(--vz-blue)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret p{margin:3px 0 0;color:var(--vz-muted);font-size:11px;line-height:1.45}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-score{color:var(--vz-current);font-size:19px;font-weight:800}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-score small{font-size:10px;font-weight:500;color:var(--vz-muted)}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret progress{grid-column:2/-1;width:100%;height:5px;margin:0;accent-color:var(--vz-current-fill,var(--vz-current))}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret.is-member{border-color:color-mix(in srgb,var(--vz-current-fill,var(--vz-current)) 45%,var(--vz-line));background:color-mix(in srgb,var(--vz-current-fill,var(--vz-current)) 6%,var(--vz-card))}
:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression details{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--vz-line);color:var(--vz-muted);font-size:12px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression summary{cursor:pointer;padding:4px 0}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression details p{font-size:12px;line-height:1.5}
@media(max-width:767px){html:where(html[data-vz-route-style="single"]) body.cabinet-page main#app .profile-progression{grid-template-columns:90px minmax(0,1fr);gap:16px 12px;padding:14px 12px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score{grid-template-columns:1fr}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score small{max-width:none}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-progression-score strong{font-size:30px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development ol{gap:4px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step{gap:6px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step b{font-size:10px;min-height:25px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-step small{font-size:9px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-node{width:30px;height:30px;font-size:11px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-development-rail{top:16px;height:5px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret{grid-template-columns:26px minmax(0,1fr);gap:7px 8px;padding:10px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-icon{width:25px;height:25px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-score{grid-column:2;font-size:18px}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret progress{grid-column:2}:where(html[data-vz-route-style="single"]) .cabinet-page .profile-secret-score small{font-size:11px}}

:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary{
  border-color:color-mix(in srgb,var(--award-light-color) 52%,var(--profile-line))!important;
  border-left-color:var(--award-light-color)!important;
  background:color-mix(in srgb,var(--award-light-color) 12%,#fff)!important;
}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary::before{filter:saturate(1.4) contrast(1.08)!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary::after{background:linear-gradient(90deg,#fffffff5 0%,#ffffffe6 30%,#ffffff99 52%,#ffffff26 78%,#ffffff0a 100%)!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary.locked{border-color:color-mix(in srgb,var(--award-light-color) 28%,var(--profile-line))!important;border-left-color:var(--award-light-color)!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary.locked::before{filter:saturate(.4) contrast(.92) brightness(1.05)!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary.locked::after{background:linear-gradient(90deg,#fffffff7 0%,#ffffffec 33%,#ffffffb5 54%,#ffffff5c 80%,#ffffff30 100%)!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .medal-rewards .reward{border-color:color-mix(in srgb,var(--reward-color) 55%,var(--profile-line))!important;background:linear-gradient(110deg,color-mix(in srgb,var(--reward-color) 20%,#fff),color-mix(in srgb,var(--reward-color) 7%,#fff))!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .medal-rewards .reward.locked{border-color:color-mix(in srgb,var(--reward-color) 28%,var(--profile-line))!important;background:linear-gradient(110deg,color-mix(in srgb,var(--reward-color) 8%,#fff),#f6f8fb)!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .season-achievement-group{--season-award-color:var(--vz-blue)}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .season-achievement:not(.locked){border-color:color-mix(in srgb,var(--season-award-color,var(--vz-blue)) 55%,var(--profile-line))!important;background:color-mix(in srgb,var(--season-award-color,var(--vz-blue)) 8%,#fff)!important;box-shadow:none!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .season-achievement:not(.locked) .season-achievement-icon{border-color:color-mix(in srgb,var(--season-award-color,var(--vz-blue)) 50%,var(--profile-line))!important;background:color-mix(in srgb,var(--season-award-color,var(--vz-blue)) 15%,#fff)!important;color:var(--season-award-color,var(--vz-blue))!important;box-shadow:none!important;text-shadow:none!important}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .season-achievement:not(.locked) .earned-year{border-color:color-mix(in srgb,var(--season-award-color,var(--vz-blue)) 45%,var(--profile-line));color:var(--season-award-color,var(--vz-blue))}
:root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .season-achievement.locked{border-color:#a9bdd5!important;background:#f0f4f9!important}

/* Profile header (30.10.2026): no «Данные обновлены» line; the profile actions are compact buttons
   in one row under the name at every width, «Админка» last; a ready badge stays the bright action. */
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px!important}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>:is(a.profile-season-summary-link,#profile-admin-link){flex:0 0 auto!important;width:auto!important;min-width:0;min-height:38px!important;gap:8px!important;padding:7px 13px!important;font-size:13px!important;line-height:1.2!important}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions .profile-season-summary-icon,
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions .profile-friends-jump>svg{width:18px!important;height:18px!important}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions .profile-season-summary-arrow{display:none}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>#profile-admin-link{order:9;display:inline-flex;align-items:center;box-sizing:border-box;border:1px solid var(--profile-line);border-radius:var(--vz-control-radius);background:var(--profile-card);color:var(--profile-sort)}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>#profile-admin-link:hover{border-color:var(--profile-sort);text-decoration:none}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>#profile-admin-link>span:first-child{display:inline}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>#profile-admin-link .profile-admin-entry-arrow{font-size:15px}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>.profile-badge-action{min-height:38px!important;padding-right:13px!important;font-size:13px!important}
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>.profile-badge-action svg{padding:8px!important}

/* Phones: the identity gets room under the shared header; avatar and name share one row; a ready
   badge leads the actions on its own line; achievement text stays readable on narrow cards. */
@media(max-width:720px){
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2>.hero{margin-top:16px!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-identity{grid-template-columns:64px minmax(0,1fr)!important;grid-template-rows:auto auto auto;column-gap:14px!important;row-gap:0!important;align-items:center}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-avatar-control{grid-column:1;grid-row:1/3;align-self:center}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-avatar-control,
:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-avatar{width:64px!important;height:64px!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-copy{display:contents}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-copy>.eyebrow{grid-column:2;grid-row:1;align-self:end;margin:0 0 3px!important;font-size:10px!important;line-height:1.35!important;letter-spacing:.05em!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-title-line{grid-column:2;grid-row:2;align-self:start;min-width:0}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-title-line h1{margin:0!important;padding:0!important;font-size:clamp(21px,6.6vw,26px)!important;line-height:1.12!important;overflow-wrap:anywhere}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions{grid-column:1/-1;grid-row:3;gap:6px!important;margin:14px 0 0!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .avatar-status{grid-column:1/-1;grid-row:4}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>:is(a.profile-season-summary-link,#profile-admin-link){min-height:40px!important;gap:7px!important;padding:7px 12px!important;font-size:12px!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .profile-primary-actions>.profile-badge-action{order:-1;flex:1 1 100%!important;min-height:40px!important;font-size:12px!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2>.hero>.ratings{margin-top:14px}
  :root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary::after{background:linear-gradient(90deg,#fffffff7 0%,#fffffff0 48%,#ffffffd4 72%,#ffffff8c 100%)!important}
  :root[data-theme=light]:where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .special-achievements .legendary.locked::after{background:linear-gradient(90deg,#fffffff8 0%,#fffffff2 50%,#ffffffda 74%,#ffffff99 100%)!important}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .season-achievement{align-items:center!important;align-content:center!important}
  /* A medal's caption repeats its title; without it every plaque fits one lower common height. */
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2{--profile-plaque-height:76px}
  :where(html[data-vz-route-style="single"]) body.cabinet-page main#app.profile-v2 .medal-rewards .reward:not(.cup-reward) .reward-copy .label{display:none}
}


/* Source: public/assets/route-explorer/credit-guide.css; routes only */
/* Shared by the desktop route panel and its mobile copy; other panels keep
   their approved geometry, typography and map behavior. */
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief{
  --credit-copy:var(--vz-copy,#263238);
  --credit-muted:var(--vz-muted,#62738b);
  --credit-line:var(--vz-line,#bacbe9);
  --credit-soft:var(--vz-card-soft,#edf4fb);
  --credit-action:var(--vz-blue,#123b6d);
  --credit-on-action:var(--vz-on-accent,#fff);
  display:grid;gap:13px;min-width:0;
  color:var(--credit-copy);font:400 13px/1.45 var(--vz-font-body,Manrope,"Segoe UI",sans-serif);
  text-align:left;hyphens:none;overflow-wrap:anywhere;word-break:normal;
}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief a{white-space:normal;text-underline-offset:3px}
html:root:where(html[data-vz-route-style="single"]) .mock-panel--credit{background:var(--vz-card,#fff)!important}
html:root:where(html[data-vz-route-style="single"]) :is(.mock-credit-content,.mock-mobile-credit-content,.route-credit-content) .route-credit-brief a.route-credit-brief__primary{
  display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;
  padding:10px 12px;border:1px solid var(--credit-action);border-radius:10px;
  background:var(--credit-action);color:var(--credit-on-action)!important;font:700 14px/1.2 var(--vz-font-body,Manrope,"Segoe UI",sans-serif);
  text-decoration:none;text-align:center;box-shadow:none;
}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief a.route-credit-brief__primary :is(span,svg){color:var(--credit-on-action)!important}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__primary svg{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__primary span{flex:1}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__primary:hover{filter:brightness(.94)}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief :is(a,summary):focus-visible{outline:2px solid var(--credit-action);outline-offset:3px}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief ol.route-credit-brief__steps{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:none}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief li.route-credit-brief__step{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:0;border:0;background:transparent}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__number{
  display:grid;place-items:center;width:27px;height:27px;margin-top:1px;
  border:1px solid color-mix(in srgb,var(--vz-current-fill,#00875a) 30%,var(--credit-line));border-radius:9px;
  background:var(--vz-current-surface,#e9f8f0);color:var(--vz-current,#006b43);font-size:13px;font-weight:800;line-height:1;
}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__step strong{display:block;color:var(--credit-copy);font-size:13px;font-weight:750;line-height:1.35}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__step p{margin:3px 0 0;color:var(--credit-muted);font-size:12px;line-height:1.5}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief .route-credit-brief__status{margin:0;padding-top:11px;border-top:1px solid var(--credit-line);color:var(--credit-muted);font-size:11px;line-height:1.5}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px 14px;margin:0;padding:0}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__links a{min-height:28px;color:var(--credit-action);font-size:11px;font-weight:600;line-height:1.4;text-decoration:underline;text-wrap:pretty}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras{min-width:0;margin:0;padding:0;border:1px solid var(--credit-line);border-radius:9px;background:var(--credit-soft)}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:9px 10px;color:var(--credit-action);font-size:12px;font-weight:650;line-height:1.3;list-style:none;cursor:pointer}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras>summary::-webkit-details-marker{display:none}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras>summary svg{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras[open]>summary svg{transform:rotate(180deg)}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras>div{padding:0 10px 9px;color:var(--credit-copy);font-size:12px;line-height:1.5}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras p{margin:0 0 7px}
html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras p:last-child{margin-bottom:0}
html:root:where(html[data-vz-route-style="single"]) .mock-credit-content:has(.route-credit-brief){padding-top:7px;text-align:left}
@media(max-width:767px),(max-width:1100px) and (max-height:767px){
  html:root:where(html[data-vz-route-style="single"]) .route-credit-brief{gap:13px;font-size:14px}
  html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__step strong{font-size:14px}
  html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__step p{font-size:13px;line-height:1.45}
  html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__links a{display:flex;align-items:center;min-height:40px;font-size:12px}
  html:root:where(html[data-vz-route-style="single"]) .route-credit-brief__extras>summary{min-height:44px;font-size:13px}
}


/* Source: public/assets/route-explorer/new-route.css; routes only */
/* A local accent on new labels; all ordinary route geometry stays unchanged. */
:where(html[data-vz-route-style="single"]) .route-new-badge{display:inline-flex;align-items:center;gap:4px;min-width:0;margin-left:4px;padding:1px 6px;border:1px solid var(--vz-current-fill);border-radius:6px;background:var(--vz-current-surface);color:var(--vz-current);font:700 9px/1.5 Manrope,'Segoe UI',Arial,sans-serif;letter-spacing:.02em;vertical-align:1px;white-space:nowrap;box-shadow:0 0 7px color-mix(in srgb,var(--vz-current-fill) 13%,transparent);animation:route-new-attention 14s ease-in-out 3s infinite}
:where(html[data-vz-route-style="single"]) .route-new-badge::before{content:'';width:4px;height:4px;flex:none;border-radius:50%;background:var(--vz-current-fill)}
:where(html[data-vz-route-style="single"]) .route-new-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 9px;color:var(--vz-muted);font:400 11px/1.5 Manrope,'Segoe UI',Arial,sans-serif}
:where(html[data-vz-route-style="single"]) .route-new-note>.route-new-badge{margin-left:0}
:where(html[data-vz-route-style="single"]) .catalog-track-tooltip .route-new-badge{margin-left:6px}
@keyframes route-new-attention{0%,8%,100%{box-shadow:0 0 7px color-mix(in srgb,var(--vz-current-fill) 13%,transparent)}3%,5%{box-shadow:0 0 0 2px color-mix(in srgb,var(--vz-current-fill) 10%,transparent),0 0 12px color-mix(in srgb,var(--vz-current-fill) 24%,transparent)}}
@media(prefers-reduced-motion:reduce){:where(html[data-vz-route-style="single"]) .route-new-badge{animation:none}}


/* Source: public/passages-map.css; passages-map only */
/* Included in the one physical routes-theme.css. */
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) body{ margin:0;min-width:320px;overflow:hidden;background:var(--vz-page);color:var(--vz-copy);font:400 14px/1.4 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-explorer{ position:fixed;inset:var(--route-viewport-top,0px) 0 auto;height:var(--route-viewport-height,100dvh); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) :is(.pm-explorer,.pm-explorer *){ box-sizing:border-box; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map{ position:absolute;inset:0;background:var(--vz-card-soft); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-mobile-bottom-nav{ display:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) :is(button,a):focus-visible{ outline:2px solid var(--vz-blue);outline-offset:2px; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) :is(.pm-heading,.pm-map-controls) > :is(button,a) > svg{ width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heading{ position:absolute;z-index:800;left:12px;top:12px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 306px);padding:7px 10px;border:1px solid var(--vz-line);border-radius:var(--vz-control-radius,11px);background:var(--route-surface,var(--vz-card)); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heading h1{ display:flex;align-items:center;gap:8px;min-width:0;margin:0;color:var(--vz-blue);font:700 28px/1.1 var(--vz-font-heading,"Times New Roman",serif); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heading h1 > span{ min-width:0; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heading button{ flex:none;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:var(--vz-control-radius);background:transparent;color:var(--vz-blue);cursor:pointer; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heading h1 .vz-save-page{ position:static;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map-controls{ position:absolute;z-index:800;right:12px;top:12px;display:flex;border:1px solid var(--vz-line);border-radius:var(--vz-control-radius);overflow:hidden;background:var(--route-surface,var(--vz-card));box-shadow:var(--vz-shadow-popup); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map-controls button{ display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:0;border-left:1px solid var(--vz-line);background:transparent;color:var(--vz-blue);font:700 25px/1 var(--vz-font-body);cursor:pointer; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map-controls button:first-child{ border-left:0; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map-controls button:focus-visible{ outline-offset:-3px; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map-status{ position:absolute;z-index:600;right:12px;bottom:20px;max-width:min(420px,calc(100% - 36px));margin:0;padding:8px 10px;border-radius:var(--vz-control-radius);color:var(--vz-copy);background:var(--route-surface,var(--vz-card));font-size:12px;pointer-events:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map-status:empty{ display:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heat-canvas{ position:absolute;pointer-events:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map .leaflet-interactive:focus-visible{ stroke-opacity:.85;stroke-width:4;outline:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){ background:var(--route-surface,var(--vz-card));color:var(--vz-copy); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map .leaflet-popup-close-button{ color:var(--vz-muted); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup{ max-height:min(380px,calc(var(--route-viewport-height,100dvh) - 190px));overflow-y:auto;overscroll-behavior:contain;font:400 12px/1.4 var(--vz-font-body); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup:focus{ outline:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup:focus-visible{ border-radius:4px;box-shadow:inset 0 0 0 1px var(--vz-line); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup p{ margin:0 0 8px; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup ul{ margin:0;padding:0;list-style:none; }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup li{ padding:7px 0;border-top:1px solid var(--vz-line); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup strong{ display:block;color:var(--vz-blue); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-popup time{ color:var(--vz-muted); }
html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-sr-only{ position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
html[data-route-layout="passages-map"].theme-dark:where(html[data-route-layout="passages-map"]) .pm-street-tiles img.leaflet-tile{ filter:invert(.9) hue-rotate(180deg) saturate(.8) brightness(1.1) contrast(.76); }
@media(min-width:1280px){
  html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-map{ left:var(--route-menu-width,92px); }
  html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-heading{ left:calc(var(--route-menu-width,92px) + 12px); }
  html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .pm-menu-button{ display:none; }
}
@media(min-width:768px) and (max-width:1279px){ html[data-route-layout="passages-map"]:where(html[data-route-layout="passages-map"]) .mock-site-rail{ display:none; } }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-heading{ inset:0 0 auto;max-width:none;height:61px;padding:6px 8px;border:0;border-bottom:1px solid var(--vz-line);border-radius:0; }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-heading h1{ flex:1;justify-content:center;gap:4px;text-align:center;font-size:20px;line-height:1.05; }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-map-controls{ top:73px;right:8px; }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]){ --pm-mobile-nav-height:calc(68px + env(safe-area-inset-bottom,0px)); }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-map{ bottom:var(--pm-mobile-nav-height); }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-map-status{ bottom:calc(var(--pm-mobile-nav-height) + 16px);right:8px;max-width:calc(100% - 16px); }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-mobile-bottom-nav.vz-common-bottom{ position:fixed;z-index:900;left:0;right:0;bottom:var(--route-viewport-bottom,0px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:var(--pm-mobile-nav-height);padding:0 0 env(safe-area-inset-bottom,0px);box-sizing:border-box;border-top:1px solid var(--vz-line);background:var(--route-surface,var(--vz-card));font-family:var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif); }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-mobile-bottom-nav :is(a,button){ display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:0;min-height:44px;margin:0;padding:4px 2px;border:0;background:transparent;color:var(--vz-muted);font:400 11px/1.2 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif);text-decoration:none; }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-mobile-bottom-nav :is(a,button)[aria-current]{ color:var(--vz-blue);font-weight:700; }
html[data-route-layout="passages-map"].mock-has-mobile:where(html[data-route-layout="passages-map"]) .pm-mobile-bottom-nav svg{ flex:none;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }


/* Source: public/route-submissions.css; routes only */
/* Bundled into routes-theme.css. Route pages must not load a second stylesheet. */
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) :is([data-route-submission-open], .rs-summary-page [data-route-submission-id]){
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:44px;margin:10px 0;padding:10px 14px;
 border:1px solid var(--route-accent-fill,var(--vz-current-fill));border-radius:11px;background:var(--route-accent-fill,var(--vz-current-fill));color:var(--vz-on-accent);
 font:600 14px/1.3 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif);white-space:normal;overflow-wrap:anywhere;cursor:pointer
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) :is([data-route-submission-open], .rs-summary-page [data-route-submission-id]):enabled:hover{filter:brightness(.94)}
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) :is([data-route-submission-open], .rs-summary-page [data-route-submission-id]):focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) :is([data-route-submission-open], .rs-summary-page [data-route-submission-id]):disabled{cursor:default;opacity:.55}
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page{
 box-sizing:border-box;position:static;inset:auto;width:min(840px,100%);max-width:840px;min-height:0;margin:0 auto;padding:28px 24px 56px;
 background:transparent;color:var(--vz-copy);font:400 15px/1.55 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif)
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page h1{margin:0 0 16px;color:var(--vz-blue);font:700 28px/1.15 var(--vz-font-heading,"Times New Roman",serif)}
html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page a{display:inline-flex;align-items:center;min-height:44px;margin-left:14px;color:var(--vz-blue)}
@media(max-width:600px){
 html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) :is(.mock-mobile-credit-content,.route-credit-guide) [data-route-submission-open]{width:100%}
 html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page{padding:20px 14px 40px}
 html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page h1{font-size:20px}
 html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page [data-route-submission-id]{width:100%}
 html[data-vz-route-style="single"][data-page-template="routes"]:root:where(html[data-vz-route-style="single"]) .rs-summary-page a{margin-left:0}
}
:where(html[data-vz-route-style="single"]) .route-submission-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(var(--route-viewport-height,100dvh) - 24px);margin:auto;padding:0;border:1px solid var(--vz-line);border-radius:15px;background:var(--route-surface,var(--vz-card));color:var(--vz-copy);box-shadow:var(--vz-shadow-popup);font:400 13px/1.45 var(--vz-font-body,Manrope,"Segoe UI",Arial,sans-serif);overflow:hidden}
:where(html[data-vz-route-style="single"]) .route-submission-dialog[open]{display:flex;flex-direction:column}
:where(html[data-vz-route-style="single"]) .route-submission-dialog.rs-access-dialog{width:min(460px,calc(100vw - 24px))}
:where(html[data-vz-route-style="single"]) .route-submission-dialog::backdrop{background:#04111ba8}
:where(html[data-vz-route-style="single"]) .route-submission-dialog *{box-sizing:border-box}
:where(html[data-vz-route-style="single"]) .route-submission-dialog [hidden]{display:none!important}
:where(html[data-vz-route-style="single"]) .route-submission-dialog p{margin:0}
:where(html[data-vz-route-style="single"]) .route-submission-dialog a{color:var(--vz-blue);text-underline-offset:2px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog :is(h2,h3){margin:0;color:var(--vz-blue)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog h2{font:700 20px/1.2 var(--vz-font-heading,"Times New Roman",serif);overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog h3{font:700 13px/1.4 var(--vz-font-body);overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;flex:none;border-bottom:1px solid var(--vz-line)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-body{display:flex;flex-direction:column;gap:8px;min-height:0;padding:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--vz-card-soft)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;padding:8px 10px;flex:none;border-top:1px solid var(--vz-line)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-actions:not(:has(button:not([hidden]))){display:none}
:where(html[data-vz-route-style="single"]) .route-submission-dialog :is(button,input){font:inherit}
:where(html[data-vz-route-style="single"]) .route-submission-dialog button{min-width:0;min-height:44px;padding:7px 10px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card);color:var(--vz-blue);font-weight:600;cursor:pointer;white-space:normal}
:where(html[data-vz-route-style="single"]) .route-submission-dialog button:enabled:hover{background:var(--vz-hover)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog button:disabled{opacity:.55;cursor:default}
:where(html[data-vz-route-style="single"]) .route-submission-dialog button.rs-primary{background:var(--route-accent-fill,var(--vz-current-fill));border-color:var(--route-accent-fill,var(--vz-current-fill));color:var(--vz-on-accent)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog button.rs-primary:enabled:hover{filter:brightness(.94)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog button.rs-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;font-size:25px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog :is(button,a,input,[contenteditable]):focus-visible{outline:2px solid var(--vz-blue);outline-offset:2px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-access-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:7px 10px;border:1px solid var(--vz-line);border-radius:11px;text-decoration:none}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-badge{align-self:flex-start;border:1px solid var(--vz-line);border-radius:6px;padding:2px 6px;background:var(--vz-card);color:var(--vz-blue);font:600 11px/1.35 var(--vz-font-body)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-step-label{color:var(--vz-muted);font-size:12px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-completeness{display:grid;gap:4px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog progress{width:100%;height:6px;accent-color:var(--route-accent-fill,var(--vz-current-fill))}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-hint{color:var(--vz-muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-materials{display:grid;gap:8px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-chat-bubble{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:1px solid var(--vz-line);border-radius:15px 15px 15px 4px;background:var(--vz-card);overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-user-bubble{align-self:flex-end;max-width:100%;padding:8px 10px;border:1px solid var(--vz-line);border-radius:15px 15px 4px 15px;background:var(--route-accent-surface,var(--vz-card-soft));color:var(--vz-copy);overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-checkpoints{display:grid;gap:8px;min-width:0}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-checkpoint{display:grid;gap:5px;min-width:0;padding-top:8px;border-top:1px solid var(--vz-line)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;min-width:0;align-items:center}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-upload-status{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:11px;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-upload-saved{color:var(--vz-blue);font-weight:600}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-photo-link{grid-column:2;grid-row:2;justify-self:start}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-photo-link img{display:block;width:72px;height:54px;object-fit:cover;border-radius:8px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-remove-file{grid-column:1;grid-row:2;font-size:11px;padding:6px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-inline-button{width:100%;text-align:center}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-editor-toolbar{display:flex;flex-wrap:wrap;gap:4px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-editor-toolbar button{min-width:44px;padding:5px 8px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-editor{min-height:84px;padding:8px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card-soft);color:var(--vz-copy);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-editor[aria-readonly=true]{opacity:.8}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-editor blockquote,
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-confirm-text blockquote{margin:6px 0;padding-left:8px;border-left:2px solid var(--vz-line)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog :is(.rs-editor,.rs-confirm-text) :is(code,pre){font-family:Consolas,monospace;background:var(--vz-card-soft);white-space:pre-wrap;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-tg-spoiler,
:where(html[data-vz-route-style="single"]) .route-submission-dialog .tg-spoiler{background:var(--vz-card-soft);border-bottom:1px dashed var(--vz-muted)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-character-count{display:block;text-align:right;font-size:11px;color:var(--vz-muted)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-link-editor{display:flex;gap:6px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-link-editor input{min-width:0;width:100%;min-height:44px;padding:7px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card);color:var(--vz-copy)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-emoji-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:4px;padding:6px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card-soft)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-emoji-picker button{padding:3px;font-size:22px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-consents{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--vz-line)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-consent{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:11px;line-height:1.45}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-consent input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--route-accent-fill,var(--vz-current-fill))}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-confirm-text{padding:8px;border:1px solid var(--vz-line);border-radius:11px;white-space:pre-wrap;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog :is(.rs-configuration,.rs-review-note){padding:8px;border:1px solid var(--vz-line);border-radius:11px;background:var(--vz-card);font-size:12px;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-message{min-height:16px;color:var(--vz-muted);font-size:11px;overflow-wrap:anywhere}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-message.is-error,
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-error{color:var(--vz-error)}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-history-section summary{display:flex;align-items:center;min-height:44px;color:var(--vz-blue);cursor:pointer}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-history{display:grid;gap:6px;margin-top:6px}
:where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-history-item{text-align:left;font-size:12px}
@media(max-width:600px){
 :where(html[data-vz-route-style="single"]) .route-submission-dialog{width:calc(100vw - 16px);max-height:calc(var(--route-viewport-height,100dvh) - 16px)}
 :where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-heading{padding:6px 8px}
 :where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-body{padding:8px;gap:7px}
 :where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-chat-bubble{padding:8px;gap:7px}
 :where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-actions{padding:7px 8px}
 :where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-actions button{padding:6px 4px;font-size:11px}
 :where(html[data-vz-route-style="single"]) .route-submission-dialog .rs-link-editor{flex-direction:column}
}



/* Source: public/assets/site-privacy.css; routes only */
:where(html[data-vz-route-style="single"]) .vz-site-privacy{
  box-sizing: border-box; border: 1px solid var(--vz-line, #ccd5dd);
  border-radius: var(--vz-card-radius, 12px); background: var(--vz-card, #fff); color: var(--vz-copy, #203343);
  font: 400 14px/1.5 var(--vz-font-body, Manrope, "Segoe UI", Arial, sans-serif); text-align: left;
}
:where(html[data-vz-route-style="single"]) .vz-site-privacy *,
:where(html[data-vz-route-style="single"]) .vz-site-privacy *::before,
:where(html[data-vz-route-style="single"]) .vz-site-privacy *::after{ box-sizing: border-box; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy[hidden],
:where(html[data-vz-route-style="single"]) .vz-site-privacy [hidden]{ display: none !important; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy p{ margin: 0 0 14px; font: inherit; color: inherit; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy a{ color: var(--vz-blue, #1976b3); text-underline-offset: 3px; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy button{
  min-height: 44px; padding: 9px 14px; border: 1px solid var(--vz-line, #ccd5dd);
  border-radius: var(--vz-control-radius, 8px); background: var(--vz-card-soft, #f2f6f9);
  color: inherit; font: 600 13px/1.3 var(--vz-font-body, Manrope, "Segoe UI", Arial, sans-serif); cursor: pointer;
}
:where(html[data-vz-route-style="single"]) .vz-site-privacy button:disabled{ opacity: .65; cursor: wait; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy :is(button, a):focus-visible{ outline: 2px solid var(--vz-blue, #1976b3); outline-offset: 2px; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy code{ overflow-wrap: anywhere; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy-dialog{
  width: min(620px, calc(100% - 24px)); max-height: calc(100dvh - 32px);
  margin: auto; padding: 22px; overflow-y: auto; overscroll-behavior: contain;
}
:where(html[data-vz-route-style="single"]) .vz-site-privacy-dialog::backdrop{ background: #07131c80; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy-heading{ display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy-heading h2{ margin: 0; color: var(--vz-blue, #1976b3); font: 700 20px/1.25 var(--vz-font-heading, Manrope, "Segoe UI", Arial, sans-serif); }
:where(html[data-vz-route-style="single"]) .vz-site-privacy-heading button{ flex: none; width: 44px; padding: 0; font-size: 24px; }
:where(html[data-vz-route-style="single"]) .vz-site-privacy-status{ min-height: 1.5em; margin: 14px 0 0 !important; color: var(--vz-muted, #596c7a) !important; }
@media (max-width: 767px), (pointer: coarse) and (max-width: 1100px) and (max-height: 767px){
  :where(html[data-vz-route-style="single"]) .vz-site-privacy-dialog{ padding: 18px; max-height: calc(100dvh - 24px); }
}
@media print{ :where(html[data-vz-route-style="single"]) .vz-site-privacy{ display: none !important; } }


/* ROUTES_TEMPLATE_RULES */
/* Approved route template, 13 October 2026. This section survives rebuilding.
   Palette matches the approved public lists; their stylesheet is independent. */
html[data-vz-route-style="single"] {
  --route-accent: #006b43;
  --route-accent-fill: #00875a;
  --route-accent-surface: #e9f8f0;
  --vz-current: var(--route-accent);
  --vz-current-fill: var(--route-accent-fill);
  --vz-current-surface: var(--route-accent-surface);
  --menu-accent: var(--route-accent);
  --menu-selected: var(--route-accent-surface);
  --route-metric-accent: var(--route-accent-fill);
  --route-surface-opacity: 95%;
  --route-surface: color-mix(in srgb, var(--vz-card) var(--route-surface-opacity), transparent);
  --route-panel-radius: 15px;
  --route-map-control-size: 44px;
  --route-title-size: 28px;
  --route-mobile-title-size: 20px;
  --route-body-size: 15px;
  --route-catalog-name-size: 14px;
  --route-catalog-metric-size: 12px;
  --menu-paper: var(--route-surface);
}
html[data-vz-route-style="single"][data-theme="dark"] {
  --route-accent: #f2b66d;
  --route-accent-fill: #f2b66d;
  --route-accent-surface: color-mix(in srgb, var(--route-accent) 10%, transparent);
}

/* A translucent surface must not reduce the opacity of its text or icons. */
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .routes-content, .mock-panel, .mock-weather, .route-weather-panel,
  .mock-mobile-sheet, .mock-mobile-header, .catalog-mobile-header,
  .mock-mobile-bottom-nav, .catalog-mobile-bottom-nav, .vz-common-header, .vz-common-bottom,
  .mock-site-rail, .mock-site-menu, .mock-mobile-profile, .catalog-mobile-profile,
  .mock-city-dialog, .mock-checkpoint-dialog, .mock-photo-dialog, .vz-favorite-login,
  .catalog-km-dropdown .catalog-distance-filter, .route-weather-calendar,
  .catalog-series-card, .catalog-mobile-profile-card, .catalog-mobile-favorites,
  .catalog-mobile-zoom, .mock-mobile-map-route-summary, .mock-mobile-credit-pill,
  .route-weather-checkpoint
) {
  background: var(--route-surface);
  border-color: var(--vz-line);
  color: var(--vz-copy);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .routes-content, .mock-panel, .mock-weather, .route-weather-panel,
  .mock-city-dialog, .mock-checkpoint-dialog, .mock-photo-dialog, .vz-favorite-login,
  .route-weather-calendar, .catalog-km-dropdown .catalog-distance-filter
) {
  border-radius: var(--route-panel-radius);
  box-shadow: var(--vz-shadow-popup);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-mobile-sheet
) {
  border-radius: var(--route-panel-radius) var(--route-panel-radius) 0 0;
  box-shadow: var(--vz-shadow-popup);
}
html[data-vz-route-style="single"][data-page-template="routes"].mock-has-mobile[data-route-layout="catalog"] .routes-content {
  border-radius: var(--route-panel-radius) var(--route-panel-radius) 0 0;
  box-shadow: var(--vz-shadow-popup);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-mobile-card, .mock-mini-card, .mock-mobile-favorite-route,
  .mock-mobile-profile-card, .mock-mobile-credit-body, .mock-route-guide,
  .catalog-series-card, .catalog-mobile-profile-card, .route-weather-checkpoint
) {
  background: var(--route-surface);
  border-radius: var(--route-panel-radius);
}

/* Common map controls. The number of actions remains specific to the page. */
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-map-controls, .catalog-map-controls, .mock-mobile-map-tools > div, .catalog-mobile-zoom
) {
  background: var(--route-surface);
  border-color: var(--vz-line);
  border-radius: var(--vz-control-radius);
  box-shadow: var(--vz-shadow-popup);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-map-controls > button, .mock-map-controls .mock-zoom-controls > button, .catalog-map-controls > button,
  .catalog-mobile-zoom > button,
  .mock-mobile-map-tools button, .catalog-mobile-map-tools button,
  .mock-mobile-layer-button, .mock-mobile-fit-button,
  .mock-mobile-location, .mock-mobile-download
) {
  box-sizing: border-box;
  width: var(--route-map-control-size);
  height: var(--route-map-control-size);
  min-width: var(--route-map-control-size);
  min-height: var(--route-map-control-size);
  flex: 0 0 var(--route-map-control-size);
  color: var(--vz-blue);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-mobile-layer-button, .mock-mobile-fit-button,
  .mock-mobile-location, .mock-mobile-download, .catalog-mobile-map-tools button
) { background: var(--route-surface); }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-route-compact-toolbar .mock-map-controls {
  width: max-content !important;
  height: auto;
  min-width: 0;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-route-compact-toolbar .mock-top-tools {
  width: max-content !important;
  height: auto !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root .mock-zoom-controls {
  width: auto;
  height: var(--route-map-control-size);
}

/* Type scale and prose. No justified spacing in route descriptions. */
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-route-summary, [data-checkpoint-text], .mock-checkpoint-dialog-description,
  .mock-mobile-description, .mock-mobile-map-route-summary, .mock-credit-content,
  .mock-mobile-credit-content, .mock-route-guide, .mock-mobile-guide, .route-prose,
  .mock-route-guide p, .mock-mobile-guide p, .mock-credit-content p,
  .mock-mobile-credit-content p, .route-prose p, .mock-route-summary p,
  [data-checkpoint-text] p, .mock-checkpoint-dialog-description p,
  .mock-mobile-description p, .mock-mobile-map-route-summary p
) { text-align: left; }
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-panel-heading h1, .mock-route-merged-heading h1, .route-top-title h1
) {
  font-family: var(--vz-font-heading);
  font-size: var(--route-title-size) !important;
  line-height: 1.15;
}
html[data-vz-route-style="single"][data-route-layout="catalog"] .page-title {
  font-size: var(--route-title-size);
}
html[data-vz-route-style="single"][data-route-layout="catalog"] .route-list-item h2 {
  font-size: var(--route-catalog-name-size);
}
html[data-vz-route-style="single"][data-route-layout="catalog"] .route-metrics dd {
  font-size: var(--route-catalog-metric-size);
}
html[data-vz-route-style="single"][data-route-layout="catalog"] .route-metric-type dd {
  max-width: none;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(
  .mock-mobile-header strong, .catalog-mobile-header strong
) {
  font-family: var(--vz-font-heading);
  font-size: var(--route-mobile-title-size) !important;
  color: var(--vz-blue);
}

/* Routes without a track use the same components in a readable document flow.
   Content, checkpoint actions, GPX access and existing script hooks are retained. */
html[data-route-layout="fallback"] { background: var(--vz-page); color: var(--vz-copy); }
html[data-route-layout="fallback"] * { box-sizing: border-box; }
html[data-route-layout="fallback"] [hidden] { display: none !important; }
html[data-route-layout="fallback"] body { margin: 0; min-width: 320px; font: 400 15px/1.55 var(--vz-font-body); }
html[data-route-layout="fallback"] :is(button, input, select) { font: inherit; }
html[data-route-layout="fallback"] a { color: var(--vz-blue); }
html[data-route-layout="fallback"] :is(button, a, input, select, summary):focus-visible {
  outline: 2px solid var(--vz-blue); outline-offset: 2px;
}
html[data-route-layout="fallback"] .routes-content { position: static; max-width: 1280px; margin: 20px auto; padding: 22px; }
html[data-route-layout="fallback"] .routes-breadcrumbs { display: flex; gap: 10px; margin-bottom: 16px; color: var(--vz-muted); font-size: 13px; }
html[data-route-layout="fallback"] .route-top { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
html[data-route-layout="fallback"] .route-top-title { flex: 1; min-width: 180px; }
html[data-route-layout="fallback"] .route-top-title h1 { margin: 0; }
html[data-vz-route-style="single"][data-route-layout="fallback"][data-page-template="routes"]:root body .route-top-title h1 {
  font-size: var(--route-title-size) !important;
}
html[data-route-layout="fallback"] .route-cover-button { padding: 0; border: 0; background: transparent; cursor: pointer; }
html[data-route-layout="fallback"] .route-top-thumb { display: block; width: 100px; height: 100px; object-fit: cover; border-radius: var(--route-panel-radius); }
html[data-route-layout="fallback"] .route-overview { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; }
html[data-route-layout="fallback"] .route-section { min-width: 0; padding: 18px; border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius); background: var(--route-surface); margin-bottom: 20px; }
html[data-route-layout="fallback"] :is(.route-section h2, .route-section h3) { margin: 0 0 12px; color: var(--vz-blue); font-family: var(--vz-font-heading); }
html[data-route-layout="fallback"] .route-detail-metrics { padding: 16px; border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius); background: var(--route-surface); align-self: start; }
html[data-route-layout="fallback"] .route-metrics { display: grid; gap: 10px; margin: 0; }
html[data-route-layout="fallback"] .route-metrics > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
html[data-route-layout="fallback"] .route-metrics dt { color: var(--vz-muted); }
html[data-route-layout="fallback"] .route-metrics dd { margin: 0; text-align: right; font-weight: 600; }
html[data-route-layout="fallback"] :is(.route-top-version, .route-top-updated, #route-gpx-status) { color: var(--vz-muted); font-size: 12px; margin: 5px 0; }
html[data-route-layout="fallback"] .route-top-updated { flex-basis: 100%; }
html[data-route-layout="fallback"] .route-mobile-metrics { display: none; }
html[data-route-layout="fallback"] :is(.route-mobile-label, .route-gpx-label-mobile) { display: none; }
html[data-route-layout="fallback"] :is(.route-prose, .route-credit-content) { overflow-wrap: anywhere; }
html[data-route-layout="fallback"] .route-prose p { margin: 0 0 14px; }
html[data-route-layout="fallback"] .route-map { min-height: 350px; border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius); overflow: hidden; }
html[data-route-layout="fallback"] .leaflet-control-zoom { border: 1px solid var(--vz-line); border-radius: 11px; overflow: hidden; box-shadow: var(--vz-shadow-popup); }
html[data-route-layout="fallback"] .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; background: var(--route-surface); color: var(--vz-blue); text-decoration: none; }
html[data-route-layout="fallback"] .routes-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
html[data-route-layout="fallback"] .routes-breadcrumbs li + li::before { content: '›'; margin-right: 8px; }
html[data-route-layout="fallback"] .route-section-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
html[data-route-layout="fallback"] .route-section-heading h2 { margin: 0; }
html[data-route-layout="fallback"] .route-map-note { margin: 0; color: var(--vz-muted); }
html[data-route-layout="fallback"] .route-checkpoints { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; }
html[data-route-layout="fallback"] .route-checkpoint { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; overflow: hidden; border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius); }
html[data-route-layout="fallback"] .route-checkpoint:not(:has(.route-media)) { grid-template-columns: minmax(0, 1fr); }
html[data-route-layout="fallback"] .route-media { margin: 0; min-width: 0; }
html[data-route-layout="fallback"] .route-photo { display: block; width: 100%; height: 100%; max-height: 280px; object-fit: cover; }
html[data-route-layout="fallback"] .route-checkpoint-main { min-width: 0; padding: 16px; }
html[data-route-layout="fallback"] .route-checkpoint-header { display: flex; align-items: start; flex-wrap: wrap; gap: 10px; }
html[data-route-layout="fallback"] .route-checkpoint-place { margin: 0; color: var(--vz-muted); font-size: 13px; }
html[data-route-layout="fallback"] .route-checkpoint-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
html[data-route-layout="fallback"] :is(.route-secondary-actions, .route-actions) { display: flex; gap: 10px; flex-wrap: wrap; }
html[data-route-layout="fallback"] :is(.route-download-link, .route-credit-button, .route-badge-button) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 12px;
  border: 1px solid var(--vz-line); border-radius: 11px; background: var(--route-surface); color: var(--vz-blue); text-decoration: none;
}
html[data-route-layout="fallback"] .route-secondary-actions { margin-top: 8px; }
html[data-route-layout="fallback"] :is(.route-credit-guide, .route-checkpoint-details) {
  width: 100%; border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius); padding: 12px; background: var(--route-surface);
}
html[data-route-layout="fallback"] .route-credit-guide { margin: 0 0 20px; }
html[data-route-layout="fallback"] summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; color: var(--vz-blue); cursor: pointer; }
html[data-route-layout="fallback"] :is(a, summary, .route-access-badge) svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
html[data-route-layout="fallback"] .route-access-badge { display: inline-flex; align-items: center; gap: 6px; color: var(--vz-muted); font-size: 13px; }
html[data-route-layout="fallback"] .route-cover-dialog { max-width: min(92vw, 900px); max-height: 90dvh; padding: 15px; border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius); background: var(--route-surface); color: var(--vz-copy); }
html[data-route-layout="fallback"] .route-cover-dialog img { display: block; max-width: 100%; height: auto; max-height: 80dvh; object-fit: contain; }
html[data-route-layout="fallback"] .route-cover-close { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 1px solid var(--vz-line); border-radius: 11px; background: var(--route-surface); color: var(--vz-blue); cursor: pointer; }
html[data-route-layout="fallback"] .route-back-to-top { position: fixed; right: 20px; bottom: 80px; width: 44px; height: 44px; border: 1px solid var(--vz-line); border-radius: 10px; background: var(--route-surface); color: var(--vz-blue); }
html[data-route-layout="fallback"] .route-back-to-top svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
@media (max-width: 767px) {
  html[data-route-layout="fallback"] .routes-content { margin: 10px; padding: 14px; }
  html[data-route-layout="fallback"] :is(.route-overview, .route-checkpoint) { grid-template-columns: minmax(0, 1fr); }
  html[data-route-layout="fallback"] .route-checkpoint { gap: 0; }
  html[data-route-layout="fallback"] .route-section { padding: 12px; }
  html[data-route-layout="fallback"] .route-detail-metrics { display: none; }
  html[data-route-layout="fallback"] .route-mobile-metrics { display: block; width: 100%; }
  html[data-route-layout="fallback"] .route-top-actions { width: 100%; }
  html[data-route-layout="fallback"] .route-photo { max-height: 240px; }
  html[data-route-layout="fallback"][data-vz-route-style="single"][data-page-template="routes"]:root body.vz-public-page .vz-common-header h1 { font-size: 20px !important; }
}

/* Catalog and route refinements approved on 13 October 2026. */
html[data-vz-route-style="single"] {
  --route-difficulty-1: #1479af;
  --route-difficulty-2: #247d35;
  --route-difficulty-3: #8b6800;
  --route-difficulty-4: #b65500;
  --route-difficulty-5: #b52242;
}
html[data-vz-route-style="single"][data-theme="dark"] {
  --route-difficulty-1: #1b9cde;
  --route-difficulty-2: #2b9c42;
  --route-difficulty-3: #f2c22c;
  --route-difficulty-4: #ee821e;
  --route-difficulty-5: #d95575;
}
html[data-vz-route-style="single"] .route-difficulty-badge[data-route-difficulty="1"] { --route-difficulty-ink: var(--route-difficulty-1); }
html[data-vz-route-style="single"] .route-difficulty-badge[data-route-difficulty="2"] { --route-difficulty-ink: var(--route-difficulty-2); }
html[data-vz-route-style="single"] .route-difficulty-badge[data-route-difficulty="3"] { --route-difficulty-ink: var(--route-difficulty-3); }
html[data-vz-route-style="single"] .route-difficulty-badge[data-route-difficulty="4"] { --route-difficulty-ink: var(--route-difficulty-4); }
html[data-vz-route-style="single"] :is(.route-difficulty-badge[data-route-difficulty="5"], .route-difficulty-badge[data-route-difficulty="5+"]) { --route-difficulty-ink: var(--route-difficulty-5); }
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(dd.route-difficulty-badge, strong.route-difficulty-badge) {
  color: var(--route-difficulty-ink, var(--vz-muted));
  font-weight: 700;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root .mock-metrics .mock-metric-icon,
html[data-vz-route-style="single"][data-page-template="routes"]:root .mock-mobile-sheet-metrics .route-metric-svg {
  color: var(--route-metric-accent);
  background: none !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root .mock-metrics .route-metric-svg {
  display: block; width: 22px; height: 22px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
html[data-vz-route-style="single"][data-route-layout="catalog"] .catalog-route-color { display: none; }
html[data-vz-route-style="single"][data-route-layout="catalog"] .catalog-panel-content {
  display: flex; flex: 1; flex-direction: column; min-height: 0; width: 100%;
}
html[data-vz-route-style="single"][data-route-layout="catalog"] .catalog-panel-content[hidden] { display: none !important; }
html[data-vz-route-style="single"][data-route-layout="catalog"].catalog-list-collapsed .routes-content {
  height: auto; min-height: 0; bottom: auto;
}
html[data-vz-route-style="single"][data-route-layout="catalog"] :is(.catalog-sort-direction, .catalog-panel-toggle) {
  display: grid; place-items: center; flex: none; width: 32px; height: 32px; min-width: 32px;
  padding: 6px; border: 1px solid var(--vz-line); border-radius: 6px;
  background: var(--route-surface); color: var(--vz-blue); cursor: pointer;
}
html[data-vz-route-style="single"][data-route-layout="catalog"] :is(.catalog-sort-direction, .catalog-panel-toggle) svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8;
}
/* The shared JS updates the chevron path for each state. */
html[data-vz-route-style="single"][data-route-layout="catalog"] [data-catalog-list-toggle] svg { transform: none; }
html[data-vz-route-style="single"][data-route-layout="catalog"] .catalog-sort-direction:hover { background: var(--vz-hover); }
html[data-vz-route-style="single"][data-route-layout="catalog"] .catalog-sort-direction:focus-visible { outline: 2px solid var(--vz-blue); outline-offset: 2px; }
html[data-vz-route-style="single"][data-route-layout="catalog"]:not(.mock-has-mobile) .catalog-map-selection-toggle { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-top-tools {
  top: var(--route-gap, 15px) !important;
  right: var(--route-gap, 15px) !important;
  left: auto !important;
  transform: none !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-panel--checkpoint {
  top: calc(var(--route-map-control-size) + 2px + 2 * var(--route-gap, 15px)) !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-panel--checkpoint:not(.is-collapsed) {
  bottom: var(--route-gap, 15px) !important;
  height: auto !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-panel--checkpoint.is-collapsed {
  bottom: auto !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile :is(.catalog-mobile-header, .mock-mobile-header) {
  display: grid; align-items: center; justify-content: normal; gap: 4px;
}
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-mobile-header { grid-template-columns: 44px minmax(0, 1fr) 44px; }
html[data-vz-route-style="single"][data-route-layout="explorer"].mock-has-mobile .mock-mobile-header { grid-template-columns: 44px minmax(0, 1fr) 44px; }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile :is(.catalog-mobile-heading, .mock-mobile-route-heading) {
  grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center;
  justify-self: center; min-width: 0; max-width: 100%; gap: 2px;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile :is(.catalog-mobile-header, .mock-mobile-header) button {
  width: 44px; height: 44px; margin: 0; flex: none;
}
html[data-vz-route-style="single"][data-route-layout="explorer"].mock-has-mobile .mock-mobile-header-actions {
  grid-column: 3; grid-row: 1; display: flex; align-items: center; justify-content: end; gap: 0;
}
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-map-selection-toggle {
  box-sizing: border-box;
  width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 10px; justify-content: center; gap: 0;
  background: var(--route-nav-surface) !important;
  border: 1px solid var(--route-nav-line);
  color: var(--route-nav-ink) !important;
  box-shadow: var(--vz-shadow-popup);
}
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-map-selection-toggle span { display: none; }
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-map-selection-toggle svg { width: 23px; height: 23px; flex: none; }
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-map-selection-toggle[aria-pressed="false"] svg path { visibility: hidden; }
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-map-selection-toggle[aria-pressed="true"] svg rect { fill: currentColor; }
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile .catalog-map-selection-toggle[aria-pressed="true"] svg path { stroke: var(--vz-on-accent); stroke-width: 2.2; }
html[data-vz-route-style="single"][data-route-layout="catalog"].mock-has-mobile :is(.catalog-sort-direction, .catalog-panel-toggle) { width: 44px; height: 44px; min-width: 44px; border-radius: 11px; }

/* Aligned credit and navigation bars. Widths follow their reading panels. */
html[data-vz-route-style="single"] {
  --route-description-width: 350px;
  --route-checkpoint-width: 450px;
  --route-credit-height: 46px;
  --route-nav-surface: rgba(255, 255, 255, .95);
  --route-nav-line: #bacbe9;
  --route-nav-ink: #123b6d;
}
html[data-vz-route-style="single"][data-theme="dark"] {
  --route-nav-surface: rgba(4, 17, 27, .95);
  --route-nav-line: #3c4652;
  --route-nav-ink: #9fb7e4;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(.mock-map-controls, .catalog-map-controls) {
  box-sizing: border-box;
  padding: 0;
  border: 1px solid var(--route-nav-line);
  background: var(--route-nav-surface) !important;
  color: var(--route-nav-ink);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(.mock-map-controls, .catalog-map-controls) button {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--route-nav-ink);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(.mock-map-controls, .catalog-map-controls) button:hover {
  background: var(--vz-hover) !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(.mock-map-controls, .catalog-map-controls) button[aria-pressed="true"] {
  background: var(--vz-selection) !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is(.mock-map-controls > button, .catalog-map-controls > button:not(:first-child), .mock-zoom-controls > button + button) {
  border-left: 1px solid var(--route-nav-line);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root :is([data-collapse-all], .catalog-map-controls [data-catalog-list-toggle]) svg {
  width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile).mock-route-compact-toolbar .mock-top-tools {
  width: var(--route-checkpoint-width) !important;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile).mock-route-compact-toolbar .mock-top-tools .mock-map-controls {
  display: flex;
  width: 100% !important;
  height: calc(var(--route-map-control-size) + 2px);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-map-controls .mock-zoom-controls {
  display: flex; flex: 0 0 calc(2 * var(--route-map-control-size)); width: calc(2 * var(--route-map-control-size));
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-map-controls .mock-toolbar-weather {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  flex: 1 1 0; width: auto; min-width: 0; padding: 0 10px;
  font: 600 14px/1 var(--vz-font-body); white-space: nowrap;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-map-controls .mock-toolbar-weather svg { flex: none; }
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .route-weather-list {
  top: calc(var(--route-map-control-size) + 2px + 2 * var(--route-gap, 15px)) !important;
  max-height: calc(100dvh - var(--route-map-control-size) - 2px - 3 * var(--route-gap, 15px));
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit {
  width: var(--route-description-width) !important;
  min-height: calc(var(--route-map-control-size) + 2px);
  max-height: 45dvh;
  border-radius: var(--vz-control-radius);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit.is-collapsed {
  height: calc(var(--route-map-control-size) + 2px) !important;
  min-height: calc(var(--route-map-control-size) + 2px);
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-panel--credit .mock-credit-heading {
  flex: 0 0 var(--route-map-control-size);
  height: var(--route-map-control-size); min-height: var(--route-map-control-size); max-height: var(--route-map-control-size);
  padding: 0 8px;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-panel--credit .mock-credit-content {
  min-height: 0; overflow-y: auto;
}
@media (min-width: 1230px) {
  html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit {
    left: calc(var(--route-menu-width) + var(--route-gap, 15px)) !important;
    right: auto !important; top: var(--route-gap, 15px) !important; bottom: auto !important;
    transform: none !important; height: auto;
  }
  html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--description {
    top: calc(2 * var(--route-gap, 15px) + var(--route-credit-height)) !important;
  }
  html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--description:not(.is-collapsed) {
    height: auto !important; max-height: none; min-height: 0;
  }
  html[data-vz-route-style="single"][data-page-template="routes"]:root:has(.mock-panel--credit:not(.is-collapsed)) .mock-panel--description:not(.is-collapsed) .mock-description-content {
    display: block; overflow-y: auto;
  }
  html[data-vz-route-style="single"][data-page-template="routes"]:root:has(.mock-panel--credit:not(.is-collapsed)) .mock-panel--description .mock-route-summary {
    height: auto; max-height: none; overflow: visible;
  }
}
@media (min-width: 1230px) and (max-width: 1279px) {
  html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit { left: var(--route-gap, 15px) !important; }
}
@media (min-width: 768px) and (max-width: 1229px) {
  html[data-vz-route-style="single"][data-page-template="routes"]:root:not(.mock-has-mobile) .mock-explorer { padding: 15px 15px 75px; gap: 15px; }
}

/* Route refinements: overlay credit, weather panels and compact catalog. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(.mock-mini-image, .mock-mini-image img, .mock-feature-image, .mock-feature-image > img, .mock-mobile-card-image, .mock-mobile-card-image img, .mock-mobile-hero) {
  border-radius: calc(var(--route-panel-radius) - 5px); overflow: hidden;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .mock-mini-card { padding: 4px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .mock-mini-card.is-selected { padding: 3px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .mock-card-list--related .mock-mini-image--empty { padding: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(.route-type-badge, .route-metric-type dd) {
  padding: 0; border: 0; border-radius: 0; background: transparent !important;
  color: inherit !important; box-shadow: none;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(.catalog-metric-icon, .mock-feature-meta svg, .mock-mini-card p span, .route-weather-summary-icon, .route-weather-summary-icon svg, .mock-mobile-card-copy small svg, .mock-mobile-track-distance svg, .mock-mobile-point-distance svg) {
  color: var(--route-metric-accent) !important;
}
/* A CSS background SVG cannot inherit the accent; its outline supplies a mask. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(.mock-mini-card p span, .mock-feature-meta span:first-child i) {
  background-image: none !important;
  background-color: var(--route-metric-accent) !important;
  -webkit-mask: url('/assets/route-v-memoriz-100/map-pin.svg?v=2') center / contain no-repeat;
  mask: url('/assets/route-v-memoriz-100/map-pin.svg?v=2') center / contain no-repeat;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(.catalog-metric-icon, .mock-feature-meta svg, .route-weather-summary-icon svg, .mock-mobile-card-copy small svg, .mock-mobile-track-distance svg, .mock-mobile-point-distance svg) { stroke: currentColor !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-summary {
  background: transparent; min-width: 0;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-summary-group {
  grid-template-columns: 18px minmax(0, 1fr); gap: 7px; padding: 6px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-summary-icon { display: flex; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-summary-values {
  grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-metric {
  display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 3px; align-items: center;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-metric-label { font-size: 10px; overflow-wrap: anywhere; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .route-weather-metric-value { font-size: 14px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .mock-toolbar-weather-label { min-width: 0; white-space: normal; line-height: 1.15; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-map-controls .mock-toolbar-weather { font-size: 13px; padding-inline: 6px; gap: 6px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit {
  position: fixed; top: 15px !important; left: 15px !important; bottom: auto !important;
  max-height: calc(100dvh - 30px); z-index: 1400;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit:not(.is-collapsed) {
  height: calc(100dvh - 30px) !important;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.route-weather-active:not(.mock-has-mobile) .mock-explorer .mock-panel--credit {
  visibility: visible !important; pointer-events: auto !important;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.route-weather-active:not(.mock-has-mobile) .mock-explorer { isolation: auto; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-plan-fields,
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-departure { grid-template-columns: minmax(0, 1fr) 100px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-sidebar {
  top: 76px; left: 15px; gap: 15px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-sidebar > .route-weather-overview {
  flex: 0 1 auto; min-height: 46px; margin-top: 0; max-height: calc(100% - 61px);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-panel-heading { min-height: 44px; }
@media (min-width: 1230px) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--description { top: 76px !important; }
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit:not(.is-collapsed) { height: calc(100dvh - var(--preview-related-height, 180px) - 45px) !important; }
}
@media (min-width: 1280px) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit,
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-sidebar { left: calc(var(--route-menu-width) + 15px) !important; }
}
@media (min-width: 768px) and (max-width: 1229px) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer { padding-top: 76px; }
}
@media (min-width: 768px) and (max-width: 844px) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer .mock-panel--credit { top: 76px !important; }
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .mock-explorer { padding-top: 137px; }
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root:not(.mock-has-mobile) .route-weather-sidebar { top: 137px; }
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.route-panels-hidden:not(.mock-has-mobile) :is(.mock-explorer > .mock-panel, .route-weather-sidebar, .route-weather-list, .routes-content, .catalog-map-status, .catalog-map-selection-toggle) {
  visibility: hidden !important; pointer-events: none !important;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) :is(.catalog-header, .routes-toolbar, .catalog-found-bar) {
  box-sizing: border-box; width: var(--catalog-first-column-width, 460px); max-width: 100%;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .catalog-header { position: relative; flex: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .catalog-columns-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .catalog-header-actions { width: 150px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .catalog-header .routes-updated { flex-direction: column; gap: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .routes-head { display: flex; align-items: center; gap: 8px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .catalog-panel-toggle {
  position: static; flex: none; width: 28px; height: 28px; min-width: 28px; margin: 0;
  padding: 0; border: 0; border-radius: 0; background: transparent;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .catalog-panel-toggle svg { width: 19px; height: 19px; stroke-width: 2; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .routes-list {
  display: grid; grid-auto-flow: column; grid-template-rows: repeat(var(--catalog-grid-rows, 37), max-content);
  grid-template-columns: repeat(var(--catalog-columns, 1), minmax(0, 1fr)); align-content: start;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .routes-list > li { box-shadow: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root:not(.mock-has-mobile) .catalog-map-controls { flex-direction: row; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-list-collapsed .routes-content { width: var(--catalog-first-column-width, 460px); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile :is(.catalog-header, .catalog-found-bar, .catalog-series-card) { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .routes-toolbar {
  box-sizing: border-box; width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px 40%;
  grid-template-areas: 'search search search type' 'distance difficulty direction sort'; gap: 6px;
}
/* The clear button must not revive the legacy full-width search placement. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .routes-search { grid-area: search; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .routes-search input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .catalog-distance-filter[popover] {
  position: fixed; inset: auto; margin: 0; box-sizing: border-box; width: 252px; max-width: calc(100vw - 16px);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .catalog-distance-filter[popover]:not(:popover-open) { display: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .routes-content {
  left: 0; right: 0; width: auto; border-radius: 0; height: var(--catalog-sheet-height); z-index: 1700;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-sheet-content { flex: 1; overflow: hidden; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-panel-content { display: flex; flex-direction: column; flex: 1; overflow: hidden; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-results { flex: 1; overflow-y: auto; overscroll-behavior: contain; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .routes-list > [data-catalog-preview="false"] { display: block !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile #catalog-sort-direction { grid-area: direction; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile #catalog-sort {
  grid-area: sort; width: 100%; min-width: 0; height: 44px; padding: 0 4px;
  border: 1px solid var(--vz-line); border-radius: 11px; background: transparent; color: var(--vz-blue); font: 12px var(--vz-font-body);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-results { flex: none; min-height: 0; overflow: hidden; padding-top: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .routes-list > [data-catalog-preview="false"] { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-mobile-fit { right: 56px; top: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-mobile-locate { right: 0; top: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.mock-has-mobile :is(.catalog-mobile-zoom, .mock-mobile-map-tools > div) { display: flex; flex-direction: row; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.mock-has-mobile :is(.catalog-mobile-zoom, .mock-mobile-map-tools > div) button + button { border-top: 0; border-left: 1px solid var(--vz-line); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.mock-has-mobile .mock-mobile-right-tools { display: flex; flex-direction: row; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.mock-has-mobile .mock-mobile-fit-button { order: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.mock-has-mobile .mock-mobile-location { order: 1; }
/* Mobile map controls share fixed rows and reserve space for the credit pill. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-layer-button {
  position: fixed; top: calc(var(--mm-header) + 10px); left: 12px; right: auto;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-right-tools {
  position: fixed; top: calc(var(--mm-header) + 10px); right: 12px; left: auto;
  display: flex; align-items: center; gap: 8px; height: 44px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-credit-pill {
  position: fixed; top: calc(var(--mm-header) + 10px); left: 64px; right: 116px;
  width: auto; min-width: 0; max-width: none; height: 44px; padding: 0 6px; gap: 4px;
  transform: none; white-space: normal; text-align: center;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-credit-pill span { min-width: 0; line-height: 1.1; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-credit-pill svg { flex: 0 0 17px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile :is(.mock-mobile-map-tools,.mock-mobile-map-bottom-tools) {
  position: fixed; top: calc(var(--mm-map-bottom) - 56px); height: 44px; bottom: auto;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-map-tools { right: 12px; display:flex; align-items:center; gap:8px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-map-bottom-tools { align-items: center; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-map-tools > div { height: 44px; box-sizing: border-box; }
@media (max-width: 360px) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root.mock-has-mobile .route-weather-metric { grid-template-columns: minmax(0, 1fr); gap: 1px; }
}

/* Keep the mobile explorer inside the browser's visible viewport. */
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile,
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile body {
  height: var(--route-viewport-height, 100dvh); min-height: 0; max-height: var(--route-viewport-height, 100dvh);
  overflow: hidden; overscroll-behavior: none;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile body { position: fixed; inset: 0; width: 100%; }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile :is(.catalog-mobile-header,.mock-mobile-header) { top: var(--route-viewport-top, 0px); }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile :is(.catalog-mobile-bottom-nav,.mock-mobile-bottom-nav) {
  position: fixed; bottom: var(--route-viewport-bottom, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-explorer {
  position: fixed; inset: 0; height: var(--route-viewport-height, 100dvh); min-height: 0;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile #catalog-map { top: calc(var(--route-viewport-top, 0px) + var(--catalog-mobile-header)); bottom: calc(var(--route-viewport-bottom, 0px) + var(--catalog-mobile-nav)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .routes-content { bottom: calc(var(--catalog-mobile-nav) + var(--route-viewport-bottom, 0px)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-mobile-map-tools { position: fixed; top: calc(var(--route-viewport-top, 0px) + var(--catalog-mobile-header) + 10px); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-mobile-zoom { bottom: calc(var(--catalog-mobile-nav) + var(--catalog-sheet-height, 48dvh) + 12px + var(--route-viewport-bottom, 0px)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-map-selection-toggle { bottom: calc(var(--catalog-mobile-nav) + var(--catalog-sheet-height, 240px) + 12px + var(--route-viewport-bottom, 0px)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-sheet-content,
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-panel-content {
  display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .routes-toolbar { flex: none; padding-top: 4px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile .catalog-results {
  flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: auto;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile[data-catalog-results-empty="true"] .catalog-results { display: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile {
  --mm-map-bottom: calc(var(--route-viewport-top, 0px) + var(--route-viewport-height, 100dvh) - var(--mm-nav) - var(--mm-sheet-height, 202px));
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile #mock-map { top: calc(var(--route-viewport-top, 0px) + var(--mm-header)); height: calc(var(--mm-map-bottom) - var(--route-viewport-top, 0px) - var(--mm-header)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-view { top: calc(var(--route-viewport-top, 0px) + var(--mm-header)); bottom: calc(var(--route-viewport-bottom, 0px) + var(--mm-nav)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-detail { top: var(--route-viewport-top, 0px); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-sheet { bottom: calc(var(--route-viewport-bottom, 0px) + var(--mm-nav)); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile :is(.mock-mobile-layer-button,.mock-mobile-right-tools,.mock-mobile-credit-pill) { top: calc(var(--route-viewport-top, 0px) + var(--mm-header) + 10px); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="explorer"]:root.mock-has-mobile .mock-mobile-credit-body { top: calc(var(--route-viewport-top, 0px) + var(--mm-header) + 59px); max-height: calc(var(--route-viewport-height, 100dvh) - var(--mm-header) - var(--mm-nav) - 71px); }

/* The map weather summary is a padded section of the existing sheet. */
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile [data-mobile-weather-summary] .route-weather-overview {
  position: static; width: 100%; max-width: 100%; height: auto; min-width: 0; padding: 10px;
  border: 1px solid var(--vz-line) !important; border-radius: 11px !important; background: transparent; overflow: visible;
}
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile [data-mobile-weather-summary] .route-weather-overview > [data-weather-body] { display: block; padding: 0; overflow: visible; }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile [data-mobile-weather-summary] .route-weather-panel-heading { min-height: 0; padding: 0 0 7px; }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile [data-mobile-weather-summary] :is(.route-weather-panel-heading h2,.route-weather-summary h3) { margin: 0; font-size: 20px; line-height: 1.15; }
html[data-vz-route-style="single"][data-page-template="routes"]:root.mock-has-mobile [data-mobile-weather-summary] :is(.route-weather-credit,.route-weather-source) { padding: 8px 0 0; overflow-wrap: anywhere; }
@media (max-height: 500px) and (orientation: landscape) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile:not(.catalog-sheet-full) .catalog-mobile-zoom { bottom: calc(var(--catalog-mobile-nav) + 12px + var(--route-viewport-bottom, 0px)); }
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile:not(.catalog-sheet-full) .catalog-map-selection-toggle { left: auto; right: 12px; bottom: calc(var(--catalog-mobile-nav) + 68px + var(--route-viewport-bottom, 0px)); }
}

/* Shared interaction states. Route/CP data colors and warning colors are separate. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .catalog-mobile-star.is-active, .catalog-favorite[aria-pressed="true"]
) svg { fill: var(--route-accent-fill); stroke: var(--route-accent-fill); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .catalog-view-tabs button[aria-pressed="true"],
  .mock-mobile-segmented button.is-active,
  .route-weather-plan-fields button[aria-pressed="true"]
) {
  background: var(--route-accent-surface) !important;
  color: var(--route-accent) !important;
  border-color: var(--route-accent-fill);
}
/* Active map tools use a complete surface, never an accent-colored divider. */
html[data-vz-route-style="single"] { --route-map-active-surface: #e9f8f0; --route-map-active-ink: #006b43; }
html[data-vz-route-style="single"][data-theme="dark"] { --route-map-active-surface: color-mix(in srgb, var(--route-accent) 20%, var(--vz-card)); --route-map-active-ink: var(--route-accent); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .catalog-map-controls button[aria-pressed="true"], .mock-map-controls button[aria-pressed="true"],
  .catalog-mobile-layers[aria-pressed="true"], .mock-mobile-layer-button[aria-pressed="true"],
  .mock-mobile-weather-button.is-active
) {
  background: var(--route-map-active-surface) !important;
  color: var(--route-map-active-ink) !important;
  border-color: var(--route-nav-line) !important;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .catalog-mobile-bottom-nav button.is-active, .mock-mobile-bottom-nav button.is-active,
  .mock-mobile-tabs button.is-active
) { color: var(--route-accent); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .mock-mobile-tabs button.is-active { border-color: var(--route-accent-fill); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .mock-mobile-segmented button.is-active { box-shadow: inset 0 0 0 1px var(--route-accent-fill); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .catalog-km-dropdown[open] summary {
  background: var(--route-accent-surface);
  color: var(--route-accent);
  border-color: var(--route-accent-fill);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .routes-search:has(input:focus-visible), .route-weather-time:has(input:focus-visible)
) { outline: var(--vz-focus-width, 2px) solid var(--vz-blue); outline-offset: var(--vz-focus-offset, 2px); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .routes-search input:focus-visible, .route-weather-time input:focus-visible
) { outline: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .catalog-map-controls, .mock-map-controls, .catalog-mobile-zoom, .mock-mobile-map-tools
) button:focus-visible { outline: var(--vz-focus-width, 2px) solid var(--vz-blue); outline-offset: -3px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root :is(
  .catalog-panel-toggle, .catalog-sort-direction, .catalog-km-dropdown summary,
  .route-weather-plan-fields button, .mock-mobile-layer-button, .mock-mobile-fit-button,
  .mock-mobile-location, .mock-mobile-download, .catalog-mobile-map-tools button
):enabled:hover { background: var(--vz-hover); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout]:root .catalog-km-dropdown summary:hover { background: var(--vz-hover); }
/* The JS marks only a cut-off row; keeping its box prevents a resize feedback loop. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root .routes-list > li[data-catalog-row-clipped="true"] { visibility: hidden; }

/* The configured series reuses the real route list; only its presentation changes. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-card {
  container: route-series / inline-size;
  margin: 12px; padding: 20px; min-width: 0;
  border: 1px solid var(--vz-line); border-radius: var(--route-panel-radius);
  background: var(--route-surface); color: var(--vz-copy); box-shadow: none;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-card.is-selected { border-color: var(--route-accent-fill); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view :is(.catalog-series-card, .catalog-series-body)[hidden] { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-heading {
  display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; align-items: center; gap: 16px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-art {
  display: grid; place-items: center; width: 80px; height: 80px; border: 1px solid var(--vz-line); border-radius: 50%;
  background: color-mix(in srgb, var(--route-accent) 12%, var(--vz-card)); color: var(--route-accent);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-art svg {
  width: 58px; height: 58px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-copy { min-width: 0; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-copy h2 {
  margin: 0; color: var(--vz-blue); font: 700 var(--route-title-size)/1.15 var(--vz-font-heading); overflow-wrap: anywhere;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-description {
  margin: 7px 0 10px; color: var(--vz-muted); font: 400 14px/1.5 var(--vz-font-body); text-align: left; overflow-wrap: anywhere;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-stats {
  display: flex; flex-wrap: wrap; gap: 6px; min-width: 0;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-stats > span {
  display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-height: 28px; padding: 4px 8px;
  border: 1px solid var(--vz-line); border-radius: 999px; background: var(--vz-card-soft); color: var(--vz-copy);
  font: 500 12px/1.3 var(--vz-font-body); overflow-wrap: anywhere;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-stats svg {
  flex: none; width: 16px; height: 16px; fill: none; stroke: var(--route-accent-fill); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions {
  display: flex; align-items: center; justify-content: end; gap: 8px; min-width: 0;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions #catalog-select-series,
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions .catalog-series-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px 12px;
  border: 1px solid var(--vz-line); border-radius: var(--vz-control-radius); background: var(--vz-card);
  color: var(--vz-blue); font: 600 14px/1.3 var(--vz-font-body); cursor: pointer; white-space: normal;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions #catalog-select-series[aria-pressed="true"] {
  background: var(--route-accent-surface); color: var(--route-accent);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions .catalog-series-toggle {
  flex: 0 0 44px; width: 44px; padding: 10px; background: transparent; border-color: var(--vz-line); color: var(--route-accent);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-toggle svg {
  width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-toggle[aria-expanded="true"] svg { transform: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-toggle[aria-expanded="false"] svg { transform: rotate(180deg); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions #catalog-select-series:enabled:hover { filter: brightness(.94); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions .catalog-series-toggle:hover { background: var(--vz-hover); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions button:disabled { cursor: default; opacity: .55; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body {
  min-width: 0; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--vz-line);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list {
  display: grid; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); grid-template-rows: none;
  grid-auto-rows: auto; align-content: start; gap: 8px; width: 100%; margin: 0; padding: 0 0 0 44px; overflow: visible; scrollbar-gutter: auto;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list > li {
  position: relative; display: grid !important; box-sizing: border-box; min-width: 0; min-height: 76px; padding: 10px;
  border: 1px solid var(--vz-line); border-radius: var(--vz-control-radius); background: var(--route-surface); box-shadow: none;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list > li[hidden] { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .route-list-item h2 { font: 700 14px/1.35 var(--vz-font-body); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list > li[data-series-position]::before {
  position: absolute; z-index: 2; left: -38px; top: 50%; transform: translateY(-50%); display: grid; place-items: center;
  content: attr(data-series-position); box-sizing: border-box; width: 28px; height: 28px; border: 1px solid var(--vz-line); border-radius: 50%;
  background: var(--vz-card); color: var(--route-accent); font: 700 12px/1 var(--vz-font-body);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list > li[data-series-position]::after {
  position: absolute; z-index: 1; content: ""; left: -25px; top: -4px; bottom: -4px; width: 1px; background: var(--vz-line); pointer-events: none;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list > li:first-child::after { top: 50%; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list > li:last-child::after { bottom: 50%; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-body .routes-list .catalog-add { left: 10px; bottom: 10px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-rules {
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--vz-line); color: var(--vz-copy); font: 400 14px/1.55 var(--vz-font-body); text-align: left;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-rules > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; list-style: none;
  color: var(--vz-blue); font: 600 14px/1.4 var(--vz-font-body);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-rules > summary::-webkit-details-marker { display: none; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-rules > summary::after {
  content: ""; flex: none; width: 8px; height: 8px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-rules[open] > summary::after { transform: rotate(225deg); }
@container route-series (max-width: 680px) {
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-heading { grid-template-columns: 80px minmax(0, 1fr); align-items: start; }
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-art { grid-row: 1 / span 2; }
  html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.catalog-series-view .catalog-series-actions { grid-column: 2; justify-content: start; }
}
/* Full mobile List exposes its tabs; the page title stays in the common header. */
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-header {
  display: block !important; min-height: 0; padding: 0; background: transparent;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-header :is(.routes-head, .catalog-header-actions) { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-view-tabs {
  display: flex !important; flex-direction: row; align-items: center; gap: 8px; width: 100%; padding: 8px 12px; white-space: normal;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full .catalog-view-tabs button {
  min-height: 44px; padding: 8px 12px; font-size: 14px; border-radius: var(--vz-control-radius);
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-card:not([hidden]) { display: block !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-card { margin: 8px; padding: 12px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-heading { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-art { width: 52px; height: 52px; grid-row: 1; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-art svg { width: 38px; height: 38px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-copy { display: contents; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-copy h2 { grid-column: 2; grid-row: 1; align-self: center; font-size: var(--route-mobile-title-size); }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-description { grid-column: 1 / -1; margin: 0; font-size: 13px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-stats { grid-column: 1 / -1; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-actions { grid-column: 1 / -1; justify-content: stretch; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-actions #catalog-select-series { flex: 1; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body { margin-top: 16px; padding-top: 12px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list { padding-left: 32px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list > li {
  display: grid !important; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 6px; padding: 10px; min-height: 72px;
}
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list > li[hidden] { display: none !important; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list .catalog-route-cover { align-self: start; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .route-list-item { grid-column: 2 / -1; grid-row: 1; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list .catalog-focus { grid-column: 2; grid-row: 2; justify-self: start; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list .catalog-favorite { grid-column: 3; grid-row: 2; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list .catalog-add { top: 36px; bottom: auto; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list > li[data-series-position]::before { left: -31px; width: 26px; height: 26px; }
html[data-vz-route-style="single"][data-page-template="routes"][data-route-layout="catalog"]:root.mock-has-mobile.catalog-sheet-full.catalog-series-view .catalog-series-body .routes-list > li[data-series-position]::after { left: -19px; }
