/*
 * ╔════════════════════════════════════════════════════════════════════════╗
 * ║  PF_CampQuest.css – Modul Designsystem                                 ║
 * ║  Version: 1.0.4rc                                                      ║
 * ║  Autor: Franz Pfuisi                                                   ║
 * ║  PFWS-System: 1.4.1.3.33                                               ║
 * ║  Erstellt: 2026-07-02 - 00:00 (CET)                                    ║
 * ║  Updated:  2026-07-02 - 00:00 (CET)                                    ║
 * ║                                                                        ║
 * ║  Beschreibung:                                                         ║
 * ║  Enthält das freundliche Light/Dark-Design fuer PF_CampQuest           ║
 * ║  inklusive Navigation, Karten, Formulare und DSGVO-Pille.              ║
 * ║                                                                        ║
 * ║  Changelog:                                                            ║
 * ║  2026-07-02: v1.0.4rc — Erstes CampQuest-Designsystem                  ║
 * ╚════════════════════════════════════════════════════════════════════════╝
 */

:root {
	--pf-campquest-app-height: 100dvh;
}

.pf-campquest-shell-wrap {
	width: 100%;
	padding: 14px;
	min-height: 100%;
	height: 100%;
	display: flex;
}

html.pf-campquest-mobile-app-mode,
body.pf-campquest-mobile-app-mode {
	height: 100%;
	min-height: calc(var(--pf-campquest-app-height) + 1px);
	overflow-x: clip; /* clip ≠ hidden: no body scroll container, window.scrollY changes normally */
	overflow-y: auto;
	overscroll-behavior: none;
}

.pf-campquest-app {
	--pf-campquest-bg: #f7f6ef;
	--pf-campquest-bg-card: #ffffff;
	--pf-campquest-bg-soft: #f1eee4;
	--pf-campquest-fg: #1f2a27;
	--pf-campquest-fg-soft: #5a6662;
	--pf-campquest-border: #e4dfd3;
	--pf-campquest-accent: #d8791b;
	--pf-campquest-accent-strong: #9a4808;
	--pf-campquest-accent-soft: #f7e8d4;
	--pf-campquest-success: #2f8b5f;
	--pf-campquest-warning: #c0911d;
	--pf-campquest-danger: #bb4f4f;
	--pf-campquest-shadow: 0 10px 28px rgba(20, 32, 31, 0.08);
	--pf-campquest-radius: 16px;
	--pf-campquest-header-bg: linear-gradient(160deg, #ece5d3 0%, #e3dbc7 100%);
	--pf-campquest-header-border: #d1c6ad;
	--pf-campquest-header-shadow: 0 8px 18px rgba(36, 34, 27, 0.10);
	--pf-campquest-kicker-color: #3b4743;
	--pf-campquest-kicker-bg: rgba(255, 255, 255, 0.62);
	--pf-campquest-btn-bg: linear-gradient(170deg, #ffffff 0%, #f4f0e4 100%);
	--pf-campquest-btn-bg-hover: linear-gradient(170deg, #fff9ee 0%, #f5e8d2 100%);
	--pf-campquest-btn-shadow: 0 2px 0 rgba(31, 42, 39, 0.08);
	--pf-campquest-btn-shadow-hover: 0 6px 14px rgba(216, 121, 27, 0.18);
	--pf-campquest-scroll-track: #ebe6d9;
	--pf-campquest-scroll-thumb: #cbbfa7;
	--pf-campquest-scroll-thumb-hover: #b6a884;
	--pf-campquest-upload-btn-bg: linear-gradient(170deg, #d8791b 0%, #c46b14 100%);
	--pf-campquest-upload-btn-color: #ffffff;
	--pf-campquest-points-low-bg: #e5f0ff;
	--pf-campquest-points-low-fg: #1f5fa9;
	--pf-campquest-points-medium-bg: #ddf5ee;
	--pf-campquest-points-medium-fg: #157357;
	--pf-campquest-points-high-bg: #fff0dd;
	--pf-campquest-points-high-fg: #b9620f;
	--pf-campquest-points-epic-bg: #f1e6ff;
	--pf-campquest-points-epic-fg: #7f30b2;
	--pf-campquest-map-accent: #74c9ff;
	--pf-campquest-map-accent-strong: #2b86c7;
	--pf-campquest-map-accent-soft: #dff4ff;
	color-scheme: light;
	position: relative;
	max-width: 1080px;
	margin: 0 auto;
	background: radial-gradient(circle at 15% 0%, #fff6df 0%, var(--pf-campquest-bg) 45%), var(--pf-campquest-bg);
	color: var(--pf-campquest-fg);
	border: 1px solid var(--pf-campquest-border);
	border-radius: 20px;
	box-shadow: var(--pf-campquest-shadow);
	overflow: hidden;
	font-family: "Segoe UI Variable", "Trebuchet MS", "Candara", sans-serif;
	width: 100%;
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

.pf-campquest-app.pf-campquest-theme-dark {
	--pf-campquest-bg: #101514;
	--pf-campquest-bg-card: #18201e;
	--pf-campquest-bg-soft: #1f2a27;
	--pf-campquest-fg: #eef2ef;
	--pf-campquest-fg-soft: #aeb8b4;
	--pf-campquest-border: #2e3b37;
	--pf-campquest-accent: #f0a34f;
	--pf-campquest-accent-strong: #f0a34f;
	--pf-campquest-accent-soft: #3a2b1a;
	--pf-campquest-success: #46be86;
	--pf-campquest-warning: #e0b03f;
	--pf-campquest-danger: #e17070;
	--pf-campquest-shadow: 0 14px 36px rgba(0, 0, 0, 0.32);
	--pf-campquest-header-bg: linear-gradient(160deg, #202a27 0%, #1a221f 100%);
	--pf-campquest-header-border: #34423d;
	--pf-campquest-header-shadow: 0 10px 24px rgba(0, 0, 0, 0.34);
	--pf-campquest-kicker-color: #d6e3de;
	--pf-campquest-kicker-bg: rgba(13, 18, 17, 0.44);
	--pf-campquest-btn-bg: linear-gradient(170deg, #25302d 0%, #1d2724 100%);
	--pf-campquest-btn-bg-hover: linear-gradient(170deg, #2f3b37 0%, #24302c 100%);
	--pf-campquest-btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.34);
	--pf-campquest-btn-shadow-hover: 0 8px 18px rgba(0, 0, 0, 0.4);
	--pf-campquest-scroll-track: #1b2421;
	--pf-campquest-scroll-thumb: #41524c;
	--pf-campquest-scroll-thumb-hover: #536762;
	--pf-campquest-upload-btn-bg: linear-gradient(170deg, #f0a34f 0%, #df8b35 100%);
	--pf-campquest-upload-btn-color: #111716;
	--pf-campquest-points-low-bg: #1d3350;
	--pf-campquest-points-low-fg: #9bc1f7;
	--pf-campquest-points-medium-bg: #173d34;
	--pf-campquest-points-medium-fg: #8ee3c7;
	--pf-campquest-points-high-bg: #4a3118;
	--pf-campquest-points-high-fg: #f4c287;
	--pf-campquest-points-epic-bg: #3a214b;
	--pf-campquest-points-epic-fg: #ddb9ff;
	--pf-campquest-map-accent: #67c6ff;
	--pf-campquest-map-accent-strong: #8dd7ff;
	--pf-campquest-map-accent-soft: #183244;
	color-scheme: dark;
	background: radial-gradient(circle at 15% 0%, #2a2014 0%, var(--pf-campquest-bg) 44%), var(--pf-campquest-bg);
}

.pf-campquest-header {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	align-items: flex-start;
	padding: 18px 18px 8px;
	flex: 0 0 auto;
	background: var(--pf-campquest-header-bg);
	border-bottom: 1px solid var(--pf-campquest-header-border);
	box-shadow: var(--pf-campquest-header-shadow);
}

.pf-campquest-header-left {
	min-width: 0;
	display: grid;
	gap: 4px;
}

.pf-campquest-title-row {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.pf-campquest-title-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	line-height: 0;
	border-radius: 10px;
}

.pf-campquest-title-logo {
	width: 38px;
	height: 38px;
	object-fit: contain;
	border-radius: 10px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 1%, transparent);
	box-shadow: 0 6px 16px rgba(13, 24, 22, 0.02);
	flex: 0 0 auto;
}

.pf-campquest-kicker {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--pf-campquest-kicker-color);
	background: var(--pf-campquest-kicker-bg);
	display: inline-flex;
	align-items: center;
	justify-self: end;
	text-align: right;
	padding: 3px 9px;
	border-radius: 999px;
	font-weight: 700;
}

.pf-campquest-title {
	margin: 2px 0 0;
	font-size: clamp(22px, 5vw, 30px);
	line-height: 1.1;
	letter-spacing: 0.01em;
}

@media (min-width: 900px) {
	.pf-campquest-title-logo {
		width: 44px;
		height: 44px;
	}

	.pf-campquest-title-row {
		gap: 12px;
	}
}

.pf-campquest-header-right {
	display: flex;
	gap: 8px;
	align-items: center;
}

.pf-campquest-dashboard-menu {
	position: relative;
	display: inline-flex;
}

.pf-campquest-dashboard-caret {
	font-size: 13px;
	line-height: 1;
	opacity: 0.75;
	transform-origin: 50% 45%;
	transition: transform 140ms ease;
}

.pf-campquest-dashboard-submenu {
	position: absolute;
	top: calc(100% - 2px);
	right: 0;
	z-index: 34;
	min-width: 188px;
	padding: 6px;
	display: grid;
	gap: 4px;
	border: 1px solid var(--pf-campquest-border);
	border-radius: 12px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 96%, transparent);
	box-shadow: 0 12px 24px rgba(18, 28, 27, 0.2);
	opacity: 0;
	transform: translateY(-4px);
	pointer-events: none;
	transition: opacity 130ms ease, transform 130ms ease;
}

.pf-campquest-dashboard-submenu::before {
	content: '';
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	height: 12px;
}

.pf-campquest-dashboard-submenu-item {
	text-decoration: none;
	padding: 8px 9px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-fg);
	background: transparent;
	border: 1px solid transparent;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.pf-campquest-dashboard-submenu-icon {
	width: 16px;
	height: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, var(--pf-campquest-accent) 86%, var(--pf-campquest-fg));
	opacity: 0.96;
}

.pf-campquest-dashboard-submenu-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-dashboard-submenu-text {
	line-height: 1.1;
}

.pf-campquest-dashboard-submenu-item:hover,
.pf-campquest-dashboard-submenu-item:focus-visible {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 38%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 72%, transparent);
	outline: none;
}

.pf-campquest-dashboard-menu:hover .pf-campquest-dashboard-submenu,
.pf-campquest-dashboard-menu:focus-within .pf-campquest-dashboard-submenu,
.pf-campquest-dashboard-menu.pf-campquest-dashboard-menu-open .pf-campquest-dashboard-submenu {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.pf-campquest-dashboard-menu:hover .pf-campquest-dashboard-caret,
.pf-campquest-dashboard-menu:focus-within .pf-campquest-dashboard-caret,
.pf-campquest-dashboard-menu.pf-campquest-dashboard-menu-open .pf-campquest-dashboard-caret {
	transform: rotate(180deg);
}

.pf-campquest-icon-button,
.pf-campquest-dashboard-link,
.pf-campquest-button {
	border: 1px solid var(--pf-campquest-border);
	background: var(--pf-campquest-btn-bg);
	color: var(--pf-campquest-fg);
	border-radius: 12px;
	font-size: 14px;
	text-decoration: none;
	padding: 6px 12px;
	min-height: 40px;
	cursor: pointer;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	position: relative;
	overflow: hidden;
	letter-spacing: 0.02em;
	transition: transform 120ms ease, border-color 120ms ease, box-shadow 160ms ease, background 160ms ease, filter 120ms ease;
	box-shadow: var(--pf-campquest-btn-shadow);
}

.pf-campquest-header-right .pf-campquest-icon-button::after,
.pf-campquest-header-right .pf-campquest-dashboard-link::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 24%, color-mix(in srgb, #fff 62%, transparent) 50%, transparent 76%);
	opacity: 0;
	transform: translateX(-128%);
	transition: transform 340ms ease, opacity 180ms ease;
	pointer-events: none;
}

.pf-campquest-button:hover,
.pf-campquest-dashboard-link:hover,
.pf-campquest-icon-button:hover {
	border-color: var(--pf-campquest-accent);
	background: var(--pf-campquest-btn-bg-hover);
	box-shadow: 0 10px 20px rgba(13, 24, 23, 0.14), var(--pf-campquest-btn-shadow-hover);
	transform: translateY(-1px) scale(1.01);
	filter: saturate(1.05);
}

.pf-campquest-header-right .pf-campquest-icon-button:hover::after,
.pf-campquest-header-right .pf-campquest-dashboard-link:hover::after {
	opacity: 0.52;
	transform: translateX(128%);
}

.pf-campquest-button:active,
.pf-campquest-dashboard-link:active,
.pf-campquest-icon-button:active {
	transform: translateY(0) scale(0.985);
	box-shadow: 0 4px 10px rgba(13, 24, 23, 0.1);
}

.pf-campquest-header-right .pf-campquest-icon-button:focus-visible,
.pf-campquest-header-right .pf-campquest-dashboard-link:focus-visible {
	outline: none;
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 72%, var(--pf-campquest-border));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-campquest-accent-soft) 84%, transparent), 0 9px 20px rgba(13, 24, 23, 0.13);
}

.pf-campquest-info-pill {
	padding-inline: 12px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.pf-campquest-camk-button {
	font-weight: 900;
	letter-spacing: 0.06em;
	font-size: 11px;
	min-width: 52px;
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 44%, var(--pf-campquest-border));
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-camk-button:hover,
.pf-campquest-camk-active {
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 80%, var(--pf-campquest-bg-card));
	border-color: var(--pf-campquest-accent);
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-verse-pill {
	padding-inline: 12px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.pf-campquest-verse-pill[aria-pressed="true"] {
	border-color: var(--pf-campquest-accent);
	background: var(--pf-campquest-accent-soft);
	color: var(--pf-campquest-accent);
}

.pf-campquest-info-pill[aria-pressed="true"] {
	border-color: var(--pf-campquest-accent);
	background: var(--pf-campquest-accent-soft);
	color: var(--pf-campquest-accent);
}

.pf-campquest-language-pill {
	font-weight: 700;
	letter-spacing: 0.04em;
	min-width: 72px;
}

#pf-campquest-theme-toggle {
	min-width: 44px;
	padding-inline: 10px;
}

.pf-campquest-dashboard-logo {
	width: 20px;
	height: 20px;
	display: block;
	border-radius: 50%;
}

.pf-campquest-button-label {
	line-height: 1.05;
}

.pf-campquest-button-icon {
	width: 13px;
	height: 13px;
	display: inline-flex;
	color: currentColor;
	opacity: 0.82;
}

.pf-campquest-button-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Buttons use display:inline-flex; force hidden attribute to always win. */
.pf-campquest-button[hidden],
.pf-campquest-manage-button[hidden] {
	display: none !important;
}

.pf-campquest-button-refresh-subtle {
	padding: 4px 9px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 600;
	color: var(--pf-campquest-fg-soft);
	background: color-mix(in srgb, var(--pf-campquest-btn-bg) 70%, transparent);
	border-color: color-mix(in srgb, var(--pf-campquest-border) 76%, transparent);
	box-shadow: none;
	gap: 5px;
}

#pf-campquest-refresh-missions {
	min-height: 30px;
	padding-block: 2px;
	padding-inline: 8px;
}

#pf-campquest-refresh-photo-submissions {
	min-height: 30px;
	padding-block: 2px;
	padding-inline: 8px;
}

.pf-campquest-button-refresh-subtle:hover {
	color: var(--pf-campquest-fg);
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 45%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-btn-bg-hover) 82%, transparent);
	box-shadow: 0 5px 12px rgba(12, 21, 20, 0.08);
}

.pf-campquest-button-refresh-subtle:active {
	transform: translateY(0);
	box-shadow: none;
}

.pf-campquest-button-accent {
	background: linear-gradient(170deg, color-mix(in srgb, var(--pf-campquest-accent) 88%, #fff), var(--pf-campquest-accent));
	border-color: var(--pf-campquest-accent);
	color: #fff;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--pf-campquest-accent) 38%, transparent);
}

.pf-campquest-button-accent:hover {
	filter: brightness(0.95);
}

.pf-campquest-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
}

.pf-campquest-icon[hidden] {
	display: none !important;
}

.pf-campquest-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-dsgvo-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	padding: 5px 9px;
	margin: 2px 0 8px;
	border-radius: 999px;
	border: 1px solid var(--pf-campquest-border);
	background: var(--pf-campquest-bg-card);
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-main {
	padding: 10px 18px 92px;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--pf-campquest-scroll-thumb) var(--pf-campquest-scroll-track);
}

.pf-campquest-main::-webkit-scrollbar {
	width: 10px;
}

.pf-campquest-main::-webkit-scrollbar-track {
	background: var(--pf-campquest-scroll-track);
	border-radius: 999px;
}

.pf-campquest-main::-webkit-scrollbar-thumb {
	background: var(--pf-campquest-scroll-thumb);
	border-radius: 999px;
	border: 2px solid var(--pf-campquest-scroll-track);
}

.pf-campquest-main::-webkit-scrollbar-thumb:hover {
	background: var(--pf-campquest-scroll-thumb-hover);
}

.pf-campquest-page {
	display: none;
	animation: pf-campquest-fade-in 180ms ease;
}

.pf-campquest-page-active {
	display: block;
}

