/* /Components/Account/Pages/Login.razor.rz.scp.css */
.login-wrapper[b-w6iq27y540] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    padding: 2rem 1rem;
}

.login-box[b-w6iq27y540] {
    width: 100%;
    max-width: 400px;
    padding: 2rem;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.login-box h1[b-w6iq27y540] {
    text-align: center;
    margin-bottom: 1.5rem;
    font-size: 1.75rem;
    font-weight: 500;
}

.form-control[b-w6iq27y540] {
    border: 2px solid #ccc;
    border-radius: 4px;
    padding: 0.6rem;
    background-color: #fff;
}

.form-control:focus[b-w6iq27y540] {
    border-color: #0d6efd;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.form-label[b-w6iq27y540] {
    font-weight: 500;
    margin-bottom: 0.4rem;
    display: block;
}

.btn-primary[b-w6iq27y540] {
    padding: 0.6rem;
    font-size: 1rem;
}

.passkey-login[b-w6iq27y540] {
    text-align: center;
    border-top: 1px solid #e0e0e0;
    padding-top: 1rem;
}

.passkey-login .btn-link[b-w6iq27y540] {
    text-decoration: none;
    font-size: 0.9rem;
}

.login-links[b-w6iq27y540] {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e0e0e0;
}

.login-links a[b-w6iq27y540] {
    color: #666;
    text-decoration: none;
}

.login-links a:hover[b-w6iq27y540] {
    color: #333;
    text-decoration: underline;
}

.external-login[b-w6iq27y540] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e0e0e0;
}

@media (max-width: 576px) {
    .login-box[b-w6iq27y540] {
        padding: 1.5rem;
    }

    .login-links[b-w6iq27y540] {
        flex-direction: column;
        gap: 0.5rem;
    }
}
/* /Components/DiscoveryDisplay.razor.rz.scp.css */
.dicovery-wrapper[b-oc0531hmhk] {

}

.discovery-details[b-oc0531hmhk] {
	margin: 20px;
	padding-left: 30px;
}
/* /Components/ImagePopup.razor.rz.scp.css */
.image-link[b-00nos5rsuw] {
	cursor: pointer;
	display: inline-block;
}

.thumbnail[b-00nos5rsuw] {
	max-width: 200px;
	height: auto;
}

.popup-overlay[b-00nos5rsuw] {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.popup-content[b-00nos5rsuw] {
	position: relative;
	max-width: 90vw;
	max-height: 90vh;
}

.popup-image[b-00nos5rsuw] {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	display: block;
}

[b-00nos5rsuw] .close-button {
	position: absolute;
	top: -30px;
	right: -30px;
	z-index: 10000;
	background-color: white !important;
}

.close-button::deep button[b-00nos5rsuw] {
	background-color: white !important;
	color: black !important;
	border-radius: 50% !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	width: 48px !important;
	height: 48px !important;
	padding: 8px !important;
}

.close-button::deep .mud-icon-button[b-00nos5rsuw] {
	background-color: white !important;
	color: black !important;
}

.close-button::deep .mud-icon-root[b-00nos5rsuw] {
	font-size: 1.5rem !important;
}

@media (max-width: 768px) {
	[b-00nos5rsuw] .close-button {
		top: -25px;
		right: -15px;
	}

	.close-button::deep button[b-00nos5rsuw] {
		width: 36px !important;
		height: 36px !important;
		padding: 6px !important;
	}

	.close-button::deep .mud-icon-root[b-00nos5rsuw] {
		font-size: 1.25rem !important;
	}
}

@media (max-width: 480px) {
	[b-00nos5rsuw] .close-button {
		top: -20px;
		right: -10px;
	}

	.close-button::deep button[b-00nos5rsuw] {
		width: 32px !important;
		height: 32px !important;
		padding: 4px !important;
	}

	.close-button::deep .mud-icon-root[b-00nos5rsuw] {
		font-size: 1.1rem !important;
	}
}


/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-0v15nrbk44] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-0v15nrbk44] {
    flex: 1;
}

