/* Leaflet core CSS: bundled to guarantee map layout */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.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 */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.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 */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.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;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.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 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.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);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.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;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

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

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.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;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.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);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.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;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.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);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.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);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/* Strassenperlen site styles */
:root{--petrol:#087783;--petrol-deep:#075965;--petrol-pale:#e9f4f3;--paper:#f7f9f9;--ink:#18333a;--muted:#63767b;--red:#d94144;--line:#dce7e6;--bar:64px;--bottom:70px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--paper)}button,input{font:inherit}button{cursor:pointer}button:focus-visible{outline:3px solid #ffbf68;outline-offset:2px}.hidden{display:none!important}.topbar{height:var(--bar);padding:0 clamp(12px,4vw,28px);background:var(--petrol);color:white;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:800;box-shadow:0 2px 16px #02444d25}.brand{display:flex;align-items:center;height:100%;min-width:0}.brand img{max-width:min(56vw,250px);height:45px;object-fit:contain;object-position:left}.topactions{display:flex;align-items:center;gap:8px}.text-link{color:white;background:transparent;border:0;font-weight:600;font-size:.86rem;padding:10px 4px}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff4a;border-radius:12px;background:#ffffff12;color:white}.icon-btn svg{width:20px;height:20px}.chooser{max-width:640px;margin:auto;padding:clamp(20px,6vw,48px) 20px}.intro-art{border-radius:24px;background:linear-gradient(145deg,#087783,#0d5563);color:#fff;min-height:145px;display:flex;align-items:center;gap:24px;padding:24px;margin-bottom:28px;overflow:hidden}.intro-art p{font-size:clamp(1.15rem,4vw,1.8rem);font-weight:600;line-height:1.3}.intro-pearl{width:75px;height:75px;border-radius:50%;border:8px solid white;box-shadow:inset 0 0 0 6px #087783;background:#fff;flex-shrink:0}.chooser h1{font-size:1.8rem;margin:0 0 6px}.muted{color:var(--muted);margin-top:0}.city-grid{display:grid;gap:12px;margin-top:24px}.city-card{border:1px solid var(--line);border-radius:20px;padding:21px 18px;background:white;text-align:left;display:flex;align-items:center;gap:14px;box-shadow:0 5px 15px #073e4910}.city-card strong,.city-card small{display:block}.city-card strong{font-size:1.2rem}.city-card small{color:var(--muted);margin-top:4px}.city-emoji{width:45px;height:45px;border-radius:50%;background:var(--petrol-pale);color:var(--petrol);display:grid;place-items:center;font-size:1.7rem}.arr{margin-left:auto;color:var(--petrol);font-size:1.45rem}.length-select{margin-top:24px}.length-select h2{font-size:1.15rem}.length-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.length-buttons button{background:var(--petrol);color:white;border:0;border-radius:16px;padding:19px 10px}.length-buttons strong,.length-buttons small{display:block}.length-buttons small{opacity:.85;font-size:.78rem;margin-top:5px}.guide{height:calc(100dvh - var(--bar));display:flex;flex-direction:column}.context-bar{height:40px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;background:white;font-size:.8rem;border-bottom:1px solid var(--line)}#cityName{font-weight:750}#progressCount{color:var(--muted)}.pane{position:relative;flex:1;min-height:0}.pane#mapPane{overflow:hidden}#map{width:100%;height:100%;background:#e5eeeb}.leaflet-container{font-family:inherit}.leaflet-control-zoom{display:none!important}.map-tools{position:absolute;right:14px;bottom:21px;z-index:600;display:grid;gap:10px}.map-tool{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff;border:1px solid #e2e9e8;box-shadow:0 3px 14px #10292e35;color:var(--petrol)}.map-tool svg{width:22px;height:22px}.blue-locate{width:15px;height:15px;background:#2489e1;border:3px solid white;box-shadow:0 0 0 1.5px #2489e1,0 0 0 5px #2489e130;border-radius:50%}.pearl-pin{display:block;position:relative;width:27px;height:27px;border-radius:50%;border:3px solid #fff;background:var(--petrol);box-shadow:0 0 0 2px var(--petrol),0 2px 8px #083e4790}.pearl-pin::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}.pearl-unheard{position:absolute;width:11px;height:11px;background:var(--red);border-radius:50%;top:-7px;right:-7px;border:2px solid #fff;z-index:2}.pearl-history{background:#8354a2;box-shadow:0 0 0 2px #8354a2,0 2px 8px #083e4790}.bottom-nav{height:calc(var(--bottom) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:var(--petrol);box-shadow:0 -4px 12px #11485122;position:relative;z-index:800}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#d5f3f4;background:none;border:0;font-size:.8rem;font-weight:600}.bottom-nav button.active{background:#ffffff14;color:#fff;box-shadow:inset 0 3px 0 #fff}.bottom-nav svg{width:23px;height:23px}.list-controls{padding:12px;display:flex;gap:9px;background:white;position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}#search{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa;font-size:.92rem}.clean-btn{padding:8px 11px;border:1px solid var(--petrol);color:var(--petrol);background:#fff;border-radius:12px;font-weight:700;font-size:.77rem;white-space:nowrap}.pearl-list{height:calc(100% - 69px);overflow:auto;padding:8px 12px 35px}.pearl-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);padding:13px 4px;background:none}.pearl-number{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--petrol-pale);color:var(--petrol);display:grid;place-items:center;font-weight:750;position:relative}.pearl-number.unheard::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--red);right:-1px;top:0;border:2px solid white}.pearl-row strong,.pearl-row small{display:block}.pearl-row strong{font-size:.95rem}.pearl-row small{color:var(--muted);font-size:.8rem;line-height:1.4;margin-top:3px}.pearl-chevron{margin-left:auto;color:var(--petrol);font-size:1.4rem}.sheet{position:fixed;z-index:1100;bottom:0;left:0;right:0;max-height:82dvh;overflow-y:auto;background:white;border-radius:22px 22px 0 0;box-shadow:0 -6px 45px #102b3470;padding:10px 20px calc(26px + env(safe-area-inset-bottom))}.sheet-grab{width:46px;height:5px;border-radius:10px;background:#b8caca;margin:0 auto 15px}.sheet-head{display:flex;align-items:center;justify-content:space-between}.pill{background:var(--petrol-pale);color:var(--petrol);font-size:.77rem;font-weight:800;padding:7px 12px;border-radius:25px}.close{border:0;background:#eaf2f1;border-radius:50%;width:33px;height:33px;font-size:1.5rem;color:var(--petrol);line-height:1}.sheet h2{font-size:1.4rem;margin:12px 0}.sheet p{line-height:1.55;color:#476169}.audio-area{background:#eff6f5;border-radius:16px;padding:15px;margin:20px 0}.audio-hint{color:#587379;font-size:.86rem;margin-bottom:10px}audio{width:100%;height:40px}.audio-actions{display:flex;justify-content:space-between;gap:10px;margin-top:13px}.audio-actions button{border:1px solid var(--petrol);border-radius:10px;padding:9px 12px;background:white;color:var(--petrol);font-weight:700}.audio-actions .mark-btn{background:var(--petrol);color:white}.coords-hint{font-size:.73rem!important;color:#819399!important}.overlay{position:fixed;inset:0;z-index:1500;background:#0a2631ac;display:grid;place-items:center;padding:18px}.modal{background:white;border-radius:20px;padding:25px;max-width:510px;max-height:85dvh;overflow:auto;position:relative}.modal h2{margin-top:7px}.modal p{line-height:1.6}.modal .close{float:right}.leaflet-popup-content-wrapper{border-radius:16px}.map-popup h3{margin:0 0 6px;color:var(--ink);font-size:.97rem}.map-popup p{margin:0 0 9px!important;color:var(--muted);line-height:1.4}.map-popup button{background:var(--petrol);color:white;border:0;padding:8px 12px;border-radius:8px;font-weight:650}.user-location{display:block;width:16px;height:16px;min-width:16px;min-height:16px;border-radius:50%;background:#0a73d9;border:3px solid #fff;box-shadow:0 0 0 4px rgba(10,115,217,.20)}@media(min-width:800px){.topbar{height:70px;--bar:70px}.guide{max-width:980px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}.sheet{max-width:520px;left:50%;transform:translateX(-50%)}.pearl-list{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-content:start}.pearl-list .pearl-row{min-height:84px}.map-tools{bottom:22px}}

/* Strassenperlen – Farb- und Layoutüberarbeitung Oktober 2026 */
:root{--petrol:#142d37;--petrol-deep:#102630;--petrol-pale:#e9eceb;--paper:#142d37;--ink:#142d37;--muted:#718087;--line:#dce2e1;--gold:#f7c452;--bar:78px;--bottom:74px}
html,body{background:var(--petrol);color:white}
button:focus-visible{outline-color:var(--gold)}
.topbar{background:var(--petrol);box-shadow:none;border-bottom:1px solid #ffffff18;justify-content:center;height:var(--bar)}
.brand{justify-content:center}.wordmark,.hero-logo{font-weight:850;letter-spacing:-.06em;line-height:1;color:#fff}.wordmark{font-size:clamp(1.6rem,5vw,2.1rem)}.wordmark-gold,.wordmark-dot{color:var(--gold)}
.chooser{color:#fff;min-height:calc(100dvh - var(--bar));padding:clamp(20px,6vh,58px) 20px 60px}
.hero-brand{display:flex;align-items:center;flex-direction:column;text-align:center;padding:26px 0 28px}
.hero-orbit{width:90px;height:90px;border:1px solid #f7c45270;border-radius:50%;display:grid;place-items:center;margin-bottom:25px;box-shadow:0 0 0 16px #f7c45209,0 0 0 33px #f7c45206}
.hero-pearl{width:44px;height:44px;display:block;border-radius:50%;background:radial-gradient(circle at 31% 28%,#fff2bb,var(--gold) 48%,#bc8127 100%);box-shadow:0 8px 22px #0004}
.hero-logo{font-size:clamp(2.8rem,10vw,5.6rem);white-space:nowrap}
.hero-brand p{color:#d7e2e2;font-size:clamp(1rem,3vw,1.3rem);margin:18px 0 0;letter-spacing:.02em}
.selection-heading{text-align:center;margin:24px 0}.eyebrow{font-size:.75rem;letter-spacing:.21em;font-weight:800;color:var(--gold)}
.chooser h1{font-size:clamp(1.5rem,4vw,2rem);line-height:1.25;margin:10px 0 8px;color:white}
.city-grid{margin-top:24px;gap:14px}.city-card{background:#1d3943;border:1px solid #ffffff24;box-shadow:0 8px 22px #06192028;color:white;border-radius:18px;min-height:86px}.city-card:hover{border-color:var(--gold);background:#26444e}.city-card small{color:#c0ced0}.city-emoji{background:#f7c45218;color:var(--gold);font-size:1.4rem}.arr{color:var(--gold)}
.version-page{text-align:center;max-width:580px;padding-top:clamp(55px,10vh,100px)}.version-page h1{font-size:clamp(2.3rem,7vw,3.8rem);margin:12px 0 4px}.version-subtitle{color:#d6e0e2;font-size:1.12rem;margin:0 0 36px}.length-buttons{grid-template-columns:1fr;gap:16px}.length-buttons button{display:grid;grid-template-columns:50px 1fr 24px;grid-template-rows:auto auto;gap:3px 12px;align-items:center;text-align:left;background:#1d3943;border:1px solid #ffffff29;padding:22px;border-radius:18px;color:#fff}.length-buttons button:hover{border-color:var(--gold)}.version-symbol{grid-row:1/3;display:grid;place-items:center;background:#f7c45217;color:var(--gold);font-size:1.6rem;border-radius:14px;width:48px;height:48px}.length-buttons strong{font-size:1.14rem}.length-buttons small{font-size:.85rem;color:#bfcdd0;opacity:1;margin:0;grid-column:2}.version-arrow{color:var(--gold);font-size:1.5rem;grid-column:3;grid-row:1/3}.secondary-back{background:none;border:0;color:var(--gold);font-weight:700;padding:24px;margin-top:20px}
.context-bar{background:#1d3943;color:#fff;border-color:#ffffff1c}.context-bar #progressCount{color:#c6d2d4}
.map-tools{right:13px;bottom:16px;gap:10px}.map-tool{color:var(--petrol);border-color:#fff}.map-back{background:var(--gold);border-color:var(--gold)}.blue-locate{width:17px;height:17px;background:#1688ec;border:3px solid #fff;box-shadow:0 0 0 2px #1688ec,0 0 0 6px #1688ec29}
.pearl-pin{width:36px;height:36px;background:var(--gold);border:3px solid white;box-shadow:0 2px 9px #0d2a3860;display:grid;place-items:center;border-radius:50% 50% 50% 8px;transform:rotate(-45deg)}.pearl-pin::after{display:none}.pin-number{display:block;color:var(--petrol);font-size:11px;font-weight:900;transform:rotate(45deg);letter-spacing:-.02em}.pearl-history{background:#fff}.pearl-history .pin-number{color:var(--petrol)}.pearl-unheard{top:-6px;right:-6px;transform:rotate(45deg);background:#d83b46;border:2px solid white}
.bottom-nav{background:var(--petrol);border-top:1px solid #ffffff20}.bottom-nav button{min-width:0;flex:1;color:#d6e1e2;font-size:clamp(.66rem,2.4vw,.78rem);padding:4px 2px;text-align:center}.bottom-nav button.active{color:var(--gold);background:#ffffff0a;box-shadow:inset 0 3px 0 var(--gold)}.bottom-nav svg{width:21px;height:21px}
#listPane{background:#f7f9f9;color:var(--ink)}.pearl-number{background:#f7c45240;color:var(--petrol)}.clean-btn{background:var(--gold)}
.pill{background:#f7c45240}.audio-area{background:#f3f5f4}.audio-actions .mark-btn,.map-popup button{background:var(--petrol)}
@media(min-width:800px){.topbar{height:78px;--bar:78px}.guide{background:#fff}.chooser{max-width:700px}.version-page{max-width:580px}}


/* Logo-Typografie Update 2026-10-10 */
.wordmark,
.hero-logo{
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing:0.005em;
  word-spacing:0.04em;
}
.wordmark > span,
.hero-logo > span{
  display:inline-block;
}
.wordmark > span + span,
.hero-logo > span + span{
  margin-left:0.01em;
}
.wordmark > span:first-child,
.hero-logo > span:first-child{
  font-family: Arial, Helvetica, sans-serif;
  font-weight:400;
  color:#fff;
}
.wordmark .wordmark-gold,
.hero-logo .wordmark-gold,
.wordmark .wordmark-dot,
.hero-logo .wordmark-dot{
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-weight:900;
}
.wordmark .wordmark-gold,
.hero-logo .wordmark-gold{
  margin-left:0.02em;
}
.wordmark .wordmark-dot,
.hero-logo .wordmark-dot{
  margin-left:0.01em;
}


/* Feinabstimmung: Startseitenlogo und Standortpunkt, 2026-10-10 */
/* Nur auf der ersten Stadtauswahl die zusätzliche Kopfzeile ausblenden. */
body:has(#chooser:not(.hidden)) .topbar { display: none; }
body:has(#chooser:not(.hidden)) #chooser { min-height: 100dvh; }
/* Äußeren Orbit reduzieren, die innere Perle bleibt unverändert (44px). */
#chooser .hero-orbit { width: 76px; height: 76px; }
/* Leaflet-DivIcon: fixes Rundformat statt Inline-Span mit Schriftzeilenhöhe. */
#map .user-location {
  display: block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  aspect-ratio: 1 / 1;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #0869f5;
  box-shadow: 0 0 0 2px #0869f5, 0 0 0 7px rgba(8,105,245,.20), 0 2px 8px rgba(0,0,0,.30);
}


/* Header pearl + logo layout */
.topbar{height:92px;--bar:92px;padding:8px 14px 10px}
.brand{justify-content:center;width:100%}
.brand-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.topbar-orbit{width:30px;height:30px;border:2px solid rgba(247,196,82,.72);border-radius:50%;display:grid;place-items:center;margin-bottom:2px;box-shadow:0 0 0 8px rgba(247,196,82,.05)}
.topbar-pearl{width:14px;height:14px;display:block;border-radius:50%;background:radial-gradient(circle at 31% 28%,#fff2bb,var(--gold) 48%,#bc8127 100%);box-shadow:0 4px 10px #0003}
.wordmark{font-size:clamp(1.55rem,5vw,2rem)}
#chooser .hero-orbit{width:76px;height:76px;border:2px solid #f7c45290;margin-bottom:14px;box-shadow:0 0 0 14px #f7c45209,0 0 0 28px #f7c45205}
#chooser .hero-pearl{width:44px;height:44px}
body:has(#chooser:not(.hidden)) .topbar { display: none; }
body:has(#chooser:not(.hidden)) #chooser { min-height: 100dvh; }

/* fixed mini player */
.guide{position:relative}
.mini-player{position:fixed;left:12px;right:12px;bottom:calc(var(--bottom) + env(safe-area-inset-bottom) + 10px);z-index:900;background:#1d3943;color:#fff;border:1px solid #ffffff24;border-radius:20px;padding:12px 14px 12px;box-shadow:0 10px 28px rgba(6,23,29,.35)}
.mini-player-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.mini-player-meta{min-width:0;flex:1}
.mini-player-meta small{display:block;color:#e3c270;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.mini-player-meta strong{display:block;font-size:.98rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-close{border:0;background:#ffffff14;color:#fff;border-radius:999px;width:30px;height:30px;font-size:1.2rem;line-height:1;flex:0 0 auto}
.mini-player-controls{display:flex;align-items:center;justify-content:center;gap:14px}
.player-btn{border:0;background:#ffffff14;color:#fff;border-radius:16px;min-width:54px;height:48px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-weight:700}
.player-btn svg{width:20px;height:20px}
.player-btn span{font-size:.8rem}
.player-primary{width:62px;height:62px;border-radius:50%;background:var(--gold);color:var(--petrol);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.player-primary svg{width:26px;height:26px}
.mini-player-progress{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-top:10px;font-size:.78rem;color:#d7e0e2}
#playerSeek{width:100%;accent-color:var(--gold);margin:0}
body.player-active .map-tools{bottom:calc(var(--bottom) + env(safe-area-inset-bottom) + 124px)}
body.player-active .sheet{padding-bottom:calc(180px + env(safe-area-inset-bottom))}
.audio-area audio{display:none}
@media(min-width:800px){
  .topbar{height:96px;--bar:96px}
  .mini-player{left:50%;right:auto;transform:translateX(-50%);width:min(720px,calc(100vw - 32px));bottom:calc(var(--bottom) + 16px)}
  body.player-active .map-tools{bottom:calc(var(--bottom) + 132px)}
}


/* Strassenperlen – Anpassungen Player/Logo/Detailfenster 2026-10-10 */
.topbar-pearl,
.hero-pearl{position:relative;overflow:hidden}
.topbar-pearl::after,
.hero-pearl::after{content:"";position:absolute;left:18%;top:17%;width:30%;height:30%;border-radius:50%;background:#fff2c0;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.map-back{background:#fff;border-color:#fff;color:var(--petrol)}
.player-speed{min-width:58px;padding:0 12px}
.player-speed span{font-size:.9rem}
#detail.sheet{top:max(12px,env(safe-area-inset-top) + 8px);bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:min(540px,calc(100vw - 24px));max-height:min(56dvh,calc(100dvh - var(--bottom) - 150px));border-radius:22px;padding:18px 20px 24px;z-index:1100}
#detail .sheet-grab{display:none}
body.player-active #detail.sheet{max-height:min(52dvh,calc(100dvh - var(--bottom) - 185px))}
@media(min-width:800px){
  #detail.sheet{top:18px;width:min(560px,calc(100vw - 32px));max-height:min(54dvh,calc(100dvh - 215px))}
}

/* Karten-Navigation: Zurueck separat oben links, Kartenwerkzeuge rechts unten */
#mapPane > #backBtn{position:absolute;top:14px;left:14px;right:auto;bottom:auto;z-index:650;background:#fff;border:1px solid #fff;color:var(--petrol)}

/* Revision: unified pearl detail, legal link and responsive city counts */
.city-counts span{display:block;white-space:nowrap;line-height:1.6}
.hero-orbit{width:78px;height:78px;margin-bottom:15px;box-shadow:0 0 0 13px #f7c45209,0 0 0 27px #f7c45206}
.hero-pearl{width:39px;height:39px}
#detail.sheet,body.player-active #detail.sheet{top:auto;bottom:calc(var(--bottom) + env(safe-area-inset-bottom) + 8px);max-height:min(74dvh,calc(100dvh - var(--bar) - var(--bottom) - 26px));overflow-y:auto;padding:15px 18px 18px;border-radius:20px;width:min(540px,calc(100vw - 20px));}
#detail.sheet h2{margin:8px 0}#detail.sheet p{margin:8px 0}
#detail .audio-area{padding:0;margin:14px 0 6px;background:transparent}
#detail audio{display:none}#detail .mini-player{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:0;z-index:auto;box-shadow:0 8px 20px #0b253333}
#detail .mini-player-head{margin-bottom:8px}#detail .mini-player-controls{gap:clamp(5px,2vw,14px)}#detail .player-btn{min-width:43px;padding:0 7px}#detail .player-primary{min-width:60px}
body.player-active .map-tools{bottom:16px!important}
.route-btn{display:block;width:100%;margin-top:12px;background:#f0f4f4;border:1px solid #b7c9cc;border-radius:11px;color:#142d37;padding:10px;font-weight:700;font-size:.85rem}
.route-note{font-size:.77rem!important;color:#62777b!important}
.legal-footer{position:fixed;right:12px;top:calc(var(--bar) + 5px);z-index:805;pointer-events:none}.legal-footer button{pointer-events:auto;background:rgba(20,45,55,.82);color:#e2e9e9;border:1px solid #ffffff38;border-radius:7px;padding:5px 9px;font-size:.72rem;cursor:pointer}
body:has(#chooser:not(.hidden)) .legal-footer,body:has(#versionPage:not(.hidden)) .legal-footer{top:auto;bottom:12px}
@media(min-width:800px){#detail.sheet,body.player-active #detail.sheet{bottom:calc(var(--bottom) + 10px);max-height:72dvh}}

/* Revision: Rechtsinfos als normale Fußzeile statt Overlay über dem Fortschritt. */
.legal-footer{position:relative!important;inset:auto!important;z-index:1;pointer-events:auto;width:100%;min-height:68px;display:flex;align-items:center;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}
.legal-footer button{pointer-events:auto;background:transparent;color:var(--muted);border:0;border-radius:4px;padding:8px 12px;font-size:.76rem;text-decoration:underline;text-underline-offset:3px}
body:has(#chooser:not(.hidden)) .legal-footer,body:has(#versionPage:not(.hidden)) .legal-footer{top:auto;bottom:auto}


/* Revision: Impressum-Styling und Perlen-Icon 2026-10-10 */
.city-emoji.city-emoji-pearl{background:#f7c45218;color:inherit;padding:0;display:grid;place-items:center}
.city-emoji-orbit{width:28px;height:28px;border:1.5px solid rgba(247,196,82,.72);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 6px rgba(247,196,82,.06)}
.city-emoji-pearl-core{position:relative;width:14px;height:14px;display:block;border-radius:50%;background:radial-gradient(circle at 31% 28%,#fff2bb,var(--gold) 48%,#bc8127 100%);box-shadow:0 4px 10px rgba(0,0,0,.18)}
.city-emoji-pearl-core::after{content:"";position:absolute;left:18%;top:17%;width:30%;height:30%;border-radius:50%;background:#fff2c0;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.legal-footer button{text-decoration:none!important}
#overlay[data-mode="imprint"] .modal{background:var(--petrol);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 48px rgba(0,0,0,.34)}
#overlay[data-mode="imprint"] .modal .close{background:rgba(255,255,255,.1);color:var(--gold)}
#overlay[data-mode="imprint"] #modalTitle{margin:6px 0 18px;text-align:center;color:var(--gold);font-size:.78rem;letter-spacing:.21em;font-weight:800;text-transform:uppercase;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#overlay[data-mode="imprint"] #modalContent{text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#overlay[data-mode="imprint"] #modalContent p{margin:0 0 8px;line-height:1.6;color:#fff;font-size:1rem}
#overlay[data-mode="imprint"] #modalContent a{color:#fff;text-decoration:none}
#overlay[data-mode="imprint"] #modalContent p:last-child{margin-bottom:0}

/* Prominent location permission dialog */
#overlay[data-mode="location"] .modal{background:#142d37;color:#fff;width:min(100%,510px);border:2px solid #f7c452;box-shadow:0 24px 65px rgba(0,0,0,.55)}
#overlay[data-mode="location"] #modalTitle{color:#f7c452;text-align:center;font-size:clamp(1.3rem,4vw,1.6rem);margin:10px 0 14px;padding-right:22px}
#overlay[data-mode="location"] .modal .close{position:absolute;right:14px;top:14px;background:#ffffff20;color:#fff;float:none}
.location-notice{text-align:left;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.location-notice-icon{margin:0 auto 10px;border-radius:50%;width:56px;height:56px;background:#f7c45224;color:#f7c452;font-size:2.5rem;line-height:56px;text-align:center}
.location-notice p{color:#f2f4f4;line-height:1.6;font-size:.98rem}
.location-notice .location-notice-lead{font-weight:650}
.location-notice h3{color:#f7c452;margin:16px 0 5px;font-size:1.05rem}
.location-notice .location-notice-foot{font-size:.82rem;color:#ced9db}
.location-confirm{width:100%;background:#f7c452;color:#142d37;border:0;border-radius:12px;padding:14px;font-weight:800;font-size:1.06rem;margin-top:8px}
#overlay[data-mode="imprint"] .made-with-love{margin-top:0;margin-bottom:14px!important;color:#fff}
#overlay[data-mode="imprint"] .red-heart{color:#e34850;font-size:1.35em;vertical-align:-.06em}

/* Freiwillige Unterstützung im Impressum */
#overlay[data-mode="imprint"] .pearl-support{border-top:1px solid rgba(255,255,255,.22);margin-top:24px;padding-top:22px}
#overlay[data-mode="imprint"] .pearl-support-heading{font-size:.75rem;font-weight:800;letter-spacing:.16em;color:var(--gold);margin-bottom:12px}
#overlay[data-mode="imprint"] .pearl-support-orbit{height:58px;width:58px;border:1.5px solid rgba(247,196,82,.75);border-radius:50%;display:grid;place-items:center;margin:0 auto 12px}
#overlay[data-mode="imprint"] .pearl-support-orbit span{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 31% 28%,#fff2bb,var(--gold) 48%,#bc8127 100%)}
#overlay[data-mode="imprint"] .pearl-support h3{color:white;margin:8px 0 10px;font-size:1.25rem}
#overlay[data-mode="imprint"] .pearl-support p{font-size:.9rem;line-height:1.55;color:#d8e2e4;margin:0 auto 14px;max-width:30em}
.support-amounts{display:flex;justify-content:center;gap:10px;margin:17px auto}
.support-amount{border:1px solid rgba(247,196,82,.6);background:#223f49;color:white;border-radius:12px;padding:11px 18px;font-weight:750;min-width:65px}
.support-amount.active{background:var(--gold);color:var(--petrol);border-color:var(--gold)}
.support-pay{display:block;border:0;border-radius:12px;padding:14px 16px;background:var(--gold);color:var(--petrol);font-weight:800;width:100%;font-size:1rem}
.support-pay:disabled{background:#acb6b8;color:#243e47;cursor:not-allowed}
#overlay[data-mode="imprint"] .pearl-support .support-status{font-size:.77rem;color:#e4ecec;margin:10px auto 5px}
#overlay[data-mode="imprint"] .pearl-support .support-legal{font-size:.73rem;color:#bdced2;margin:8px auto 0}


/* PayPal Optimierung 2026-10-10 */
#overlay[data-mode="imprint"] .pearl-support{border-top:1px solid rgba(255,255,255,.18);margin-top:26px;padding-top:22px}
#overlay[data-mode="imprint"] .pearl-support-heading{font-size:.74rem;font-weight:800;letter-spacing:.18em;color:var(--gold);margin-bottom:12px;text-align:center}
#overlay[data-mode="imprint"] .pearl-support-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(247,196,82,.24);border-radius:22px;padding:18px 16px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
#overlay[data-mode="imprint"] .pearl-support-orbit{height:66px;width:66px;border:1.5px solid rgba(247,196,82,.8);border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 0 0 10px rgba(247,196,82,.04)}
#overlay[data-mode="imprint"] .pearl-support-orbit span{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 31% 28%,#fff2bb,var(--gold) 48%,#bc8127 100%);box-shadow:0 10px 16px rgba(0,0,0,.18)}
#overlay[data-mode="imprint"] .pearl-support h3{color:#fff;margin:8px 0 8px;font-size:1.18rem;text-align:center}
#overlay[data-mode="imprint"] .pearl-support p{font-size:.92rem;line-height:1.58;color:#dfe8ea;margin:0 auto 14px;max-width:31em;text-align:center}
#overlay[data-mode="imprint"] .support-direct-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 4px}
#overlay[data-mode="imprint"] .support-direct{display:block;width:100%;border:1px solid rgba(247,196,82,.58);background:#183741;color:#fff;border-radius:14px;padding:14px 16px;font-weight:800;font-size:1rem;letter-spacing:.01em;transition:transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;box-shadow:0 6px 18px rgba(0,0,0,.12)}
#overlay[data-mode="imprint"] .support-direct:active{transform:translateY(1px)}
#overlay[data-mode="imprint"] .support-direct-primary,#overlay[data-mode="imprint"] .support-direct:hover{background:linear-gradient(180deg,#f4cf73,#e7b84b);color:var(--petrol);border-color:#f1c65f}
#overlay[data-mode="imprint"] .pearl-support .support-status{font-size:.77rem;color:#e6eded;margin:12px auto 6px}
#overlay[data-mode="imprint"] .pearl-support .support-legal{font-size:.73rem;color:#b8c9cd;margin:8px auto 0}
@media (min-width:560px){#overlay[data-mode="imprint"] .support-direct-grid{grid-template-columns:repeat(3,1fr)}}

/* Offizieller PayPal Donate-Button: Beträge werden ausschließlich bei PayPal gewählt. */
#overlay[data-mode="imprint"] .support-official-form{margin:18px 0 8px;width:100%}
#overlay[data-mode="imprint"] .support-official-btn{width:100%;min-height:52px;font-size:1rem;background:linear-gradient(180deg,#f4cf73,#e7b84b);color:#142d37;border:1px solid #f1c65f}
#overlay[data-mode="imprint"] .support-official-btn:focus-visible{outline:3px solid white;outline-offset:3px}

/* Verbindliches MASTER-Logo – direkte Bildableitungen aus Logo.jpg. */
.master-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:0;min-width:0}
.master-lockup img{display:block;object-fit:contain;max-width:100%;height:auto}
.master-hero .master-pearl{width:clamp(110px,29vw,205px)}
.master-hero .master-wordmark{width:min(92vw,580px);margin-top:-4px}
.hero-brand{padding-top:10px}
.master-header .master-pearl{width:42px}
.master-header .master-wordmark{width:min(55vw,220px);margin-top:-2px}
.city-emoji.city-emoji-pearl{background:transparent}
.city-emoji.city-emoji-pearl img{width:44px;height:44px;object-fit:contain}
@media(max-width:390px){.master-hero .master-wordmark{width:94vw}.master-hero .master-pearl{width:120px}}


/* Master-Logo Fix Mobile 2026-10-10 */
.topbar{height:78px;padding:0 14px}
.brand{justify-content:center;width:100%}
.master-logo{display:block;max-width:100%;height:auto}
.header-logo-img{width:min(74vw,320px)}
.hero-brand{padding-top:20px;padding-bottom:18px}
.hero-logo-img{width:min(94vw,820px);margin:0 auto;filter:none}
.hero-brand p{margin-top:16px}
.city-emoji.city-emoji-pearl{width:48px;height:48px;background:transparent}
.city-emoji.city-emoji-pearl img{width:48px;height:48px;object-fit:contain}
@media(min-width:800px){.topbar{height:84px}.header-logo-img{width:min(46vw,300px)}.hero-logo-img{width:min(80vw,760px)}}
@media(max-width:430px){.header-logo-img{width:78vw}.hero-logo-img{width:96vw}}


/* Logo-Feinjustierung 2026-10-10: mittig auf Seite 2/3, Ring entfernt */
.topbar{justify-content:center;align-items:center}
.brand{display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto;text-align:center}
.header-logo-img{display:block;margin:0 auto}
.hero-logo-img{display:block;margin:0 auto}
.city-emoji.city-emoji-pearl img{display:block;margin:0 auto}


/* Batchfix 2026-10-10 – Zentrierung, Sterne, Kontextzeile, Spendenbereich, Detailfenster */
.topbar{display:grid!important;place-items:center!important;position:relative}
.brand{position:absolute;left:50%;transform:translateX(-50%);justify-content:center!important;align-items:center!important;text-align:center!important;width:max-content!important;max-width:calc(100vw - 28px)!important;margin:0!important}
.header-logo-img{display:block;margin:0 auto!important}

.city-emoji.city-emoji-star{width:32px;height:32px;background:transparent!important;color:var(--gold)!important;font-size:1rem;font-weight:900;display:grid;place-items:center;flex:0 0 32px}
.city-emoji.city-emoji-star img{display:none!important}

.context-bar{justify-content:flex-start!important;height:auto;min-height:40px;padding:9px 18px;background:rgba(255,255,255,.94)!important}
#progressCount{display:block;width:100%;font-size:.8rem;font-weight:400;color:var(--muted)!important}

#overlay[data-mode="imprint"] .pearl-support-card{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
#overlay[data-mode="imprint"] .pearl-support-icon{display:block;width:42px;height:42px;object-fit:contain;margin:0 auto 12px}
#overlay[data-mode="imprint"] .pearl-support h3{margin-top:0}

#detail.sheet,body.player-active #detail.sheet{padding:8px 16px 16px!important}
#detail .sheet-head{margin-bottom:2px!important;align-items:center}
#detail .pill{background:var(--gold)!important;color:var(--petrol)!important;padding:6px 11px!important}
#detail.sheet h2{margin:4px 0 4px!important}
#detail.sheet p{margin:4px 0!important}
#detail #detailTeaser{margin-top:0!important}
#detail .audio-area{margin-top:10px!important}
#detail .close{background:rgba(247,196,82,.18)!important;color:var(--gold)!important}


/* SVG-Logo 2026-10-10 */
.master-logo{image-rendering:auto}
.header-logo-img,.hero-logo-img{display:block;height:auto}


/* Final logo/layout fixes 2026-10-10 */
body[data-view="chooser"] .topbar{display:none!important}
body[data-view="chooser"] #chooser{min-height:100dvh}
body[data-view="version"] .topbar,
body[data-view="guide"] .topbar{display:flex!important;justify-content:center!important;align-items:center!important;height:74px!important;padding:0 14px!important}
body[data-view="version"] .brand,
body[data-view="guide"] .brand{position:static!important;transform:none!important;display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;max-width:none!important;margin:0 auto!important;text-align:center!important}
body[data-view="version"] .header-logo-img,
body[data-view="guide"] .header-logo-img{width:min(70vw,280px)!important;margin:0 auto!important;display:block!important}
.hero-logo-img{width:min(90vw,720px)!important}
@media(max-width:430px){.hero-logo-img{width:92vw!important}.header-logo-img{width:68vw!important}}
.context-bar{background:#1d3943!important;color:#fff!important;justify-content:center!important;text-align:center!important;border-bottom:1px solid #ffffff1c!important;padding:10px 18px!important}
#progressCount{width:100%!important;text-align:center!important;color:#c6d2d4!important}


/* Seite-2-Logo-Zentrierung 2026-10-10 */
body[data-view="version"] .topbar,
body[data-view="guide"] .topbar{
  position:relative!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  padding-left:0!important;
  padding-right:0!important;
}
body[data-view="version"] .brand,
body[data-view="guide"] .brand{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:auto!important;
  max-width:calc(100vw - 24px)!important;
  margin:0!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
body[data-view="version"] .header-logo-img,
body[data-view="guide"] .header-logo-img{
  display:block!important;
  margin:0 auto!important;
  object-position:center center!important;
}


/* Detailfenster kompakt: Fassungsart und Titel neben Nummer; Player ohne Kopfzeile */
#detail .sheet-head{display:flex;gap:11px;justify-content:flex-start;align-items:center;margin:0 0 5px!important;min-height:44px}
#detail .pill{flex:0 0 auto}
#detail .detail-heading{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}
#detail .detail-mode{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8b651b;line-height:1.2}
#detail .detail-heading h2{font-size:clamp(1rem,3.8vw,1.23rem);font-weight:750;line-height:1.18;margin:0!important;overflow-wrap:anywhere}
#detail .sheet-head .close{flex:0 0 33px;align-self:center;margin-left:3px}
#detail .mini-player{padding-top:12px!important}
#detail .mini-player-controls{margin-top:0!important}
#detail .audio-area{margin-top:8px!important}
#detail .route-btn{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--petrol)!important}
#detail .route-btn:hover{filter:brightness(.97)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Ortsname sichtbar unter der Fassungsart (fix fuer helle Detailkarte) */
#detail .detail-heading #detailTitle{display:block!important;color:#142d37!important;font-size:clamp(.94rem,3.3vw,1.12rem)!important;font-weight:800!important;line-height:1.22!important;margin:2px 0 0!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;max-width:100%!important;}
#detail .detail-heading{min-width:0;flex:1 1 auto;}

/* Listenfarben, Audiolänge und Hilfe – 2026-10-10 */
#listPane .pearl-row strong{color:#142d37!important}
.detail-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0}
#detail .detail-duration{color:#946a1e;font-size:.74rem;font-weight:700;white-space:nowrap}
#detail .audio-hint:empty{display:none}
#overlay[data-mode="default"] .modal{color:#142d37;background:#fff;width:min(100%,510px)}
#overlay[data-mode="default"] .modal h2{color:#142d37}
#overlay[data-mode="default"] .modal p{color:#405c65}
#overlay[data-mode="default"] .pearl-help .help-lead{font-weight:650;color:#142d37}
#overlay[data-mode="default"] .pearl-help .help-outro{font-weight:700;color:#a47722}

/* Logo oben auf Seite 2 und 3 als Startseiten-Schaltfläche */
#homeLogoBtn{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit}
#homeLogoBtn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