@keyframes pf-campquest-fade-in {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes pf-campquest-toast-in {
	from {
		opacity: 0;
		transform: translateY(-8px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.pf-campquest-card {
	background: var(--pf-campquest-bg-card);
	border: 1px solid var(--pf-campquest-border);
	border-radius: var(--pf-campquest-radius);
	padding: 14px;
	margin-bottom: 12px;
}

.pf-campquest-card-metric {
	background: linear-gradient(165deg, color-mix(in srgb, var(--pf-campquest-bg-card) 90%, #fff), var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 20%, var(--pf-campquest-border));
	box-shadow: 0 8px 18px rgba(24, 34, 33, 0.07);
}

.pf-campquest-card-metric .pf-campquest-label {
	font-weight: 700;
	letter-spacing: 0.02em;
}

/* Compact 3-column KPI grid for admin stats */
.pf-campquest-stats-kpi-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 12px;
}

.pf-campquest-stats-kpi-card {
	padding: 9px 10px 10px;
}

.pf-campquest-stats-kpi-card .pf-campquest-label {
	font-size: 10px;
	line-height: 1.3;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.pf-campquest-stats-kpi-card .pf-campquest-metric {
	font-size: 22px;
	margin-top: 3px;
}

.pf-campquest-stats-kpi-card-success .pf-campquest-metric {
	color: var(--pf-campquest-success);
}

@media (max-width: 480px) {
	.pf-campquest-stats-kpi-grid {
		gap: 6px;
	}

	.pf-campquest-stats-kpi-card {
		padding: 7px 8px 8px;
	}

	.pf-campquest-stats-kpi-card .pf-campquest-metric {
		font-size: 18px;
	}
}

.pf-campquest-card-hero {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) minmax(220px, 290px);
	gap: 12px;
	align-items: center;
	background: linear-gradient(145deg, var(--pf-campquest-bg-card), var(--pf-campquest-accent-soft));
}

.pf-campquest-hero-copy {
	min-width: 0;
	display: grid;
	gap: 4px;
}

.pf-campquest-daily-verse-card {
	display: grid;
	gap: 6px;
	padding: 12px 14px;
	text-align: left;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 32%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 76%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 20px rgba(39, 34, 26, 0.10);
	cursor: pointer;
	transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.pf-campquest-daily-verse-card:hover,
.pf-campquest-daily-verse-card:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 14px 24px rgba(39, 34, 26, 0.14);
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 54%, var(--pf-campquest-border));
	outline: none;
}

.pf-campquest-daily-verse-label {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-daily-verse-reference {
	font-size: 16px;
	line-height: 1.2;
	color: var(--pf-campquest-fg);
}

.pf-campquest-daily-verse-teaser {
	font-size: 13px;
	line-height: 1.45;
	color: var(--pf-campquest-fg-soft);
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pf-campquest-team-avatar {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-weight: 700;
	background: var(--pf-campquest-accent);
	color: #fff;
}

.pf-campquest-grid {
	display: grid;
	gap: 12px;
}

.pf-campquest-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pf-campquest-info-media-card {
	padding: 10px;
	display: grid;
	align-items: center;
	justify-items: end;
	overflow: hidden;
	min-height: 140px;
}
.pf-campquest-info-media-image {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 307px;
	object-fit: cover;
	object-position: center;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-map-accent) 28%, var(--pf-campquest-border));
	box-shadow: 0 12px 22px rgba(16, 24, 22, 0.14);
	transform-origin: center;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 180ms ease;
}

.pf-campquest-info-media-card:hover .pf-campquest-info-media-image,
.pf-campquest-info-media-card:focus-within .pf-campquest-info-media-image {
	transform: scale(1.03);
	border-color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 36%, var(--pf-campquest-border));
	box-shadow: 0 16px 30px rgba(16, 24, 22, 0.2);
}

@media (prefers-reduced-motion: reduce) {
	.pf-campquest-info-media-image {
		transition: none;
	}

	.pf-campquest-info-media-card:hover .pf-campquest-info-media-image,
	.pf-campquest-info-media-card:focus-within .pf-campquest-info-media-image {
		transform: none;
	}
}

.pf-campquest-heading {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.2;
}

.pf-campquest-label {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-copy {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-metric {
	margin: 5px 0 0;
	font-size: 24px;
	color: var(--pf-campquest-accent);
	font-weight: 700;
}

.pf-campquest-zones {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.pf-campquest-zone {
	border-radius: 999px;
	padding: 5px 10px;
	font-size: 11px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.pf-campquest-zone-green {
	background: rgba(47, 139, 95, 0.12);
	color: var(--pf-campquest-success);
}

.pf-campquest-zone-yellow {
	background: rgba(192, 145, 29, 0.16);
	color: var(--pf-campquest-warning);
}

.pf-campquest-zone-red {
	background: rgba(187, 79, 79, 0.16);
	color: var(--pf-campquest-danger);
}

.pf-campquest-home-zone-map-wrap {
	margin: 10px 0 0;
	padding: 6px;
	max-width: 100%;
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 86%, var(--pf-campquest-accent-soft));
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 72%, var(--pf-campquest-bg-card));
}

.pf-campquest-home-zone-map {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1086 / 768;
	border-radius: 10px;
	background: #d8d8d8;
	object-fit: contain;
}

.pf-campquest-map-wrap {
	position: relative;
	padding: 0;
	overflow: hidden;
}

.pf-campquest-map-wrap .pf-campquest-home-zone-map {
	border-radius: 10px;
}

.pf-campquest-map-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.pf-campquest-map-marker {
	position: absolute;
	transform: translate(-50%, -100%);
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 2px solid #fff;
	background: var(--pf-campquest-map-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 7px 16px rgba(0, 0, 0, 0.24);
	pointer-events: auto;
	cursor: pointer;
	transition: transform 120ms ease, filter 120ms ease;
}

.pf-campquest-map-marker:hover,
.pf-campquest-map-marker:focus-visible {
	transform: translate(-50%, -100%) scale(1.08);
	filter: saturate(1.08);
	outline: none;
}

.pf-campquest-map-marker[data-state="done"] {
	background: var(--pf-campquest-success);
}

.pf-campquest-map-marker[data-state="skip"] {
	background: var(--pf-campquest-warning);
}

.pf-campquest-map-marker.is-selected {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-campquest-map-accent-soft) 86%, transparent), 0 10px 18px rgba(0, 0, 0, 0.3);
	transform: translate(-50%, -100%) scale(1.12);
}

.pf-campquest-map-point-overlay {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
	width: min(260px, calc(100% - 16px));
	max-width: calc(100% - 16px);
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-map-accent) 30%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 90%, #fff);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.24);
	display: grid;
	gap: 4px;
	pointer-events: auto;
}

.pf-campquest-map-point-overlay[hidden] {
	display: none !important;
}

.pf-campquest-daily-verse-modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: grid;
	place-items: center;
	padding: 20px;
	background: rgba(16, 22, 20, 0.44);
	backdrop-filter: blur(4px);
}
.pf-campquest-modal {
	isolation: isolate;
}
.pf-campquest-modal .pf-campquest-daily-verse-modal-panel {
	position: relative;
}

.pf-campquest-daily-verse-modal[hidden] {
	display: none !important;
}

.pf-campquest-daily-verse-modal-panel {
	width: min(560px, 100%);
	padding: 18px;
	border-radius: 18px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 28%, var(--pf-campquest-border));
	background: var(--pf-campquest-bg-card);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.28);
	display: grid;
	gap: 12px;
}

.pf-campquest-daily-verse-modal-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
}

.pf-campquest-daily-verse-modal-close {
	padding: 6px;
	min-width: 0;
	min-height: 0;
	border-radius: 999px;
}

.pf-campquest-daily-verse-modal-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--pf-campquest-fg);
}

.pf-campquest-hope-input {
	min-height: 96px;
	resize: vertical;
}

.pf-campquest-peace-options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.pf-campquest-peace-options .pf-campquest-button {
	justify-content: flex-start;
	text-align: left;
	width: 100%;
}