.sidebar[b-0v15nrbk44] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-0v15nrbk44] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-0v15nrbk44]  a, .top-row[b-0v15nrbk44]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-0v15nrbk44]  a:hover, .top-row[b-0v15nrbk44]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-0v15nrbk44]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-0v15nrbk44] {
        justify-content: space-between;
    }

    .top-row[b-0v15nrbk44]  a, .top-row[b-0v15nrbk44]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-0v15nrbk44] {
        flex-direction: row;
    }

    .sidebar[b-0v15nrbk44] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-0v15nrbk44] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-0v15nrbk44]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-0v15nrbk44], article[b-0v15nrbk44] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-0v15nrbk44] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-0v15nrbk44] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-eqsdmlq27l],
.components-reconnect-repeated-attempt-visible[b-eqsdmlq27l],
.components-reconnect-failed-visible[b-eqsdmlq27l],
.components-pause-visible[b-eqsdmlq27l],
.components-resume-failed-visible[b-eqsdmlq27l],
.components-rejoining-animation[b-eqsdmlq27l] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-retrying[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-failed[b-eqsdmlq27l],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-eqsdmlq27l] {
    display: block;
}


#components-reconnect-modal[b-eqsdmlq27l] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-eqsdmlq27l 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-eqsdmlq27l 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-eqsdmlq27l 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-eqsdmlq27l]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-eqsdmlq27l 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-eqsdmlq27l {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-eqsdmlq27l {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-eqsdmlq27l {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-eqsdmlq27l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-eqsdmlq27l] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-eqsdmlq27l] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-eqsdmlq27l] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-eqsdmlq27l] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-eqsdmlq27l] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-eqsdmlq27l] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-eqsdmlq27l 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-eqsdmlq27l] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-eqsdmlq27l {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/LoadingOverlay.razor.rz.scp.css */
.regeneron.loading-overlay[b-zrq37s1kz2] {
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

	.regeneron.loading-overlay.full-window[b-zrq37s1kz2] {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		/*background: rgba(0, 0, 0, 0.5);*/
	}

	.regeneron.loading-overlay.parent-contained[b-zrq37s1kz2] {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		/*background: rgba(0, 0, 0, 0.3);*/
	}

.regeneron.loading-spinner-wrapper[b-zrq37s1kz2] {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1001;
}

.regeneron.loading-spinner[b-zrq37s1kz2] {
	border: 4px solid var(--mud-palette-primary);
	border-top: 4px solid var(--mud-palette-secondary);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: regeneron-spin-b-zrq37s1kz2 1s linear infinite;
}

@keyframes regeneron-spin-b-zrq37s1kz2 {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}
/* /Components/Pages/AddRock.razor.rz.scp.css */
.add-rock-container[b-e9lrkmroo8] {
	max-width: 800px;
	margin: 2rem auto;
	padding: 1rem;
}

.d-flex[b-e9lrkmroo8] {
	display: flex;
}

.gap-2[b-e9lrkmroo8] {
	gap: 0.5rem;
}

.mb-2[b-e9lrkmroo8] {
	margin-bottom: 0.5rem;
}

.mb-3[b-e9lrkmroo8] {
	margin-bottom: 1rem;
}

.mb-4[b-e9lrkmroo8] {
	margin-bottom: 1.5rem;
}

.pa-4[b-e9lrkmroo8] {
	padding: 2rem;
}
/* /Components/Pages/Rocks.razor.rz.scp.css */
.RockVitals a[b-3n9b8hiyfs] {
	color: #337ab7;
	text-decoration: none;
}

.RockVitals ul[b-3n9b8hiyfs] {
    padding-left: 20px;
}

.MemoryLaneInvite[b-3n9b8hiyfs] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 12px 0 18px;
	padding: 14px 16px;
	background: #fff8eb;
	border: 1px solid rgba(0, 167, 157, 0.28);
	border-left: 6px solid #00a79d;
	border-radius: 8px;
	box-shadow: 0 4px 14px rgba(29, 39, 41, 0.08);
}

.MemoryLaneInvite span[b-3n9b8hiyfs] {
	display: block;
	margin-bottom: 3px;
	color: #c95745;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.MemoryLaneInvite strong[b-3n9b8hiyfs] {
	display: block;
	color: #243638;
	font-size: 1rem;
	line-height: 1.3;
}