.pf-campquest-hope-status {
	margin: 2px 0 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-hope-status[data-state="saving"] {
	color: var(--pf-campquest-map-accent-strong);
}

.pf-campquest-hope-status[data-state="success"] {
	color: color-mix(in srgb, #1fa971 82%, var(--pf-campquest-fg));
}

.pf-campquest-hope-hint {
	margin: 0;
	font-size: 13px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-selfie-actions {
	margin-top: 2px;
	gap: 8px;
}

.pf-campquest-selfie-status {
	margin: 2px 0 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-selfie-status[data-state="saving"] {
	color: var(--pf-campquest-map-accent-strong);
}

.pf-campquest-selfie-status[data-state="success"] {
	color: color-mix(in srgb, #1fa971 82%, var(--pf-campquest-fg));
}

#pf-campquest-selfie-modal[data-variant="truth-mission"] .pf-campquest-daily-verse-modal-panel {
	border-color: color-mix(in srgb, #5f8f66 40%, var(--pf-campquest-border));
	background: linear-gradient(180deg, #f5fbf4 0%, #ffffff 100%);
	box-shadow: 0 20px 44px rgba(28, 71, 45, 0.24);
}

#pf-campquest-selfie-modal[data-variant="hope-mission"] .pf-campquest-daily-verse-modal-panel {
	border-color: color-mix(in srgb, #b18d2d 42%, var(--pf-campquest-border));
	background: linear-gradient(180deg, #fff7dc 0%, #ffffff 100%);
	box-shadow: 0 20px 44px rgba(106, 82, 23, 0.24);
}

#pf-campquest-selfie-modal[data-variant="hope-mission"] .pf-campquest-label {
	color: #765515;
}

#pf-campquest-selfie-modal[data-variant="hope-mission"] .pf-campquest-daily-verse-modal-text {
	color: color-mix(in srgb, #4c360d 82%, var(--pf-campquest-fg));
	font-weight: 700;
}

#pf-campquest-selfie-modal[data-variant="hope-mission"] .pf-campquest-selfie-actions .pf-campquest-button-accent {
	background: linear-gradient(180deg, #d3a13a 0%, #9b711b 100%);
	border-color: #9b711b;
}

#pf-campquest-selfie-modal[data-variant="hope-mission"] .pf-campquest-selfie-status[data-state="saving"] {
	color: #7a5512;
}

#pf-campquest-selfie-modal[data-variant="truth-mission"] .pf-campquest-label {
	color: #2f5f3c;
}

#pf-campquest-selfie-modal[data-variant="truth-mission"] .pf-campquest-daily-verse-modal-text {
	color: color-mix(in srgb, #183321 80%, var(--pf-campquest-fg));
	font-weight: 700;
}

#pf-campquest-selfie-modal[data-variant="truth-mission"] .pf-campquest-selfie-actions .pf-campquest-button-accent {
	background: linear-gradient(180deg, #4d7f5a 0%, #2f5f3c 100%);
	border-color: #2f5f3c;
}

#pf-campquest-selfie-modal[data-variant="truth-mission"] .pf-campquest-selfie-status[data-state="saving"] {
	color: #2f5f3c;
}

#pf-campquest-selfie-modal[data-variant="group-picture-mission"] .pf-campquest-daily-verse-modal-panel {
	border-color: color-mix(in srgb, #b8842b 42%, var(--pf-campquest-border));
	background: linear-gradient(180deg, #fff8e9 0%, #ffffff 100%);
	box-shadow: 0 20px 44px rgba(112, 77, 24, 0.22);
}

#pf-campquest-selfie-modal[data-variant="group-picture-mission"] .pf-campquest-label {
	color: #7e530f;
}

#pf-campquest-selfie-modal[data-variant="group-picture-mission"] .pf-campquest-daily-verse-modal-text {
	color: color-mix(in srgb, #49310a 82%, var(--pf-campquest-fg));
	font-weight: 700;
}

#pf-campquest-selfie-modal[data-variant="group-picture-mission"] .pf-campquest-selfie-actions .pf-campquest-button-accent {
	background: linear-gradient(180deg, #c58a22 0%, #9f6712 100%);
	border-color: #9f6712;
}

#pf-campquest-selfie-modal[data-variant="group-picture-mission"] .pf-campquest-selfie-status[data-state="saving"] {
	color: #8a5a10;
}

.pf-campquest-feeling-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
	gap: 10px;
}

/* 1-10 Rating Grid */
.pf-campquest-feeling-rating-grid {
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
}

.pf-campquest-feeling-option {
	display: grid;
	gap: 6px;
	justify-items: center;
	padding: 12px 10px;
	min-height: 108px;
	border-radius: 16px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 22%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 90%, #fff);
	color: var(--pf-campquest-fg);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

/* Rating number buttons */
.pf-campquest-feeling-rating-btn {
	min-height: 56px;
	padding: 10px 6px;
	border-radius: 12px;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: 0;
	background: var(--pf-campquest-btn-bg);
	border: 2px solid var(--pf-campquest-border);
	transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.pf-campquest-feeling-rating-btn:hover {
	border-color: var(--pf-campquest-accent);
	background: var(--pf-campquest-accent-soft);
}

.pf-campquest-feeling-rating-btn--selected {
	background: linear-gradient(160deg, var(--pf-campquest-accent) 0%, var(--pf-campquest-accent-strong) 100%);
	border-color: var(--pf-campquest-accent-strong);
	color: #fff;
	transform: scale(1.08);
}

.pf-campquest-feeling-rating-num {
	font-size: 1.3rem;
	font-weight: 800;
}

.pf-campquest-feeling-rating-scale-labels {
	display: flex;
	justify-content: space-between;
	font-size: 0.78rem;
	color: var(--pf-campquest-fg-soft);
	margin-top: 4px;
	padding: 0 2px;
}

.pf-campquest-feeling-option[data-feeling-key="love"] {
	background: linear-gradient(180deg, #fff1f4 0%, #ffe1e8 100%);
	border-color: #f29ab0;
}

.pf-campquest-feeling-option[data-feeling-key="happy"] {
	background: linear-gradient(180deg, #fff8dc 0%, #ffeeb0 100%);
	border-color: #f0c44c;
}

.pf-campquest-feeling-option[data-feeling-key="good"] {
	background: linear-gradient(180deg, #eefbf2 0%, #d7f2df 100%);
	border-color: #79c28f;
}

.pf-campquest-feeling-option[data-feeling-key="okay"] {
	background: linear-gradient(180deg, #f4f7fb 0%, #e2e8f2 100%);
	border-color: #9aa9c4;
}

.pf-campquest-feeling-option[data-feeling-key="tired"] {
	background: linear-gradient(180deg, #f3f0ff 0%, #e3daf9 100%);
	border-color: #a78bd6;
}

.pf-campquest-feeling-option-emoji {
	font-size: 34px;
	line-height: 1;
}

.pf-campquest-feeling-option-label {
	font-size: 12px;
	line-height: 1.25;
	text-align: center;
}

.pf-campquest-feeling-status {
	margin: 2px 0 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-feeling-status[data-state="saving"] {
	color: var(--pf-campquest-map-accent-strong);
}

.pf-campquest-feeling-status[data-state="success"] {
	color: color-mix(in srgb, #1fa971 82%, var(--pf-campquest-fg));
}

#pf-campquest-prayer-modal .pf-campquest-daily-verse-modal-panel {
	border-color: color-mix(in srgb, var(--pf-campquest-map-accent) 34%, var(--pf-campquest-border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--pf-campquest-map-accent-soft) 36%, var(--pf-campquest-bg-card)) 0%, var(--pf-campquest-bg-card) 100%);
}

.pf-campquest-prayer-status {
	margin: 2px 0 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-prayer-status[data-state="saving"] {
	color: var(--pf-campquest-map-accent-strong);
}

.pf-campquest-prayer-status[data-state="success"] {
	color: color-mix(in srgb, #1fa971 82%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-station-extra {
	margin: 2px 0 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	max-width: 100%;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, #f0c44c 45%, var(--pf-campquest-border));
	background: linear-gradient(180deg, #fff8dc 0%, #ffeeb0 100%);
	color: color-mix(in srgb, var(--pf-campquest-fg) 88%, #7a5400);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.01em;
	box-shadow: 0 6px 14px rgba(122, 84, 0, 0.08);
}

.pf-campquest-map-point-overlay-close {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 24px;
	height: 24px;
	padding: 0;
	border-radius: 999px;
	border: 1px solid var(--pf-campquest-border);
	background: var(--pf-campquest-btn-bg);
	color: var(--pf-campquest-fg-soft);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.pf-campquest-map-point-overlay-title {
	margin: 0;
	padding-right: 24px;
	font-size: 13px;
	font-weight: 800;
	color: var(--pf-campquest-fg);
}

.pf-campquest-map-point-overlay-meta,
.pf-campquest-map-point-overlay-place {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-map-point-overlay-qr {
	margin-top: 2px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	padding: 3px 8px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-map-accent) 28%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-map-accent-soft) 52%, var(--pf-campquest-bg-card));
	font-size: 11px;
	font-weight: 700;
	color: var(--pf-campquest-map-accent-strong);
}

.pf-campquest-map-point-overlay-qr-icon {
	width: 13px;
	height: 13px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pf-campquest-map-point-overlay-qr-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-map-point-overlay-editor {
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px dashed color-mix(in srgb, var(--pf-campquest-map-accent) 28%, var(--pf-campquest-border));
	display: grid;
	gap: 8px;
}

.pf-campquest-map-point-overlay-editor[hidden] {
	display: none !important;
}

.pf-campquest-map-point-overlay-editor .pf-campquest-field-group {
	display: grid;
	gap: 4px;
}

.pf-campquest-map-point-overlay-editor .pf-campquest-input {
	min-height: 34px;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 9px;
}

.pf-campquest-map-point-overlay-editor .pf-campquest-button {
	min-height: 32px;
	padding: 4px 10px;
	font-size: 11px;
	border-radius: 999px;
}

.pf-campquest-map-editor {
	margin-top: 10px;
	padding: 14px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 24%, var(--pf-campquest-border));
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 26%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card)),
		var(--pf-campquest-bg-card);
	box-shadow: 0 10px 24px -18px rgba(16, 48, 76, 0.46);
	display: grid;
	gap: 12px;
}

.pf-campquest-map-editor-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.pf-campquest-map-editor .pf-campquest-field-group {
	display: grid;
	gap: 6px;
}

.pf-campquest-map-axis-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
}

.pf-campquest-map-axis-value {
	min-width: 62px;
	text-align: right;
	padding: 6px 8px;
	border-radius: 8px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 25%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 34%, var(--pf-campquest-bg-card));
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-map-axis-slider {
	width: 100%;
	accent-color: var(--pf-campquest-accent);
	cursor: pointer;
}

.pf-campquest-map-axis-slider:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--pf-campquest-accent) 42%, transparent);
	outline-offset: 2px;
	border-radius: 999px;
}

.pf-campquest-map-editor .pf-campquest-field-group-checkbox {
	display: flex;
	align-items: end;
	justify-content: flex-start;
	padding-bottom: 4px;
}

.pf-campquest-map-editor .pf-campquest-field-group-checkbox label {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	font-size: 12px;
	font-weight: 700;
}

.pf-campquest-card-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.pf-campquest-card-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.pf-campquest-card-actions[hidden] {
	display: none !important;
}

.pf-campquest-manage-button {
	padding: 4px 10px;
	min-height: 30px;
	font-size: 11px;
	border-radius: 999px;
	gap: 6px;
	border-color: color-mix(in srgb, var(--pf-campquest-fg-soft) 20%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 78%, var(--pf-campquest-accent-soft));
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-manage-button .pf-campquest-button-icon {
	width: 13px;
	height: 13px;
}

.pf-campquest-manage-button[aria-expanded="true"] {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 58%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 65%, var(--pf-campquest-bg-card));
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-admin-panel {
	margin-top: 10px;
	padding: 10px;
	border-radius: 12px;
	border: 1px dashed color-mix(in srgb, var(--pf-campquest-accent) 34%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 32%, var(--pf-campquest-bg-card));
	animation: pf-campquest-fade-in 180ms ease;
}

.pf-campquest-admin-panel[hidden] {
	display: none !important;
}

.pf-campquest-card-actions #pf-campquest-load-pending-prayers,
.pf-campquest-card-actions #pf-campquest-refresh-prayers,
.pf-campquest-card-actions #pf-campquest-load-pending-feedback,
.pf-campquest-card-actions #pf-campquest-refresh-feedback {
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 999px;
	line-height: 1.25;
	min-height: auto;
}

#pf-campquest-page-help .pf-campquest-stack-form {
	margin-top: 12px;
}

.pf-campquest-feedback-form {
	padding: 12px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, #2f9f8f 28%, var(--pf-campquest-border));
	background:
		radial-gradient(circle at top right, rgba(47, 159, 143, 0.14), rgba(47, 159, 143, 0) 38%),
		linear-gradient(165deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 56%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 22px rgba(17, 43, 37, 0.08);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.pf-campquest-feedback-form:focus-within {
	border-color: color-mix(in srgb, #2f9f8f 52%, var(--pf-campquest-border));
	box-shadow: 0 14px 28px rgba(17, 43, 37, 0.12);
	transform: translateY(-1px);
}

.pf-campquest-feedback-type-wrap,
.pf-campquest-feedback-text-wrap {
	display: grid;
	gap: 6px;
}

.pf-campquest-feedback-field-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 800;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 78%, var(--pf-campquest-fg));
}

.pf-campquest-feedback-field-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, #2f9f8f 84%, var(--pf-campquest-fg));
	background: color-mix(in srgb, #2f9f8f 14%, transparent);
	border-radius: 999px;
	padding: 3px;
}

.pf-campquest-feedback-field-icon svg {
	width: 14px;
	height: 14px;
	display: block;
}

.pf-campquest-feedback-select-shell {
	position: relative;
	display: grid;
}

.pf-campquest-feedback-select-shell .pf-campquest-input {
	padding-right: 38px;
	appearance: none;
	-webkit-appearance: none;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 90%, #fff);
	border-color: color-mix(in srgb, #2f9f8f 24%, var(--pf-campquest-border));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.pf-campquest-feedback-select-caret {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: color-mix(in srgb, #2f9f8f 82%, var(--pf-campquest-fg));
	pointer-events: none;
}

.pf-campquest-feedback-select-caret svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-feedback-text-wrap .pf-campquest-input {
	min-height: 110px;
	resize: vertical;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff);
	border-color: color-mix(in srgb, #2f9f8f 22%, var(--pf-campquest-border));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.pf-campquest-feedback-submit {
	justify-self: start;
	padding-inline: 14px;
	min-height: 42px;
	box-shadow: 0 10px 20px rgba(47, 159, 143, 0.18);
}

.pf-campquest-feedback-submit:hover,
.pf-campquest-feedback-submit:focus-visible {
	box-shadow: 0 14px 26px rgba(47, 159, 143, 0.24);
	filter: saturate(1.03);
}

.pf-campquest-help-heading {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.pf-campquest-help-heading-icon {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, #3f7eb4 72%, var(--pf-campquest-fg));
	filter: drop-shadow(0 3px 8px rgba(15, 39, 63, 0.2));
	animation: pf-campquest-help-icon-breathe 3.2s ease-in-out infinite;
}

.pf-campquest-help-heading-icon svg {
	width: 20px;
	height: 20px;
	display: block;
}

.pf-campquest-help-status-row {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 6px 0 2px;
}

.pf-campquest-help-status-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 700;
	border: 1px solid color-mix(in srgb, #3f7eb4 30%, transparent);
	background: color-mix(in srgb, #3f7eb4 13%, transparent);
	color: color-mix(in srgb, #2d5f8f 84%, var(--pf-campquest-fg));
}

.pf-campquest-help-status-pill svg {
	width: 12px;
	height: 12px;
	display: block;
	flex: 0 0 auto;
}

.pf-campquest-help-emergency-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px;
	margin-top: 8px;
}

.pf-campquest-help-emergency-card {
	position: relative;
	overflow: hidden;
	padding: 10px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 24%, var(--pf-campquest-border));
	background: linear-gradient(165deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 50%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 9px 18px rgba(18, 33, 49, 0.08);
}

.pf-campquest-help-emergency-card::after {
	content: '';
	position: absolute;
	top: -24px;
	right: -28px;
	width: 94px;
	height: 94px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(81, 151, 218, 0.2), rgba(81, 151, 218, 0));
	pointer-events: none;
}

.pf-campquest-help-emergency-headline {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.pf-campquest-help-emergency-headline-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, #3f7eb4 75%, var(--pf-campquest-fg));
}

.pf-campquest-help-emergency-headline-icon svg {
	width: 15px;
	height: 15px;
	display: block;
}

.pf-campquest-help-emergency-list {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 5px;
	font-size: 13px;
}

.pf-campquest-help-emergency-list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
}

.pf-campquest-help-emergency-item-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.pf-campquest-help-emergency-item-icon {
	width: 16px;
	height: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, #3f7eb4 74%, var(--pf-campquest-fg));
	animation: pf-campquest-help-item-pulse 2.8s ease-in-out infinite;
}

.pf-campquest-help-emergency-item-icon svg {
	width: 13px;
	height: 13px;
	display: block;
}

.pf-campquest-help-call-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 9px;
	border-radius: 999px;
	appearance: none;
	-webkit-appearance: none;
	background: color-mix(in srgb, #3f7eb4 14%, var(--pf-campquest-bg-card));
	border: 1px solid color-mix(in srgb, #3f7eb4 34%, transparent);
	font-weight: 800;
	font: inherit;
	line-height: 1;
	cursor: pointer;
	color: #2f5f8d;
	text-decoration: none;
	transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.pf-campquest-help-call-link:hover,
.pf-campquest-help-call-link:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 7px 14px rgba(18, 47, 79, 0.16);
	background: color-mix(in srgb, #3f7eb4 22%, var(--pf-campquest-bg-card));
	outline: none;
}

.pf-campquest-help-call-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	opacity: 0.74;
}

.pf-campquest-help-leader-copy {
	display: grid;
	gap: 6px;
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-status-pill {
	border-color: color-mix(in srgb, #2f9f8f 36%, transparent);
	background: color-mix(in srgb, #2f9f8f 15%, transparent);
	color: color-mix(in srgb, #1f7569 82%, var(--pf-campquest-fg));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-card {
	border-color: color-mix(in srgb, #2f9f8f 36%, var(--pf-campquest-border));
	background: linear-gradient(170deg, color-mix(in srgb, #daf1e8 58%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 20px rgba(24, 70, 60, 0.12);
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-card::after {
	background: radial-gradient(circle, rgba(47, 159, 143, 0.24), rgba(47, 159, 143, 0));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-headline-icon,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-item-icon,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-heading-icon {
	color: color-mix(in srgb, #2f9f8f 82%, var(--pf-campquest-fg));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-call-link {
	background: color-mix(in srgb, #2f9f8f 16%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #2f9f8f 40%, transparent);
	color: #1f7569;
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-call-link:hover,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-call-link:focus-visible {
	background: color-mix(in srgb, #2f9f8f 24%, var(--pf-campquest-bg-card));
	box-shadow: 0 8px 16px rgba(27, 78, 67, 0.2);
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child {
	border-color: color-mix(in srgb, #bf3b2b 35%, var(--pf-campquest-border));
	background: linear-gradient(170deg, color-mix(in srgb, #f5d9d5 57%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 20px rgba(92, 31, 24, 0.14);
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child::after {
	background: radial-gradient(circle, rgba(191, 59, 43, 0.23), rgba(191, 59, 43, 0));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child .pf-campquest-help-emergency-headline-icon,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child .pf-campquest-help-emergency-item-icon {
	color: color-mix(in srgb, #b33a2c 82%, var(--pf-campquest-fg));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child .pf-campquest-help-call-link {
	background: color-mix(in srgb, #bf3b2b 15%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #bf3b2b 39%, transparent);
	color: #8f2118;
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child .pf-campquest-help-call-link:hover,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:first-child .pf-campquest-help-call-link:focus-visible {
	background: color-mix(in srgb, #bf3b2b 24%, var(--pf-campquest-bg-card));
	box-shadow: 0 8px 16px rgba(92, 31, 24, 0.2);
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2) {
	border-color: color-mix(in srgb, #2f9f8f 36%, var(--pf-campquest-border));
	background: linear-gradient(170deg, color-mix(in srgb, #daf1e8 58%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 20px rgba(24, 70, 60, 0.12);
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2)::after {
	background: radial-gradient(circle, rgba(47, 159, 143, 0.24), rgba(47, 159, 143, 0));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2) .pf-campquest-help-emergency-headline-icon,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2) .pf-campquest-help-emergency-item-icon {
	color: color-mix(in srgb, #2f9f8f 82%, var(--pf-campquest-fg));
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2) .pf-campquest-help-call-link {
	background: color-mix(in srgb, #2f9f8f 16%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #2f9f8f 40%, transparent);
	color: #1f7569;
}

#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2) .pf-campquest-help-call-link:hover,
#pf-campquest-page-help.pf-campquest-help-theme-alert .pf-campquest-help-emergency-grid > .pf-campquest-help-emergency-card:nth-child(2) .pf-campquest-help-call-link:focus-visible {
	background: color-mix(in srgb, #2f9f8f 24%, var(--pf-campquest-bg-card));
	box-shadow: 0 8px 16px rgba(27, 78, 67, 0.2);
}

.pf-campquest-help-emergency-list a {
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
	text-decoration: none;
	border-bottom: 1px dashed color-mix(in srgb, var(--pf-campquest-accent-strong) 38%, transparent);
}

.pf-campquest-help-emergency-list a:hover,
.pf-campquest-help-emergency-list a:focus-visible {
	border-bottom-style: solid;
	outline: none;
}

@keyframes pf-campquest-help-icon-breathe {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.06);
	}
}

@keyframes pf-campquest-help-item-pulse {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.86;
		transform: scale(1.08);
	}
}

.pf-campquest-help-publish-note {
	margin: 10px 0 0;
	padding: 10px 11px;
	border-radius: 10px;
	font-size: 12px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 86%, var(--pf-campquest-fg) 14%);
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 22%, var(--pf-campquest-border));
	background: linear-gradient(165deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 40%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
}

.pf-campquest-device-admin {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px dashed color-mix(in srgb, var(--pf-campquest-border) 86%, transparent);
	display: grid;
	gap: 8px;
}

.pf-campquest-device-admin-controls {
	display: grid;
	gap: 8px;
}

@media (max-width: 680px) {
	.pf-campquest-help-emergency-grid {
		grid-template-columns: 1fr;
	}

	.pf-campquest-help-emergency-list li {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.pf-campquest-help-call-link {
		justify-self: start;
	}
}

.pf-campquest-inline-form {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 8px;
	margin-top: 10px;
}

#pf-campquest-qr-scan {
	white-space: nowrap;
}

.pf-campquest-stack-form {
	display: grid;
	gap: 8px;
	margin-top: 10px;
}

#pf-campquest-photo-form {
	position: relative;
}

.pf-campquest-upload-progress {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: grid;
	align-content: end;
	gap: 6px;
	margin-top: 0;
	padding: 12px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 28%, var(--pf-campquest-border));
	background:
		linear-gradient(180deg, rgba(8, 13, 17, 0.06), rgba(8, 13, 17, 0.34)),
		color-mix(in srgb, var(--pf-campquest-bg-card) 90%, var(--pf-campquest-accent-soft));
	backdrop-filter: blur(3px);
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity 180ms ease, transform 180ms ease;
}

.pf-campquest-upload-progress.pf-campquest-upload-progress-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.pf-campquest-upload-progress[hidden] {
	display: none !important;
}

.pf-campquest-upload-progress-track {
	position: relative;
	height: 10px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 72%, #000 6%);
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 85%, transparent);
}

.pf-campquest-upload-progress-fill {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, color-mix(in srgb, var(--pf-campquest-accent) 88%, #ffffff), var(--pf-campquest-accent));
	transition: width 120ms linear;
}

.pf-campquest-upload-progress-label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-upload-progress-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 2px;
}

.pf-campquest-upload-progress-cancel {
	min-height: 30px;
	padding: 4px 10px;
	font-size: 11px;
	white-space: nowrap;
}

@media (max-width: 560px) {
	.pf-campquest-upload-progress-row {
		flex-wrap: wrap;
	}

	.pf-campquest-upload-progress-cancel {
		width: 100%;
	}
}

.pf-campquest-bible-panel {
	margin-top: 12px;
	padding: 12px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 26%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 30%, var(--pf-campquest-bg-card));
	display: grid;
	gap: 8px;
}

#pf-campquest-treasure-panel {
	border: 2px solid color-mix(in srgb, var(--pf-campquest-accent) 48%, var(--pf-campquest-border));
	background: linear-gradient(168deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 52%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 24px rgba(26, 22, 16, 0.09);
	gap: 10px;
	position: relative;
	overflow: hidden;
}

#pf-campquest-treasure-panel.pf-campquest-treasure-panel-celebrate {
	animation: pf-campquest-treasure-celebrate 1.85s cubic-bezier(0.2, 0.8, 0.2, 1);
}

#pf-campquest-treasure-panel.pf-campquest-treasure-panel-celebrate::after {
	content: 'Station geschafft! Weiter geht\'s!';
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 7px 11px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-success) 60%, #fff);
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-success) 26%, #fff), color-mix(in srgb, var(--pf-campquest-success) 45%, #fff));
	color: #0f5a3f;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	box-shadow: 0 10px 22px rgba(11, 95, 67, 0.24);
	animation: pf-campquest-treasure-badge-pop 1.85s ease-out;
	z-index: 2;
	pointer-events: none;
}

#pf-campquest-treasure-panel::before {
	content: 'Status: Bereit zum Scan';
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: start;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #0f395f;
	border: 1px solid #8ec7f0;
	background: linear-gradient(170deg, #e7f4ff, #d8edff);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.66);
}

#pf-campquest-treasure-panel[data-treasure-state="active"]::before {
	content: 'Status: Aktive Aufgabe';
	color: #5b3408;
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 62%, #fff);
	background: linear-gradient(170deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 72%, #fff), color-mix(in srgb, var(--pf-campquest-accent) 20%, #fff));
}

#pf-campquest-treasure-panel[data-treasure-state="done"]::before {
	content: 'Status: Mission abgeschlossen';
	color: #0f5a3f;
	border-color: color-mix(in srgb, var(--pf-campquest-success) 58%, #fff);
	background: linear-gradient(170deg, color-mix(in srgb, var(--pf-campquest-success) 18%, #fff), color-mix(in srgb, var(--pf-campquest-success) 34%, #fff));
}

#pf-campquest-treasure-panel > .pf-campquest-label {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.01em;
	color: var(--pf-campquest-accent-strong);
	margin: 0;
}

#pf-campquest-treasure-progress {
	margin: 0;
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.01em;
	color: color-mix(in srgb, var(--pf-campquest-accent-strong) 74%, var(--pf-campquest-fg));
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.36);
}

#pf-campquest-treasure-station {
	margin: 2px 0;
	padding: 12px;
	border-radius: 11px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 42%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 66%, #fff), color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff));
	box-shadow: 0 8px 18px rgba(20, 20, 20, 0.08);
	position: relative;
	overflow: hidden;
}

#pf-campquest-treasure-station.pf-campquest-station-highlight {
	animation: pf-campquest-station-highlight-glow 2s ease-out;
}

#pf-campquest-treasure-station.pf-campquest-treasure-station-done {
	border-color: color-mix(in srgb, var(--pf-campquest-success) 55%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-success) 14%, #fff), color-mix(in srgb, var(--pf-campquest-bg-card) 94%, #fff));
	box-shadow: 0 10px 24px rgba(11, 95, 67, 0.18);
}

#pf-campquest-treasure-station::before {
	content: 'AKTIVE AUFGABE';
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	margin-bottom: 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #fff;
	background: linear-gradient(170deg, color-mix(in srgb, var(--pf-campquest-accent) 86%, #fff), var(--pf-campquest-accent));
}

#pf-campquest-treasure-station.pf-campquest-treasure-station-done::before {
	content: attr(data-done-label);
	background: linear-gradient(170deg, color-mix(in srgb, var(--pf-campquest-success) 82%, #fff), var(--pf-campquest-success));
}

#pf-campquest-treasure-panel[data-station-variant="selfie-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done {
	border-color: color-mix(in srgb, #0f7a53 64%, var(--pf-campquest-border));
	background: linear-gradient(155deg, #effcf6 0%, #e2f7ee 58%, #ffffff 100%);
	box-shadow: 0 12px 28px rgba(8, 96, 63, 0.22);
}

#pf-campquest-treasure-panel[data-station-variant="selfie-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done::before {
	content: '\2714\0020' attr(data-done-label);
	letter-spacing: 0.05em;
	background: linear-gradient(170deg, #1ea66f, #0f7a53);
	box-shadow: 0 6px 14px rgba(9, 101, 66, 0.28);
}

#pf-campquest-treasure-panel[data-station-variant="selfie-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done #pf-campquest-treasure-station-title {
	color: #0f5e40;
}

#pf-campquest-treasure-panel[data-station-variant="selfie-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done #pf-campquest-treasure-station-task {
	color: color-mix(in srgb, #0f3d2b 82%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] {
	border-color: color-mix(in srgb, #bc9a3f 52%, var(--pf-campquest-border));
	background: linear-gradient(165deg, #fff7df 0%, #fffbef 44%, var(--pf-campquest-bg-card) 100%);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"]::before {
	content: 'Status: HOPE Mission';
	color: #67440e;
	border-color: #d8b36f;
	background: linear-gradient(170deg, #fff8e3, #f8ebcb);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station {
	border-color: color-mix(in srgb, #c49b42 40%, var(--pf-campquest-border));
	background: linear-gradient(160deg, #fffaf1 0%, #fff2d6 54%, #ffffff 100%);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station::before {
	content: 'HOPE MISSION';
	background: linear-gradient(170deg, #ce9a2f, #9a6c14);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station-title {
	color: #714b0f;
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station-task {
	color: color-mix(in srgb, #4b3209 76%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done {
	border-color: color-mix(in srgb, #0f7a53 64%, var(--pf-campquest-border));
	background: linear-gradient(155deg, #effcf6 0%, #e2f7ee 58%, #ffffff 100%);
	box-shadow: 0 12px 28px rgba(8, 96, 63, 0.22);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done::before {
	content: '\2714\0020' attr(data-done-label);
	letter-spacing: 0.05em;
	background: linear-gradient(170deg, #1ea66f, #0f7a53);
	box-shadow: 0 6px 14px rgba(9, 101, 66, 0.28);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done #pf-campquest-treasure-station-title {
	color: #0f5e40;
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"] #pf-campquest-treasure-station.pf-campquest-treasure-station-done #pf-campquest-treasure-station-task {
	color: color-mix(in srgb, #0f3d2b 82%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"] {
	border-color: color-mix(in srgb, #3f7a52 52%, var(--pf-campquest-border));
	background: linear-gradient(165deg, #eef8ef 0%, #f8fcf6 42%, var(--pf-campquest-bg-card) 100%);
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"]::before {
	content: 'Status: Wahrheit';
	color: #214c31;
	border-color: #8eb79b;
	background: linear-gradient(170deg, #edf8ef, #dcefdc);
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"] #pf-campquest-treasure-station {
	border-color: color-mix(in srgb, #5f8f66 44%, var(--pf-campquest-border));
	background: linear-gradient(160deg, #f5fbf4 0%, #ebf5ea 52%, #ffffff 100%);
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"] #pf-campquest-treasure-station::before {
	content: 'WAHRHEIT';
	background: linear-gradient(170deg, #4d7f5a, #2f5f3c);
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"] #pf-campquest-treasure-station-title {
	color: #234734;
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"] #pf-campquest-treasure-station-task {
	color: color-mix(in srgb, #183321 74%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"] {
	border-color: color-mix(in srgb, #b8842b 52%, var(--pf-campquest-border));
	background: linear-gradient(165deg, #fff6dd 0%, #fff9ee 44%, var(--pf-campquest-bg-card) 100%);
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"]::before {
	content: 'Status: Group Picture Mission';
	color: #66420c;
	border-color: #d7b073;
	background: linear-gradient(170deg, #fff6df, #f8eac8);
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"] #pf-campquest-treasure-station {
	border-color: color-mix(in srgb, #c29038 40%, var(--pf-campquest-border));
	background: linear-gradient(160deg, #fffaf0 0%, #fff3da 54%, #ffffff 100%);
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"] #pf-campquest-treasure-station::before {
	content: 'GROUP PICTURE MISSION';
	background: linear-gradient(170deg, #c58a22, #9f6712);
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"] #pf-campquest-treasure-station-title {
	color: #734c0f;
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"] #pf-campquest-treasure-station-task {
	color: color-mix(in srgb, #4b3209 76%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-station-title {
	font-size: 16px;
	font-weight: 800;
	color: var(--pf-campquest-accent-strong);
	margin-bottom: 6px;
}

#pf-campquest-treasure-station-task {
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
	color: color-mix(in srgb, var(--pf-campquest-fg) 82%, #000);
	margin-bottom: 6px;
}

#pf-campquest-treasure-station-placement {
	font-size: 13px;
	font-weight: 700;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 72%, var(--pf-campquest-fg));
}

#pf-campquest-treasure-workflow-hint {
	margin: 0;
	padding: 10px 12px;
	border-radius: 11px;
	border: 1px solid #8ec7f0;
	background: linear-gradient(165deg, #e7f4ff, #d6ecff);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: #124266;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62), 0 6px 14px rgba(34, 103, 154, 0.12);
}

#pf-campquest-treasure-workflow-hint.pf-campquest-treasure-workflow-hint-attention {
	animation: pf-campquest-workflow-hint-pulse 2.3s ease-in-out infinite;
}

@keyframes pf-campquest-workflow-hint-pulse {
	0%,
	100% {
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62), 0 6px 14px rgba(34, 103, 154, 0.12);
		transform: translateY(0);
	}
	50% {
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.74), 0 10px 20px rgba(34, 103, 154, 0.2);
		transform: translateY(-1px);
	}
}

@keyframes pf-campquest-treasure-celebrate {
	0% {
		box-shadow: 0 10px 24px rgba(26, 22, 16, 0.09);
		transform: translateY(0) scale(1);
		filter: saturate(1);
	}
	35% {
		box-shadow: 0 16px 36px rgba(16, 120, 86, 0.34);
		transform: translateY(-2px) scale(1.01);
		filter: saturate(1.18);
	}
	100% {
		box-shadow: 0 10px 24px rgba(26, 22, 16, 0.09);
		transform: translateY(0) scale(1);
		filter: saturate(1);
	}
}

@keyframes pf-campquest-treasure-badge-pop {
	0% {
		opacity: 0;
		transform: translateY(-8px) scale(0.86);
	}
	22% {
		opacity: 1;
		transform: translateY(0) scale(1.05);
	}
	100% {
		opacity: 0.92;
		transform: translateY(0) scale(1);
	}
}

@keyframes pf-campquest-station-highlight-glow {
	0% {
		box-shadow: 0 0 0 0 rgba(235, 142, 28, 0.58), 0 8px 18px rgba(20, 20, 20, 0.08);
		transform: translateY(0);
	}
	38% {
		box-shadow: 0 0 0 7px rgba(235, 142, 28, 0.22), 0 10px 24px rgba(20, 20, 20, 0.14);
		transform: translateY(-1px);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(235, 142, 28, 0), 0 8px 18px rgba(20, 20, 20, 0.08);
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	#pf-campquest-treasure-workflow-hint.pf-campquest-treasure-workflow-hint-attention {
		animation: none;
	}
	#pf-campquest-treasure-station.pf-campquest-station-highlight {
		animation: none;
		box-shadow: 0 0 0 2px rgba(235, 142, 28, 0.45), 0 8px 18px rgba(20, 20, 20, 0.08);
	}
	#pf-campquest-treasure-panel.pf-campquest-treasure-panel-celebrate {
		animation: none;
	}
	#pf-campquest-treasure-panel.pf-campquest-treasure-panel-celebrate::after {
		animation: none;
	}
}

#pf-campquest-treasure-actions {
	padding-top: 2px;
	gap: 8px;
}

#pf-campquest-treasure-photo-actions {
	padding-top: 4px;
	gap: 8px;
}

#pf-campquest-treasure-photo-actions .pf-campquest-button {
	min-height: 42px;
	padding: 8px 12px;
	font-size: 14px;
	font-weight: 800;
}

#pf-campquest-treasure-save-text[hidden] {
	display: none !important;
}

#pf-campquest-treasure-photo-hint {
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
	color: var(--pf-campquest-fg-soft);
}

#pf-campquest-treasure-actions .pf-campquest-button {
	min-height: 44px;
	padding: 8px 14px;
	font-size: 15px;
	font-weight: 800;
}

#pf-campquest-treasure-next {
	margin: 0;
	padding: 8px 10px;
	border-left: 4px solid color-mix(in srgb, var(--pf-campquest-accent) 70%, var(--pf-campquest-accent-strong));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff);
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	color: color-mix(in srgb, var(--pf-campquest-fg) 84%, var(--pf-campquest-accent-strong));
}

.pf-campquest-treasure-steps {
	padding: 8px 10px;
	border-radius: 10px;
	border: 1px dashed color-mix(in srgb, var(--pf-campquest-accent) 36%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 90%, #fff);
}

.pf-campquest-treasure-steps-list {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 4px;
	font-size: 12px;
	line-height: 1.45;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-treasure-steps-list li.is-active {
	color: var(--pf-campquest-accent-strong);
	font-weight: 700;
}

.pf-campquest-treasure-steps-list li.is-done {
	color: color-mix(in srgb, var(--pf-campquest-success) 74%, var(--pf-campquest-fg));
}

.pf-campquest-treasure-moderator {
	margin-top: 4px;
	padding: 10px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 76%, var(--pf-campquest-accent));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff);
}

.pf-campquest-treasure-moderator-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 6px 10px;
	font-size: 12px;
	line-height: 1.45;
}

.pf-campquest-treasure-moderator-grid p {
	margin: 0;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-treasure-moderator-grid strong {
	color: var(--pf-campquest-fg);
}

.pf-campquest-bible-help {
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 24%, var(--pf-campquest-border));
	border-radius: 10px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 86%, #fff);
}

.pf-campquest-bible-help-summary {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-help-summary::-webkit-details-marker {
	display: none;
}

.pf-campquest-bible-help-summary::after {
	content: '▾';
	margin-left: auto;
	font-size: 11px;
	opacity: 0.8;
	transition: transform 120ms ease;
}

.pf-campquest-bible-help:not([open]) .pf-campquest-bible-help-summary::after {
	transform: rotate(-90deg);
}

.pf-campquest-bible-help-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 2px;
}

.pf-campquest-bible-help-summary-icon,
.pf-campquest-bible-help-step-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-help-summary-icon svg,
.pf-campquest-bible-help-step-icon svg {
	width: 16px;
	height: 16px;
	display: block;
}

.pf-campquest-bible-help-body {
	padding: 0 10px 10px;
	display: grid;
	gap: 8px;
}

.pf-campquest-bible-help-head .pf-campquest-label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-fg);
}

.pf-campquest-bible-help-body .pf-campquest-label {
	margin: 0;
	font-size: 12px;
}

.pf-campquest-bible-help-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 6px;
}

.pf-campquest-bible-help-list li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 6px;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-progress {
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-target-row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: center;
	gap: 8px;
}

.pf-campquest-bible-target-label-wrap,
.pf-campquest-bible-word-parts-head,
.pf-campquest-bible-submit-head {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.pf-campquest-bible-target-row .pf-campquest-label {
	margin: 0;
	font-size: 12px;
}

.pf-campquest-bible-word-parts-head .pf-campquest-label,
.pf-campquest-bible-submit-head .pf-campquest-label {
	margin: 0;
	font-size: 12px;
}

.pf-campquest-bible-submit-head {
	justify-content: flex-start;
}

.pf-campquest-copy#pf-campquest-bible-word-help {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-role-wrap {
	display: grid;
	gap: 6px;
}

.pf-campquest-bible-role-wrap .pf-campquest-label {
	margin: 0;
	font-size: 12px;
}

.pf-campquest-bible-role-list {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.pf-campquest-role-chip {
	border-radius: 999px;
	border: 1px solid var(--pf-campquest-border);
	background: var(--pf-campquest-bg-card);
	color: var(--pf-campquest-fg-soft);
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	cursor: pointer;
}

.pf-campquest-role-chip.is-active {
	background: color-mix(in srgb, var(--pf-campquest-success) 18%, transparent);
	border-color: color-mix(in srgb, var(--pf-campquest-success) 45%, var(--pf-campquest-border));
	color: var(--pf-campquest-success);
}

.pf-campquest-bible-role-hint {
	margin: 0;
	font-size: 11px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-code-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.pf-campquest-bible-code-chip {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	background: color-mix(in srgb, var(--pf-campquest-success) 18%, transparent);
	border: 1px solid color-mix(in srgb, var(--pf-campquest-success) 40%, var(--pf-campquest-border));
	color: var(--pf-campquest-success);
}

.pf-campquest-bible-word-part-chip {
	background: color-mix(in srgb, var(--pf-campquest-accent) 16%, transparent);
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 40%, var(--pf-campquest-border));
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-target-presets {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.pf-campquest-bible-target-presets .pf-campquest-button {
	font-size: 11px;
	padding: 3px 10px;
	border-radius: 999px;
}

.pf-campquest-bible-verse {
	padding: 10px;
	border-radius: 10px;
	border: 1px dashed color-mix(in srgb, var(--pf-campquest-accent) 38%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 80%, #fff);
	display: grid;
	gap: 4px;
}

.pf-campquest-bible-verse[hidden] {
	display: none !important;
}

.pf-campquest-bible-verse-ref {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-verse-text,
.pf-campquest-bible-verse-impulse {
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-word-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
}

.pf-campquest-qr-admin-panel {
	margin-top: 12px;
	padding: 10px;
	border-radius: 12px;
	border: 1px dashed color-mix(in srgb, var(--pf-campquest-accent) 38%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 38%, var(--pf-campquest-bg-card));
}

.pf-campquest-qr-admin-panel[hidden] {
	display: none !important;
}

.pf-campquest-qr-admin-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 90px auto auto auto;
	gap: 8px;
	margin-top: 8px;
	align-items: center;
}

.pf-campquest-admin-flow {
	margin-top: 10px;
	padding: 10px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 24%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 76%, #fff);
}

.pf-campquest-admin-flow-title {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-admin-flow-list {
	margin: 8px 0 0;
	padding-left: 18px;
	display: grid;
	gap: 4px;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-field-group {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.pf-campquest-stats-device-filters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 10px;
	margin: 10px 0 12px;
}

.pf-campquest-field-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-info-tip {
	position: relative;
	width: 18px;
	height: 18px;
	padding: 0;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 38%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 70%, var(--pf-campquest-bg-card));
	color: var(--pf-campquest-accent-strong);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	cursor: help;
	flex: 0 0 auto;
}

.pf-campquest-info-tip::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	transform: translateX(-50%);
	min-width: 190px;
	max-width: 280px;
	padding: 7px 9px;
	border-radius: 8px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 26%, var(--pf-campquest-border));
	background: var(--pf-campquest-bg-card);
	color: var(--pf-campquest-fg);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
	opacity: 0;
	pointer-events: none;
	z-index: 9;
	transition: opacity 0.15s ease;
	text-align: left;
	white-space: normal;
}

.pf-campquest-info-tip:hover::after,
.pf-campquest-info-tip:focus-visible::after,
.pf-campquest-info-tip.is-open::after {
	opacity: 1;
}
.pf-campquest-bible-admin-token-actions [data-tooltip] {
	position: relative;
}

.pf-campquest-bible-admin-token-actions [data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	transform: translateX(-50%);
	min-width: 180px;
	max-width: 280px;
	padding: 7px 9px;
	border-radius: 8px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 26%, var(--pf-campquest-border));
	background: var(--pf-campquest-bg-card);
	color: var(--pf-campquest-fg);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.35;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
	opacity: 0;
	pointer-events: none;
	z-index: 12;
	transition: opacity 0.15s ease;
	text-align: left;
	white-space: normal;
}

.pf-campquest-bible-admin-token-actions [data-tooltip]:hover::after,
.pf-campquest-bible-admin-token-actions [data-tooltip]:focus-visible::after {
	opacity: 1;
}
.pf-campquest-qr-admin-list {
	margin-top: 10px;
}

.pf-campquest-station-accordion {
	border: 1px solid var(--pf-campquest-border);
	border-radius: 12px;
	background: var(--pf-campquest-bg-card);
	margin-top: 8px;
	overflow: clip;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.pf-campquest-station-accordion-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 10px;
	cursor: pointer;
	list-style: none;
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 45%, var(--pf-campquest-bg-card));
	border-bottom: 1px solid transparent;
}

.pf-campquest-station-accordion-summary .pf-campquest-list-title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

.pf-campquest-station-accordion-summary .pf-campquest-pill {
	font-size: 11px;
	padding: 2px 8px;
	line-height: 1.2;
	flex: 0 0 auto;
}

.pf-campquest-station-accordion[open] {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 58%, var(--pf-campquest-border));
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pf-campquest-accent) 24%, transparent);
}

.pf-campquest-station-accordion[open] > .pf-campquest-station-accordion-summary {
	background: linear-gradient(180deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 76%, var(--pf-campquest-bg-card)), color-mix(in srgb, var(--pf-campquest-accent-soft) 45%, var(--pf-campquest-bg-card)));
	border-bottom-color: color-mix(in srgb, var(--pf-campquest-accent) 34%, var(--pf-campquest-border));
}

.pf-campquest-station-accordion-summary::-webkit-details-marker {
	display: none;
}

.pf-campquest-station-accordion > .pf-campquest-list-item {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--pf-campquest-border);
	border-radius: 0;
	box-shadow: none;
}

.pf-campquest-stats-device-card {
	display: grid;
	gap: 8px;
	padding: 10px;
	background: linear-gradient(180deg, color-mix(in srgb, var(--pf-campquest-bg-soft) 28%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
}

.pf-campquest-stats-kpi {
	margin-top: 0;
	padding: 6px 8px;
	border-radius: 9px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 74%, var(--pf-campquest-accent-soft));
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 68%, var(--pf-campquest-bg-card));
	font-size: 11px;
	line-height: 1.35;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 88%, var(--pf-campquest-fg) 12%);
}

.pf-campquest-stats-section {
	display: grid;
	gap: 6px;
	padding: 8px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 78%, var(--pf-campquest-accent-soft));
	border-radius: 11px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 72%, var(--pf-campquest-bg-soft));
}

.pf-campquest-stats-section-missions {
	background: color-mix(in srgb, var(--pf-campquest-success) 9%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-success) 28%, var(--pf-campquest-border));
}

.pf-campquest-stats-section-data {
	background: color-mix(in srgb, var(--pf-campquest-map-accent-soft) 64%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 24%, var(--pf-campquest-border));
}

.pf-campquest-stats-section-emojis {
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 62%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 26%, var(--pf-campquest-border));
}

.pf-campquest-stats-section-photos {
	background: color-mix(in srgb, var(--pf-campquest-warning) 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-warning) 30%, var(--pf-campquest-border));
}

.pf-campquest-stats-label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-fg);
}

.pf-campquest-stats-chip-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.pf-campquest-stats-chip {
	margin: 0;
	padding: 5px 9px;
	max-width: 100%;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 22%, var(--pf-campquest-border));
	border-radius: 999px;
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 60%, var(--pf-campquest-bg-card));
	font-size: 11px;
	line-height: 1.35;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 82%, var(--pf-campquest-fg));
	word-break: break-word;
}

.pf-campquest-stats-chip-mission {
	font-weight: 700;
}

.pf-campquest-stats-chip-mission-done {
	background: color-mix(in srgb, var(--pf-campquest-success) 18%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-success) 42%, var(--pf-campquest-border));
	color: color-mix(in srgb, var(--pf-campquest-success) 76%, var(--pf-campquest-fg));
}

.pf-campquest-stats-chip-mission-open {
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 86%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-border) 85%, var(--pf-campquest-accent-soft));
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 84%, var(--pf-campquest-fg));
}

.pf-campquest-stats-chip-mission-skip {
	background: color-mix(in srgb, var(--pf-campquest-warning) 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-warning) 42%, var(--pf-campquest-border));
	color: color-mix(in srgb, var(--pf-campquest-warning) 78%, var(--pf-campquest-fg));
}

.pf-campquest-stats-chip-data {
	background: color-mix(in srgb, var(--pf-campquest-map-accent-soft) 78%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 32%, var(--pf-campquest-border));
}

.pf-campquest-stats-chip-emoji {
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 82%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 36%, var(--pf-campquest-border));
	font-weight: 700;
}

.pf-campquest-stats-empty-note {
	margin: 0;
	font-size: 12px;
	font-style: italic;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-list {
	margin-top: 0;
	gap: 10px;
}

.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-item {
	text-decoration: none;
	padding: 6px;
	min-width: 118px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 80%, var(--pf-campquest-bg-soft));
	transition: border-color 0.18s ease, transform 0.18s ease;
}

.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-item:hover,
.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-item:focus-visible {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 48%, var(--pf-campquest-border));
	transform: translateY(-1px);
	outline: none;
}

.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-qr {
	width: 90px;
	height: 90px;
	object-fit: cover;
	padding: 0;
}

@media (max-width: 720px) {
	.pf-campquest-station-accordion-summary {
		padding: 6px 8px;
	}

	.pf-campquest-station-accordion-summary .pf-campquest-list-title {
		font-size: 12px;
	}

	.pf-campquest-station-accordion-summary .pf-campquest-pill {
		font-size: 10px;
		padding: 2px 7px;
	}

	.pf-campquest-stats-device-card {
		padding: 10px;
		gap: 8px;
	}

	.pf-campquest-stats-chip-list {
		gap: 6px;
	}

	.pf-campquest-stats-chip {
		font-size: 10px;
		padding: 5px 8px;
	}

	.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-item {
		min-width: 94px;
	}

	.pf-campquest-stats-device-card .pf-campquest-bible-admin-token-qr {
		width: 78px;
		height: 78px;
	}
}

.pf-campquest-bible-admin-token-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
}

.pf-campquest-bible-admin-token-item {
	display: grid;
	gap: 4px;
	justify-items: start;
	padding: 4px;
	border: 1px solid var(--pf-campquest-border);
	border-radius: 10px;
	background: var(--pf-campquest-bg-card);
}

.pf-campquest-bible-admin-token-actions {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
}

.pf-campquest-bible-admin-token-meta {
	margin: 0;
	font-size: 11px;
	color: var(--pf-campquest-fg-soft);
	word-break: break-all;
}

.pf-campquest-bible-admin-token-qr {
	width: 74px;
	height: 74px;
	object-fit: contain;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--pf-campquest-border);
	padding: 4px;
}

.pf-campquest-bible-admin-token-chip {
	display: inline-flex;
	align-items: center;
	padding: 3px 7px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.25;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 34%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 58%, var(--pf-campquest-bg-card));
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-inline-bible-editor-host {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--pf-campquest-border);
}

.pf-campquest-inline-bible-editor-host .pf-campquest-bible-admin-form {
	margin-top: 0;
}

.pf-campquest-bible-admin-form-inline {
	padding: 8px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 34%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 24%, var(--pf-campquest-bg-card));
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
}

.pf-campquest-bible-admin-inline-context {
	grid-column: 1 / -1;
	margin: 0;
	padding: 6px 8px;
	border-radius: 10px;
	border: 1px dashed color-mix(in srgb, var(--pf-campquest-accent) 40%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 36%, var(--pf-campquest-bg-card));
	display: grid;
	gap: 2px;
}

.pf-campquest-bible-admin-inline-context-title {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-admin-inline-context-meta {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-list-item.pf-campquest-bible-editing {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--pf-campquest-accent) 38%, transparent);
}

.pf-campquest-bible-admin-form-inline .pf-campquest-field-group {
	margin: 0;
	padding: 6px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 90%, transparent);
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 90%, transparent);
}

.pf-campquest-bible-admin-form-inline .pf-campquest-field-group[data-bible-priority="true"] {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 38%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 44%, var(--pf-campquest-bg-card));
}

.pf-campquest-bible-admin-form-inline .pf-campquest-field-group[data-bible-field-key="reference"],
.pf-campquest-bible-admin-form-inline .pf-campquest-field-group[data-bible-field-key="word_target"] {
	grid-column: span 2;
}

.pf-campquest-bible-admin-form-inline .pf-campquest-field-group[data-bible-advanced="true"],
.pf-campquest-bible-admin-form-inline textarea.pf-campquest-input[data-bible-advanced="true"] {
	display: none;
}

.pf-campquest-bible-admin-form-inline.pf-campquest-bible-admin-form-inline-expanded .pf-campquest-field-group[data-bible-advanced="true"] {
	display: block;
	grid-column: span 1;
}

.pf-campquest-bible-admin-form-inline.pf-campquest-bible-admin-form-inline-expanded textarea.pf-campquest-input[data-bible-advanced="true"] {
	display: block;
	grid-column: span 2;
	min-height: 50px;
}

.pf-campquest-bible-admin-form-inline .pf-campquest-bible-target-presets {
	margin-top: 5px;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.pf-campquest-bible-admin-form-inline .pf-campquest-bible-target-presets .pf-campquest-button {
	min-height: 26px;
	padding: 2px 8px;
	font-size: 11px;
}

.pf-campquest-bible-admin-form-inline .pf-campquest-bible-admin-actions {
	grid-column: 1 / -1;
	justify-content: flex-end;
	gap: 6px;
}

.pf-campquest-bible-admin-compact-toggle {
	display: none;
}

.pf-campquest-bible-admin-form-inline .pf-campquest-bible-admin-compact-toggle {
	display: inline-flex;
	margin-right: auto;
}

.pf-campquest-bible-admin-panel {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px dashed var(--pf-campquest-border);
}

.pf-campquest-bible-admin-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.pf-campquest-bible-admin-form textarea.pf-campquest-input {
	grid-column: span 2;
	min-height: 58px;
	resize: vertical;
}

.pf-campquest-bible-admin-actions {
	grid-column: span 2;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pf-campquest-bible-admin-list {
	margin-top: 10px;
}

.pf-campquest-bible-admin-group-status {
	margin-top: 10px;
	padding: 10px;
	border-radius: 10px;
	border: 1px dashed color-mix(in srgb, var(--pf-campquest-accent) 28%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 22%, var(--pf-campquest-bg-card));
	display: grid;
	gap: 6px;
}

.pf-campquest-bible-admin-group-title {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-bible-admin-group-empty {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-admin-group-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 5px;
}

.pf-campquest-bible-admin-group-item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-admin-group-item strong {
	color: var(--pf-campquest-fg);
	font-weight: 700;
}

.pf-campquest-bible-admin-group-item .ok {
	color: var(--pf-campquest-success);
	font-weight: 700;
}

.pf-campquest-bible-admin-group-item .warn {
	color: var(--pf-campquest-warning);
	font-weight: 700;
}

.pf-campquest-bible-admin-meta {
	margin: 5px 0 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-bible-admin-row-actions {
	display: inline-flex;
	gap: 6px;
	flex-wrap: wrap;
}

.pf-campquest-bible-group-tone-1 {
	--pf-campquest-group-accent: #cc7a1d;
	--pf-campquest-group-soft: #ffedd1;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 58%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-group-soft) 74%, var(--pf-campquest-bg-card)), color-mix(in srgb, var(--pf-campquest-bg-card) 84%, #fff));
}

.pf-campquest-bible-group-tone-2 {
	--pf-campquest-group-accent: #1d78a7;
	--pf-campquest-group-soft: #d7ecff;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 58%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-group-soft) 74%, var(--pf-campquest-bg-card)), color-mix(in srgb, var(--pf-campquest-bg-card) 84%, #fff));
}

.pf-campquest-bible-group-tone-3 {
	--pf-campquest-group-accent: #3f8c4a;
	--pf-campquest-group-soft: #dbf4e1;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 58%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-group-soft) 74%, var(--pf-campquest-bg-card)), color-mix(in srgb, var(--pf-campquest-bg-card) 84%, #fff));
}

.pf-campquest-bible-group-tone-4 {
	--pf-campquest-group-accent: #9a4e95;
	--pf-campquest-group-soft: #f6e3f4;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 58%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-group-soft) 74%, var(--pf-campquest-bg-card)), color-mix(in srgb, var(--pf-campquest-bg-card) 84%, #fff));
}

.pf-campquest-bible-admin-list > .pf-campquest-list-head.pf-campquest-bible-group-tone-1,
.pf-campquest-bible-admin-list > .pf-campquest-list-head.pf-campquest-bible-group-tone-2,
.pf-campquest-bible-admin-list > .pf-campquest-list-head.pf-campquest-bible-group-tone-3,
.pf-campquest-bible-admin-list > .pf-campquest-list-head.pf-campquest-bible-group-tone-4 {
	padding: 7px 10px;
	border-width: 1px 1px 1px 8px;
	border-style: solid;
	border-left-color: var(--pf-campquest-group-accent);
	border-radius: 10px;
	box-shadow: 0 3px 0 color-mix(in srgb, var(--pf-campquest-group-accent) 18%, transparent), 0 0 0 1px color-mix(in srgb, var(--pf-campquest-group-accent) 14%, transparent) inset;
	margin-top: 2px;
}

.pf-campquest-bible-admin-list > .pf-campquest-list-item.pf-campquest-bible-group-tone-1,
.pf-campquest-bible-admin-list > .pf-campquest-list-item.pf-campquest-bible-group-tone-2,
.pf-campquest-bible-admin-list > .pf-campquest-list-item.pf-campquest-bible-group-tone-3,
.pf-campquest-bible-admin-list > .pf-campquest-list-item.pf-campquest-bible-group-tone-4 {
	border-left: 8px solid var(--pf-campquest-group-accent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pf-campquest-group-accent) 26%, transparent);
}

.pf-campquest-bible-admin-list > .pf-campquest-list-head[class*="pf-campquest-bible-group-tone-"] .pf-campquest-list-title,
.pf-campquest-bible-admin-list > .pf-campquest-list-item[class*="pf-campquest-bible-group-tone-"] .pf-campquest-list-title {
	color: color-mix(in srgb, var(--pf-campquest-group-accent) 82%, var(--pf-campquest-fg));
	font-weight: 800;
}

.pf-campquest-theme-dark .pf-campquest-bible-group-tone-1 {
	--pf-campquest-group-accent: #e7a050;
	--pf-campquest-group-soft: #3f2e1d;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 66%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-group-soft) 72%, var(--pf-campquest-bg-card));
}

.pf-campquest-theme-dark .pf-campquest-bible-group-tone-2 {
	--pf-campquest-group-accent: #4ba8d8;
	--pf-campquest-group-soft: #1d3340;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 66%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-group-soft) 72%, var(--pf-campquest-bg-card));
}

.pf-campquest-theme-dark .pf-campquest-bible-group-tone-3 {
	--pf-campquest-group-accent: #5fbe6c;
	--pf-campquest-group-soft: #1e3623;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 66%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-group-soft) 72%, var(--pf-campquest-bg-card));
}

.pf-campquest-theme-dark .pf-campquest-bible-group-tone-4 {
	--pf-campquest-group-accent: #c980c2;
	--pf-campquest-group-soft: #352033;
	border-color: color-mix(in srgb, var(--pf-campquest-group-accent) 66%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-group-soft) 72%, var(--pf-campquest-bg-card));
}

.pf-campquest-qr-scan-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	background: rgba(15, 23, 22, 0.72);
	display: grid;
	place-items: center;
	padding: 18px;
}

.pf-campquest-qr-scan-modal[hidden] {
	display: none !important;
}

.pf-campquest-qr-scan-dialog {
	width: min(92vw, 560px);
	background: var(--pf-campquest-bg-card);
	border: 1px solid var(--pf-campquest-border);
	border-radius: 16px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
	overflow: hidden;
}

.pf-campquest-qr-scan-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 12px 8px;
	border-bottom: 1px solid var(--pf-campquest-border);
	gap: 8px;
}