@media (max-width: 640px) {
	.MemoryLaneInvite[b-3n9b8hiyfs] {
		align-items: stretch;
		flex-direction: column;
	}
}
/* /Components/RockMemoryLane.razor.rz.scp.css */
.memory-lane-overlay[b-17sv8m4c0i] {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(12, 18, 20, 0.78);
	backdrop-filter: blur(6px);
}

.memory-lane-shell[b-17sv8m4c0i] {
	display: flex;
	flex-direction: column;
	width: min(1060px, 100%);
	height: min(840px, calc(100vh - 48px));
	overflow: hidden;
	background: #fffdf9;
	color: #1d2729;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 8px;
	box-shadow: 0 26px 80px rgba(0, 0, 0, 0.34);
}

.memory-lane-header[b-17sv8m4c0i] {
	z-index: 2;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 24px 16px;
	background: rgba(255, 253, 249, 0.95);
	border-bottom: 1px solid #eadfce;
}

.memory-lane-header h2[b-17sv8m4c0i] {
	margin: 2px 0 0;
	font-family: 'Noteworthy', 'Comic Sans MS', cursive;
	font-size: clamp(1.7rem, 4vw, 3rem);
	line-height: 1;
	color: #213033;
}

.memory-lane-kicker[b-17sv8m4c0i] {
	color: #c95745;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.memory-lane-body[b-17sv8m4c0i] {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.memory-lane-stage[b-17sv8m4c0i] {
	display: grid;
	grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.05fr);
	gap: 28px;
	align-items: stretch;
	padding: 24px;
	backface-visibility: hidden;
	transform-origin: center;
	transform-style: preserve-3d;
	will-change: opacity, transform;
}

.memory-lane-transition-rise[b-17sv8m4c0i] {
	animation: memoryLaneRise-b-17sv8m4c0i 620ms cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-transition-slide-left[b-17sv8m4c0i] {
	animation: memoryLaneSlideLeft-b-17sv8m4c0i 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-transition-slide-right[b-17sv8m4c0i] {
	animation: memoryLaneSlideRight-b-17sv8m4c0i 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-transition-flip-left[b-17sv8m4c0i] {
	transform-origin: left center;
	animation: memoryLaneFlipLeft-b-17sv8m4c0i 760ms cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-transition-flip-right[b-17sv8m4c0i] {
	transform-origin: right center;
	animation: memoryLaneFlipRight-b-17sv8m4c0i 760ms cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-transition-zoom-pop[b-17sv8m4c0i] {
	animation: memoryLaneZoomPop-b-17sv8m4c0i 720ms cubic-bezier(0.2, 1.12, 0.35, 1);
}

.memory-lane-transition-postcard[b-17sv8m4c0i] {
	animation: memoryLanePostcard-b-17sv8m4c0i 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-transition-snapshot[b-17sv8m4c0i] {
	animation: memoryLaneSnapshot-b-17sv8m4c0i 680ms ease-out;
}

.memory-lane-photo-wrap[b-17sv8m4c0i] {
	position: relative;
	height: clamp(300px, 48vh, 460px);
	overflow: hidden;
	background: #efe3d2;
	border-radius: 8px;
}

.memory-lane-photo-wrap > img[b-17sv8m4c0i] {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	transform-origin: center;
	backface-visibility: hidden;
	will-change: transform, filter;
}

.memory-lane-photo[b-17sv8m4c0i] {
	animation-duration: 5.2s;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.memory-lane-photo-kenburns-in[b-17sv8m4c0i] {
	animation-name: memoryLanePhotoKenBurnsIn-b-17sv8m4c0i;
}

.memory-lane-photo-kenburns-left[b-17sv8m4c0i] {
	animation-name: memoryLanePhotoKenBurnsLeft-b-17sv8m4c0i;
}

.memory-lane-photo-kenburns-right[b-17sv8m4c0i] {
	animation-name: memoryLanePhotoKenBurnsRight-b-17sv8m4c0i;
}

.memory-lane-photo-kenburns-up[b-17sv8m4c0i] {
	animation-name: memoryLanePhotoKenBurnsUp-b-17sv8m4c0i;
}

.memory-lane-photo-kenburns-down[b-17sv8m4c0i] {
	animation-name: memoryLanePhotoKenBurnsDown-b-17sv8m4c0i;
}

.memory-lane-photo-kenburns-diagonal[b-17sv8m4c0i] {
	animation-name: memoryLanePhotoKenBurnsDiagonal-b-17sv8m4c0i;
}

.memory-lane-map-panel[b-17sv8m4c0i] {
	position: relative;
	height: clamp(170px, 22vh, 230px);
	overflow: hidden;
	background: #fffdf9;
	border: 2px solid rgba(255, 253, 249, 0.95);
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(12, 18, 20, 0.28);
	opacity: 1;
	visibility: visible;
	isolation: isolate;
	transition: opacity 180ms ease, visibility 180ms ease;
}

.memory-lane-map-panel.is-hidden[b-17sv8m4c0i] {
	display: none;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.memory-lane-map[b-17sv8m4c0i] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.memory-lane-map.is-inactive[b-17sv8m4c0i] {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.memory-lane-route-preview[b-17sv8m4c0i] {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(0, 167, 157, 0.08), rgba(240, 173, 61, 0.1)),
		#f8fbf7;
}

.memory-lane-route-preview[b-17sv8m4c0i]::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(255, 253, 249, 0.08), rgba(255, 253, 249, 0.24)),
		radial-gradient(circle at 50% 50%, transparent 42%, rgba(12, 18, 20, 0.16));
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-tiles,
.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-route {
	position: absolute;
	inset: 0;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-tiles {
	z-index: 0;
	overflow: hidden;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-tile {
	position: absolute;
	display: block;
	user-select: none;
	pointer-events: none;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-route {
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-path {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-path-total {
	stroke: rgba(29, 39, 41, 0.42);
	stroke-width: 5;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-path-traveled {
	stroke: #00a79d;
	stroke-width: 6;
	filter: drop-shadow(0 3px 5px rgba(12, 18, 20, 0.3));
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-markers {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-stop {
	position: absolute;
	z-index: 2;
	width: 13px;
	height: 13px;
	background: #fffdf9;
	border: 2px solid #9f907a;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(12, 18, 20, 0.24);
	transform: translate(-50%, -50%);
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-stop.is-past {
	background: #00a79d;
	border-color: #fffdf9;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-stop.is-current {
	z-index: 4;
	width: 19px;
	height: 19px;
	background: #f0ad3d;
	border: 3px solid #c95745;
	box-shadow: 0 5px 12px rgba(12, 18, 20, 0.36);
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-stop.is-current.has-rock-image {
	width: 32px;
	height: 32px;
	background-color: #f0ad3d;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border: 4px solid #fffdf9;
	outline: 3px solid #c95745;
	outline-offset: 0;
	box-shadow: 0 7px 16px rgba(12, 18, 20, 0.42);
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-stop:not(.is-past):not(.is-current) {
	opacity: 0.46;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-stop.has-photo:not(.is-current) {
	outline: 2px solid rgba(255, 253, 249, 0.9);
	outline-offset: 2px;
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-preview-current-ring {
	position: absolute;
	z-index: 3;
	width: 42px;
	height: 42px;
	border: 3px solid rgba(201, 87, 69, 0.45);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.memory-lane-route-preview[b-17sv8m4c0i]  .memory-lane-map-attribution {
	position: absolute;
	right: 4px;
	bottom: 3px;
	z-index: 3;
	padding: 1px 4px;
	color: #1d2729;
	background: rgba(255, 253, 249, 0.78);
	border-radius: 3px;
	font-size: 0.58rem;
	line-height: 1.2;
	text-decoration: none;
}

.memory-lane-map-panel[b-17sv8m4c0i]  .memory-lane-map-toggle {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 2;
	width: 34px;
	height: 34px;
	color: #142323;
	background: rgba(255, 253, 249, 0.92);
	border: 1px solid rgba(0, 167, 157, 0.28);
	box-shadow: 0 8px 18px rgba(12, 18, 20, 0.18);
}

.memory-lane-photo-badge[b-17sv8m4c0i] {
	position: absolute;
	left: 14px;
	bottom: 14px;
	padding: 7px 12px;
	color: #142323;
	background: rgba(255, 245, 223, 0.92);
	border: 1px solid rgba(0, 167, 157, 0.34);
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.memory-lane-mobile-comment[b-17sv8m4c0i] {
	display: none;
}

.memory-lane-story[b-17sv8m4c0i] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(300px, 48vh, 460px);
	padding: 32px;
	background:
		linear-gradient(135deg, rgba(0, 167, 157, 0.13), rgba(244, 185, 84, 0.12)),
		#ffffff;
	border: 1px solid #eadfce;
	border-radius: 8px;
}

.memory-lane-story-main[b-17sv8m4c0i] {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 38%);
	gap: 18px;
	align-items: stretch;
}

.memory-lane-location-panel[b-17sv8m4c0i] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.memory-lane-stop-count[b-17sv8m4c0i] {
	color: #007c75;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.memory-lane-story h3[b-17sv8m4c0i] {
	margin: 10px 0 8px;
	font-size: min(clamp(1.45rem, 3vw, 2.35rem), max(0.68rem, calc(30rem / var(--memory-lane-location-word-length))));
	line-height: 1.12;
	color: #263537;
	hyphens: none;
	overflow-wrap: normal;
	text-wrap: balance;
	word-break: normal;
}

.memory-lane-date[b-17sv8m4c0i] {
	color: #6f5b43;
	font-weight: 700;
}

.memory-lane-story blockquote[b-17sv8m4c0i] {
	position: relative;
	margin: 26px 0 0;
	padding: 22px 24px;
	color: #263537;
	background: rgba(255, 255, 255, 0.72);
	border-left: 5px solid #f0ad3d;
	border-radius: 0 8px 8px 0;
	font-size: 1.08rem;
	line-height: 1.55;
}

.memory-lane-empty-note[b-17sv8m4c0i] {
	margin: 26px 0 0;
	color: #516365;
	font-size: 1.02rem;
	line-height: 1.55;
}

.memory-lane-stats[b-17sv8m4c0i] {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 0 24px 24px;
	overflow: hidden;
	border: 1px solid #eadfce;
	border-radius: 8px;
	background: #eadfce;
}

.memory-lane-stats div[b-17sv8m4c0i] {
	padding: 18px 14px;
	text-align: center;
	background: #fff8eb;
}

.memory-lane-stats strong[b-17sv8m4c0i] {
	display: block;
	color: #007c75;
	font-size: clamp(1.25rem, 3vw, 2rem);
	line-height: 1;
}

.memory-lane-stats span[b-17sv8m4c0i] {
	display: block;
	margin-top: 6px;
	color: #6f5b43;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.memory-lane-control-dock[b-17sv8m4c0i] {
	position: relative;
	z-index: 3;
	flex: 0 0 auto;
	background: rgba(255, 253, 249, 0.98);
	border-top: 1px solid #eadfce;
	box-shadow: 0 -10px 28px rgba(29, 39, 41, 0.12);
}

.memory-lane-route[b-17sv8m4c0i] {
	padding: 16px 24px 6px;
	overflow: hidden;
}

.memory-lane-track[b-17sv8m4c0i] {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	min-height: 54px;
	overflow-x: auto;
	padding: 8px 50%;
	scroll-behavior: smooth;
	scrollbar-width: none;
	scroll-snap-type: x proximity;
}

.memory-lane-track[b-17sv8m4c0i]::-webkit-scrollbar {
	display: none;
}

.memory-lane-track[b-17sv8m4c0i]::before,
.memory-lane-track-fill[b-17sv8m4c0i] {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 5px;
	border-radius: 999px;
	transform: translateY(-50%);
}

.memory-lane-track[b-17sv8m4c0i]::before {
	background: #eadfce;
}

.memory-lane-track-fill[b-17sv8m4c0i] {
	right: auto;
	width: 0;
	background: linear-gradient(90deg, #00a79d, #f0ad3d);
	transition: width 320ms ease;
}

.memory-lane-stop-button[b-17sv8m4c0i] {
	position: relative;
	z-index: 1;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #6f5b43;
	background: #fffdf9;
	border: 3px solid #d9ccb8;
	border-radius: 50%;
	font-weight: 900;
	cursor: pointer;
	scroll-snap-align: center;
	transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.memory-lane-stop-button:hover[b-17sv8m4c0i],
.memory-lane-stop-button:focus-visible[b-17sv8m4c0i] {
	transform: translateY(-2px);
	border-color: #00a79d;
	outline: none;
}

.memory-lane-stop-button.is-past[b-17sv8m4c0i] {
	color: #ffffff;
	background: #00a79d;
	border-color: #00a79d;
}

.memory-lane-stop-button.is-current[b-17sv8m4c0i] {
	color: #142323;
	background: #f0ad3d;
	border-color: #c95745;
	transform: scale(1.12);
	box-shadow: 0 0 0 5px rgba(240, 173, 61, 0.18);
}

.memory-lane-stop-button.has-photo[b-17sv8m4c0i]::after {
	content: "";
	position: absolute;
	right: -2px;
	top: -2px;
	width: 10px;
	height: 10px;
	background: #c95745;
	border: 2px solid #fffdf9;
	border-radius: 50%;
}

.memory-lane-controls[b-17sv8m4c0i] {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 4px 24px 16px;
}

@keyframes memoryLaneRise-b-17sv8m4c0i {
	from {
		opacity: 0;
		filter: blur(3px);
		transform: translateY(42px) scale(0.97);
	}
	to {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0) scale(1);
	}
}

@keyframes memoryLaneSlideLeft-b-17sv8m4c0i {
	from {
		opacity: 0;
		transform: translateX(92px) rotate(1.4deg) scale(0.965);
	}
	to {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

@keyframes memoryLaneSlideRight-b-17sv8m4c0i {
	from {
		opacity: 0;
		transform: translateX(-92px) rotate(-1.4deg) scale(0.965);
	}
	to {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

@keyframes memoryLaneFlipLeft-b-17sv8m4c0i {
	from {
		opacity: 0;
		filter: saturate(0.78);
		transform: perspective(900px) rotateY(76deg) translateX(52px) scale(0.94);
	}
	to {
		opacity: 1;
		filter: saturate(1);
		transform: perspective(900px) rotateY(0deg) translateX(0) scale(1);
	}
}

@keyframes memoryLaneFlipRight-b-17sv8m4c0i {
	from {
		opacity: 0;
		filter: saturate(0.78);
		transform: perspective(900px) rotateY(-76deg) translateX(-52px) scale(0.94);
	}
	to {
		opacity: 1;
		filter: saturate(1);
		transform: perspective(900px) rotateY(0deg) translateX(0) scale(1);
	}
}

@keyframes memoryLaneZoomPop-b-17sv8m4c0i {
	0% {
		opacity: 0;
		filter: blur(2px);
		transform: scale(0.82);
	}
	72% {
		opacity: 1;
		filter: blur(0);
		transform: scale(1.055);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes memoryLanePostcard-b-17sv8m4c0i {
	from {
		opacity: 0;
		transform: translateY(54px) rotate(-5.5deg) scale(0.91);
	}
	to {
		opacity: 1;
		transform: translateY(0) rotate(0deg) scale(1);
	}
}

@keyframes memoryLaneSnapshot-b-17sv8m4c0i {
	0% {
		opacity: 0;
		filter: brightness(1.55) contrast(1.18) saturate(0.72);
		transform: scale(1.09);
	}
	22% {
		opacity: 1;
		filter: brightness(1.85) contrast(1.28) saturate(0.86);
		transform: scale(1.04);
	}
	58% {
		filter: brightness(1.08) contrast(1.05) saturate(1.04);
	}
	100% {
		opacity: 1;
		filter: brightness(1) contrast(1) saturate(1);
		transform: scale(1);
	}
}

@keyframes memoryLanePhotoKenBurnsIn-b-17sv8m4c0i {
	from {
		filter: saturate(0.96) contrast(1);
		transform: scale(1.015);
	}
	to {
		filter: saturate(1.04) contrast(1.02);
		transform: scale(1.11);
	}
}

@keyframes memoryLanePhotoKenBurnsLeft-b-17sv8m4c0i {
	from {
		filter: saturate(0.98) contrast(1);
		transform: scale(1.08) translate3d(2.2%, 0, 0);
	}
	to {
		filter: saturate(1.05) contrast(1.02);
		transform: scale(1.14) translate3d(-2.2%, -0.7%, 0);
	}
}

@keyframes memoryLanePhotoKenBurnsRight-b-17sv8m4c0i {
	from {
		filter: saturate(0.98) contrast(1);
		transform: scale(1.08) translate3d(-2.2%, -0.4%, 0);
	}
	to {
		filter: saturate(1.05) contrast(1.02);
		transform: scale(1.14) translate3d(2.2%, 0.7%, 0);
	}
}

@keyframes memoryLanePhotoKenBurnsUp-b-17sv8m4c0i {
	from {
		filter: saturate(0.97) contrast(1);
		transform: scale(1.07) translate3d(0, 2%, 0);
	}
	to {
		filter: saturate(1.04) contrast(1.02);
		transform: scale(1.13) translate3d(0.8%, -2%, 0);
	}
}

@keyframes memoryLanePhotoKenBurnsDown-b-17sv8m4c0i {
	from {
		filter: saturate(0.97) contrast(1);
		transform: scale(1.07) translate3d(0.4%, -2%, 0);
	}
	to {
		filter: saturate(1.04) contrast(1.02);
		transform: scale(1.13) translate3d(-0.8%, 2%, 0);
	}
}

@keyframes memoryLanePhotoKenBurnsDiagonal-b-17sv8m4c0i {
	from {
		filter: saturate(0.96) contrast(1);
		transform: scale(1.06) translate3d(-1.7%, 1.7%, 0) rotate(-0.25deg);
	}
	to {
		filter: saturate(1.04) contrast(1.02);
		transform: scale(1.14) translate3d(1.7%, -1.7%, 0) rotate(0.25deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.memory-lane-stage[b-17sv8m4c0i],
	.memory-lane-photo[b-17sv8m4c0i] {
		animation: none !important;
		transition: none !important;
	}

	.memory-lane-photo[b-17sv8m4c0i] {
		filter: none !important;
		transform: none !important;
	}
}

@media (max-width: 780px) {
	.memory-lane-overlay[b-17sv8m4c0i] {
		align-items: stretch;
		padding: 0;
	}

	.memory-lane-shell[b-17sv8m4c0i] {
		width: 100%;
		height: 100vh;
		height: 100dvh;
		max-height: none;
		border-radius: 0;
	}

	.memory-lane-header[b-17sv8m4c0i] {
		gap: 10px;
		padding: 10px 12px 8px;
	}

	.memory-lane-header h2[b-17sv8m4c0i] {
		margin-top: 0;
		font-size: clamp(1.45rem, 7vw, 2rem);
		line-height: 0.95;
	}

	.memory-lane-kicker[b-17sv8m4c0i] {
		font-size: 0.68rem;
		letter-spacing: 0.1em;
	}

	.memory-lane-header[b-17sv8m4c0i]  .mud-icon-button {
		width: 38px;
		height: 38px;
		padding: 6px;
	}

	.memory-lane-stage[b-17sv8m4c0i] {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 10px 12px;
	}

	.memory-lane-photo-wrap[b-17sv8m4c0i],
	.memory-lane-story[b-17sv8m4c0i] {
		min-height: 0;
	}

	.memory-lane-photo-wrap[b-17sv8m4c0i] {
		height: clamp(210px, 36dvh, 330px);
	}

	.memory-lane-photo-badge[b-17sv8m4c0i] {
		top: 10px;
		bottom: auto;
		left: 10px;
		padding: 6px 10px;
		font-size: 0.7rem;
	}

	.memory-lane-mobile-comment[b-17sv8m4c0i] {
		position: absolute;
		right: 10px;
		bottom: 10px;
		z-index: 3;
		display: block;
		max-width: min(76%, 330px);
		max-height: 44%;
		margin: 0;
		padding: 10px 12px;
		overflow: auto;
		color: #263537;
		background: rgba(255, 253, 249, 0.94);
		border: 1px solid rgba(240, 173, 61, 0.72);
		border-radius: 14px 14px 4px 14px;
		box-shadow: 0 12px 28px rgba(12, 18, 20, 0.24);
		font-size: 0.86rem;
		isolation: isolate;
		line-height: 1.3;
	}

	.memory-lane-mobile-comment[b-17sv8m4c0i]::after {
		content: "";
		position: absolute;
		right: 12px;
		bottom: -7px;
		z-index: -1;
		width: 14px;
		height: 14px;
		background: inherit;
		border-right: inherit;
		border-bottom: inherit;
		border-radius: 0 0 3px 0;
		box-shadow: 8px 8px 16px rgba(12, 18, 20, 0.12);
		transform: rotate(45deg);
	}

	.memory-lane-story-comment[b-17sv8m4c0i] {
		display: none;
	}

	.memory-lane-map-panel[b-17sv8m4c0i] {
		height: clamp(116px, 18dvh, 145px);
	}

	.memory-lane-map-panel[b-17sv8m4c0i]  .memory-lane-map-toggle {
		right: 6px;
		bottom: 6px;
		width: 30px;
		height: 30px;
		padding: 4px;
	}

	.memory-lane-story[b-17sv8m4c0i] {
		padding: 12px;
		min-height: 0;
	}

	.memory-lane-story-main[b-17sv8m4c0i] {
		grid-template-columns: minmax(0, 1fr) minmax(132px, 44%);
		gap: 10px;
		align-items: center;
	}

	.memory-lane-stop-count[b-17sv8m4c0i] {
		font-size: 0.66rem;
		letter-spacing: 0.09em;
	}

	.memory-lane-story h3[b-17sv8m4c0i] {
		margin: 5px 0 4px;
		font-size: min(clamp(1rem, 5vw, 1.35rem), max(0.56rem, calc(20rem / var(--memory-lane-location-word-length))));
		line-height: 1.05;
	}

	.memory-lane-date[b-17sv8m4c0i] {
		font-size: 0.82rem;
	}

	.memory-lane-stats[b-17sv8m4c0i] {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin: 0 12px 8px;
	}

	.memory-lane-stats div[b-17sv8m4c0i] {
		padding: 8px 4px;
	}

	.memory-lane-stats strong[b-17sv8m4c0i] {
		font-size: 1rem;
	}

	.memory-lane-stats span[b-17sv8m4c0i] {
		margin-top: 3px;
		font-size: 0.56rem;
		letter-spacing: 0.04em;
	}

	.memory-lane-route[b-17sv8m4c0i] {
		padding: 6px 12px 0;
	}

	.memory-lane-track[b-17sv8m4c0i] {
		gap: 4px;
		min-height: 34px;
		padding: 4px 50%;
	}

	.memory-lane-track[b-17sv8m4c0i]::before,
	.memory-lane-track-fill[b-17sv8m4c0i] {
		left: 14px;
		right: 14px;
		height: 4px;
	}

	.memory-lane-stop-button[b-17sv8m4c0i] {
		width: 28px;
		height: 28px;
		border-width: 2px;
		font-size: 0.75rem;
	}

	.memory-lane-stop-button.is-current[b-17sv8m4c0i] {
		box-shadow: 0 0 0 3px rgba(240, 173, 61, 0.18);
	}

	.memory-lane-stop-button.has-photo[b-17sv8m4c0i]::after {
		right: -2px;
		top: -2px;
		width: 8px;
		height: 8px;
		border-width: 1px;
	}

	.memory-lane-controls[b-17sv8m4c0i] {
		gap: 10px;
		padding: 0 12px max(7px, env(safe-area-inset-bottom));
	}

	.memory-lane-controls[b-17sv8m4c0i]  .mud-icon-button {
		width: 38px;
		height: 38px;
		padding: 6px;
	}
}