.pf-campquest-qr-scan-title {
	margin: 0;
	font-size: 16px;
}

.pf-campquest-qr-scan-body {
	padding: 12px;
	display: grid;
	gap: 10px;
}

.pf-campquest-qr-scan-video {
	width: 100%;
	max-height: 58vh;
	aspect-ratio: 4 / 3;
	background: #000;
	border-radius: 12px;
	object-fit: cover;
	border: 1px solid var(--pf-campquest-border);
}

.pf-campquest-qr-scan-hint {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-filterbar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.pf-campquest-filter {
	border: 1px solid var(--pf-campquest-border);
	background: var(--pf-campquest-bg-soft);
	color: var(--pf-campquest-fg-soft);
	border-radius: 999px;
	font-size: 12px;
	padding: 4px 10px;
	cursor: pointer;
}

.pf-campquest-filter-active {
	border-color: var(--pf-campquest-accent);
	background: var(--pf-campquest-accent-soft);
	color: var(--pf-campquest-accent);
	font-weight: 700;
}

#pf-campquest-photo-admin-panel {
	padding: 8px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 84%, transparent);
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 40%, var(--pf-campquest-bg-card));
	display: grid;
	gap: 8px;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

#pf-campquest-photo-admin-panel.pf-campquest-photo-filtered-status {
	border-color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 36%, var(--pf-campquest-border));
	box-shadow: 0 8px 18px rgba(37, 102, 153, 0.08);
}

#pf-campquest-photo-admin-panel.pf-campquest-photo-filtered-mission {
	background: linear-gradient(180deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 38%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
}

#pf-campquest-photo-submission-filters {
	padding: 2px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--pf-campquest-map-accent-soft) 58%, var(--pf-campquest-bg-card));
	align-items: center;
}

.pf-campquest-filter-divider {
	width: 1px;
	height: 24px;
	background: color-mix(in srgb, var(--pf-campquest-border) 75%, var(--pf-campquest-accent-soft));
	display: inline-block;
	margin: 0 2px;
}

.pf-campquest-filter-inline-group {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

#pf-campquest-photo-submission-filters .pf-campquest-filter[data-filter="pending"] {
	border-color: color-mix(in srgb, var(--pf-campquest-warning) 44%, var(--pf-campquest-border));
	color: color-mix(in srgb, var(--pf-campquest-warning) 82%, var(--pf-campquest-fg));
}

#pf-campquest-photo-submission-filters .pf-campquest-filter[data-filter="approved"] {
	border-color: color-mix(in srgb, var(--pf-campquest-success) 44%, var(--pf-campquest-border));
	color: color-mix(in srgb, var(--pf-campquest-success) 82%, var(--pf-campquest-fg));
}

#pf-campquest-photo-submission-filters .pf-campquest-filter[data-filter="rejected"] {
	border-color: color-mix(in srgb, var(--pf-campquest-danger) 44%, var(--pf-campquest-border));
	color: color-mix(in srgb, var(--pf-campquest-danger) 82%, var(--pf-campquest-fg));
}

#pf-campquest-photo-submission-filters .pf-campquest-filter.pf-campquest-filter-active[data-filter="pending"] {
	background: color-mix(in srgb, var(--pf-campquest-warning) 24%, var(--pf-campquest-bg-card));
}

#pf-campquest-photo-submission-filters .pf-campquest-filter.pf-campquest-filter-active[data-filter="approved"] {
	background: color-mix(in srgb, var(--pf-campquest-success) 22%, var(--pf-campquest-bg-card));
}

#pf-campquest-photo-submission-filters .pf-campquest-filter.pf-campquest-filter-active[data-filter="rejected"] {
	background: color-mix(in srgb, var(--pf-campquest-danger) 20%, var(--pf-campquest-bg-card));
}

#pf-campquest-photo-mission-filters {
	padding: 0;
	border-radius: 0;
	background: transparent;
}

#pf-campquest-photo-mission-filters .pf-campquest-filter[data-photo-mission-filter="missions"] {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 40%, var(--pf-campquest-border));
	color: var(--pf-campquest-accent-strong);
}

#pf-campquest-photo-mission-filters .pf-campquest-filter[data-photo-mission-filter^="mission:"] {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 32%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, transparent);
}

.pf-campquest-photo-download-toolbar {
	align-items: center;
	padding: 4px 2px 2px;
	border-top: 1px dashed color-mix(in srgb, var(--pf-campquest-border) 82%, transparent);
}

.pf-campquest-photo-download-toolbar .pf-campquest-button {
	min-height: 30px;
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 700;
}

.pf-campquest-list-item-photo-selected {
	border-color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 52%, var(--pf-campquest-border));
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pf-campquest-map-accent) 26%, transparent);
	background: linear-gradient(165deg, color-mix(in srgb, var(--pf-campquest-map-accent-soft) 36%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
}

.pf-campquest-photo-select-chip {
	display: none;
	align-items: center;
	gap: 5px;
	padding: 2px 8px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-map-accent) 40%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-map-accent-soft) 70%, var(--pf-campquest-bg-card));
	font-size: 11px;
	font-weight: 700;
	color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 78%, var(--pf-campquest-fg));
	white-space: nowrap;
}

.pf-campquest-photo-select-chip input {
	margin: 0;
	accent-color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 82%, var(--pf-campquest-accent));
}

#pf-campquest-photo-submission-list.pf-campquest-photo-selection-mode .pf-campquest-photo-select-chip {
	display: inline-flex;
}

.pf-campquest-input {
	border: 1px solid var(--pf-campquest-border);
	background: var(--pf-campquest-bg-soft);
	color: var(--pf-campquest-fg);
	border-radius: 10px;
	padding: 10px 12px;
	font: inherit;
	width: 100%;
}

.pf-campquest-input[type="file"] {
	padding: 8px 10px;
	line-height: 1.35;
}

.pf-campquest-input[type="file"]::file-selector-button {
	border: 0;
	margin-right: 10px;
	padding: 8px 12px 8px 34px;
	border-radius: 999px;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--pf-campquest-upload-btn-color);
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V5'/%3E%3Cpath d='m7 10 5-5 5 5'/%3E%3Crect x='3' y='16' width='18' height='5' rx='2'/%3E%3C/svg%3E"),
		var(--pf-campquest-upload-btn-bg);
	background-repeat: no-repeat, no-repeat;
	background-position: 10px center, center;
	background-size: 15px 15px, auto;
	cursor: pointer;
	transition: transform 120ms ease, filter 160ms ease;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-input[type="file"]::file-selector-button {
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f1716' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V5'/%3E%3Cpath d='m7 10 5-5 5 5'/%3E%3Crect x='3' y='16' width='18' height='5' rx='2'/%3E%3C/svg%3E"),
		var(--pf-campquest-upload-btn-bg);
}

.pf-campquest-input[type="file"]::file-selector-button:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

.pf-campquest-input[type="file"]::file-selector-button:active {
	transform: translateY(0);
}

.pf-campquest-input:focus {
	outline: 2px solid color-mix(in srgb, var(--pf-campquest-accent) 36%, transparent);
	border-color: var(--pf-campquest-accent);
}

.pf-campquest-input.pf-campquest-input-invalid {
	border-color: var(--pf-campquest-danger);
	background: color-mix(in srgb, var(--pf-campquest-danger) 18%, var(--pf-campquest-bg-soft));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-campquest-danger) 42%, transparent), 0 10px 24px -16px color-mix(in srgb, var(--pf-campquest-danger) 55%, transparent);
}

#pf-campquest-faith-modal #pf-campquest-faith-status[data-state="required"] {
	color: #b10000;
	font-weight: 800;
}

.pf-campquest-field-error {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--pf-campquest-danger);
}

.pf-campquest-list {
	display: grid;
	gap: 10px;
}

.pf-campquest-challenge-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 10px;
}

.pf-campquest-challenge-box {
	appearance: none;
	border: 1px solid var(--pf-campquest-border);
	border-radius: 12px;
	background: var(--pf-campquest-bg-card);
	color: var(--pf-campquest-fg);
	padding: 10px;
	display: grid;
	gap: 6px;
	text-align: left;
	cursor: pointer;
}

.pf-campquest-challenge-box:hover,
.pf-campquest-challenge-box:focus-visible {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 55%, var(--pf-campquest-border));
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--pf-campquest-accent) 18%, transparent);
	outline: none;
}

.pf-campquest-challenge-icon {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 48%, transparent);
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-challenge-icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.pf-campquest-challenge-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.pf-campquest-challenge-meta {
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-challenge-progress {
	font-size: 12px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-challenge-pills {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.pf-campquest-challenge-open {
	font-size: 11px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-challenge-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 2px 0;
}

.pf-campquest-challenge-toolbar .pf-campquest-label {
	margin: 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-list-item {
	background: var(--pf-campquest-bg-card);
	border: 1px solid var(--pf-campquest-border);
	border-radius: 12px;
	padding: 10px 11px;
}

.pf-campquest-list-item-current {
	border-color: var(--pf-campquest-accent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pf-campquest-accent) 35%, transparent);
}

.pf-campquest-list-item-target {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 70%, #ffffff 30%);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--pf-campquest-accent) 30%, transparent);
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.pf-campquest-list-item-empty {
	font-size: 13px;
	color: var(--pf-campquest-fg-soft);
	font-style: italic;
}

.pf-campquest-list-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.pf-campquest-mission-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: start;
}

.pf-campquest-mission-main {
	min-width: 0;
}

.pf-campquest-mission-badges {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px;
}

.pf-campquest-mission-qr-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	gap: 6px;
	margin-top: 8px;
}

.pf-campquest-mission-qr-form .pf-campquest-input {
	min-height: 34px;
	padding: 6px 10px;
	font-size: 11px;
	border-radius: 9px;
}

.pf-campquest-mission-qr-form .pf-campquest-button {
	white-space: nowrap;
	min-height: 32px;
	padding: 3px 8px;
	font-size: 11px;
	font-weight: 650;
	border-radius: 9px;
	gap: 5px;
}

.pf-campquest-mission-qr-form .pf-campquest-button-icon {
	width: 12px;
	height: 12px;
	opacity: 0.9;
}

.pf-campquest-mission-bible-wrap {
	margin-top: 8px;
}

.pf-campquest-inline-admin-host {
	margin-top: 8px;
}

.pf-campquest-inline-admin-host .pf-campquest-qr-admin-panel {
	margin-top: 0;
}

.pf-campquest-list-title {
	margin: 0;
	font-size: 15px;
	line-height: 1.25;
}

.pf-campquest-list-meta {
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-mission-task {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 88%, var(--pf-campquest-fg) 12%);
}

.pf-campquest-challenge-spotlight {
	margin-top: 10px;
	padding: 14px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 36%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 68%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	box-shadow: 0 10px 22px rgba(24, 34, 33, 0.08);
	display: grid;
	gap: 8px;
}

.pf-campquest-challenge-spotlight-title {
	margin: 0;
	font-size: 22px;
	line-height: 1.15;
	color: var(--pf-campquest-fg);
}

.pf-campquest-challenge-spotlight-pills {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
}

.pf-campquest-challenge-spotlight-progress {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--pf-campquest-accent-strong);
}

#pf-campquest-mission-list .pf-campquest-list-item {
	padding: 9px 10px;
}

#pf-campquest-mission-list .pf-campquest-list-item.pf-campquest-mission-single {
	border-left: 0;
	padding: 12px;
	gap: 10px;
}

.pf-campquest-treasure-hero {
	padding: 12px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 28%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 60%, var(--pf-campquest-bg-card)), var(--pf-campquest-bg-card));
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(190px, 28vw, 300px);
	gap: 12px;
	align-items: stretch;
}

.pf-campquest-treasure-hero-content {
	display: grid;
	gap: 8px;
}

.pf-campquest-treasure-hero-checkin {
	padding: 10px;
	border-radius: 11px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 44%, var(--pf-campquest-border));
	background: linear-gradient(165deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 68%, #fff), color-mix(in srgb, var(--pf-campquest-bg-card) 94%, #fff));
	box-shadow: 0 8px 18px rgba(39, 26, 12, 0.09);
}

.pf-campquest-treasure-hero-checkin .pf-campquest-mission-qr-form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0;
	align-items: center;
}

.pf-campquest-treasure-hero-checkin .pf-campquest-mission-qr-form .pf-campquest-input {
	flex: 1 1 220px;
	min-height: 40px;
	font-size: 13px;
	padding: 8px 11px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 88%, #fff);
}

.pf-campquest-treasure-hero-checkin .pf-campquest-mission-qr-form .pf-campquest-button {
	min-height: 40px;
	font-size: 13px;
	font-weight: 700;
	padding: 7px 11px;
	border-radius: 10px;
}

.pf-campquest-treasure-hero-checkin .pf-campquest-mission-qr-form .pf-campquest-button-icon {
	width: 13px;
	height: 13px;
}

.pf-campquest-treasure-hero-media {
	margin: 0;
	align-self: stretch;
	min-height: 220px;
	position: relative;
}

.pf-campquest-treasure-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 84%, transparent);
	box-shadow: 0 8px 18px rgba(18, 29, 28, 0.14);
}

#pf-campquest-treasure-panel[data-station-variant="truth-mission"]:not([data-treasure-state="done"]) {
	box-shadow: 0 12px 28px rgba(25, 63, 39, 0.14);
}

#pf-campquest-treasure-panel[data-station-variant="hope-mission"]:not([data-treasure-state="done"]) {
	box-shadow: 0 12px 28px rgba(124, 86, 20, 0.15);
}

#pf-campquest-treasure-panel[data-station-variant="group-picture-mission"]:not([data-treasure-state="done"]) {
	box-shadow: 0 12px 28px rgba(116, 76, 18, 0.16);
}

.pf-campquest-treasure-hero-scan {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: left;
	border-radius: 12px;
}

.pf-campquest-treasure-hero-scan:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--pf-campquest-accent) 45%, transparent);
	outline-offset: 2px;
}

.pf-campquest-treasure-hero-scan-hint {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	margin: 0;
	padding: 8px 10px;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.01em;
	color: #f7fbff;
	background: linear-gradient(170deg, rgba(24, 49, 79, 0.78), rgba(44, 98, 154, 0.74));
	backdrop-filter: blur(2px);
	border: 1px solid rgba(176, 220, 255, 0.44);
}

.pf-campquest-treasure-hero-scan-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: #f7fbff;
	background: linear-gradient(170deg, rgba(20, 49, 82, 0.86), rgba(32, 99, 169, 0.84));
	border: 1px solid rgba(186, 227, 255, 0.58);
	box-shadow: 0 5px 14px rgba(10, 28, 45, 0.28);
	animation: pf-campquest-scan-badge-pulse 2.2s ease-in-out infinite;
}

.pf-campquest-treasure-hero-scan-badge svg {
	width: 13px;
	height: 13px;
	display: block;
}

@keyframes pf-campquest-scan-badge-pulse {
	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 5px 14px rgba(10, 28, 45, 0.28);
	}
	50% {
		transform: scale(1.05);
		box-shadow: 0 8px 18px rgba(20, 67, 112, 0.36);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pf-campquest-treasure-hero-scan-badge {
		animation: none;
	}
}

@media (max-width: 920px) {
	.pf-campquest-treasure-hero {
		grid-template-columns: 1fr;
	}

	.pf-campquest-treasure-hero-media {
		min-height: 180px;
	}

	.pf-campquest-treasure-hero-checkin .pf-campquest-mission-qr-form .pf-campquest-input {
		flex-basis: 100%;
	}
}

.pf-campquest-mission-single .pf-campquest-mission-qr-form {
	margin-top: 0;
}

.pf-campquest-mission-single .pf-campquest-inline-admin-host {
	margin-top: 4px;
}

.pf-campquest-pill {
	border-radius: 999px;
	font-size: 11px;
	padding: 2px 8px;
	background: var(--pf-campquest-accent-soft);
	color: var(--pf-campquest-accent);
	font-weight: 600;
}

.pf-campquest-pill-type {
	background: color-mix(in srgb, var(--pf-campquest-border) 22%, transparent);
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-list-item.pf-campquest-mission-type-cultural {
	border-left: 4px solid #8d7f63;
}

.pf-campquest-list-item.pf-campquest-mission-type-photo {
	border-left: 4px solid #2f9f8f;
}

.pf-campquest-list-item.pf-campquest-mission-type-faith {
	border-left: 4px solid #d18722;
}

.pf-campquest-list-item.pf-campquest-mission-type-reflection {
	border-left: 4px solid #497db5;
}

.pf-campquest-list-item.pf-campquest-mission-type-creative {
	border-left: 4px solid #b35f4a;
}

.pf-campquest-list-item.pf-campquest-mission-type-quest {
	border-left: 4px solid color-mix(in srgb, var(--pf-campquest-accent) 55%, var(--pf-campquest-border));
}

.pf-campquest-pill-type.pf-campquest-mission-type-cultural {
	background: color-mix(in srgb, #8d7f63 16%, transparent);
	color: #6f6248;
}

.pf-campquest-pill-type.pf-campquest-mission-type-photo {
	background: color-mix(in srgb, #2f9f8f 16%, transparent);
	color: #1e7568;
}

.pf-campquest-pill-type.pf-campquest-mission-type-faith {
	background: color-mix(in srgb, #d18722 16%, transparent);
	color: #9f6312;
}

.pf-campquest-pill-type.pf-campquest-mission-type-reflection {
	background: color-mix(in srgb, #497db5 16%, transparent);
	color: #345f8e;
}

.pf-campquest-pill-type.pf-campquest-mission-type-creative {
	background: color-mix(in srgb, #b35f4a 16%, transparent);
	color: #8b4536;
}

.pf-campquest-pill-open {
	background: color-mix(in srgb, var(--pf-campquest-warning) 16%, transparent);
	color: var(--pf-campquest-warning);
}

.pf-campquest-pill-success {
	background: color-mix(in srgb, var(--pf-campquest-success) 16%, transparent);
	color: var(--pf-campquest-success);
}

.pf-campquest-list-item-own {
	border-left: 4px solid color-mix(in srgb, var(--pf-campquest-map-accent) 72%, var(--pf-campquest-border));
}

.pf-campquest-pill-own-entry {
	background: color-mix(in srgb, var(--pf-campquest-map-accent-soft) 78%, transparent);
	color: color-mix(in srgb, var(--pf-campquest-map-accent-strong) 82%, var(--pf-campquest-fg));
	font-weight: 700;
}

.pf-campquest-pill-feedback-type {
	font-weight: 700;
	border: 1px solid transparent;
}

.pf-campquest-pill-feedback-feedback {
	background: color-mix(in srgb, #2f9f8f 16%, transparent);
	color: #1e7568;
	border-color: color-mix(in srgb, #2f9f8f 30%, transparent);
}

.pf-campquest-pill-feedback-hilfe {
	background: color-mix(in srgb, #497db5 18%, transparent);
	color: #345f8e;
	border-color: color-mix(in srgb, #497db5 32%, transparent);
}

.pf-campquest-pill-feedback-beschwerde {
	background: color-mix(in srgb, #b35f4a 18%, transparent);
	color: #8b4536;
	border-color: color-mix(in srgb, #b35f4a 32%, transparent);
}

.pf-campquest-pill-feedback-idee {
	background: color-mix(in srgb, #d18722 18%, transparent);
	color: #9f6312;
	border-color: color-mix(in srgb, #d18722 32%, transparent);
}

.pf-campquest-pill-feedback-sonstiges {
	background: color-mix(in srgb, #8d7f63 16%, transparent);
	color: #6f6248;
	border-color: color-mix(in srgb, #8d7f63 28%, transparent);
}

.pf-campquest-prayer-heading {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.pf-campquest-prayer-heading-icon {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, var(--pf-campquest-accent) 76%, var(--pf-campquest-fg));
	filter: drop-shadow(0 3px 8px rgba(22, 58, 93, 0.2));
}

.pf-campquest-prayer-heading-icon svg {
	width: 20px;
	height: 20px;
	display: block;
}

.pf-campquest-prayer-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 6px 0 2px;
}

#pf-campquest-prayer-form {
	position: relative;
	padding: 10px;
	border-radius: 12px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 85%, transparent);
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 58%, var(--pf-campquest-bg-card));
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.pf-campquest-prayer-compose-form {
	display: grid;
	gap: 10px;
}

.pf-campquest-prayer-type-wrap,
.pf-campquest-prayer-text-wrap {
	display: grid;
	gap: 6px;
}

.pf-campquest-type-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.pf-campquest-type-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 88%, transparent);
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff);
	color: var(--pf-campquest-fg-soft);
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
	transition: transform 140ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.pf-campquest-type-chip:hover,
.pf-campquest-type-chip:focus-visible {
	transform: translateY(-1px);
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 42%, var(--pf-campquest-border));
	box-shadow: 0 8px 16px rgba(21, 36, 33, 0.08);
	outline: none;
}

.pf-campquest-type-chip-icon {
	width: 15px;
	height: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
	flex: 0 0 auto;
}

.pf-campquest-type-chip-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-type-chip-active {
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 60%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 72%, var(--pf-campquest-bg-card));
	color: var(--pf-campquest-accent-strong);
	box-shadow: 0 9px 18px rgba(216, 121, 27, 0.12);
}

.pf-campquest-type-chip[data-value="bitte"] {
	background: color-mix(in srgb, #497db5 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #497db5 22%, var(--pf-campquest-border));
	color: #345f8e;
}

.pf-campquest-type-chip[data-value="bitte"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #497db5 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #497db5 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(52, 95, 142, 0.14);
}

.pf-campquest-type-chip[data-value="dank"] {
	background: color-mix(in srgb, #2f9f8f 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #2f9f8f 22%, var(--pf-campquest-border));
	color: #1f7a6d;
}

.pf-campquest-type-chip[data-value="dank"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #2f9f8f 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #2f9f8f 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(31, 122, 109, 0.14);
}

.pf-campquest-type-chip[data-value="feedback"] {
	background: color-mix(in srgb, #2f9f8f 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #2f9f8f 22%, var(--pf-campquest-border));
	color: #1f7a6d;
}

.pf-campquest-type-chip[data-value="feedback"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #2f9f8f 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #2f9f8f 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(31, 122, 109, 0.14);
}

.pf-campquest-type-chip[data-value="hilfe"] {
	background: color-mix(in srgb, #497db5 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #497db5 22%, var(--pf-campquest-border));
	color: #345f8e;
}

.pf-campquest-type-chip[data-value="hilfe"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #497db5 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #497db5 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(52, 95, 142, 0.14);
}

.pf-campquest-type-chip[data-value="beschwerde"] {
	background: color-mix(in srgb, #b35f4a 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #b35f4a 22%, var(--pf-campquest-border));
	color: #8b4536;
}

.pf-campquest-type-chip[data-value="beschwerde"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #b35f4a 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #b35f4a 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(139, 69, 54, 0.14);
}

.pf-campquest-type-chip[data-value="idee"] {
	background: color-mix(in srgb, #d18722 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #d18722 22%, var(--pf-campquest-border));
	color: #9f6312;
}

.pf-campquest-type-chip[data-value="idee"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #d18722 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #d18722 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(159, 99, 18, 0.14);
}

.pf-campquest-type-chip[data-value="sonstiges"] {
	background: color-mix(in srgb, #8d7f63 10%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #8d7f63 22%, var(--pf-campquest-border));
	color: #6f6248;
}

.pf-campquest-type-chip[data-value="sonstiges"].pf-campquest-type-chip-active {
	background: color-mix(in srgb, #8d7f63 20%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, #8d7f63 50%, var(--pf-campquest-border));
	box-shadow: 0 9px 18px rgba(111, 98, 72, 0.14);
}

.pf-campquest-prayer-field-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 800;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 78%, var(--pf-campquest-fg));
}

.pf-campquest-prayer-field-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, var(--pf-campquest-accent) 84%, var(--pf-campquest-fg));
	background: color-mix(in srgb, var(--pf-campquest-accent) 12%, transparent);
	border-radius: 999px;
	padding: 3px;
}

.pf-campquest-prayer-field-icon svg {
	width: 14px;
	height: 14px;
	display: block;
}

.pf-campquest-prayer-select-shell {
	position: relative;
	display: grid;
}

.pf-campquest-prayer-select-shell .pf-campquest-input {
	padding-right: 38px;
	appearance: none;
	-webkit-appearance: none;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.pf-campquest-prayer-select-caret {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: color-mix(in srgb, var(--pf-campquest-accent) 80%, var(--pf-campquest-fg));
	pointer-events: none;
}

.pf-campquest-prayer-select-caret svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-prayer-text-wrap .pf-campquest-input {
	min-height: 110px;
	resize: vertical;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 92%, #fff);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.pf-campquest-prayer-submit-friendly {
	justify-self: start;
	padding-inline: 14px;
	min-height: 42px;
}

#pf-campquest-prayer-form.pf-campquest-prayer-form-bitte {
	border-color: color-mix(in srgb, #3f7eb4 45%, var(--pf-campquest-border));
	box-shadow: 0 8px 20px rgba(41, 89, 136, 0.08);
}

#pf-campquest-prayer-form.pf-campquest-prayer-form-dank {
	border-color: color-mix(in srgb, #2f9f8f 45%, var(--pf-campquest-border));
	box-shadow: 0 8px 20px rgba(33, 111, 95, 0.1);
	background: color-mix(in srgb, #2f9f8f 10%, var(--pf-campquest-bg-card));
}

#pf-campquest-prayer-list {
	position: relative;
	padding: 10px;
	border-radius: 14px;
	background:
		radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.3) 0, rgba(255, 255, 255, 0) 42%),
		repeating-linear-gradient(135deg, rgba(86, 67, 42, 0.04) 0 8px, rgba(123, 98, 66, 0.07) 8px 16px),
		linear-gradient(160deg, rgba(169, 141, 101, 0.08), rgba(120, 90, 50, 0.06));
	border: 1px solid color-mix(in srgb, #8d7f63 22%, var(--pf-campquest-border));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

#pf-campquest-prayer-list .pf-campquest-list-item-empty {
	background: rgba(255, 255, 255, 0.52);
	border-radius: 10px;
	padding: 10px;
}

.pf-campquest-list-item-prayer {
	position: relative;
	--pf-campquest-prayer-tilt: 0deg;
	overflow: visible;
	transform: rotate(var(--pf-campquest-prayer-tilt));
	padding-top: 16px;
	padding-bottom: 16px;
	background:
		repeating-linear-gradient(0deg, rgba(120, 95, 62, 0.03) 0 2px, rgba(255, 255, 255, 0) 2px 4px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 241, 228, 0.96));
	border: 1px solid color-mix(in srgb, #9a845f 30%, var(--pf-campquest-border));
	box-shadow: 0 6px 14px rgba(38, 28, 14, 0.12);
	animation: pf-campquest-prayer-card-in 300ms ease both;
	animation-delay: var(--pf-campquest-prayer-reveal-delay, 0ms);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.pf-campquest-list-item-prayer::after {
	content: '';
	position: absolute;
	top: -7px;
	left: calc(50% + -34px);
	width: 56px;
	height: 19px;
	border-radius: 2px;
	transform: rotate(-3deg);
	background: linear-gradient(180deg, rgba(255, 241, 182, 0.58), rgba(235, 213, 150, 0.5));
	border: 1px solid rgba(186, 158, 94, 0.42);
	opacity: 0.72;
}

.pf-campquest-list-item-prayer:hover {
	transform: translateY(-1px) rotate(var(--pf-campquest-prayer-tilt));
	box-shadow: 0 10px 18px rgba(36, 25, 12, 0.14);
}

.pf-campquest-list-item-prayer.pf-campquest-list-item-prayer-focus {
	transform: translateY(-2px) scale(1.004) rotate(var(--pf-campquest-prayer-tilt));
	box-shadow: 0 13px 22px rgba(30, 24, 15, 0.18);
	border-color: color-mix(in srgb, #d18722 52%, var(--pf-campquest-border));
	animation: pf-campquest-prayer-focus-glow 1200ms ease;
}

.pf-campquest-list-item-prayer:focus-visible {
	outline: 2px solid color-mix(in srgb, #d18722 58%, transparent);
	outline-offset: 2px;
}

.pf-campquest-list-item-prayer-bitte {
	border-left: 4px solid #3f7eb4;
}

.pf-campquest-list-item-prayer-dank {
	border-left: 4px solid #2f9f8f;
}

#pf-campquest-prayer-list .pf-campquest-list-item-prayer:nth-child(odd) {
	--pf-campquest-prayer-tilt: -0.28deg;
}

#pf-campquest-prayer-list .pf-campquest-list-item-prayer:nth-child(even) {
	--pf-campquest-prayer-tilt: 0.22deg;
}

.pf-campquest-prayer-title {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	line-height: 1.35;
}

.pf-campquest-prayer-title-copy {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
}

.pf-campquest-prayer-source-label {
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.72;
}

.pf-campquest-prayer-title-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, var(--pf-campquest-accent) 65%, var(--pf-campquest-fg));
	flex: 0 0 auto;
}

.pf-campquest-prayer-title-icon svg {
	width: 15px;
	height: 15px;
	display: block;
}

.pf-campquest-list-item-prayer .pf-campquest-list-head {
	align-items: flex-start;
	margin-bottom: 8px;
}

.pf-campquest-list-item-prayer .pf-campquest-list-title {
	line-height: 1.45;
}

.pf-campquest-list-item-prayer .pf-campquest-list-meta {
	margin-top: 8px;
	line-height: 1.45;
}

.pf-campquest-pill-prayer-type {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 700;
	border: 1px solid transparent;
}

.pf-campquest-pill-prayer-type .pf-campquest-pill-icon,
.pf-campquest-prayer-legend .pf-campquest-pill svg {
	width: 12px;
	height: 12px;
	display: block;
	flex: 0 0 auto;
}

.pf-campquest-pill-prayer-bitte {
	background: color-mix(in srgb, #497db5 17%, transparent);
	color: #345f8e;
	border-color: color-mix(in srgb, #497db5 34%, transparent);
}

.pf-campquest-pill-prayer-dank {
	background: color-mix(in srgb, #2f9f8f 17%, transparent);
	color: #1f7a6d;
	border-color: color-mix(in srgb, #2f9f8f 34%, transparent);
}

@keyframes pf-campquest-prayer-card-in {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.99) rotate(var(--pf-campquest-prayer-tilt));
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1) rotate(var(--pf-campquest-prayer-tilt));
	}
}

@keyframes pf-campquest-prayer-focus-glow {
	0% {
		box-shadow: 0 0 0 rgba(209, 135, 34, 0);
	}
	35% {
		box-shadow: 0 0 0 4px rgba(209, 135, 34, 0.2), 0 14px 26px rgba(30, 24, 15, 0.2);
	}
	100% {
		box-shadow: 0 17px 30px rgba(30, 24, 15, 0.22);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pf-campquest-list-item-prayer {
		animation: none;
		transition: none;
		transform: none;
	}

	.pf-campquest-help-heading-icon,
	.pf-campquest-help-emergency-item-icon {
		animation: none;
	}

	.pf-campquest-list-item-prayer:hover {
		transform: none;
	}

	#pf-campquest-prayer-form {
		transition: none;
	}
}

.pf-campquest-pill-points {
	font-weight: 800;
	min-width: 54px;
	text-align: center;
}

.pf-campquest-pill-points-low {
	background: var(--pf-campquest-points-low-bg);
	color: var(--pf-campquest-points-low-fg);
}

.pf-campquest-pill-points-medium {
	background: var(--pf-campquest-points-medium-bg);
	color: var(--pf-campquest-points-medium-fg);
}

.pf-campquest-pill-points-high {
	background: var(--pf-campquest-points-high-bg);
	color: var(--pf-campquest-points-high-fg);
}

.pf-campquest-pill-points-epic {
	background: var(--pf-campquest-points-epic-bg);
	color: var(--pf-campquest-points-epic-fg);
}

.pf-campquest-list-bar {
	margin: 7px 0 0;
	height: 6px;
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 84%, transparent);
	border-radius: 999px;
	overflow: hidden;
}

.pf-campquest-list-bar span {
	display: block;
	height: 100%;
	width: 100%;
	background: var(--pf-campquest-accent);
	opacity: 0.62;
}

.pf-campquest-moderation-actions {
	margin-top: 8px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pf-campquest-prayer-translate-row {
	margin-top: 8px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: flex-start;
}

.pf-campquest-prayer-translate-lang-btn {
	min-height: 26px;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.03em;
}

.pf-campquest-translate-lang-active {
	background: color-mix(in srgb, var(--pf-campquest-accent) 24%, var(--pf-campquest-bg-card));
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 58%, transparent);
	color: var(--pf-campquest-accent-strong);
}

.pf-campquest-translate-lang-cached {
	border-style: dashed;
}

.pf-campquest-prayer-translation {
	margin-top: 7px;
	padding: 8px 10px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 30%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-accent-soft) 36%, var(--pf-campquest-bg-card));
	display: grid;
	gap: 4px;
}

.pf-campquest-prayer-translation-meta,
.pf-campquest-prayer-translation-text {
	margin: 0;
}

.pf-campquest-prayer-translation-meta {
	font-size: 11px;
	font-weight: 700;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 90%, var(--pf-campquest-fg) 10%);
}

.pf-campquest-prayer-translation-text {
	font-size: 13px;
	line-height: 1.4;
}

.pf-campquest-app.pf-campquest-theme-dark #pf-campquest-prayer-form {
	border-color: color-mix(in srgb, var(--pf-campquest-border) 92%, transparent);
	background: linear-gradient(165deg, rgba(31, 41, 38, 0.96), rgba(24, 32, 30, 0.96));
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

.pf-campquest-app.pf-campquest-theme-dark #pf-campquest-prayer-form.pf-campquest-prayer-form-bitte {
	border-color: color-mix(in srgb, #5b93d2 58%, var(--pf-campquest-border));
	box-shadow: 0 10px 24px rgba(33, 71, 112, 0.24);
	background: linear-gradient(165deg, rgba(29, 40, 54, 0.96), rgba(23, 31, 38, 0.98));
}

.pf-campquest-app.pf-campquest-theme-dark #pf-campquest-prayer-form.pf-campquest-prayer-form-dank {
	border-color: color-mix(in srgb, #48b9a6 54%, var(--pf-campquest-border));
	box-shadow: 0 10px 24px rgba(19, 76, 67, 0.22);
	background: linear-gradient(165deg, rgba(24, 45, 41, 0.96), rgba(20, 34, 31, 0.98));
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-field-label,
.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-feedback-field-label {
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 72%, var(--pf-campquest-fg) 28%);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-field-icon {
	color: #f0b46b;
	background: rgba(240, 163, 79, 0.16);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip {
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 88%, #0f1514);
	border-color: color-mix(in srgb, var(--pf-campquest-border) 96%, transparent);
	color: var(--pf-campquest-fg-soft);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip:hover,
.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip:focus-visible {
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="bitte"] {
	background: rgba(73, 125, 181, 0.14);
	border-color: rgba(91, 147, 210, 0.34);
	color: #8dbdf3;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="bitte"].pf-campquest-type-chip-active {
	background: rgba(73, 125, 181, 0.24);
	border-color: rgba(120, 173, 233, 0.58);
	color: #d8ebff;
	box-shadow: 0 10px 22px rgba(31, 81, 136, 0.28);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="dank"] {
	background: rgba(47, 159, 143, 0.14);
	border-color: rgba(72, 185, 166, 0.34);
	color: #8fe4d5;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="dank"].pf-campquest-type-chip-active,
.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="feedback"].pf-campquest-type-chip-active {
	background: rgba(47, 159, 143, 0.24);
	border-color: rgba(95, 208, 190, 0.56);
	color: #d6fff6;
	box-shadow: 0 10px 22px rgba(24, 110, 97, 0.28);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="feedback"] {
	background: rgba(47, 159, 143, 0.14);
	border-color: rgba(72, 185, 166, 0.34);
	color: #8fe4d5;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="hilfe"] {
	background: rgba(73, 125, 181, 0.14);
	border-color: rgba(91, 147, 210, 0.34);
	color: #8dbdf3;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="hilfe"].pf-campquest-type-chip-active {
	background: rgba(73, 125, 181, 0.24);
	border-color: rgba(120, 173, 233, 0.58);
	color: #d8ebff;
	box-shadow: 0 10px 22px rgba(31, 81, 136, 0.28);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="beschwerde"] {
	background: rgba(179, 95, 74, 0.15);
	border-color: rgba(205, 124, 104, 0.34);
	color: #f1b0a3;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="beschwerde"].pf-campquest-type-chip-active {
	background: rgba(179, 95, 74, 0.24);
	border-color: rgba(228, 151, 133, 0.56);
	color: #ffe2da;
	box-shadow: 0 10px 22px rgba(105, 52, 40, 0.28);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="idee"] {
	background: rgba(209, 135, 34, 0.15);
	border-color: rgba(224, 163, 79, 0.34);
	color: #f4c287;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="idee"].pf-campquest-type-chip-active {
	background: rgba(209, 135, 34, 0.24);
	border-color: rgba(240, 181, 101, 0.56);
	color: #fff1de;
	box-shadow: 0 10px 22px rgba(124, 78, 18, 0.28);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="sonstiges"] {
	background: rgba(141, 127, 99, 0.15);
	border-color: rgba(165, 151, 122, 0.34);
	color: #d4c6ab;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-type-chip[data-value="sonstiges"].pf-campquest-type-chip-active {
	background: rgba(141, 127, 99, 0.24);
	border-color: rgba(192, 180, 154, 0.56);
	color: #f5ebd7;
	box-shadow: 0 10px 22px rgba(76, 64, 44, 0.26);
}

.pf-campquest-app.pf-campquest-theme-dark #pf-campquest-prayer-list {
	background:
		radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0) 42%),
		repeating-linear-gradient(135deg, rgba(116, 91, 58, 0.08) 0 8px, rgba(53, 42, 29, 0.12) 8px 16px),
		linear-gradient(160deg, rgba(64, 49, 31, 0.32), rgba(22, 28, 27, 0.72));
	border-color: color-mix(in srgb, #8d7f63 30%, var(--pf-campquest-border));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.pf-campquest-app.pf-campquest-theme-dark #pf-campquest-prayer-list .pf-campquest-list-item-empty {
	background: rgba(22, 28, 27, 0.7);
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-list-item-prayer {
	background:
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.025) 0 2px, rgba(255, 255, 255, 0) 2px 4px),
		linear-gradient(180deg, rgba(35, 42, 40, 0.98), rgba(27, 34, 32, 0.98));
	border-color: color-mix(in srgb, #6d5c43 44%, var(--pf-campquest-border));
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.26);
	color: var(--pf-campquest-fg);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-list-item-prayer::after {
	background: linear-gradient(180deg, rgba(233, 210, 147, 0.42), rgba(160, 129, 78, 0.34));
	border-color: rgba(180, 150, 96, 0.34);
	opacity: 0.9;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-list-item-prayer:hover {
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.34);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-list-item-prayer.pf-campquest-list-item-prayer-focus {
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.38);
	border-color: color-mix(in srgb, #e0a34f 56%, var(--pf-campquest-border));
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-title-icon {
	color: color-mix(in srgb, #f0b46b 72%, var(--pf-campquest-fg));
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-list-item-prayer .pf-campquest-list-title {
	color: var(--pf-campquest-fg);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-list-item-prayer .pf-campquest-list-meta {
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 86%, var(--pf-campquest-fg) 14%);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-pill-prayer-bitte {
	background: rgba(73, 125, 181, 0.18);
	color: #9bc9ff;
	border-color: rgba(91, 147, 210, 0.34);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-pill-prayer-dank {
	background: rgba(47, 159, 143, 0.18);
	color: #9df1e2;
	border-color: rgba(72, 185, 166, 0.34);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-translate-lang-btn {
	background: rgba(24, 31, 30, 0.92);
	border-color: color-mix(in srgb, var(--pf-campquest-border) 92%, transparent);
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-translate-lang-active {
	background: rgba(240, 163, 79, 0.18);
	border-color: rgba(240, 163, 79, 0.42);
	color: #ffd6a4;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-translate-lang-cached {
	border-color: rgba(186, 176, 154, 0.4);
	color: #d7ccc0;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-translation {
	border-color: color-mix(in srgb, #f0a34f 24%, var(--pf-campquest-border));
	background: linear-gradient(165deg, rgba(39, 35, 26, 0.96), rgba(29, 28, 24, 0.96));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-translation-meta {
	color: #e8c79d;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-prayer-translation-text {
	color: #f2eee7;
}

.pf-campquest-media-preview {
	margin-top: 12px;
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	flex-wrap: wrap;
}

.pf-campquest-list-item-photo {
	padding: 9px 10px;
}

.pf-campquest-media-compact {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
}

.pf-campquest-media-compact .pf-campquest-media-preview {
	margin-top: 0;
	width: 120px;
	flex-wrap: nowrap;
}

.pf-campquest-media-compact .pf-campquest-media-thumb {
	width: 120px;
	height: 120px;
	max-width: none;
	max-height: none;
	object-fit: cover;
	border-radius: 12px;
}

.pf-campquest-media-info {
	min-width: 0;
	display: grid;
	gap: 5px;
	padding-left: 9px;
	border-left: 3px solid color-mix(in srgb, var(--pf-campquest-accent) 52%, var(--pf-campquest-border));
}

.pf-campquest-media-info-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 7px;
}

.pf-campquest-media-info-head .pf-campquest-list-title {
	font-size: 14px;
	line-height: 1.2;
	margin: 0;
}

.pf-campquest-media-info-head .pf-campquest-pill {
	flex: 0 0 auto;
	padding: 2px 7px;
	font-size: 10px;
}

.pf-campquest-media-meta {
	margin: 0;
	font-size: 11px;
	line-height: 1.3;
}

.pf-campquest-media-description {
	margin: 0;
	font-size: 12px;
	line-height: 1.35;
	color: var(--pf-campquest-fg-soft);
	display: -webkit-box;
	line-clamp: 4;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pf-campquest-media-layout {
	margin-top: 12px;
	display: grid;
	grid-template-columns: minmax(150px, 240px) minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.pf-campquest-media-layout .pf-campquest-media-preview {
	margin-top: 0;
}

.pf-campquest-media-layout .pf-campquest-media-thumb {
	width: 100%;
	height: 220px;
	max-height: none;
	object-fit: contain;
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 72%, transparent);
}

.pf-campquest-media-layout .pf-campquest-media-description {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--pf-campquest-fg-soft);
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 84%, transparent);
	border-radius: 12px;
	padding: 11px 12px;
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 56%, transparent);
	min-height: 220px;
}

.pf-campquest-media-thumb {
	max-width: 100%;
	max-height: 220px;
	border-radius: 16px;
	border: 1px solid rgba(21, 28, 44, 0.12);
	box-shadow: 0 12px 24px rgba(21, 28, 44, 0.12);
	object-fit: cover;
	cursor: zoom-in;
	transition: transform 130ms ease, box-shadow 160ms ease;
}

.pf-campquest-media-thumb:hover {
	transform: translateY(-1px) scale(1.01);
	box-shadow: 0 16px 28px rgba(21, 28, 44, 0.18);
}

.pf-campquest-media-link {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(216, 121, 27, 0.12);
	color: var(--pf-campquest-text);
	text-decoration: none;
	font-weight: 700;
}

.pf-campquest-card-head .pf-campquest-button {
	white-space: nowrap;
}

.pf-campquest-button-mod-approve {
	border-color: color-mix(in srgb, var(--pf-campquest-success) 52%, var(--pf-campquest-border));
	color: var(--pf-campquest-success);
}

.pf-campquest-button-mod-reject {
	border-color: color-mix(in srgb, var(--pf-campquest-danger) 52%, var(--pf-campquest-border));
	color: var(--pf-campquest-danger);
}

.pf-campquest-button-mod-delete {
	border-color: color-mix(in srgb, var(--pf-campquest-danger) 72%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-danger) 12%, var(--pf-campquest-bg-card));
	color: var(--pf-campquest-danger);
	font-weight: 700;
}

.pf-campquest-meme-preview {
	border-radius: 14px;
	border: 1px solid var(--pf-campquest-border);
	padding: 12px;
	background: linear-gradient(160deg, #1f2524, #38413f);
	color: #fff;
	text-align: center;
	margin-top: 8px;
}

.pf-campquest-meme-stage {
	margin-top: 10px;
	padding: 12px;
	border-radius: 18px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 25%, var(--pf-campquest-border));
	background: linear-gradient(160deg, color-mix(in srgb, var(--pf-campquest-accent-soft) 72%, #fff), var(--pf-campquest-bg-card));
	box-shadow: 0 14px 32px rgba(17, 21, 20, 0.08);
}

.pf-campquest-meme-canvas {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 16px;
	border: 1px solid var(--pf-campquest-border);
	background: #0f1716;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.pf-campquest-meme-chip-row {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 10px;
}

.pf-campquest-meme-chip-row .pf-campquest-pill {
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.pf-campquest-meme-preview p {
	margin: 0;
	font-weight: 700;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}

.pf-campquest-meme-preview p + p {
	margin-top: 58px;
}

.pf-campquest-nav {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid var(--pf-campquest-border);
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 86%, transparent);
	backdrop-filter: blur(8px);
	flex: 0 0 auto;
}

.pf-campquest-nav-item {
	border: 0;
	padding: 9px 5px;
	background: transparent;
	color: var(--pf-campquest-fg-soft);
	display: grid;
	justify-items: center;
	gap: 4px;
	cursor: pointer;
	font-size: 11px;
}

.pf-campquest-nav-item .pf-campquest-icon {
	width: 22px;
	height: 22px;
}

.pf-campquest-nav-item-active {
	color: var(--pf-campquest-accent);
}

.pf-campquest-toast-wrap {
	position: fixed;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	width: min(560px, calc(100% - 28px));
	display: grid;
	gap: 10px;
	pointer-events: none;
	z-index: 1400;
}

.pf-campquest-toast {
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	color: #ffffff;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 52%, var(--pf-campquest-border));
	border-left: 6px solid var(--pf-campquest-accent);
	background: linear-gradient(160deg, #384147, #2b3237);
	box-shadow: 0 16px 34px rgba(13, 22, 21, 0.34), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
	animation: pf-campquest-toast-in 160ms ease-out;
	backdrop-filter: blur(6px);
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
}

.pf-campquest-toast-content {
	display: grid;
	grid-template-columns: 18px 1fr;
	align-items: start;
	column-gap: 9px;
}

.pf-campquest-toast-icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	color: currentColor;
	margin-top: 1px;
}

.pf-campquest-toast-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-toast-text {
	word-break: break-word;
}

.pf-campquest-toast-info {
	border-left-color: #9fd6ff;
	border-color: #2f84c4;
	background: linear-gradient(160deg, #2e84c5, #1f679f);
}

.pf-campquest-toast-success {
	border-left-color: #c9f6df;
	border-color: #2f8b5f;
	background: linear-gradient(160deg, #2f8b5f, #216f4a);
}

.pf-campquest-toast-warning {
	border-left-color: #ffeec3;
	border-color: #a56b00;
	background: linear-gradient(160deg, #a56b00, #7d5000);
}

.pf-campquest-toast-error {
	border-left-color: #ffd6d6;
	border-color: #bb4f4f;
	background: linear-gradient(160deg, #bb4f4f, #973838);
}

.pf-campquest-media-viewer {
	position: absolute;
	inset: 0;
	z-index: 32;
	display: grid;
	place-items: center;
	background: rgba(7, 11, 13, 0.72);
	backdrop-filter: blur(7px);
	padding: 20px;
}

.pf-campquest-media-viewer[hidden] {
	display: none !important;
}

.pf-campquest-media-viewer-panel {
	position: relative;
	width: min(920px, 100%);
	max-height: calc(100dvh - 40px);
	display: grid;
	grid-template-rows: auto 1fr auto;
	border-radius: 16px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 82%, transparent);
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 94%, transparent);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
	overflow: hidden;
}

.pf-campquest-media-viewer-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-bottom: 1px solid var(--pf-campquest-border);
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 60%, transparent);
}

.pf-campquest-media-viewer-title {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.pf-campquest-media-viewer-close {
	min-width: 36px;
	min-height: 36px;
	padding: 6px;
	border-radius: 10px;
}

.pf-campquest-media-viewer-stage {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 14px 56px;
	min-height: 260px;
	overflow: hidden;
}

.pf-campquest-media-viewer-image {
	width: 100%;
	max-height: min(72dvh, 720px);
	height: 100%;
	object-fit: contain;
	border-radius: 12px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(3, 5, 8, 0.28));
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 78%, transparent);
}

.pf-campquest-media-viewer-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 42px;
	height: 42px;
	padding: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 78%, rgba(4, 8, 11, 0.78));
	border-color: color-mix(in srgb, var(--pf-campquest-border) 85%, transparent);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.pf-campquest-media-viewer-nav:hover,
.pf-campquest-media-viewer-nav:focus-visible {
	transform: translateY(-50%) scale(1.01);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
	filter: none;
}

.pf-campquest-media-viewer-nav:active {
	transform: translateY(-50%) scale(0.98);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.24);
}

#pf-campquest-media-viewer-prev {
	left: 12px;
}

#pf-campquest-media-viewer-next {
	right: 12px;
}

.pf-campquest-media-viewer-nav[disabled] {
	opacity: 0.38;
	cursor: default;
	pointer-events: none;
}

.pf-campquest-media-viewer-meta {
	padding: 10px 12px 12px;
	display: grid;
	gap: 6px;
	border-top: 1px solid var(--pf-campquest-border);
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 54%, transparent);
}

.pf-campquest-media-viewer-caption,
.pf-campquest-media-viewer-description,
.pf-campquest-media-viewer-counter {
	margin: 0;
}

.pf-campquest-media-viewer-caption {
	font-weight: 800;
	font-size: 14px;
}

.pf-campquest-media-viewer-description {
	font-size: 13px;
	line-height: 1.4;
	color: var(--pf-campquest-fg-soft);
}

.pf-campquest-media-viewer-counter {
	font-size: 12px;
	font-weight: 700;
	color: color-mix(in srgb, var(--pf-campquest-fg-soft) 88%, transparent);
}

.pf-campquest-scroll-hint {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 78px;
	z-index: 8;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-accent) 28%, var(--pf-campquest-border));
	background: color-mix(in srgb, var(--pf-campquest-bg-card) 90%, var(--pf-campquest-accent-soft));
	color: var(--pf-campquest-accent);
	box-shadow: 0 6px 16px rgba(20, 32, 31, 0.14);
	pointer-events: none;
}

@media (max-width: 720px) {
	.pf-campquest-map-editor-grid {
		grid-template-columns: 1fr;
	}
	.pf-campquest-info-media-card {
		justify-items: stretch;
		min-height: 0;
	}
	.pf-campquest-info-media-image {
		max-height: 220px;
	}

	.pf-campquest-map-marker {
		width: 30px;
		height: 30px;
		font-size: 11px;
	}

	.pf-campquest-shell-wrap {
		padding: 0;
		/* Fill the parent (overlay-inner in dashboard, html/body when standalone).
		   Single height source: no own viewport var → no race with the dashboard. */
		height: 100%;
		min-height: 100%;
		max-height: 100%;
		overscroll-behavior: none;
		overflow: clip;
	}

	.pf-campquest-app {
		border-radius: 0;
		max-width: none;
		border-left: 0;
		border-right: 0;
		height: 100%;
		min-height: 100%;
		/* iOS safe-area top (notch/dynamic island) */
		padding-top: env(safe-area-inset-top, 0px);
	}

	.pf-campquest-main {
		padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
		scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
	}

	.pf-campquest-nav {
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}

	.pf-campquest-header {
		padding: 14px 14px 8px;
		gap: 10px;
		flex-direction: column;
		align-items: stretch;
	}

	.pf-campquest-title-row {
		gap: 9px;
	}

	.pf-campquest-title-logo {
		width: 42px;
		height: 42px;
		border-radius: 9px;
	}

	.pf-campquest-title {
		font-size: clamp(20px, 8.2vw, 34px);
	}

	.pf-campquest-header-right {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 6px;
		width: 100%;
		align-items: stretch;
		justify-items: stretch;
	}

	.pf-campquest-header-right > * {
		width: auto;
		min-width: 0;
		justify-self: stretch;
	}

	.pf-campquest-dashboard-menu {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.pf-campquest-header-right .pf-campquest-icon-button,
	.pf-campquest-header-right .pf-campquest-dashboard-link {
		width: 100%;
		box-sizing: border-box;
	}

	.pf-campquest-icon-button,
	.pf-campquest-dashboard-link,
	.pf-campquest-button {
		min-height: 39px;
		padding: 6px 8px;
		font-size: 12px;
		line-height: 1.05;
		letter-spacing: 0.01em;
		font-weight: 700;
		justify-content: center;
		text-align: center;
	}

	.pf-campquest-icon-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 5px;
	}

	.pf-campquest-language-pill {
		min-width: 0;
	}

	.pf-campquest-dashboard-link,
	.pf-campquest-info-pill {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.pf-campquest-dashboard-submenu {
		left: auto;
		right: 4px;
		min-width: 184px;
		max-width: calc(100vw - 16px);
	}

	.pf-campquest-dsgvo-pill {
		width: fit-content;
		max-width: 100%;
		margin: 2px 0 8px;
	}

	.pf-campquest-main {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		padding: 8px 14px 14px;
	}

	.pf-campquest-mission-qr-form {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 5px;
	}

	.pf-campquest-mission-qr-form .pf-campquest-button {
		min-width: 96px;
	}

	.pf-campquest-card {
		padding: 13px;
		margin-bottom: 10px;
	}

	.pf-campquest-card-hero {
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 9px;
		padding: 11px;
	}

	.pf-campquest-daily-verse-card {
		grid-column: 1 / -1;
		margin-top: 4px;
	}

	.pf-campquest-team-avatar {
		width: 44px;
		height: 44px;
		font-size: 22px;
	}

	.pf-campquest-card-hero .pf-campquest-heading {
		margin-bottom: 4px;
		font-size: clamp(22px, 6vw, 32px);
	}

	.pf-campquest-card-hero .pf-campquest-copy {
		font-size: 12px;
		line-height: 1.42;
	}

	.pf-campquest-map-point-overlay {
		width: min(230px, calc(100% - 12px));
		max-width: calc(100% - 12px);
	}

	.pf-campquest-card-metric {
		padding: 14px 14px 13px;
		border-left: 4px solid color-mix(in srgb, var(--pf-campquest-accent) 70%, #fff);
	}

	.pf-campquest-card-metric .pf-campquest-metric {
		font-size: clamp(40px, 11vw, 58px);
		line-height: 1;
		margin-top: 7px;
	}

	.pf-campquest-zones {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.pf-campquest-zone {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		height: 46px;
		min-height: 46px;
		padding: 6px 10px;
		font-size: 12px;
		line-height: 1.12;
	}

	.pf-campquest-zone-red {
		grid-column: 1 / -1;
	}

	.pf-campquest-grid-2 {
		grid-template-columns: 1fr;
	}

	.pf-campquest-inline-form {
		grid-template-columns: 1fr;
	}

	.pf-campquest-bible-word-form {
		grid-template-columns: 1fr;
	}

	.pf-campquest-bible-target-row {
		grid-template-columns: 1fr;
	}

	.pf-campquest-qr-admin-toolbar {
		grid-template-columns: 1fr;
	}

	.pf-campquest-bible-admin-form {
		grid-template-columns: 1fr;
	}

	.pf-campquest-bible-admin-form textarea.pf-campquest-input,
	.pf-campquest-bible-admin-actions {
		grid-column: auto;
	}

	.pf-campquest-nav {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		margin-top: auto;
		z-index: 3;
		overflow-x: hidden;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		justify-content: stretch;
		padding-bottom: env(safe-area-inset-bottom);
	}

	.pf-campquest-nav-item {
		min-height: 60px;
		padding: 8px 3px;
		gap: 3px;
	}

	.pf-campquest-scroll-hint {
		bottom: calc(68px + env(safe-area-inset-bottom));
	}

	.pf-campquest-nav-item .pf-campquest-icon {
		width: 20px;
		height: 20px;
	}

	.pf-campquest-nav-item span:last-child {
		font-size: 10px;
		white-space: nowrap;
		line-height: 1.1;
	}

	.pf-campquest-media-layout {
		grid-template-columns: 1fr;
	}

	.pf-campquest-media-compact {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 8px;
	}

	.pf-campquest-media-compact .pf-campquest-media-preview,
	.pf-campquest-media-compact .pf-campquest-media-thumb {
		width: 88px;
		height: 88px;
	}

	.pf-campquest-media-info-head .pf-campquest-list-title {
		font-size: 13px;
	}

	.pf-campquest-media-info {
		padding-left: 7px;
		border-left-width: 2px;
	}

	.pf-campquest-media-description {
		line-clamp: 3;
		-webkit-line-clamp: 3;
	}

	.pf-campquest-media-layout .pf-campquest-media-thumb,
	.pf-campquest-media-description {
		min-height: 0;
		height: auto;
	}

	.pf-campquest-toast-wrap {
		top: max(10px, calc(env(safe-area-inset-top) + 6px));
		width: min(96vw, 460px);
	}

	.pf-campquest-toast {
		padding: 10px 12px;
		font-size: 12px;
	}

	.pf-campquest-home-zone-map-wrap {
		padding: 4px;
	}

	.pf-campquest-home-zone-map {
		max-height: 52vh;
		object-fit: contain;
	}

	.pf-campquest-map-point-overlay {
		left: 6px;
		right: 6px;
		bottom: 6px;
		padding: 8px 10px;
	}

	.pf-campquest-media-viewer {
		padding: 0;
		background: rgba(4, 8, 11, 0.94);
		backdrop-filter: blur(9px);
	}

	.pf-campquest-media-viewer-panel {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		max-height: 100dvh;
		border-radius: 0;
		border: 0;
		background: rgba(3, 7, 10, 0.96);
	}

	.pf-campquest-media-viewer-head {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 3;
		padding: calc(env(safe-area-inset-top) + 8px) 10px 8px;
		border-bottom: 0;
		background: linear-gradient(180deg, rgba(3, 7, 10, 0.92), rgba(3, 7, 10, 0));
	}

	.pf-campquest-media-viewer-title {
		font-size: 13px;
		color: #f6fbff;
		text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
	}

	.pf-campquest-media-viewer-close {
		min-width: 42px;
		min-height: 42px;
		background: rgba(0, 0, 0, 0.38);
		border-color: rgba(255, 255, 255, 0.24);
		color: #f6fbff;
	}

	.pf-campquest-media-viewer-stage {
		height: 100dvh;
		min-height: 100dvh;
		padding: 0;
	}

	.pf-campquest-media-viewer-image {
		max-height: 100%;
		height: 100%;
		max-width: 100%;
		border-radius: 0;
		border: 0;
		background: transparent;
	}

	.pf-campquest-media-viewer-nav {
		width: 44px;
		height: 44px;
		top: 50%;
		background: rgba(0, 0, 0, 0.5);
		border-color: rgba(255, 255, 255, 0.3);
		color: #f6fbff;
	}

	#pf-campquest-media-viewer-prev {
		left: 8px;
	}

	#pf-campquest-media-viewer-next {
		right: 8px;
	}

	.pf-campquest-media-viewer-meta {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 3;
		padding: 22px 10px calc(env(safe-area-inset-bottom) + 12px);
		gap: 4px;
		border-top: 0;
		background: linear-gradient(0deg, rgba(3, 7, 10, 0.96), rgba(3, 7, 10, 0));
	}

	.pf-campquest-media-viewer-caption,
	.pf-campquest-media-viewer-description,
	.pf-campquest-media-viewer-counter {
		color: #f6fbff;
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
	}

	.pf-campquest-media-viewer-caption {
		font-size: 13px;
	}

	.pf-campquest-media-viewer-description {
		font-size: 12px;
		line-height: 1.35;
		overflow: hidden;
		display: -webkit-box;
		line-clamp: 2;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		color: rgba(246, 251, 255, 0.88);
	}

	.pf-campquest-media-viewer-counter {
		font-size: 11px;
		color: rgba(246, 251, 255, 0.84);
	}
}

.pf-campquest-liedertext-open-button {
	width: 100%;
	justify-content: flex-start;
	gap: 10px;
	padding: 12px 14px;
	min-height: 54px;
	border-radius: 14px;
	background: linear-gradient(160deg, #ffe9ba 0%, #ffd488 58%, #ffbf67 100%);
	border-color: color-mix(in srgb, #d27a18 68%, var(--pf-campquest-border));
	color: #5a2b00;
	box-shadow: 0 10px 22px rgba(216, 121, 27, 0.26);
}

.pf-campquest-liedertext-open-button .pf-campquest-button-icon {
	width: 18px;
	height: 18px;
	opacity: 1;
}

.pf-campquest-liedertext-open-button .pf-campquest-button-label {
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.pf-campquest-liedertext-open-button:hover {
	background: linear-gradient(160deg, #ffe2a6 0%, #ffcd77 58%, #ffb95a 100%);
	border-color: color-mix(in srgb, #d27a18 78%, var(--pf-campquest-border));
}

.pf-campquest-home-link-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 8px;
}

.pf-campquest-home-link-button {
	width: 100%;
	min-height: 56px;
	justify-content: center;
	text-align: center;
	line-height: 1.3;
	padding: 10px 12px;
	border-radius: 14px;
	font-weight: 800;
	text-decoration: none;
}

.pf-campquest-home-link-button .pf-campquest-button-label {
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
	white-space: normal;
}

.pf-campquest-home-link-button-video-main {
	background: linear-gradient(160deg, #d8ecff 0%, #b8ddff 58%, #95ccff 100%);
	border-color: color-mix(in srgb, #2f82c8 70%, var(--pf-campquest-border));
	color: #083a63;
}

.pf-campquest-home-link-button-video-main:hover {
	background: linear-gradient(160deg, #cce7ff 0%, #acd7ff 58%, #84c3ff 100%);
}

.pf-campquest-home-link-button-video-daily {
	background: linear-gradient(160deg, #ffe7d0 0%, #ffd1a5 58%, #ffc087 100%);
	border-color: color-mix(in srgb, #c27428 68%, var(--pf-campquest-border));
	color: #5d2f00;
}

.pf-campquest-home-link-button-video-daily:hover {
	background: linear-gradient(160deg, #ffdebe 0%, #ffc78f 58%, #ffb676 100%);
}

.pf-campquest-liedertext-hero-card {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 12px;
	background: linear-gradient(132deg, #fff0b9 0%, #ffd37d 46%, #ffb557 100%);
	border-color: color-mix(in srgb, #e48b1f 62%, var(--pf-campquest-border));
	box-shadow: 0 16px 30px rgba(214, 123, 25, 0.3);
}

.pf-campquest-liedertext-hero-icon {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	color: #fff;
	background: linear-gradient(155deg, #e79f3f, #cb6e17);
	box-shadow: 0 8px 16px rgba(203, 110, 23, 0.32);
}

.pf-campquest-liedertext-hero-icon svg {
	width: 24px;
	height: 24px;
	display: block;
}

.pf-campquest-liedertext-hero-copy .pf-campquest-heading {
	margin-bottom: 4px;
	letter-spacing: 0.01em;
	color: #743300;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.pf-campquest-liedertext-hero-copy .pf-campquest-copy {
	color: #4f2a08;
	font-weight: 600;
}

.pf-campquest-liedertext-list {
	display: grid;
	gap: 10px;
}

.pf-campquest-liedertext-item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 13px 14px;
	text-decoration: none;
	color: inherit;
	border: 1px solid color-mix(in srgb, var(--pf-campquest-border) 86%, transparent);
	border-radius: 14px;
	background: linear-gradient(130deg, color-mix(in srgb, #fff9e9 82%, var(--pf-campquest-bg-card)) 0%, color-mix(in srgb, #fff1d5 74%, var(--pf-campquest-bg-card)) 100%);
	box-shadow: 0 10px 18px rgba(18, 27, 24, 0.08);
	transition: transform 160ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
	position: relative;
	overflow: hidden;
}

.pf-campquest-liedertext-item::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, 0.42) 50%, transparent 80%);
	opacity: 0;
	transform: translateX(-120%);
	transition: transform 340ms ease, opacity 200ms ease;
	pointer-events: none;
}

.pf-campquest-liedertext-item:hover,
.pf-campquest-liedertext-item:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--pf-campquest-accent) 50%, var(--pf-campquest-border));
	box-shadow: 0 16px 26px rgba(18, 27, 24, 0.14);
	background: linear-gradient(130deg, #fff3d7 0%, #ffe8bf 100%);
	outline: none;
}

.pf-campquest-liedertext-item:hover::after,
.pf-campquest-liedertext-item:focus-visible::after {
	opacity: 0.8;
	transform: translateX(120%);
}

.pf-campquest-liedertext-item-icon {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	color: #fff;
	background: linear-gradient(155deg, #e79f3f, #ca6915);
	box-shadow: 0 6px 12px rgba(202, 105, 21, 0.3);
	flex-shrink: 0;
}

.pf-campquest-liedertext-item-icon svg {
	width: 21px;
	height: 21px;
	display: block;
}

.pf-campquest-liedertext-item-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.pf-campquest-liedertext-item-copy strong {
	font-size: 15px;
	line-height: 1.24;
	word-break: break-word;
}

.pf-campquest-liedertext-item-copy span {
	font-size: 12px;
	color: var(--pf-campquest-fg-soft);
	line-height: 1.3;
}

.pf-campquest-liedertext-item-arrow {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, var(--pf-campquest-accent) 86%, var(--pf-campquest-fg));
	opacity: 0.9;
}

.pf-campquest-liedertext-item-arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pf-campquest-liedertext-empty {
	border-style: dashed;
	background: color-mix(in srgb, var(--pf-campquest-bg-soft) 80%, var(--pf-campquest-bg-card));
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-open-button {
	background: linear-gradient(160deg, #6e4316 0%, #87511b 58%, #a26022 100%);
	color: #fff0d8;
	border-color: color-mix(in srgb, #b87637 52%, var(--pf-campquest-border));
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.34);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-open-button:hover {
	background: linear-gradient(160deg, #6a4319 0%, #85511d 58%, #9f6020 100%);
	color: #ffe9cc;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-hero-card {
	background: linear-gradient(132deg, #6c3d10 0%, #8a4f16 45%, #aa6321 100%);
	border-color: color-mix(in srgb, #d8934e 62%, var(--pf-campquest-border));
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.38);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-hero-copy .pf-campquest-heading {
	color: #ffe4bf;
	text-shadow: none;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-hero-copy .pf-campquest-copy {
	color: #ffeed4;
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-item {
	background: linear-gradient(130deg, #27221a 0%, #2d261b 100%);
	border-color: color-mix(in srgb, #6f522d 52%, var(--pf-campquest-border));
	box-shadow: 0 10px 18px rgba(0, 0, 0, 0.3);
}

.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-item:hover,
.pf-campquest-app.pf-campquest-theme-dark .pf-campquest-liedertext-item:focus-visible {
	background: linear-gradient(130deg, #382b1a 0%, #493620 100%);
	border-color: color-mix(in srgb, #de9c51 52%, var(--pf-campquest-border));
	box-shadow: 0 14px 24px rgba(0, 0, 0, 0.38);
}

@media (max-width: 560px) {
	.pf-campquest-liedertext-item {
		padding: 12px;
		gap: 10px;
	}

	.pf-campquest-liedertext-item-icon {
		width: 34px;
		height: 34px;
	}

	.pf-campquest-liedertext-item-icon svg {
		width: 18px;
		height: 18px;
	}

	.pf-campquest-liedertext-item-copy strong {
		font-size: 14px;
	}
}

@media (max-width: 420px) {
	.pf-campquest-home-link-grid {
		grid-template-columns: 1fr;
	}

	.pf-campquest-title {
		font-size: clamp(19px, 7.2vw, 30px);
	}

	.pf-campquest-kicker {
		font-size: 10px;
		padding: 2px 7px;
		letter-spacing: 0.03em;
	}

	.pf-campquest-info-pill,
	.pf-campquest-dashboard-link {
		padding-inline: 5px;
	}

	.pf-campquest-header-right {
		gap: 5px;
	}

	.pf-campquest-nav-item span:last-child {
		font-size: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pf-campquest-page,
	.pf-campquest-button,
	.pf-campquest-nav-item {
		animation: none;
		transition: none;
	}
}

/* ================================================
   MISSION SUCCESS ANIMATION
   ================================================ */
.pf-campquest-mission-success-overlay {
	--pf-campquest-ms-primary: #d8791b;
	--pf-campquest-ms-secondary: #f0a050;
	--pf-campquest-ms-accent: #ffd600;
	--pf-campquest-ms-glow: #d8791b;
	position: fixed;
	inset: 0;
	z-index: 10000;
	pointer-events: none;
	opacity: 0;
}
.pf-campquest-mission-success-overlay.pf-campquest-mission-success-overlay--active {
	opacity: 1;
	pointer-events: auto;
}
.pf-campquest-mission-success-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.pf-campquest-mission-success-flash {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center, rgba(255,255,255,0.9) 0%, rgba(216,121,27,0.3) 40%, transparent 70%);
	opacity: 0;
	transform: scale(0.2);
	pointer-events: none;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-flash {
	animation: pf-campquest-ms-flash 300ms ease-out forwards;
}
@keyframes pf-campquest-ms-flash {
	0%   { opacity: 1; transform: scale(0.2); }
	50%  { opacity: 0.8; transform: scale(1.5); }
	100% { opacity: 0; transform: scale(2.5); }
}
.pf-campquest-mission-success-shockwave {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 3px solid var(--pf-campquest-ms-primary);
	transform: translate(-50%, -50%) scale(0);
	opacity: 0;
	pointer-events: none;
}
.pf-campquest-mission-success-shockwave--2 { border-color: var(--pf-campquest-ms-secondary); animation-delay: 120ms; }
.pf-campquest-mission-success-shockwave--3 { border-color: var(--pf-campquest-ms-accent); border-width: 2px; animation-delay: 250ms; }
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-shockwave {
	animation: pf-campquest-ms-shockwave 900ms ease-out forwards;
}
@keyframes pf-campquest-ms-shockwave {
	0%   { transform: translate(-50%, -50%) scale(0); opacity: 1; }
	30%  { opacity: 0.8; }
	100% { transform: translate(-50%, -50%) scale(80); opacity: 0; }
}
.pf-campquest-mission-success-beam {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 0;
	background: linear-gradient(to bottom, transparent 0%, var(--pf-campquest-ms-primary) 20%, rgba(255,255,255,0.9) 50%, var(--pf-campquest-ms-primary) 80%, transparent 100%);
	transform: translate(-50%, -50%);
	opacity: 0;
	filter: blur(2px);
	pointer-events: none;
	box-shadow: 0 0 30px var(--pf-campquest-ms-glow), 0 0 60px var(--pf-campquest-ms-glow);
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-beam {
	animation: pf-campquest-ms-beam 1.2s ease-out forwards;
}
@keyframes pf-campquest-ms-beam {
	0%   { height: 0; opacity: 0; width: 2px; }
	30%  { height: 120vh; opacity: 1; width: 6px; }
	60%  { height: 120vh; opacity: 0.8; width: 4px; }
	100% { height: 120vh; opacity: 0; width: 1px; }
}
.pf-campquest-mission-success-check-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	width: 140px;
	height: 140px;
	opacity: 0;
	pointer-events: none;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-check-container {
	animation: pf-campquest-ms-check-pop 600ms cubic-bezier(0.34, 1.56, 0.64, 1) 350ms forwards;
}
@keyframes pf-campquest-ms-check-pop {
	0%   { transform: translate(-50%, -50%) scale(0); opacity: 0; }
	60%  { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
	100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
.pf-campquest-mission-success-check-circle {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 4px solid var(--pf-campquest-ms-primary);
	background: radial-gradient(circle, rgba(216,121,27,0.15) 0%, rgba(216,121,27,0.02) 70%, transparent 100%);
	box-shadow: 0 0 40px rgba(216,121,27,0.4), 0 0 80px rgba(216,121,27,0.15), inset 0 0 30px rgba(216,121,27,0.1);
	position: relative;
}
.pf-campquest-mission-success-check-circle-svg {
	position: absolute;
	inset: -4px;
	width: calc(100% + 8px);
	height: calc(100% + 8px);
}
.pf-campquest-mission-success-check-circle-path {
	fill: none;
	stroke: var(--pf-campquest-ms-primary);
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 440;
	stroke-dashoffset: 440;
	filter: drop-shadow(0 0 8px var(--pf-campquest-ms-glow));
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-check-circle-path {
	animation: pf-campquest-ms-circle-draw 800ms ease-out 400ms forwards;
}
@keyframes pf-campquest-ms-circle-draw {
	to { stroke-dashoffset: 0; }
}
.pf-campquest-mission-success-check-svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
}
.pf-campquest-mission-success-check-path {
	fill: none;
	stroke: var(--pf-campquest-ms-primary);
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 80;
	stroke-dashoffset: 80;
	filter: drop-shadow(0 0 6px var(--pf-campquest-ms-glow));
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-check-path {
	animation: pf-campquest-ms-check-draw 1200ms ease-out 900ms forwards;
}
@keyframes pf-campquest-ms-check-draw {
	to { stroke-dashoffset: 0; }
}
.pf-campquest-mission-success-check-pulse {
	position: absolute;
	inset: -20px;
	border-radius: 50%;
	border: 2px solid rgba(216, 121, 27, 0.3);
	opacity: 0;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-check-pulse {
	animation: pf-campquest-ms-check-pulse 1.5s ease-out 1200ms infinite;
}
@keyframes pf-campquest-ms-check-pulse {
	0%   { transform: scale(0.9); opacity: 0.6; }
	100% { transform: scale(1.6); opacity: 0; }
}
.pf-campquest-mission-success-text-group {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	pointer-events: none;
	margin-top: 110px;
	width: 90vw;
}
.pf-campquest-mission-success-text-top {
	font-family: 'Oswald', 'Source Sans 3', sans-serif;
	font-size: clamp(1.6rem, 5vw, 3rem);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.75);
	text-transform: uppercase;
	letter-spacing: 0.5em;
	opacity: 0;
	transform: translateY(20px);
	filter: blur(8px);
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-text-top {
	animation: pf-campquest-ms-text-reveal 800ms ease-out 1400ms forwards;
}
.pf-campquest-mission-success-text-main {
	font-family: 'Oswald', 'Source Sans 3', sans-serif;
	font-size: clamp(2.2rem, 8vw, 4.5rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0;
	transform: translateY(30px) scaleX(1.3);
	filter: blur(12px);
	background: linear-gradient(135deg, var(--pf-campquest-ms-primary) 0%, #ffffff 40%, var(--pf-campquest-ms-accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	position: relative;
}
.pf-campquest-mission-success-text-main-glow {
	position: absolute;
	inset: 0;
	font-family: 'Oswald', 'Source Sans 3', sans-serif;
	font-size: clamp(2.2rem, 8vw, 4.5rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pf-campquest-ms-primary);
	filter: blur(20px);
	opacity: 0;
	z-index: -1;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-text-main {
	animation: pf-campquest-ms-text-main 900ms cubic-bezier(0.16, 1, 0.3, 1) 1600ms forwards;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-text-main-glow {
	animation: pf-campquest-ms-text-glow 900ms ease-out 1600ms forwards;
}
@keyframes pf-campquest-ms-text-reveal {
	0%   { opacity: 0; transform: translateY(20px); filter: blur(8px); }
	100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes pf-campquest-ms-text-main {
	0%   { opacity: 0; transform: translateY(30px) scaleX(1.3); filter: blur(12px); }
	50%  { opacity: 1; filter: blur(2px); }
	100% { opacity: 1; transform: translateY(0) scaleX(1); filter: blur(0); }
}
@keyframes pf-campquest-ms-text-glow {
	0%   { opacity: 0; }
	40%  { opacity: 0.6; }
	100% { opacity: 0.2; }
}
.pf-campquest-mission-success-text-sub {
	font-size: clamp(0.85rem, 2vw, 1rem);
	font-weight: 300;
	color: rgba(255, 255, 255, 0.55);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-top: 10px;
	opacity: 0;
	transform: translateY(15px);
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-text-sub {
	animation: pf-campquest-ms-text-reveal 600ms ease-out 2200ms forwards;
}
.pf-campquest-mission-success-points {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin-top: 230px;
	text-align: center;
	opacity: 0;
	pointer-events: none;
}
.pf-campquest-mission-success-points-value {
	font-family: 'Oswald', 'Source Sans 3', sans-serif;
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	color: var(--pf-campquest-ms-accent);
	text-shadow: 0 0 20px rgba(255, 214, 0, 0.4);
}
.pf-campquest-mission-success-points-label {
	font-size: 0.85rem;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.4);
	text-transform: uppercase;
	letter-spacing: 0.3em;
	margin-top: 2px;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-points {
	animation: pf-campquest-ms-points-pop 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 2500ms forwards;
}
@keyframes pf-campquest-ms-points-pop {
	0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }
	100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
.pf-campquest-mission-success-flare {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	opacity: 0;
}
.pf-campquest-mission-success-flare--1 {
	top: 30%; left: 25%;
	width: 80px; height: 80px;
	background: radial-gradient(circle, rgba(216,121,27,0.6) 0%, transparent 70%);
	filter: blur(10px);
}
.pf-campquest-mission-success-flare--2 {
	top: 60%; right: 20%;
	width: 50px; height: 50px;
	background: radial-gradient(circle, rgba(255,214,0,0.5) 0%, transparent 70%);
	filter: blur(8px);
}
.pf-campquest-mission-success-flare--3 {
	top: 20%; right: 30%;
	width: 120px; height: 3px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
	filter: blur(2px);
	border-radius: 2px;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-flare--1 {
	animation: pf-campquest-ms-flare-1 1.8s ease-out 200ms forwards;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-flare--2 {
	animation: pf-campquest-ms-flare-2 1.5s ease-out 400ms forwards;
}
.pf-campquest-mission-success-overlay--active .pf-campquest-mission-success-flare--3 {
	animation: pf-campquest-ms-flare-3 1.2s ease-out 300ms forwards;
}
@keyframes pf-campquest-ms-flare-1 {
	0%   { opacity: 0; transform: scale(0); }
	30%  { opacity: 0.8; transform: scale(1.5); }
	100% { opacity: 0; transform: scale(2) translate(-20px, 10px); }
}
@keyframes pf-campquest-ms-flare-2 {
	0%   { opacity: 0; transform: scale(0); }
	30%  { opacity: 0.7; transform: scale(1.3); }
	100% { opacity: 0; transform: scale(2.5) translate(15px, -8px); }
}
@keyframes pf-campquest-ms-flare-3 {
	0%   { opacity: 0; transform: scaleX(0); }
	40%  { opacity: 0.6; transform: scaleX(1.2); }
	100% { opacity: 0; transform: scaleX(2); }
}
.pf-campquest-mission-success-overlay--fading .pf-campquest-mission-success-flash,
.pf-campquest-mission-success-overlay--fading .pf-campquest-mission-success-shockwave,
.pf-campquest-mission-success-overlay--fading .pf-campquest-mission-success-beam,
.pf-campquest-mission-success-overlay--fading .pf-campquest-mission-success-check-container,
.pf-campquest-mission-success-overlay--fading .pf-campquest-mission-success-text-group,
.pf-campquest-mission-success-overlay--fading .pf-campquest-mission-success-points {
	animation: pf-campquest-ms-fadeout 800ms ease-in forwards !important;
}
@keyframes pf-campquest-ms-fadeout {
	0%   { opacity: 1; }
	100% { opacity: 0; filter: blur(6px); }
}
.pf-campquest-mission-success-shake {
	animation: pf-campquest-ms-shake 500ms ease-out;
}
@keyframes pf-campquest-ms-shake {
	0%   { transform: translate(0, 0); }
	10%  { transform: translate(-4px, 2px); }
	20%  { transform: translate(4px, -3px); }
	30%  { transform: translate(-3px, 4px); }
	40%  { transform: translate(3px, -1px); }
	50%  { transform: translate(-2px, 3px); }
	60%  { transform: translate(2px, -2px); }
	70%  { transform: translate(-1px, 1px); }
	80%  { transform: translate(1px, -1px); }
	100% { transform: translate(0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.pf-campquest-mission-success-overlay--active *,
	.pf-campquest-mission-success-shake {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
