/* ============================================================
   Neon Dark Theme
   Reines Optik-Update. Keine Funktionen/Strukturen veraendert.
   Ueberschreibt zentral alle Farben/Hintergrundbilder der alten
   Tabellen-Layouts per CSS - die PHP-Dateien bleiben unberuehrt.
   ============================================================ */

:root {
	--bg-deep:    #0A0706;
	--bg-panel:   #150C0B;
	--bg-panel2:  #1C0F0D;
	--neon-pink:  #E8102A;
	--neon-cyan:  #B94DFF;
	--neon-gold:  #FFEA2E;
	--neon-purple:#39FF6A;
	--neon-orange:#FF8A1E;
	--text-light: #F5EEEC;
}

/* ---------- Grundfarbe der Seite ---------- */
img {
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	-o-user-drag: none;
	user-drag: none;
}
body {
	background-color: var(--bg-deep) !important;
	color: var(--text-light);
	background-image:
		radial-gradient(circle at 15% 10%, rgba(255,47,208,0.12), transparent 40%),
		radial-gradient(circle at 85% 90%, rgba(0,234,255,0.10), transparent 40%);
	background-attachment: fixed;
	padding: 0 24px 24px 24px !important;
	box-sizing: border-box;
}

/* ---------- Alle bgcolor="..." Attribute im HTML ueberschreiben ---------- */
[bgcolor="#FF0000"],
[bgcolor="#B30000"],
[bgcolor="#990000"],
[bgcolor="#9d0000"],
[bgcolor="#9D0000"],
[bgcolor="#CC0000"],
[bgcolor="#cc0000"] {
	background-color: var(--bg-panel) !important;
	background-image: none !important;
}

[bgcolor="#FF9900"] {
	background-color: var(--bg-panel2) !important;
	background-image: none !important;
	box-shadow: inset 0 0 12px rgba(255,47,208,0.35);
}

[bgcolor="#000000"] {
	background-color: #000000 !important;
}

[bgcolor="#FFFFFF"],
[bgcolor="#F3F3F3"],
[bgcolor="#e7e7e7"],
[bgcolor="#CCCCCC"] {
	background-color: var(--bg-panel) !important;
	color: var(--text-light) !important;
}

/* ---------- Alte Hintergrundbilder (orange/rote Texturstreifen) entfernen ---------- */
[background="images/bg.gif"],
[background="images/logo_bg3.gif"],
[background^="images/navi_pics/profil/"],
[background^="images/new/header/"],
[background^="images/new/content_"],
[background="images/new/bg.jpg"],
[background^="images/re_"],
[background^="images/sp1_"],
[background^="images/sp2_"],
[background^="images/sp3_"],
[background^="images/bg_pics/"] {
	background-image: none !important;
	background-color: var(--bg-panel2) !important;
	color: var(--text-light) !important;
}

/* Menüzeilen (Sidebar-Links) - dunkel mit dezentem Cyan-Unterstrich statt Vollton */
[background="images/navi_pics/navi_02.jpg"],
[background="images/navi_pics/navi2_02.jpg"],
[background="images/top_bg.jpg"] {
	background-image: none !important;
	background-color: #0d0620 !important;
	border-bottom: 1px solid rgba(0,234,255,0.25) !important;
	color: var(--text-light) !important;
}

/* Titel-/Kopfzeilen der Panels bekommen einen dezenten Neon-Verlauf statt Vollfarbe */
[background="images/bg.jpg"] {
	background-color: transparent !important;
	background-image: linear-gradient(90deg, #ff2fd0, #8a2be2) !important;
}

/* ---------- Zentrale Tabellen-Klassen ---------- */
td.klasse1, td.Klasse1 {
	background-image: none !important;
	background-color: var(--bg-panel) !important;
}
td.klasse2, td.Klasse2 {
	background-color: var(--bg-panel) !important;
	color: var(--text-light) !important;
}
td.klasse3, td.Klasse3 {
	background: radial-gradient(ellipse at center, rgba(232,16,42,0.12), var(--bg-panel) 70%) !important;
	color: var(--text-light) !important;
	border: 1px solid var(--neon-pink) !important;
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(232,16,42,0.25) inset;
	padding: 20px !important;
}
td.klasse3 b, td.Klasse3 b {
	font-size: 17px;
	color: var(--neon-gold);
	text-shadow: 0 0 10px rgba(255,234,46,0.4);
}
td.klasse4, td.Klasse4 {
	background-image: none !important;
	background-color: var(--bg-deep) !important;
}
td.klasse111, td.Klasse111 {
	background-color: var(--bg-panel2) !important;
}
td.backgraund, td.Backgraund {
	background-color: var(--bg-panel) !important;
}
td.design1, td.Design1 {
	background-color: var(--bg-panel2) !important;
}
td.menu, td.Menu, td.menu1, td.Menu1 {
	background-image: none !important;
	background-color: #150a2b !important;
}
td.menu122, td.Menu122 {
	border: 1pt solid var(--neon-cyan) !important;
	background-color: var(--bg-panel2) !important;
}

/* Panel-Rahmen mit Neon-Glow */
.box1 {
	border: 1px solid var(--neon-purple) !important;
	box-shadow: 0 0 10px rgba(138,43,226,0.55), inset 0 0 20px rgba(138,43,226,0.08);
	border-radius: 4px;
}
.box {
	border: 1px solid var(--neon-cyan) !important;
	background: var(--bg-panel) !important;
	box-shadow: 0 0 10px rgba(0,234,255,0.5);
}

/* ---------- Links ---------- */
a, a.header, a.header:visited, a.header:hover,
a.st, a.st1, a.st6, a.menu4, a.menu4:visited,
a.match, a.toplist, a.profil, a.profil:visited {
	color: var(--text-light);
	font-family: "Verdana", sans-serif;
}
a:link, a:visited,
a.st4, a.st99, a.st99:visited,
a.nachricht, a.guest, a.guest:visited, a.guest2 {
	color: var(--neon-cyan) !important;
	text-decoration: none;
}
a:hover, a.header:hover, a.st4:hover, a.st99:hover,
a.menu:hover, a.menu2:hover, a.menu4:hover, a.menu5:hover,
a.mail:hover, a.f_be:hover, a.profil:hover, a.st90:hover {
	color: var(--neon-pink) !important;
	text-shadow: 0 0 6px rgba(255,47,208,0.8);
}
a.menu, a.menu:visited,
a.menu2, a.menu2:visited,
a.menu5, a.menu5:visited,
a.f_be, a.f_be:visited,
a.mail, a.mail:visited,
a.up_menu, a.up_menu:visited,
a.up_menu2, a.up_menu2:visited {
	color: var(--text-light) !important;
	background-image: none !important;
}
a.menu::after, a.menu2::after {
	content: " \203A";
	float: right;
	color: var(--neon-cyan);
	margin-right: 6px;
}
a.st2, a.st3, a.st5, a.st90, a.st90:visited {
	color: var(--neon-gold) !important;
}
a.grus, a.grus:visited, a.bratwa {
	color: var(--neon-gold) !important;
}
a.grusr:hover {
	color: var(--neon-pink) !important;
}

/* ---------- Formulare ---------- */
input, textarea, select {
	background-color: #0c0620 !important;
	color: var(--text-light) !important;
	border: 1px solid var(--neon-cyan) !important;
	font-family: "Verdana", Arial, sans-serif;
}
input.log, input.log2, input.ru, input.ru2,
input.new, input.new2, input.nl, input.pn, input.profil,
select.ru {
	background-color: #0c0620 !important;
	color: var(--neon-cyan) !important;
	border: 1px solid var(--neon-cyan) !important;
}
input.log:hover, input.nl:hover, input.pn:hover, input.profil:hover,
input.gallery:hover, input.gallery2:hover, input.gallery3:hover {
	color: var(--neon-pink) !important;
	border-color: var(--neon-pink) !important;
}
input.gallery, input.gallery2, input.gallery3 {
	background-image: none !important;
	background-color: #0c0620 !important;
	color: var(--neon-cyan) !important;
	border: 1px solid var(--neon-cyan) !important;
}

/* ---------- Textblock-Grundfarbe ---------- */
.text {
	color: var(--text-light) !important;
}

/* Schwarzer Text war auf dem alten weissen Hintergrund lesbar, ist auf
   unserem dunklen Theme aber unsichtbar - systemweit auf helle Farbe */
font[color="#000000"],
font[color="#000"],
font[color="black"],
[style*="color:#000000"],
[style*="color: #000000"],
[style*="color:#000"],
[style*="color: #000"],
[style*="color:black"],
[style*="color: black"],
[style*="color:#111111"],
[style*="color: #111111"],
[style*="color:#333333"],
[style*="color: #333333"] {
	color: var(--text-light) !important;
}

/* Alte rote Titel-/Trennbild-Grafiken der Sidebar - Rot ist jetzt Teil
   unserer Palette, daher kein Farbfilter mehr noetig (nur noch leichte
   Saettigungsanpassung fuer einheitlichen Look) */
img[src*="navi_pics/"],
img[src*="images/re_"],
img[src*="bg_pics/bg_"],
img[src*="unbekannt_m.jpg"],
img[src*="unbekannt_w.jpg"],
img[src*="noalbumpic.jpg"],
img[src*="images/bratwa/bratwa_navi_"],
img[src*="images/new/fotos"],
img[src*="images/new/geschenke"],
img[src*="images/new/privatalbum"],
img[src*="images/new/videos"],
img[src*="images/profil_"],
img[src*="images/videosuche/"],
img[src*="images/women.jpg"],
img[src*="images/man.jpg"],
img[src*="images/new/richtung"],
img[src*="images/new/herz/"] {
	filter: saturate(1.3) brightness(1.05);
}

/* Rote Deko-Trennleiste ueber dem Hauptinhalt ausblenden */
.vml-hide-strip {
	display: none !important;
}

/* ============================================================
   Neuer Header/Login-Bereich (vml-topbar)
   ============================================================ */
.vml-topbar {
	max-width: 1500px;
	margin: 12px auto 16px auto;
	background: linear-gradient(180deg, #0d0620 0%, #150a2b 100%);
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	box-shadow: 0 0 18px rgba(255,47,208,0.45), 0 0 40px rgba(0,234,255,0.15);
	overflow: hidden;
	font-family: "Verdana", Arial, sans-serif;
}
.vml-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	padding: 16px 22px;
}
.vml-logo-cursive {
	font-family: 'Great Vibes', cursive;
	font-size: 52px;
	line-height: 1;
	color: #ffffff;
	text-shadow: 0 0 8px #fff, 0 0 18px var(--neon-pink), 0 0 34px var(--neon-pink), 0 0 60px var(--neon-pink);
	display: flex;
	align-items: center;
	gap: 6px;
}
.vml-logo-heart {
	color: var(--neon-pink);
	font-size: 34px;
	text-shadow: 0 0 10px var(--neon-pink), 0 0 24px var(--neon-pink);
}
.vml-tagline {
	font-size: 12px;
	font-weight: bold;
	color: var(--text-light);
	letter-spacing: 2px;
	margin-top: 2px;
	text-transform: uppercase;
}
.vml-ad-slot {
	border: 1px dashed rgba(238,240,255,0.35);
	border-radius: 8px;
	padding: 8px 18px;
	text-align: center;
	font-size: 11px;
	color: rgba(238,240,255,0.55);
	letter-spacing: 1px;
}
.vml-ad-slot span {
	font-size: 10px;
	opacity: 0.8;
}

/* Radio-Player (erweitert: Cover + Mitte + Sender-Liste + Live-Anzeige) */
.vml-radio {
	display: flex;
	align-items: stretch;
	gap: 14px;
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	padding: 12px 16px;
	background: rgba(0,0,0,0.4);
	box-shadow: 0 0 14px rgba(232,16,42,0.35);
	flex: 1;
	min-width: 480px;
}
.vml-radio-cover {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--bg-panel2), #000);
	border: 1px solid var(--neon-pink);
	display: flex;
	align-items: center;
	justify-content: center;
}
.vml-radio-cover-play {
	color: var(--neon-pink);
	font-size: 20px;
}
.vml-radio-mid {
	flex: 1;
	min-width: 0;
}
.vml-radio-top {
	display: flex;
	align-items: center;
	gap: 6px;
}
.vml-radio-live-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--neon-pink);
	box-shadow: 0 0 8px var(--neon-pink);
	animation: vml-pulse 1.4s infinite ease-in-out;
	flex-shrink: 0;
}
@keyframes vml-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.4; transform: scale(0.7); }
}
.vml-radio-onair {
	color: var(--neon-pink);
	font-weight: bold;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.vml-radio-track-title {
	color: var(--text-light);
	font-size: 13px;
	font-weight: bold;
	margin-top: 2px;
}
.vml-radio-sub {
	color: var(--neon-cyan);
	font-size: 10px;
	margin: 1px 0 6px 0;
	letter-spacing: 0.5px;
}
.vml-radio-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}
.vml-radio-mode-switch {
	display: flex;
	gap: 4px;
	margin-top: 6px;
}
.vml-radio-mode-btn {
	background: transparent;
	border: 1px solid rgba(255,47,208,0.4);
	color: rgba(238,240,255,0.6);
	font-size: 10px;
	padding: 2px 8px;
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.15s ease;
}
.vml-radio-mode-btn.active {
	background: var(--neon-pink);
	border-color: var(--neon-pink);
	color: #150a2b;
	font-weight: bold;
}
.vml-radio-btn {
	background: var(--neon-pink) !important;
	color: #150a2b !important;
	border: none !important;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	font-size: 11px;
	cursor: pointer;
	box-shadow: 0 0 8px rgba(232,16,42,0.7);
	flex-shrink: 0;
}
.vml-radio-btn:hover {
	box-shadow: 0 0 14px rgba(232,16,42,1);
}
.vml-radio-viz {
	background: rgba(0,0,0,0.4);
	border-radius: 4px;
	flex: 1;
}
.vml-radio-volume {
	width: 50px;
	accent-color: var(--neon-cyan);
}
.vml-radio-stations {
	width: 190px;
	flex-shrink: 0;
	border-left: 1px solid rgba(232,16,42,0.3);
	padding-left: 14px;
	max-height: 110px;
	overflow-y: auto;
}
.vml-radio-stations-title {
	font-size: 10px;
	color: var(--neon-gold);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: bold;
	margin-bottom: 6px;
}
.vml-radio-station {
	font-size: 12px;
	color: rgba(238,240,255,0.65);
	padding: 3px 0;
	cursor: pointer;
}
.vml-radio-station.active {
	color: var(--neon-pink);
	font-weight: bold;
}
.vml-radio-station-dj {
	color: var(--neon-gold) !important;
	font-weight: bold;
}
.vml-radio-station-dj.active { color: var(--neon-pink) !important; }
.vml-radio-station:hover { color: var(--text-light); }
.vml-radio-station-mp3 {
	margin-top: 4px;
	border-top: 1px dashed rgba(232,16,42,0.3);
	padding-top: 6px;
	color: var(--neon-cyan) !important;
}
.vml-radio-live-box {
	width: 110px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.eq-big {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 50px;
}
.eq-big span {
	width: 6px;
	background: var(--neon-pink);
	border-radius: 2px;
	box-shadow: 0 0 6px var(--neon-pink);
	animation: eqbig 1s ease-in-out infinite;
}
.eq-big span:nth-child(1){height:30%;animation-delay:0s}
.eq-big span:nth-child(2){height:70%;animation-delay:.1s}
.eq-big span:nth-child(3){height:45%;animation-delay:.2s}
.eq-big span:nth-child(4){height:90%;animation-delay:.3s}
.eq-big span:nth-child(5){height:55%;animation-delay:.4s}
.eq-big span:nth-child(6){height:80%;animation-delay:.5s}
.eq-big span:nth-child(7){height:35%;animation-delay:.6s}
.eq-big span:nth-child(8){height:65%;animation-delay:.7s}
@keyframes eqbig { 0%,100%{transform:scaleY(0.4)} 50%{transform:scaleY(1)} }

/* Skyline Chat-Assistent */
.vml-skyline-wrap {
	display: flex;
	gap: 20px;
	padding: 20px;
	flex-wrap: wrap;
}
.vml-chat-online-panel {
	background: #150a2b;
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	padding: 12px;
	max-height: 460px;
	overflow-y: auto;
}
.vml-chat-online-title {
	font-weight: bold;
	font-size: 12px;
	color: var(--neon-gold);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.vml-chat-online-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.vml-chat-online-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--text-light);
	text-decoration: none;
	padding: 4px 6px;
	border-radius: 6px;
}
.vml-chat-online-row:hover {
	background: rgba(255,47,208,0.12);
}
.vml-chat-online-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #2ee6a8;
	box-shadow: 0 0 6px #2ee6a8;
	flex-shrink: 0;
}
.vml-chat-rolle-badge {
	font-size: 10px;
	font-weight: bold;
	padding: 1px 6px;
	border-radius: 8px;
	white-space: nowrap;
}
.vml-chat-rolle-admin {
	background: rgba(255,210,63,0.18);
	color: var(--neon-gold);
	border: 1px solid var(--neon-gold);
}
.vml-chat-rolle-mod {
	background: rgba(138,43,226,0.18);
	color: #b98cff;
	border: 1px solid #b98cff;
}
.vml-chat-kein-mod {
	font-size: 11px;
	color: #8b95a5;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255,47,208,0.25);
}
.vml-skyline-avatar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 150px;
}
.vml-skyline-avatar-img {
	width: 140px;
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(0,234,255,0.5);
	border: 1px solid var(--neon-cyan);
}
.vml-skyline-status {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: var(--text-light);
}
.vml-skyline-chat {
	flex: 1;
	min-width: 260px;
	display: flex;
	flex-direction: column;
}
.vml-skyline-messages {
	height: 260px;
	overflow-y: auto;
	border: 1px solid var(--neon-purple);
	border-radius: 8px;
	padding: 12px;
	background: rgba(0,0,0,0.3);
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 10px;
}
.vml-skyline-msg {
	max-width: 80%;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.4;
}
.vml-skyline-msg-bot {
	align-self: flex-start;
	background: rgba(138,43,226,0.25);
	border: 1px solid var(--neon-purple);
	color: var(--text-light);
}
.vml-skyline-msg-user {
	align-self: flex-end;
	background: rgba(0,234,255,0.15);
	border: 1px solid var(--neon-cyan);
	color: var(--text-light);
}
.vml-skyline-input-row {
	display: flex;
	gap: 8px;
	margin-bottom: 10px;
}
.vml-skyline-input-row .vml-input {
	flex: 1;
}
.vml-skyline-suggestions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.vml-skyline-chip {
	background: transparent;
	border: 1px solid var(--neon-cyan);
	color: var(--neon-cyan);
	border-radius: 14px;
	padding: 4px 12px;
	font-size: 11px;
	cursor: pointer;
}
.vml-skyline-chip:hover {
	background: var(--neon-cyan);
	color: #150a2b;
}

/* Marktplatz */
.vml-markt-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 480px;
}
.vml-markt-form label {
	color: var(--text-light);
	font-size: 12px;
	display: block;
}
.vml-markt-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 18px;
}
.vml-markt-card {
	width: 220px;
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-purple);
	border-radius: 10px;
	padding: 12px;
	box-shadow: 0 0 10px rgba(138,43,226,0.35);
	position: relative;
}
.vml-markt-cat {
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 9px;
	font-weight: bold;
	padding: 2px 8px;
	border-radius: 10px;
	background: var(--neon-purple);
	color: #fff;
	text-transform: uppercase;
}
.vml-markt-cat-cash {
	background: var(--neon-gold);
	color: #150a2b;
}
.vml-markt-cat-upgrade {
	background: var(--neon-cyan);
	color: #150a2b;
}
.vml-markt-img {
	width: 100%;
	height: 130px;
	object-fit: cover;
	border-radius: 6px;
	margin-bottom: 8px;
	display: block;
}
.vml-markt-img-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.05);
	color: rgba(238,240,255,0.4);
	font-size: 11px;
}
.vml-markt-title {
	color: var(--text-light);
	font-weight: bold;
	font-size: 13px;
	margin-bottom: 4px;
}
.vml-markt-preis {
	color: var(--neon-gold);
	font-weight: bold;
	font-size: 13px;
	margin-bottom: 6px;
}
.vml-markt-desc {
	color: rgba(238,240,255,0.8);
	font-size: 11px;
	margin-bottom: 8px;
	max-height: 60px;
	overflow: hidden;
}
.vml-markt-seller {
	font-size: 10px;
	color: rgba(238,240,255,0.6);
}
.vml-markt-seller-link {
	color: var(--neon-cyan) !important;
}

/* Bild-Navigationspfeile (blaettern) */
.vml-pic-arrow {
	display: inline-block;
	color: var(--text-light);
	background: rgba(0,0,0,0.4);
	border: 1px solid var(--neon-cyan);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	line-height: 18px;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}

/* Forum-Tabelle - ueberarbeitet als schwebende Karten-Zeilen */
.vml-forum-table {
	border-collapse: separate;
	border-spacing: 0 12px;
	width: 100%;
}
.vml-forum-head {
	background: none;
}
.vml-forum-head .vml-forum-cell {
	background: none;
	border: none;
	box-shadow: none;
	color: var(--neon-gold);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 4px 14px;
}
.vml-forum-table tbody tr:not(.vml-forum-head) {
	background: linear-gradient(160deg, rgba(138,43,226,0.14), rgba(21,10,43,0.7));
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-forum-table tbody tr:not(.vml-forum-head):hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(255,47,208,0.2);
}
.vml-forum-cell {
	padding: 14px 16px;
	border-top: 1px solid rgba(202,160,73,0.25);
	border-bottom: 1px solid rgba(202,160,73,0.25);
	border-right: none;
	color: var(--text-light);
	font-size: 12px;
	vertical-align: middle;
}
.vml-forum-cell:first-child {
	border-left: 1px solid rgba(202,160,73,0.25);
	border-radius: 12px 0 0 12px;
}
.vml-forum-cell:last-child {
	border-right: 1px solid rgba(202,160,73,0.25);
	border-radius: 0 12px 12px 0;
}
.vml-forum-icon-kreis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, rgba(255,255,255,0.18), transparent 60%), linear-gradient(160deg, var(--neon-pink), #8a2be2);
	box-shadow: 0 0 14px rgba(255,47,208,0.4);
	font-size: 15px;
	margin-right: 10px;
	flex-shrink: 0;
	vertical-align: middle;
}
.vml-forum-main {
	width: 40%;
	display: table-cell;
}
.vml-forum-main-inner {
	display: flex;
	align-items: center;
}
.vml-forum-col-narrow {
	width: 20%;
	white-space: nowrap;
}
.vml-forum-stats {
	color: var(--neon-gold);
	line-height: 1.5;
}
.vml-forum-desc {
	color: rgba(238,240,255,0.6);
	font-size: 11px;
	margin-top: 4px;
}
.vml-forum-link {
	color: var(--neon-cyan) !important;
	text-decoration: none !important;
	font-weight: bold;
	transition: color 0.15s ease;
}
.vml-forum-link:hover {
	color: var(--neon-pink) !important;
}
.vml-forum-neu-punkt {
	display: inline-block;
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--neon-cyan);
	box-shadow: 0 0 8px var(--neon-cyan);
	margin-right: 6px;
	animation: vmlForumNeuPuls 1.8s ease-in-out infinite;
}
@keyframes vmlForumNeuPuls { 0%,100% { opacity: 0.5; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
	.vml-forum-neu-punkt { animation: none; }
}

/* Themen-Liste innerhalb eines Forums - eigene Tabelle, nicht die geteilte Admin-Tabelle */
.vml-forum-thema-table {
	border-collapse: separate;
	border-spacing: 0 10px;
}
.vml-forum-thema-table th {
	color: var(--neon-gold);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 4px 12px;
	text-align: left;
}
.vml-forum-thema-row {
	background: linear-gradient(160deg, rgba(138,43,226,0.14), rgba(21,10,43,0.7));
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-forum-thema-row:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(255,47,208,0.2);
}
.vml-forum-thema-row td {
	padding: 12px;
	font-size: 12px;
	color: var(--text-light);
	border-top: 1px solid rgba(202,160,73,0.2);
	border-bottom: 1px solid rgba(202,160,73,0.2);
}
.vml-forum-thema-row td:first-child {
	border-left: 1px solid rgba(202,160,73,0.2);
	border-radius: 10px 0 0 10px;
}
.vml-forum-thema-row td:last-child {
	border-right: 1px solid rgba(202,160,73,0.2);
	border-radius: 0 10px 10px 0;
}

/* --- Forum-Dashboard V2: linke Navigation + Hauptbereich + rechte Widgets --- */
.vml-forum-shell {
	display: grid;
	grid-template-columns: 230px minmax(0,1fr) 280px;
	gap: 18px;
	align-items: start;
	max-width: 1400px;
	margin: 0 auto;
}
@media (max-width: 1150px) {
	.vml-forum-shell { grid-template-columns: 1fr; }
}

.vml-forum-sidebar {
	display: flex;
	flex-direction: column;
	gap: 4px;
	position: sticky;
	top: 16px;
}
.vml-forum-new-topic {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--neon-pink), #8a2be2);
	color: #fff !important;
	text-decoration: none !important;
	font-weight: bold;
	margin-bottom: 14px;
	box-shadow: 0 0 16px rgba(255,47,208,0.35);
}
.vml-forum-side-title {
	color: var(--neon-gold);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 14px 0 4px;
	padding: 0 8px;
}
.vml-forum-sidebar a {
	display: block;
	padding: 7px 10px;
	border-radius: 8px;
	color: var(--text-light) !important;
	text-decoration: none !important;
	font-size: 13px;
	transition: background 0.15s ease, color 0.15s ease;
}
.vml-forum-sidebar a:hover { background: rgba(255,47,208,0.12); color: var(--neon-pink) !important; }
.vml-forum-sidebar a.active { background: rgba(255,47,208,0.18); color: var(--neon-pink) !important; font-weight: bold; }

.vml-forum-hero {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: linear-gradient(160deg, rgba(138,43,226,0.18), rgba(21,10,43,0.85));
	border: 1px solid rgba(202,160,73,0.25);
	border-radius: 16px;
	padding: 20px 24px;
	margin-bottom: 16px;
}
.vml-forum-eyebrow { color: var(--neon-cyan); font-size: 11px; letter-spacing: 0.08em; }
.vml-forum-hero h1 { margin: 4px 0; font-size: 26px; }
.vml-forum-hero p { margin: 0; opacity: 0.75; font-size: 13px; }
.vml-forum-hero p b { color: var(--neon-pink); }
.vml-forum-hero p span { color: var(--neon-cyan); }
.vml-forum-hero-heart { font-size: 40px; color: var(--neon-pink); text-shadow: 0 0 20px var(--neon-pink); }

.vml-forum-section { margin-bottom: 20px; }
.vml-forum-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.vml-forum-section-head span { font-size: 15px; font-weight: bold; text-transform: uppercase; letter-spacing: 0.04em; color: var(--neon-gold); }
.vml-forum-section-head small { opacity: 0.6; font-size: 11px; }

.vml-forum-category-list { display: flex; flex-direction: column; gap: 12px; }
.vml-forum-category {
	display: grid;
	grid-template-columns: 46px minmax(0,1fr) 90px 90px 200px;
	gap: 14px;
	align-items: center;
	padding: 14px;
	border: 1px solid rgba(202,160,73,0.25);
	border-radius: 12px;
	background: linear-gradient(160deg, rgba(138,43,226,0.14), rgba(21,10,43,0.7));
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-forum-category:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(255,47,208,0.18); }
.vml-forum-category-icon {
	width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
	font-size: 20px; border-radius: 50%; color: #fff;
	box-shadow: 0 0 14px currentColor;
}
.vml-forum-accent-1 .vml-forum-category-icon, .vml-forum-accent-1 { --accent: #ff36ce; }
.vml-forum-accent-2 .vml-forum-category-icon, .vml-forum-accent-2 { --accent: #8f39ff; }
.vml-forum-accent-3 .vml-forum-category-icon, .vml-forum-accent-3 { --accent: #16d9ff; }
.vml-forum-accent-4 .vml-forum-category-icon, .vml-forum-accent-4 { --accent: #4d9fff; }
.vml-forum-accent-5 .vml-forum-category-icon, .vml-forum-accent-5 { --accent: #ffd23f; }
.vml-forum-category { border-left: 3px solid var(--accent, var(--neon-pink)); }
.vml-forum-category-icon { background: var(--accent, var(--neon-pink)); color: var(--accent, var(--neon-pink)); }
.vml-forum-category-info { min-width: 0; }
.vml-forum-category-info a { color: var(--neon-cyan); text-decoration: none; font-weight: bold; font-size: 15px; }
.vml-forum-category-info a:hover { color: var(--neon-pink); }
.vml-forum-category-info p { margin: 4px 0 0; opacity: 0.6; font-size: 11px; }
.vml-forum-count { text-align: center; font-size: 12px; color: var(--neon-gold); }
.vml-forum-count b { display: block; font-size: 16px; }
.vml-forum-last { font-size: 11px; line-height: 1.5; min-width: 0; }
.vml-forum-last small { opacity: 0.55; display: block; }
.vml-forum-last a { color: var(--neon-cyan); text-decoration: none; }
.vml-forum-last span { opacity: 0.7; display: block; margin-top: 2px; }
@media (max-width: 700px) {
	.vml-forum-category { grid-template-columns: 40px 1fr; }
	.vml-forum-count, .vml-forum-last { grid-column: 1 / -1; text-align: left; }
}

.vml-forum-latest-list { display: flex; flex-direction: column; gap: 8px; }
.vml-forum-latest-row {
	display: grid;
	grid-template-columns: 32px minmax(0,1fr) 80px 80px 140px;
	gap: 12px;
	align-items: center;
	padding: 10px 12px;
	border: 1px solid rgba(202,160,73,0.2);
	border-radius: 10px;
	background: linear-gradient(160deg, rgba(138,43,226,0.1), rgba(21,10,43,0.6));
}
.vml-forum-latest-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.vml-forum-latest-topic a { color: var(--neon-cyan); text-decoration: none; font-size: 13px; font-weight: bold; display: block; }
.vml-forum-latest-topic span { opacity: 0.6; font-size: 11px; }
.vml-forum-latest-number { text-align: center; font-size: 11px; opacity: 0.8; }
.vml-forum-latest-number b { display: block; font-size: 14px; color: var(--neon-gold); }
.vml-forum-latest-user { text-align: right; font-size: 11px; }
.vml-forum-latest-user a { color: var(--neon-pink); text-decoration: none; display: block; }
.vml-forum-latest-user span { opacity: 0.5; }
@media (max-width: 700px) {
	.vml-forum-latest-row { grid-template-columns: 28px 1fr; }
	.vml-forum-latest-number, .vml-forum-latest-user { grid-column: 1 / -1; text-align: left; }
}

.vml-forum-widget {
	padding: 16px;
	border: 1px solid rgba(202,160,73,0.25);
	border-radius: 14px;
	background: linear-gradient(160deg, rgba(138,43,226,0.14), rgba(21,10,43,0.85));
	margin-bottom: 14px;
}
.vml-forum-widget-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; opacity: 0.7; margin-bottom: 10px; }
.vml-forum-profile-mini { display: flex; align-items: center; gap: 12px; }
.vml-forum-avatar-ring { width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--neon-pink); overflow: hidden; flex-shrink: 0; }
.vml-forum-avatar-ring img { width: 100%; height: 100%; object-fit: cover; }
.vml-forum-profile-mini span { display: block; opacity: 0.6; font-size: 11px; }
.vml-forum-hot { display: flex; align-items: center; gap: 10px; padding: 6px 0; text-decoration: none !important; border-top: 1px solid rgba(255,255,255,0.06); }
.vml-forum-hot:first-of-type { border-top: none; }
.vml-forum-hot b { color: var(--neon-gold); font-size: 14px; width: 16px; flex-shrink: 0; }
.vml-forum-hot span { color: var(--text-light); font-size: 12px; }
.vml-forum-hot small { display: block; opacity: 0.5; font-size: 10px; margin-top: 1px; }
.vml-forum-stat { display: flex; justify-content: space-between; font-size: 12px; padding: 4px 0; }
.vml-forum-stat span { opacity: 0.6; }

/* BBCode-Formatierungsleiste - vorher unsichtbar (kaputtes src auf type=button), jetzt echte Buttons */
.vml-bb-toolbar {
	margin: 10px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	background: rgba(21,10,43,0.6);
	border: 1px solid rgba(202,160,73,0.25);
	border-radius: 8px;
	padding: 6px 8px;
}
.vml-bb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 26px;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 6px;
	background: rgba(255,255,255,0.06);
	cursor: pointer;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}
.vml-bb-btn img { max-width: 16px; max-height: 16px; display: block; }
.vml-bb-btn:hover {
	background: rgba(255,47,208,0.18);
	box-shadow: 0 0 10px rgba(255,47,208,0.35);
}
.vml-bb-trenner {
	width: 1px;
	height: 20px;
	background: rgba(202,160,73,0.3);
	margin: 0 2px;
}

/* Beitrags-Karten in forum_thema_lesen.php */
.vml-forum-post-karte {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	background: linear-gradient(160deg, rgba(138,43,226,0.16), rgba(21,10,43,0.85));
	border: 1px solid rgba(255,47,208,0.25);
	border-radius: 12px;
	padding: 14px;
	margin-bottom: 14px;
	box-shadow: 0 8px 18px rgba(0,0,0,0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-forum-post-karte:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(255,47,208,0.22);
}
.vml-forum-post-avatar {
	flex: 0 0 auto;
}
.vml-forum-post-avatar img {
	box-shadow: 0 0 14px rgba(255,47,208,0.35);
	border: 2px solid rgba(202,160,73,0.4);
}

/* Shop (Cash kaufen) */
.vml-shop-form {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.vml-shop-highlight {
	color: var(--neon-gold);
}
.vml-shop-konto {
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-cyan);
	border-radius: 8px;
	padding: 12px 16px;
	margin: 12px 0;
}
.vml-shop-konto div {
	margin-bottom: 4px;
}
.vml-shop-konto span {
	color: var(--neon-cyan);
	font-weight: bold;
	display: inline-block;
	width: 130px;
}
.vml-shop-features {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 10px;
}
.vml-shop-feature-block {
	background: rgba(138,43,226,0.12);
	border: 1px solid var(--neon-purple);
	border-radius: 8px;
	padding: 12px 16px;
	flex: 1;
	min-width: 220px;
}
.vml-shop-feature-title {
	color: var(--neon-gold);
	font-weight: bold;
	margin-bottom: 6px;
}
.vml-shop-feature-block ul {
	margin: 0;
	padding-left: 18px;
	font-size: 12px;
	color: rgba(238,240,255,0.85);
}

/* Partner-Programm */
.vml-partner-grid {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
}
.vml-partner-grid .vml-panel {
	flex: 1;
	min-width: 320px;
}
.vml-ref-link-row {
	display: flex;
	gap: 8px;
	margin-top: 6px;
}
.vml-ref-stats {
	display: flex;
	gap: 14px;
	margin-top: 16px;
}
.vml-ref-stat-box {
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-purple);
	border-radius: 8px;
	padding: 12px 20px;
	text-align: center;
	flex: 1;
}
.vml-ref-stat-number {
	font-size: 26px;
	font-weight: bold;
	color: var(--neon-gold);
}
.vml-ref-stat-label {
	font-size: 11px;
	color: rgba(238,240,255,0.7);
	margin-top: 4px;
}

/* Tagesaufgaben */
.vml-task-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 10px;
}
.vml-task-row {
	display: flex;
	align-items: center;
	gap: 12px;
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-purple);
	border-radius: 8px;
	padding: 10px 14px;
}
.vml-task-row.vml-task-done {
	border-color: #2ee6a8;
	opacity: 0.6;
}
.vml-task-check {
	font-size: 16px;
	color: var(--neon-cyan);
	width: 20px;
	text-align: center;
}
.vml-task-done .vml-task-check {
	color: #2ee6a8;
}
.vml-task-label {
	flex: 1;
	color: var(--text-light);
	font-size: 13px;
}
.vml-task-reward {
	color: var(--neon-gold);
	font-weight: bold;
	font-size: 12px;
}
.vml-task-go {
	background: var(--neon-pink) !important;
	color: #150a2b !important;
	border-radius: 14px;
	padding: 4px 12px;
	font-size: 11px;
	font-weight: bold;
	text-decoration: none !important;
	white-space: nowrap;
}

/* Level/Rang-Badge */
.vml-rank-badge {
	display: inline-block;
	border: 1px solid var(--neon-cyan);
	border-radius: 14px;
	padding: 3px 12px;
	font-size: 11px;
	font-weight: bold;
	background: rgba(0,0,0,0.4);
	margin-right: 8px;
	white-space: nowrap;
}
.vml-profilhead-status {
	font-size: 13px;
	color: var(--text-light);
	opacity: 0.85;
	margin: 3px 0;
	font-style: italic;
}
.vml-profilhead-lastactive {
	font-size: 11px;
	color: #2ee6a8;
	margin-bottom: 4px;
}
.vml-match-badge {
	display: inline-block;
	border: 1px solid var(--neon-gold);
	color: var(--neon-gold);
	border-radius: 14px;
	padding: 3px 12px;
	font-size: 11px;
	font-weight: bold;
	background: rgba(255,210,63,0.1);
	margin-right: 8px;
}
.vml-hobby-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
}
.vml-hobby-tag {
	display: inline-block;
	background: rgba(255,47,208,0.12);
	border: 1px solid var(--neon-pink);
	color: var(--neon-pink);
	border-radius: 14px;
	padding: 3px 12px;
	font-size: 12px;
	text-decoration: none;
}
.vml-hobby-tag:hover {
	background: rgba(255,47,208,0.25);
}
.vml-pinned-foto {
	max-width: 100%;
	max-height: 380px;
	border-radius: 10px;
	border: 2px solid var(--neon-gold);
	box-shadow: 0 0 16px rgba(255,210,63,0.4);
}
.vml-profil-vollstaendigkeit-bar {
	width: 100%;
	height: 10px;
	background: rgba(255,255,255,0.1);
	border-radius: 6px;
	overflow: hidden;
	margin: 6px 0;
}
.vml-profil-vollstaendigkeit-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--neon-pink), var(--neon-gold));
	border-radius: 6px;
}
.vml-profil-krone-box {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, rgba(255,210,63,0.15), rgba(255,138,30,0.1));
	border: 1px solid #ffd23f;
	border-radius: 12px;
	padding: 10px 14px;
	margin: 8px 0;
	box-shadow: 0 0 16px rgba(255,210,63,0.3);
}
.vml-profil-krone-icon { font-size: 28px; }
.vml-profil-krone-text { font-size: 12px; color: #ffd23f; font-weight: bold; flex-shrink: 0; }
.vml-profil-level-bar-wrap { flex: 1; min-width: 120px; }
.vml-profil-level-label { font-size: 11px; color: var(--text-light); margin-bottom: 3px; }
.vml-profil-level-bar { width: 100%; height: 8px; background: rgba(255,255,255,0.15); border-radius: 5px; overflow: hidden; }
.vml-profil-level-bar-fill { height: 100%; background: linear-gradient(90deg, #ffd23f, #ff8a1e); border-radius: 5px; }

/* Cash-Raetsel Mini-Game */
.vml-raetsel-form {
	margin-top: 10px;
}
.vml-raetsel-frage {
	font-size: 15px;
	font-weight: bold;
	color: var(--neon-cyan);
	margin-bottom: 14px;
}
.vml-raetsel-option {
	display: block;
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-purple);
	border-radius: 8px;
	padding: 10px 14px;
	margin-bottom: 8px;
	cursor: pointer;
	color: var(--text-light);
	font-size: 13px;
}
.vml-raetsel-option:hover {
	border-color: var(--neon-pink);
}
.vml-raetsel-option input {
	margin-right: 8px;
}
.vml-raetsel-feedback {
	padding: 10px 14px;
	border-radius: 8px;
	margin-bottom: 12px;
	font-weight: bold;
}
.vml-raetsel-ok {
	background: rgba(46,230,168,0.15);
	border: 1px solid #2ee6a8;
	color: #2ee6a8;
}
.vml-raetsel-fail {
	background: rgba(255,47,93,0.15);
	border: 1px solid #ff2f5d;
	color: #ff2f5d;
}

/* Chat-Moderation */
.vml-chat-del {
	cursor: pointer;
	color: #ff2f5d;
	font-weight: bold;
	margin-left: 6px;
	opacity: 0.7;
}
.vml-chat-warn, .vml-chat-kick {
	cursor: pointer;
	margin-left: 6px;
	opacity: 0.7;
	font-size: 13px;
}
.vml-chat-warn:hover, .vml-chat-kick:hover, .vml-chat-del:hover {
	opacity: 1;
}
.vml-chat-del:hover {
	opacity: 1;
}

/* Bereichsrechte-Abzeichen (Bild/Video/Forum/Chat Admin/Moderator) */
.vml-recht-badge {
	display: inline-block;
	border-radius: 12px;
	padding: 3px 10px;
	font-size: 10px;
	font-weight: bold;
	margin: 2px 2px;
}
.vml-recht-admin {
	background: rgba(255,47,208,0.2);
	border: 1px solid var(--neon-pink);
	color: var(--neon-pink);
}
.vml-recht-mod {
	background: rgba(0,234,255,0.15);
	border: 1px solid var(--neon-cyan);
	color: var(--neon-cyan);
}

/* Icon-Navigation (Arcade-Night-Update) - jetzt mit linker + rechter Gruppe in einer Zeile */
.vml-iconnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	margin: 0 24px 12px 24px;
}
.vml-iconnav-left, .vml-iconnav-right {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}
.vml-iconnav-item {
	background: var(--bg-panel) !important;
	border: 1px solid rgba(232,16,42,0.3);
	color: var(--text-light) !important;
	text-decoration: none !important;
	padding: 12px 18px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.vml-iconnav-left .vml-iconnav-item:first-child { border-radius: 10px 0 0 10px; }
.vml-iconnav-item:hover {
	background: var(--neon-pink) !important;
	border-color: var(--neon-pink);
	color: #2B0106 !important;
}
.vml-iconnav-right .vml-lang-select {
	background: var(--bg-panel);
	border: 1px solid rgba(232,16,42,0.3);
	color: var(--text-light);
	padding: 10px 10px;
	font-size: 13px;
	border-radius: 8px;
}
@media (max-width: 900px) {
	.vml-iconnav { justify-content: flex-start; }
}

/* Cash/Such-Leiste */
.vml-utilrow {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 24px 16px 24px;
	flex-wrap: wrap;
}
.vml-hello-chip {
	font-size: 13px;
	color: var(--text-light);
	opacity: 0.85;
}
.vml-cash-chip {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--bg-panel);
	border: 1px solid var(--neon-gold);
	border-radius: 999px;
	padding: 8px 18px;
	font-weight: 800;
	font-size: 13px;
	color: var(--neon-gold) !important;
	text-decoration: none !important;
}
.vml-cash-chip .mono {
	font-family: monospace;
	text-shadow: 0 0 10px rgba(255,234,46,0.5);
}
.vml-krone-chip {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--bg-panel);
	border: 1px solid #ffd23f;
	border-radius: 999px;
	padding: 8px 16px;
	font-weight: 800;
	font-size: 13px;
	color: #ffd23f;
	text-decoration: none;
	box-shadow: 0 0 12px rgba(255,210,63,0.35);
}
.vml-krone-chip:hover { background: rgba(255,210,63,0.12); }
.vml-krone-chip-std { opacity: 0.7; font-size: 11px; font-weight: 400; }
.vml-search-box { flex: 1; min-width: 180px; margin: 0; }
.vml-search-box input {
	width: 100%;
	background: var(--bg-panel);
	border: 1px solid rgba(185,77,255,0.4);
	border-radius: 999px;
	color: var(--text-light);
	padding: 10px 18px;
	font-family: inherit;
	font-size: 13px;
	box-sizing: border-box;
}
.vml-lang-select {
	background: var(--bg-panel);
	border: 1px solid var(--neon-cyan);
	color: var(--text-light);
	border-radius: 8px;
	padding: 8px 10px;
	font-family: inherit;
	font-size: 12px;
}

/* Team-Seite */
.vml-team-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 16px;
}
.vml-team-card {
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-purple);
	border-radius: 10px;
	padding: 14px;
	width: 160px;
	text-align: center;
}
.vml-team-foto {
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 50%;
	border: 2px solid var(--neon-cyan);
	margin-bottom: 10px;
}
.vml-team-name {
	font-weight: bold;
	color: var(--text-light);
	margin-bottom: 8px;
}
.vml-team-rollen {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
}

/* Chat-Smiley-Leiste */
.vml-chat-smilies {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
	padding: 8px;
	margin-bottom: 8px;
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--neon-purple);
	border-radius: 8px;
}
.vml-chat-smiley {
	cursor: pointer;
	border-radius: 3px;
	transition: transform 0.1s ease;
}
.vml-chat-smiley:hover {
	transform: scale(1.3);
}
.vml-chat-smiley-locked {
	color: var(--neon-gold) !important;
	font-size: 11px;
	text-decoration: underline !important;
	margin-left: 6px;
}

/* Sidebar-Titel als Text statt Bild (z.B. WIN-USER) */
.vml-side-title {
	background: linear-gradient(90deg, #2a1050, #4a1a7a) !important;
	color: var(--neon-gold) !important;
	font-weight: bold;
	font-size: 12px;
	letter-spacing: 1px;
	text-align: left;
	padding-left: 8px;
	border-bottom: 1px solid var(--neon-purple);
}

/* Mitglieder-Menu (Mail Eingang, Profil bearbeiten, usw.) */
.vml-member-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 14px;
	background: linear-gradient(180deg, #0d0620 0%, #150a2b 100%);
	border: 1px solid var(--neon-purple);
	border-radius: 10px;
	box-shadow: 0 0 12px rgba(138,43,226,0.35);
	max-width: 1500px;
	margin: 0 auto 16px auto;
}
.vml-member-nav-item {
	background: rgba(138,43,226,0.15) !important;
	color: var(--text-light) !important;
	border: 1px solid var(--neon-purple);
	border-radius: 20px;
	padding: 7px 16px;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none !important;
	white-space: nowrap;
	transition: all 0.15s ease;
}
.vml-member-nav-item:hover {
	background: var(--neon-pink) !important;
	color: #150a2b !important;
	border-color: var(--neon-pink);
	box-shadow: 0 0 10px rgba(255,47,208,0.7);
}
.vml-mnav-ic {
	display: inline-block;
	margin-right: 2px;
	opacity: 0.85;
}

/* Startseiten-Layout mit rechter Seitenleiste */
.vml-home-layout {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
.vml-home-main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.vml-home-rail {
	width: 240px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.vml-rail-box {
	background: var(--bg-panel);
	border: 1px solid rgba(232,16,42,0.3);
	border-radius: 12px;
	padding: 14px;
}
.vml-rail-title {
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--neon-gold);
	font-weight: bold;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(232,16,42,0.25);
	padding-bottom: 6px;
}
.vml-rail-row {
	font-size: 12px;
	padding: 4px 0;
	color: var(--text-light);
	display: flex;
	align-items: center;
	gap: 6px;
}
.vml-rail-rank {
	color: var(--neon-cyan);
	font-weight: bold;
	width: 16px;
}
.vml-rail-online {
	margin-left: auto;
	font-size: 9px;
	color: #2ee6a8;
	text-transform: uppercase;
}
.vml-rail-chat-row {
	font-size: 11px;
	color: var(--text-light);
	padding: 3px 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.vml-rail-chat-row b {
	color: var(--neon-cyan);
}
.vml-rail-chat-link {
	display: block;
	text-align: right;
	font-size: 11px;
	color: var(--neon-pink) !important;
	margin-top: 8px;
	text-decoration: none !important;
}
.vml-lang-flags img {
	width: 26px;
	height: auto;
	margin-left: 6px;
	border-radius: 3px;
	box-shadow: 0 0 4px rgba(0,0,0,0.6);
}
.vml-login-row {
	border-top: 1px solid rgba(255,47,208,0.35);
	padding: 12px 22px;
	background: rgba(0,0,0,0.25);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.vml-login-form {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.vml-input {
	background-color: #0c0620 !important;
	color: var(--neon-cyan) !important;
	border: 1px solid var(--neon-cyan) !important;
	border-radius: 6px;
	padding: 5px 10px;
	font-size: 12px;
}
.vml-login-btn {
	background-color: var(--neon-pink) !important;
	color: #150a2b !important;
	border: none !important;
	border-radius: 6px;
	padding: 6px 16px;
	font-weight: bold;
	font-size: 12px;
	cursor: pointer;
	box-shadow: 0 0 8px rgba(255,47,208,0.7);
}
.vml-login-btn:hover {
	box-shadow: 0 0 14px rgba(255,47,208,1);
}
.vml-register-btn {
	background: transparent !important;
	color: var(--neon-cyan) !important;
	border: 1px solid var(--neon-cyan) !important;
	border-radius: 6px;
	padding: 5px 14px;
	font-weight: bold;
	font-size: 12px;
	text-decoration: none;
}
.vml-register-btn:hover {
	background: var(--neon-cyan) !important;
	color: #150a2b !important;
	box-shadow: 0 0 10px rgba(0,234,255,0.8);
}
.vml-forgot {
	color: var(--neon-gold) !important;
	font-size: 11px;
	text-decoration: none;
}
.vml-forgot:hover {
	text-shadow: 0 0 6px var(--neon-gold);
}
.vml-logout-btn {
	color: var(--text-light) !important;
	font-size: 12px;
	text-decoration: none;
	border: 1px solid var(--neon-cyan);
	border-radius: 6px;
	padding: 5px 12px;
}
.vml-logout-btn:hover {
	color: var(--neon-pink) !important;
	border-color: var(--neon-pink);
}
.vml-marquee {
	color: var(--text-light);
	font-size: 12px;
	flex: 1;
}
@media (max-width: 700px) {
	.vml-topbar-inner { justify-content: center; text-align: center; }
	.vml-login-row { justify-content: center; }
}

/* ============================================================
   Neue Panel-/Karten-Layouts (Startseite)
   ============================================================ */
.vml-page {
	max-width: 1500px;
	margin: 0 auto 30px auto;
	display: flex;
	flex-direction: column;
	gap: 18px;
	font-family: "Verdana", Arial, sans-serif;
}
.vml-panel {
	background: linear-gradient(180deg, #0d0620 0%, #150a2b 100%);
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	box-shadow: 0 0 16px rgba(255,47,208,0.35);
	overflow: hidden;
}
.vml-panel-title {
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 1px;
	color: #ffffff;
	padding: 10px 14px;
	background: linear-gradient(90deg, #ff2fd0, #8a2be2);
	text-shadow: 0 0 6px rgba(0,0,0,0.4);
}
.vml-panel-body {
	padding: 16px 20px;
	color: var(--text-light);
	font-size: 13px;
	line-height: 1.5;
}

/* User-Karten (User des Tages / User der Stunde / Top Frau / Top Mann) */
.vml-usercard-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 16px;
	padding: 22px 16px;
}
.vml-usercard {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 140px;
}
.vml-usercard-label {
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 10px;
	text-transform: uppercase;
}
.vml-label-tag    { color: var(--neon-gold); text-shadow: 0 0 6px rgba(255,210,63,0.7); }
.vml-label-stunde { color: var(--neon-cyan); text-shadow: 0 0 6px rgba(0,234,255,0.7); }
.vml-label-frau   { color: var(--neon-pink); text-shadow: 0 0 6px rgba(255,47,208,0.7); }
.vml-label-mann   { color: #6db4ff; text-shadow: 0 0 6px rgba(109,180,255,0.7); }
.vml-usercard-photo {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	overflow: hidden;
	background: #0c0620;
	border: 2px solid var(--neon-purple);
	box-shadow: 0 0 12px rgba(138,43,226,0.6);
	display: flex;
	align-items: center;
	justify-content: center;
}
.vml-usercard-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Neue Mitglieder Fotos */
.vml-photo-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	padding: 18px;
}
.vml-photo-thumb {
	display: block;
	width: 78px;
	height: 78px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--neon-cyan);
	box-shadow: 0 0 8px rgba(0,234,255,0.4);
}
.vml-photo-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Top Gold Partner */
.vml-partner-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding: 18px;
}
.vml-partner-empty {
	color: rgba(238,240,255,0.5);
	font-size: 12px;
	font-style: italic;
}

/* ============================================================
   Video Portal (videoportal.php)
   ============================================================ */
.vml-video-search {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.vml-video-search input[type="text"] {
	flex: 1;
	min-width: 160px;
	background: #150a2b;
	border: 1px solid var(--neon-cyan);
	border-radius: 6px;
	padding: 6px 10px;
	color: var(--text-light);
}
.vml-video-table {
	border-collapse: collapse;
	width: 100%;
}
.vml-video-table th {
	text-align: left;
	color: var(--neon-gold);
	border-bottom: 1px solid var(--neon-pink);
	padding: 6px 8px;
}
.vml-video-table td {
	padding: 6px 8px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.vml-video-layout {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: flex-start;
}
.vml-video-main {
	flex: 2;
	min-width: 280px;
}
.vml-video-side {
	flex: 1;
	min-width: 220px;
}
.vml-comment-form {
	display: flex;
	gap: 8px;
	margin: 10px 0;
	flex-wrap: wrap;
}
.vml-comment-form input {
	flex: 1;
	min-width: 160px;
	background: #150a2b;
	border: 1px solid var(--neon-cyan);
	border-radius: 6px;
	padding: 6px 10px;
	color: var(--text-light);
}
.vml-comment-row {
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-size: 13px;
}

/* ============================================================
   Foto Voting (voting.php)
   ============================================================ */
.vml-vote-result {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-bottom: 16px;
	text-align: center;
}
.vml-vote-result img {
	border-radius: 8px;
}
.vml-vote-photos {
	display: flex;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
}
.vml-vote-photo {
	position: relative;
	width: 240px;
	text-align: center;
}
.vml-vote-photo input[type="image"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 320px;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}
.vml-vote-photo img {
	width: 240px;
	height: 320px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--neon-pink);
}

/* ============================================================
   Toplisten (top_women.php, top_man.php, top_bikini.php, etc.)
   ============================================================ */
.vml-toplist-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-bottom: 18px;
}
.vml-toplist-tab {
	background: transparent;
	color: var(--neon-cyan);
	border: 1px solid var(--neon-cyan);
	border-radius: 6px;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
	cursor: pointer;
}
.vml-toplist-tab:hover {
	background: var(--neon-cyan);
	color: #150a2b;
}
.vml-toplist-active {
	background: var(--neon-pink) !important;
	color: #150a2b !important;
	border-color: var(--neon-pink) !important;
}
.vml-toplist-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
}
.vml-toplist-card {
	width: 240px;
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	overflow: hidden;
	background: #150a2b;
}
.vml-toplist-rank {
	background: linear-gradient(90deg, #ff2fd0, #8a2be2);
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	padding: 6px 10px;
	text-align: center;
}
.vml-toplist-card img {
	width: 240px;
	height: 320px;
	object-fit: cover;
	display: block;
}

/* ============================================================
   User-Listen (birthday.php, new_user.php, onlinelist.php, search_user.php)
   ============================================================ */
.vml-userlist-header {
	display: none;
}
.vml-userlist-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 6px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	flex-wrap: wrap;
}
.vml-userlist-avatar img {
	width: 55px;
	height: 70px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--neon-pink);
}
.vml-userlist-name {
	flex: 1;
	min-width: 120px;
}
.vml-userlist-ort {
	min-width: 120px;
	font-size: 12px;
}
.vml-userlist-cash {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	min-width: 70px;
}
.vml-userlist-actions {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 50px;
}
@media (max-width: 700px) {
	.vml-userlist-row { justify-content: flex-start; }
}

/* ============================================================
   Neuzugaenge (new_user.php)
   ============================================================ */
.vml-newusers-columns {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.vml-newusers-col {
	flex: 1;
	min-width: 280px;
}
.vml-newphotos-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.vml-newphotos-row img {
	width: 78px;
	height: 104px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--neon-pink);
}

/* ============================================================
   Profil-Kopf + Profil-Daten (myprofil.php, profil.php)
   ============================================================ */
.vml-profilhead {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding: 14px 20px;
}
.vml-profilhead-info { flex: 1; min-width: 140px; }
.vml-profilhead-nick { font-weight: bold; font-size: 16px; color: #fff; }
.vml-profilhead-cash { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--neon-gold); }
.vml-profilhead-star { width: 32px; height: 32px; }
.vml-profilhead-actions { display: flex; flex-direction: column; gap: 6px; }
.vml-profilhead-actions a { font-size: 11px; }
.vml-profilhead-rank { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.vml-profil-layout {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: flex-start;
}
.vml-profil-photo iframe {
	border-radius: 8px;
	border: 1px solid var(--neon-pink);
}
.vml-profil-data {
	flex: 1;
	min-width: 280px;
}
.vml-profil-datahead {
	display: flex;
	justify-content: space-between;
	background: linear-gradient(90deg, #ff2fd0, #8a2be2);
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 6px;
	margin: 10px 0 6px 0;
}
.vml-profil-subhead {
	color: var(--neon-gold);
	font-weight: bold;
	font-size: 12px;
	margin: 10px 0 4px 0;
	border-bottom: 1px solid rgba(255,255,255,0.15);
	padding-bottom: 3px;
}
.vml-profil-row {
	font-size: 13px;
	padding: 3px 0;
}
.vml-profil-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.vml-profil-icons img {
	border-radius: 6px;
}
.vml-profil-friends {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.vml-profil-friend {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	text-decoration: none;
	color: var(--text-light);
}
.vml-profil-friend-pic {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	object-fit: cover;
	border: 1px solid var(--neon-pink);
	flex-shrink: 0;
}

/* ============================================================
   Medien-Uebersicht (media.php)
   ============================================================ */
.vml-media-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	padding: 10px 0;
}
.vml-media-card {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, rgba(255,47,208,0.18), rgba(0,234,255,0.10));
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	padding: 18px 28px;
	min-width: 180px;
	text-decoration: none !important;
	color: var(--text-light) !important;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.5px;
	transition: all 0.15s ease;
	box-shadow: 0 0 10px rgba(255,47,208,0.2);
}
.vml-media-card:hover {
	background: var(--neon-pink);
	color: #150a2b !important;
	box-shadow: 0 0 18px rgba(255,47,208,0.7);
	transform: translateY(-2px);
}
.vml-media-card-icon {
	font-size: 26px;
	opacity: 0.9;
}

/* ============================================================
   Freundeliste / Ignorliste (friendlist.php, ignorlist.php)
   ============================================================ */
.vml-friend-info {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #150a2b;
	border: 1px solid var(--neon-cyan);
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 16px;
}
.vml-friend-info p { flex: 1; margin: 0; font-size: 13px; }
.vml-friend-add-form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* ============================================================
   Info-Bloecke (myprofil_cash.php, myprofil_info.php, u.a.)
   ============================================================ */
.vml-info-block {
	margin-bottom: 16px;
}
.vml-info-title {
	background: linear-gradient(90deg, #ff2fd0, #8a2be2);
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	padding: 8px 14px;
	border-radius: 6px 6px 0 0;
}
.vml-info-row {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #150a2b;
	border: 1px solid var(--neon-pink);
	border-top: none;
	border-radius: 0 0 6px 6px;
	padding: 14px 16px;
	flex-wrap: wrap;
}
.vml-info-row p { flex: 1; min-width: 200px; margin: 4px 0; }
.vml-info-row ul {
	margin: 4px 0;
	padding-left: 20px;
	align-self: flex-start;
	list-style-position: outside;
}
.vml-info-row ul li {
	margin: 3px 0;
	padding-left: 2px;
}

/* ============================================================
   Besucher-Grid (myprofil_guests.php)
   ============================================================ */
.vml-guests-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}
.vml-guest-card {
	width: 120px;
	text-align: center;
	font-size: 12px;
}
.vml-match-score {
	font-weight: bold;
	color: var(--neon-gold);
	font-size: 13px;
}
.vml-guest-card img {
	border-radius: 6px;
	border: 1px solid var(--neon-pink);
	margin: 6px 0;
}
.vml-guest-date {
	font-size: 11px;
	opacity: 0.75;
}

/* ============================================================
   Forum-Antworten (show_foren_antwort.php)
   ============================================================ */
.vml-forum-reply-card {
	display: flex;
	gap: 14px;
	background: #150a2b;
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	padding: 14px;
	margin-bottom: 14px;
}
.vml-forum-reply-photo img {
	border-radius: 8px;
	border: 1px solid var(--neon-pink);
}
.vml-forum-reply-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.vml-forum-reply-text {
	color: var(--text-light);
	margin-bottom: 10px;
}
.vml-forum-reply-meta {
	font-size: 12px;
	color: #8b95a5;
	border-top: 1px solid rgba(255,47,208,0.25);
	padding-top: 8px;
}

/* ============================================================
   Storys (stories.php)
   ============================================================ */
.vml-story-panel {
	padding: 12px 16px;
}
.vml-story-strip {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	padding-bottom: 4px;
}
.vml-story-circle {
	flex-shrink: 0;
	width: 74px;
	text-align: center;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}
.vml-story-circle img {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--neon-pink);
	box-shadow: 0 0 8px rgba(255,47,208,0.4);
}
.vml-story-circle-add {
	color: var(--text-light);
}
.vml-story-plus {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	border: 2px dashed var(--neon-pink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	color: var(--neon-pink);
}
.vml-story-nick {
	font-size: 10px;
	color: var(--text-light);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 70px;
}
.vml-story-viewer {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0,0,0,0.92);
	align-items: center;
	justify-content: center;
}
.vml-story-viewer-inner {
	max-width: 90vw;
	max-height: 85vh;
	text-align: center;
}
.vml-story-viewer-inner img {
	max-width: 100%;
	max-height: 75vh;
	border-radius: 10px;
	border: 2px solid var(--neon-pink);
}
.vml-story-viewer-nick {
	color: #fff;
	margin-top: 10px;
	font-weight: bold;
}

/* ============================================================
   Reaktionen (gbook.php und weitere)
   ============================================================ */
.vml-sprachnachricht-box {
	margin-top: 10px;
	padding: 8px;
	background: rgba(0,0,0,0.2);
	border-radius: 8px;
}
.vml-reaction-row {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}
.vml-reaction-btn {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 20px;
	padding: 3px 10px;
	font-size: 13px;
	color: var(--text-light);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 4px;
	transition: all 0.15s ease;
}
.vml-reaction-btn:hover {
	border-color: var(--neon-pink);
	background: rgba(255,47,208,0.1);
}
.vml-reaction-btn.vml-reaction-aktiv {
	border-color: var(--neon-pink);
	background: rgba(255,47,208,0.2);
	font-weight: bold;
}
.vml-reaction-count {
	font-size: 11px;
	color: var(--neon-gold);
	min-width: 6px;
}

/* ============================================================
   Sternenkarte (sternenkarte.php)
   ============================================================ */
.vml-sternenkarte-wrap {
	width: 100%;
	overflow: auto;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.1);
}
.vml-sternenkarte-himmel {
	position: relative;
	width: 100%;
	min-height: 520px;
	background: radial-gradient(circle at 50% 30%, #1a0f3a, #05030a 75%);
	overflow: hidden;
}
.vml-stern {
	position: absolute;
	transform: translate(-50%, -50%);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	cursor: pointer;
}
.vml-stern-punkt {
	color: var(--neon-gold);
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	filter: drop-shadow(0 0 8px rgba(255,234,46,0.8));
	transition: transform 0.2s;
}
.vml-stern:hover .vml-stern-punkt { transform: scale(1.4); filter: drop-shadow(0 0 16px rgba(255,234,46,1)); }
.vml-stern-mittelpunkt-punkt {
	color: var(--neon-pink);
	font-size: 32px;
	filter: drop-shadow(0 0 16px rgba(255,47,208,0.9));
}
.vml-stern-label {
	font-size: 10px;
	color: rgba(255,255,255,0.7);
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.2s;
}
.vml-stern:hover .vml-stern-label, .vml-stern-mittelpunkt .vml-stern-label { opacity: 1; }

/* ============================================================
   Musik-Sync (musiksync.php)
   ============================================================ */
.vml-musiksync-kompat { margin-bottom: 20px; }
.vml-musiksync-kompat-kreis {
	width: 100px; height: 100px; border-radius: 50%;
	border: 4px solid var(--neon-pink);
	display: flex; align-items: center; justify-content: center;
	font-size: 24px; font-weight: bold; color: var(--neon-gold);
	margin: 0 auto 8px auto;
	box-shadow: 0 0 24px rgba(255,47,208,0.4);
}
.vml-musiksync-player { max-width: 480px; margin: 16px auto 0 auto; }
.vml-musiksync-anfrage {
	background: #150a2b; border: 1px solid var(--neon-pink); border-radius: 12px;
	padding: 20px; max-width: 420px; margin: 0 auto;
}

/* ============================================================
   Auth-Karten (login_2fa.php, myprofil_2fa_setup.php)
   ============================================================ */
.vml-auth-card {
	max-width: 380px;
	margin: 40px auto;
	background: radial-gradient(circle at 50% 0%, rgba(255,47,208,0.08), transparent 60%), #150a2b;
	border: 1px solid rgba(255,47,208,0.35);
	border-radius: 20px;
	padding: 32px 28px;
	text-align: center;
	box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 30px rgba(255,47,208,0.08);
}
.vml-auth-icon {
	width: 64px; height: 64px;
	margin: 0 auto 16px auto;
	border-radius: 18px;
	background: rgba(255,47,208,0.12);
	border: 1px solid var(--neon-pink);
	display: flex; align-items: center; justify-content: center;
	font-size: 28px;
	box-shadow: 0 0 20px rgba(255,47,208,0.3);
}
.vml-auth-title { font-size: 20px; color: var(--text-light); margin: 0 0 6px 0; }
.vml-auth-subtitle { font-size: 13px; color: #8b95a5; margin: 0 0 20px 0; line-height: 1.5; }
.vml-auth-fehler { color: #ff2f5d; font-size: 13px; margin-bottom: 12px; }
.vml-auth-form { text-align: left; }
.vml-auth-label { display: block; font-size: 12px; color: #8b95a5; margin-bottom: 6px; }
.vml-auth-input {
	width: 100%;
	background: rgba(0,0,0,0.3);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 10px;
	padding: 12px 14px;
	color: var(--text-light);
	font-size: 15px;
	margin-bottom: 16px;
	box-sizing: border-box;
}
.vml-auth-input:focus { outline: none; border-color: var(--neon-pink); }
.vml-auth-code-input {
	text-align: center;
	letter-spacing: 8px;
	font-size: 22px;
	font-weight: bold;
}
.vml-auth-btn {
	width: 100%;
	border: none;
	border-radius: 10px;
	padding: 14px;
	font-size: 15px;
	font-weight: bold;
	color: #1a1208;
	background: linear-gradient(135deg, var(--neon-pink), #ff8a1e);
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(255,47,208,0.3);
}
.vml-auth-btn:hover { filter: brightness(1.08); }
.vml-auth-footer-link { font-size: 12px; color: #8b95a5; margin-top: 16px; }
.vml-auth-footer-link a { color: var(--neon-pink); text-decoration: none; }
.vml-auth-qr-box {
	background: #fff;
	padding: 12px;
	border-radius: 12px;
	display: inline-block;
	margin: 0 auto 16px auto;
}
.vml-auth-secret-box {
	background: rgba(0,0,0,0.3);
	border: 1px dashed rgba(255,255,255,0.2);
	border-radius: 8px;
	padding: 10px;
	font-family: monospace;
	font-size: 13px;
	color: var(--neon-gold);
	word-break: break-all;
	margin-bottom: 16px;
	text-align: center;
}
.vml-auth-status-aktiv { color: #2ee6a8; font-weight: bold; }
.vml-auth-status-inaktiv { color: #8b95a5; }

.vml-mini-login-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	max-width: 320px;
	margin: 0 auto;
	background: radial-gradient(circle at 50% 0%, rgba(255,47,208,0.1), transparent 70%), #150a2b;
	border: 1px solid rgba(255,47,208,0.35);
	border-radius: 18px;
	padding: 22px 22px 18px 22px;
	box-shadow: 0 16px 40px rgba(0,0,0,0.45);
	text-align: center;
}
.vml-mini-login-icon {
	width: 52px; height: 52px;
	margin: 0 auto 10px auto;
	border-radius: 14px;
	background: rgba(255,47,208,0.12);
	border: 1px solid var(--neon-pink);
	display: flex; align-items: center; justify-content: center;
	font-size: 22px;
	box-shadow: 0 0 16px rgba(255,47,208,0.3);
}
.vml-mini-login-title { font-size: 16px; font-weight: bold; color: var(--text-light); margin-bottom: 2px; }
.vml-mini-login-subtitle { font-size: 12px; color: #8b95a5; margin-bottom: 12px; }
.vml-mini-login-label { text-align: left; font-size: 11px; color: #8b95a5; margin-bottom: 3px; }
.vml-mini-login-input {
	background: rgba(0,0,0,0.35) !important;
	color: var(--text-light) !important;
	border: 1px solid rgba(255,255,255,0.15) !important;
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 13px;
	margin-bottom: 6px;
	width: 100%;
	box-sizing: border-box;
}
.vml-mini-login-input:focus { outline: none; border-color: var(--neon-pink) !important; }
.vml-mini-login-btn {
	border: none;
	border-radius: 8px;
	padding: 11px;
	font-weight: bold;
	font-size: 13px;
	color: #1a1208;
	background: linear-gradient(135deg, var(--neon-pink), #ff8a1e);
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(255,47,208,0.35);
	margin-top: 6px;
	width: 100%;
}
.vml-mini-login-btn:hover { filter: brightness(1.08); }
.vml-mini-login-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5px;
	font-size: 11px;
	color: #8b95a5;
	margin-top: 10px;
}
.vml-mini-login-links a { color: var(--neon-pink); text-decoration: none; }
.vml-mini-login-links a:hover { text-decoration: underline; }

/* ============================================================
   Verbindungs-Puls (puls.php)
   ============================================================ */
.vml-puls-herz {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	font-size: 60px;
	animation-name: vmlPulsSchlag;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
	filter: drop-shadow(0 0 20px rgba(255,47,208,0.6));
}
@keyframes vmlPulsSchlag {
	0%, 100% { transform: scale(1); }
	15% { transform: scale(1.15); }
	30% { transform: scale(1); }
	45% { transform: scale(1.1); }
	60% { transform: scale(1); }
}
.vml-puls-stats {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: 24px;
	flex-wrap: wrap;
}
.vml-puls-stat-box {
	background: #150a2b;
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	padding: 14px 20px;
	min-width: 100px;
}
.vml-puls-stat-box b {
	display: block;
	font-size: 24px;
	color: var(--neon-gold);
}
.vml-puls-stat-box span {
	font-size: 11px;
	color: #8b95a5;
}

/* ============================================================
   Die Krone (krone.php)
   ============================================================ */
.vml-krone-panel { border: 1px solid var(--neon-gold); }
.vml-krone-icon { font-size: 46px; filter: drop-shadow(0 0 16px rgba(255,210,63,0.7)); }
.vml-krone-avatar {
	width: 90px; height: 90px; border-radius: 50%; overflow: hidden;
	border: 3px solid var(--neon-gold); margin: 8px auto 0 auto;
	display: flex; align-items: center; justify-content: center; font-size: 36px;
	box-shadow: 0 0 20px rgba(255,210,63,0.5);
}
.vml-krone-avatar img { width: 100%; height: 100%; object-fit: cover; }
.vml-krone-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.vml-krone-liste-eintrag {
	display: flex; justify-content: space-between; padding: 8px 4px;
	border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 13px;
}
.vml-krone-liste-eintrag b { color: var(--neon-gold); }
@media (max-width: 700px) { .vml-krone-grid { grid-template-columns: 1fr; } }

/* ============================================================
   Mein Raum (myprofil_raum.php) - Version 3, robustes Flexbox-Layout
   ============================================================ */
.vml-raum-panel { border-width: 2px; }
.vml-raum-leer { text-align: center; padding: 20px; }
.vml-raum-leer h3 { color: var(--text-light); margin: 10px 0; }
.vml-raum-leer p { color: #8b95a5; max-width: 400px; margin: 0 auto 16px auto; }

.vml-raum-wrap { max-width: 1400px; margin: 0 auto; }
.vml-raum-header {
	display: flex; align-items: flex-start; justify-content: space-between;
	gap: 20px; flex-wrap: wrap; padding: 10px 4px 16px 4px;
}
.vml-raum-kicker { color: var(--neon-pink); font-size: 11px; font-weight: 900; letter-spacing: 0.15em; }
.vml-raum-header h1 { margin: 2px 0 0 0; font-size: clamp(22px, 3vw, 34px); color: var(--text-light); }
.vml-raum-header p { margin: 6px 0 0 0; color: #8b95a5; font-size: 13px; max-width: 480px; }
.vml-raum-header-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.vml-raum-pill {
	display: inline-flex; align-items: center; gap: 5px;
	border: 1px solid rgba(255,255,255,0.15); border-radius: 999px;
	padding: 6px 14px; font-size: 12px; color: var(--text-light);
	background: rgba(10,8,18,0.7);
}
.vml-raum-ghost-btn {
	border: 1px solid var(--neon-pink); border-radius: 999px;
	padding: 6px 16px; font-size: 12px; font-weight: bold;
	color: var(--text-light); text-decoration: none;
	background: rgba(255,47,208,0.12);
}
.vml-raum-ghost-btn:hover { background: rgba(255,47,208,0.25); }
.vml-raum-premium-btn {
	border: none; border-radius: 999px;
	padding: 6px 16px; font-size: 12px; font-weight: bold;
	color: #1a1208; text-decoration: none;
	background: linear-gradient(135deg, #ffd23f, #ff8a1e);
	box-shadow: 0 0 14px rgba(255,210,63,0.5);
}
.vml-raum-premium-btn:hover { filter: brightness(1.1); }

.vml-raum-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,340px); gap: 14px; align-items: start; }

.vml-raum-stage-neu {
	display: flex; flex-direction: column; gap: 16px;
	padding: 20px;
	border: 2px solid; border-radius: 20px;
	background-position: center; background-size: cover;
	box-shadow: 0 24px 60px rgba(0,0,0,0.5);
	transition: filter 0.3s ease;
}
.vml-raum-hauptreihe { display: flex; gap: 16px; flex-wrap: wrap; }
.vml-raum-foto-karte {
	flex: 0 0 280px;
	max-width: 280px;
	aspect-ratio: 3/4;
	border: 2px solid; border-radius: 14px;
	overflow: hidden; background: rgba(10,5,20,0.65);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 24px rgba(0,0,0,0.45);
	cursor: pointer;
}
.vml-raum-foto-karte img { width: 100%; height: 100%; object-fit: cover; }
.vml-raum-photo-placeholder { color: rgba(255,255,255,0.75); font-size: 12px; text-align: center; line-height: 1.7; padding: 10px; }
.vml-raum-tv-karte { flex: 1 1 400px; min-width: 220px; margin-bottom: 14px; position: relative; }
.vml-raum-tv-karte::after {
	content: "";
	position: absolute; left: 50%; bottom: -18px; transform: translateX(-50%);
	width: 34%; height: 6px;
	background: #17171a; border-radius: 3px;
	z-index: 1;
}
.vml-raum-tv-karte::before {
	content: "";
	position: absolute; right: 20px; bottom: 4px;
	width: 6px; height: 6px; border-radius: 50%;
	background: #2ee6a8; box-shadow: 0 0 6px 1px rgba(46,230,168,0.9);
	z-index: 2;
}
.vml-raum-tv-screen {
	background: #000;
	border: 10px solid #17171a;
	border-radius: 12px;
	aspect-ratio: 16/9; width: 100%;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	position: relative;
	box-shadow: 0 14px 34px rgba(0,0,0,0.55), inset 0 0 0 2px #2a2a30;
}
.vml-raum-tv-screen iframe, .vml-raum-tv-screen video { width: 100%; height: 100%; }
.vml-raum-tv-standby { color: #666; font-size: 13px; }
.vml-dj-leiste {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 8px;
	font-size: 11px;
}
.vml-dj-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, var(--neon-pink), #8a2be2);
	color: #fff;
	font-weight: bold;
	padding: 5px 12px;
	border-radius: 999px;
	box-shadow: 0 0 12px rgba(232,16,42,0.4);
	animation: vmlFunkelnPuls 1.6s ease-in-out infinite;
}
.vml-dj-badge-eq { display: flex; align-items: flex-end; gap: 2px; height: 12px; }
.vml-dj-badge-eq span { width: 3px; background: #fff; border-radius: 1px; animation: eqbig 0.8s ease-in-out infinite; }
.vml-dj-badge-eq span:nth-child(1){height:40%;animation-delay:0s}
.vml-dj-badge-eq span:nth-child(2){height:100%;animation-delay:.15s}
.vml-dj-badge-eq span:nth-child(3){height:65%;animation-delay:.3s}
.vml-dj-zuhoerer { color: #8b95a5; }
.vml-dj-naechster-btn {
	margin-left: auto;
	color: var(--neon-gold);
	border: 1px solid var(--neon-gold);
	border-radius: 999px;
	padding: 4px 12px;
	text-decoration: none;
}
.vml-dj-naechster-btn:hover { background: rgba(255,234,46,0.1); }
.vml-song-wunsch-form {
	display: flex;
	gap: 8px;
	margin-bottom: 10px;
}
.vml-dj-pult-liste {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 8px;
}
.vml-dj-pult-eintrag {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(0,0,0,0.25);
	border-radius: 8px;
	padding: 9px 14px;
	font-size: 12px;
	transition: background 0.2s, border-color 0.2s;
}
.vml-dj-pult-eintrag:hover { background: rgba(255,255,255,0.05); }
.vml-dj-pult-nummer {
	width: 20px; height: 20px;
	flex-shrink: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #8b95a5;
	font-size: 10px;
	font-weight: bold;
	display: flex; align-items: center; justify-content: center;
}
.vml-dj-pult-eintrag.vml-dj-pult-aktiv {
	background: rgba(255,47,208,0.1);
	border: 1px solid var(--neon-pink);
	box-shadow: 0 0 12px rgba(255,47,208,0.15);
}
.vml-dj-pult-eintrag.vml-dj-pult-aktiv .vml-dj-pult-nummer {
	background: var(--neon-pink);
	color: #fff;
}
.vml-dj-pult-laeuft {
	color: var(--neon-gold);
	font-weight: bold;
	font-size: 10px;
	white-space: nowrap;
}
.vml-dj-pult-titel { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vml-dj-pult-aktionen {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	font-size: 11px;
}
.vml-dj-pult-aktionen a {
	color: var(--neon-gold);
	text-decoration: none;
	transition: transform 0.15s, opacity 0.15s;
	display: inline-block;
}
.vml-dj-pult-aktionen a:hover { transform: scale(1.2); opacity: 0.8; }
.vml-dj-pult-konsole {
	position: relative;
	background: radial-gradient(circle at 100% 0%, rgba(255,47,208,0.08), transparent 50%), linear-gradient(165deg, #0d0616, #1a0d28);
	border: 1px solid rgba(255,47,208,0.25);
	overflow: hidden;
}
.vml-dj-raum-kopf { margin-bottom: 14px; border-color: var(--neon-pink); }
.vml-dj-audio-anzeige {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--neon-gold);
	font-size: 13px;
	height: 100%;
	width: 100%;
}
.vml-dj-audio-anzeige-live { position: relative; overflow: hidden; }
.vml-dj-audio-glow {
	position: absolute;
	width: 320px; height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,47,208,0.22), rgba(138,43,226,0.10) 45%, transparent 70%);
	animation: vmlAudioGlowPuls 3.2s ease-in-out infinite;
	pointer-events: none;
}
@keyframes vmlAudioGlowPuls {
	0%, 100% { transform: scale(0.9); opacity: 0.7; }
	50% { transform: scale(1.15); opacity: 1; }
}
.vml-dj-plattenteller-gross {
	position: relative !important;
	top: 0; right: 0;
	width: 110px; height: 110px;
	opacity: 1;
	margin-bottom: 16px;
	box-shadow: 0 0 30px rgba(255,47,208,0.45), 0 0 60px rgba(138,43,226,0.25);
	z-index: 1;
}
.vml-dj-equalizer {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 4px;
	height: 34px;
	margin-bottom: 12px;
	z-index: 1;
}
.vml-dj-equalizer span {
	width: 5px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--neon-pink), #8a2be2);
	animation: vmlEqBar 1.1s ease-in-out infinite;
	box-shadow: 0 0 8px rgba(255,47,208,0.5);
}
.vml-dj-equalizer span:nth-child(1) { height: 40%; animation-delay: 0s; }
.vml-dj-equalizer span:nth-child(2) { height: 70%; animation-delay: 0.12s; }
.vml-dj-equalizer span:nth-child(3) { height: 100%; animation-delay: 0.24s; }
.vml-dj-equalizer span:nth-child(4) { height: 55%; animation-delay: 0.36s; }
.vml-dj-equalizer span:nth-child(5) { height: 85%; animation-delay: 0.48s; }
.vml-dj-equalizer span:nth-child(6) { height: 60%; animation-delay: 0.6s; }
.vml-dj-equalizer span:nth-child(7) { height: 35%; animation-delay: 0.72s; }
@keyframes vmlEqBar {
	0%, 100% { transform: scaleY(0.4); }
	50% { transform: scaleY(1); }
}
.vml-dj-audio-titel {
	z-index: 1;
	max-width: 80%;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	text-align: center;
	margin-bottom: 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media (prefers-reduced-motion: reduce) {
	.vml-dj-audio-glow, .vml-dj-equalizer span, .vml-dj-pult-plattenteller { animation: none !important; }
}
.vml-dj-transportleiste {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	padding: 10px 14px;
	background: rgba(0,0,0,0.3);
	border-radius: 12px;
	flex-wrap: wrap;
}
.vml-dj-play-btn {
	width: 42px; height: 42px;
	border-radius: 50%;
	border: none;
	background: linear-gradient(135deg, var(--neon-pink), #8a2be2);
	color: #fff;
	font-size: 16px;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 0 14px rgba(255,47,208,0.4);
}
.vml-dj-play-btn:hover { filter: brightness(1.1); }
.vml-dj-warteschlange {
	margin-top: 10px;
	background: rgba(0,0,0,0.2);
	border-radius: 10px;
	padding: 10px 14px;
}
.vml-dj-warteschlange-titel { font-size: 12px; color: var(--neon-gold); font-weight: bold; margin-bottom: 8px; }
.vml-dj-warteschlange-eintrag {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: #c9bdd8;
	padding: 4px 0;
}
.vml-dj-pult-plattenteller {
	position: absolute;
	top: -30px; right: -30px;
	width: 100px; height: 100px;
	border-radius: 50%;
	background: repeating-radial-gradient(circle, #1a1a1a 0px, #1a1a1a 2px, #222 3px, #222 4px);
	border: 3px solid #333;
	opacity: 0.5;
	animation: vmlPlattenDreh 6s linear infinite;
}
.vml-dj-pult-plattenteller::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: 14px; height: 14px;
	background: var(--neon-pink);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}
@keyframes vmlPlattenDreh { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.vml-dj-live-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 12px;
}
.vml-dj-live-karte {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: #150a2b;
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	padding: 14px;
	text-decoration: none;
	color: var(--text-light);
	text-align: center;
	box-shadow: 0 0 14px rgba(255,47,208,0.15);
	transition: transform 0.2s, box-shadow 0.2s;
}
.vml-dj-live-karte:hover {
	background: rgba(255,47,208,0.08);
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(255,47,208,0.25);
}
.vml-dj-live-btn { font-size: 11px; color: var(--neon-gold); }

.vml-raum-atmo-neu {
	text-align: center; padding: 10px;
	border: 1px dashed; border-radius: 10px;
	background: rgba(0,0,0,0.25);
}
.vml-raum-deko-neu {
	text-align: center; font-size: 22px; letter-spacing: 12px;
	opacity: 0.85; padding: 4px 0;
}

.vml-raum-toolbar-neu {
	display: flex; align-items: center; justify-content: center;
	flex-wrap: wrap; gap: 6px;
	padding: 8px 10px; border-radius: 16px;
	background: rgba(9,8,19,0.75); border: 1px solid rgba(255,255,255,0.1);
}
.vml-raum-toolbar-neu button {
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	background: transparent; border: 0; border-radius: 10px;
	padding: 6px 12px; cursor: pointer; color: var(--text-light);
	transition: background 0.2s, transform 0.2s;
}
.vml-raum-toolbar-neu button:hover { background: rgba(255,47,208,0.15); transform: translateY(-2px); }
.vml-raum-toolbar-neu button span { font-size: 18px; }
.vml-raum-toolbar-neu button small { font-size: 10px; opacity: 0.85; white-space: nowrap; }

.vml-raum-sidebar { display: flex; flex-direction: column; gap: 12px; }
.vml-raum-chat-panel, .vml-raum-besucher-panel {
	background: #150a2b; border: 1px solid; border-radius: 14px; overflow: hidden;
}
.vml-raum-panel-title {
	padding: 10px 14px; font-weight: bold; font-size: 13px;
	color: var(--neon-gold); border-bottom: 1px solid rgba(255,255,255,0.1);
}
.vml-raum-chat-messages { height: 260px; overflow-y: auto; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.vml-raum-chat-msg { display: flex; gap: 8px; align-items: flex-start; }
.vml-raum-chat-bubble {
	background: rgba(255,255,255,0.06); border-radius: 4px 12px 12px 12px;
	padding: 6px 10px; font-size: 12px; color: var(--text-light); max-width: 78%;
}
.vml-raum-chat-zeit { font-size: 9px; opacity: 0.5; }
.vml-raum-chat-input-row { display: flex; gap: 6px; padding: 10px; border-top: 1px solid rgba(255,255,255,0.1); }
.vml-raum-chat-input-row .vml-input { flex: 1; }
.vml-raum-chat-input-row button { width: 40px; border: none; border-radius: 8px; color: #fff; cursor: pointer; font-size: 16px; }

.vml-raum-besucher-list { display: flex; flex-direction: column; gap: 2px; padding: 6px; max-height: 280px; overflow-y: auto; }
.vml-raum-besucher-item { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; text-decoration: none; color: var(--text-light); }
.vml-raum-besucher-item:hover { background: rgba(255,255,255,0.05); }
.vml-raum-besucher-name { font-size: 12px; }
.vml-raum-besucher-name small { color: #8b95a5; font-size: 10px; }
.vml-raum-crown { font-size: 11px; }

.vml-raum-avatar {
	position: relative;
	width: 34px; height: 34px; border-radius: 50%; overflow: hidden;
	background: linear-gradient(145deg,#642c88,#c42d75);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; font-size: 16px;
}
.vml-raum-avatar img { width: 100%; height: 100%; object-fit: cover; }
.vml-raum-avatar-sm { width: 26px; height: 26px; font-size: 12px; }
.vml-raum-avatar::after {
	content: "❤"; position: absolute; bottom: -2px; right: -2px;
	width: 14px; height: 14px; background: var(--neon-pink); border-radius: 50%;
	border: 2px solid #150a2b; font-size: 8px;
	display: flex; align-items: center; justify-content: center; color: #fff;
}
.vml-raum-avatar-sm::after { width: 11px; height: 11px; font-size: 6px; border-width: 1px; }

.vml-raum-besuchen-btn {
	display: inline-block; margin-top: 8px;
	background: rgba(255,47,208,0.15); border: 1px solid var(--neon-pink);
	color: var(--neon-pink); border-radius: 16px; padding: 5px 14px;
	font-size: 12px; font-weight: bold; text-decoration: none;
}
.vml-raum-besuchen-btn:hover { background: rgba(255,47,208,0.3); }

.vml-raum-einstellungen-panel { margin-top: 14px; background: rgba(0,0,0,0.25); border-radius: 14px; padding: 16px; }
.vml-raum-settings-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.vml-raum-settings-karte {
	background: #150a2b;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 12px;
	padding: 14px;
}
.vml-raum-settings-karte-breit { grid-column: 1 / -1; }
.vml-raum-settings-kopf {
	font-weight: bold;
	font-size: 14px;
	color: var(--neon-gold);
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.vml-raum-settings-hinweis { font-size: 12px; color: #8b95a5; margin: 4px 0 10px 0; line-height: 1.5; }
.vml-raum-settings-warnung { font-size: 11px; color: var(--neon-gold); margin: 0 0 10px 0; }
.vml-raum-settings-entfernen { display: inline-block; margin-left: 8px; color: #ff2f5d; font-size: 12px; text-decoration: none; }
.vml-raum-settings-entfernen:hover { text-decoration: underline; }
@media (max-width: 700px) {
	.vml-raum-settings-grid { grid-template-columns: 1fr; }
}
.vml-raum-theme-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.vml-raum-theme-option {
	border: 1px solid; border-radius: 8px; padding: 8px 14px; font-size: 13px;
	color: var(--text-light); cursor: pointer; display: flex; align-items: center; gap: 6px;
}
.vml-raum-theme-locked { text-decoration: none; opacity: 0.65; background: rgba(0,0,0,0.2); }
.vml-raum-theme-locked:hover { opacity: 1; }
.vml-raum-playlist-liste { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.vml-raum-playlist-eintrag {
	display: flex; justify-content: space-between; align-items: center;
	background: rgba(0,0,0,0.25); border-radius: 8px; padding: 8px 12px; font-size: 12px;
}
.vml-raum-playlist-eintrag a { color: #ff2f5d; text-decoration: none; font-size: 11px; }

@media (max-width: 900px) {
	.vml-raum-layout { grid-template-columns: 1fr; }
	.vml-raum-hauptreihe { flex-direction: column; }
	.vml-raum-foto-karte { max-width: 100%; flex: none; aspect-ratio: 16/9; }
	.vml-raum-toolbar-neu button small { display: none; }
}

/* ============================================================
   Melde-System & Benachrichtigungen (melden.php, benachrichtigungen.php)
   ============================================================ */
.vml-benach-glocke {
	position: relative;
	font-size: 20px;
	text-decoration: none;
	color: var(--text-light);
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--bg-panel);
	border: 1px solid rgba(255,255,255,0.15);
}
.vml-benach-badge {
	position: absolute;
	top: -4px; right: -4px;
	background: var(--neon-pink);
	color: #fff;
	font-size: 10px;
	font-weight: bold;
	border-radius: 999px;
	min-width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3px;
}
.vml-benach-liste { display: flex; flex-direction: column; gap: 8px; }
.vml-benach-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	background: #150a2b;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 10px;
	padding: 12px 14px;
	text-decoration: none;
	color: var(--text-light);
	font-size: 13px;
}
.vml-benach-item.vml-benach-neu { border-color: var(--neon-pink); background: rgba(255,47,208,0.06); }
.vml-benach-item small { color: #8b95a5; font-size: 11px; white-space: nowrap; }

/* ============================================================
   Beziehungs-System (beziehung.php, paar_album.php, liebesbriefe.php)
   ============================================================ */
.vml-profilhead-beziehung {
	font-size: 12px;
	color: var(--neon-pink);
	margin-top: 4px;
}
.vml-profilhead-beziehung a { color: var(--neon-gold); text-decoration: none; }

.vml-beziehung-aktiv-box {
	background: linear-gradient(135deg, rgba(255,47,208,0.1), rgba(255,138,30,0.08));
	border: 1px solid var(--neon-pink);
	border-radius: 16px;
	padding: 24px;
	max-width: 380px;
	margin: 0 auto;
}
.vml-beziehung-herz {
	font-size: 40px;
	animation: vmlFunkelnPuls 2.2s ease-in-out infinite;
}
.vml-beziehung-zaehler {
	font-size: 42px;
	font-weight: 900;
	color: var(--neon-gold);
	margin-top: 10px;
	text-shadow: 0 0 20px rgba(255,234,46,0.5);
}
.vml-beziehung-anfrage-box {
	background: #150a2b;
	border: 1px solid var(--neon-pink);
	border-radius: 14px;
	padding: 20px;
	max-width: 380px;
	margin: 0 auto;
}

.vml-paar-album-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
	margin-top: 10px;
}
.vml-paar-album-item {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 1/1;
	border: 1px solid rgba(255,255,255,0.1);
}
.vml-paar-album-item img { width: 100%; height: 100%; object-fit: cover; }
.vml-paar-album-entfernen {
	position: absolute; top: 6px; right: 6px;
	background: rgba(0,0,0,0.6);
	color: #ff2f5d;
	border-radius: 50%;
	width: 22px; height: 22px;
	display: flex; align-items: center; justify-content: center;
	text-decoration: none;
	font-size: 12px;
}

.vml-liebesbrief-panel { max-width: 600px; margin: 0 auto; }
.vml-liebesbrief-liste { display: flex; flex-direction: column; gap: 12px; }
.vml-liebesbrief-karte {
	background: #150a2b;
	border: 1px solid rgba(255,47,208,0.3);
	border-radius: 14px;
	padding: 16px;
	border-left: 3px solid var(--neon-pink);
}
.vml-liebesbrief-karte.vml-liebesbrief-von-mir {
	border-left-color: var(--neon-gold);
	background: rgba(255,234,46,0.04);
}
.vml-liebesbrief-absender { font-size: 11px; color: #8b95a5; margin-bottom: 8px; }
.vml-liebesbrief-text { font-size: 14px; color: var(--text-light); line-height: 1.6; font-style: italic; }

/* ============================================================
   Profil-Erweiterungen: Banner, Avatar-Rahmen, Verifiziert, angeheftete Erfolge
   ============================================================ */
.vml-profil-banner {
	position: relative;
	width: 100%;
	max-height: 220px;
	overflow: hidden;
	border-radius: 16px;
	margin-bottom: 12px;
	border: 1px solid rgba(255,255,255,0.1);
}
.vml-profil-banner img { width: 100%; height: 220px; object-fit: cover; display: block; }
.vml-profil-banner-entfernen {
	position: absolute; top: 10px; right: 10px;
	background: rgba(0,0,0,0.6);
	color: #ff2f5d;
	border: 1px solid #ff2f5d;
	border-radius: 999px;
	padding: 4px 12px;
	font-size: 11px;
	text-decoration: none;
}
.vml-verifiziert-haken { font-size: 14px; }

.vml-avatar-rahmen_gold { border: 5px solid #ffd23f !important; box-shadow: 0 0 20px rgba(255,210,63,0.7) !important; }
.vml-avatar-rahmen_neon { border: 5px solid var(--neon-pink) !important; animation: vmlNeonRahmenPuls 1.8s ease-in-out infinite; }
@keyframes vmlNeonRahmenPuls { 0%,100% { box-shadow: 0 0 14px rgba(255,47,208,0.55); } 50% { box-shadow: 0 0 26px rgba(255,47,208,0.95); } }
.vml-avatar-rahmen_herzen { border: 5px solid #ff6fae !important; position: relative; }
.vml-avatar-rahmen_herzen::after { content: "💕"; position: absolute; top: -10px; right: -6px; font-size: 22px; }
.vml-avatar-rahmen_flammen { border: 5px solid #ff8a1e !important; box-shadow: 0 0 22px rgba(255,138,30,0.75) !important; }
.vml-avatar-rahmen_eis { border: 5px solid #7fd8ff !important; box-shadow: 0 0 20px rgba(127,216,255,0.7) !important; }

.vml-rahmen-waehler-box { margin-top: 14px; }
.vml-erfolg-anheften-link {
	display: inline-block;
	margin-top: 8px;
	font-size: 11px;
	color: var(--neon-gold);
	text-decoration: none;
	border: 1px solid var(--neon-gold);
	border-radius: 999px;
	padding: 3px 10px;
}
.vml-erfolg-anheften-link:hover { background: rgba(255,234,46,0.1); }
.vml-erfolg-anheften-link.vml-erfolg-angeheftet { color: var(--neon-pink); border-color: var(--neon-pink); }

.vml-profil-erfolge-pinned { margin-top: 14px; }
.vml-erfolge-pinned-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 8px;
}
.vml-erfolg-pin-badge {
	display: flex;
	align-items: center;
	gap: 5px;
	background: rgba(255,234,46,0.1);
	border: 1px solid var(--neon-gold);
	border-radius: 999px;
	padding: 5px 12px;
	font-size: 11px;
	color: var(--text-light);
}
.vml-erfolg-pin-badge span { font-size: 14px; }

/* ============================================================
   Erfolge (myprofil_erfolge.php)
   ============================================================ */
.vml-erfolge-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 14px;
}
.vml-erfolg-card {
	flex: 1 1 160px;
	max-width: 190px;
	text-align: center;
	background: #150a2b;
	border: 1px solid rgba(255,47,208,0.3);
	border-radius: 10px;
	padding: 14px 10px;
}
.vml-erfolg-card.vml-erfolg-ok {
	border: 1px solid var(--neon-pink);
	box-shadow: 0 0 14px rgba(255,47,208,0.35);
	background: linear-gradient(160deg, rgba(255,47,208,0.14), rgba(0,234,255,0.08));
}
.vml-erfolg-card.vml-erfolg-locked {
	opacity: 0.45;
	filter: grayscale(1);
}
.vml-erfolg-icon {
	font-size: 34px;
	margin-bottom: 6px;
}
.vml-erfolg-name {
	font-weight: bold;
	font-size: 13px;
	margin-bottom: 4px;
}
.vml-erfolg-desc {
	font-size: 11px;
	color: #8b95a5;
}
.vml-erfolg-progress {
	margin-top: 6px;
	font-size: 11px;
	color: #ffd54a;
	font-weight: bold;
}

/* ============================================================
   Gluecksrad (gluecksrad.php)
   ============================================================ */
.vml-rad-wrap {
	position: relative;
	width: 260px;
	height: 260px;
	margin: 24px auto;
}
.vml-rad-zeiger {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 30px;
	color: #ffd54a;
	z-index: 10;
	text-shadow: 0 0 8px rgba(0,0,0,0.7);
}
.vml-rad-scheibe {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 4px solid var(--neon-pink);
	box-shadow: 0 0 22px rgba(255,47,208,0.5);
	position: relative;
}
.vml-rad-label {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90px;
	margin-left: -45px;
	margin-top: -9px;
	text-align: center;
	font-size: 11px;
	font-weight: bold;
	color: #150a2b;
	text-shadow: 0 0 2px rgba(255,255,255,0.5);
}

/* ============================================================
   Tagesangebot, Mystery-Box, Geschenk-Pakete (myprofil_shop.php)
   ============================================================ */
.vml-shop-feature-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 10px;
}
.vml-shop-feature-card {
	position: relative;
	flex: 1 1 260px;
	background: linear-gradient(160deg, rgba(255,47,208,0.14), rgba(0,234,255,0.08));
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	padding: 16px;
	text-align: center;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-shop-feature-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(255,47,208,0.25);
}
.vml-shop-feature-card img {
	border-radius: 8px;
	margin-bottom: 8px;
}
.vml-shop-old-price {
	text-decoration: line-through;
	color: #8b95a5;
	font-size: 13px;
}
.vml-shop-new-price {
	color: #ffd54a;
	font-weight: bold;
	font-size: 18px;
}
.vml-shop-discount-badge {
	display: inline-block;
	background: #ff2f5d;
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 6px;
	margin-left: 6px;
}
.vml-mysterybox-img {
	width: 100px;
	height: 100px;
	transition: transform 0.3s ease;
	filter: drop-shadow(0 0 14px rgba(255,215,106,0.5));
	animation: vmlBoxFloat 2.6s ease-in-out infinite;
}
@keyframes vmlBoxFloat { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-6px) rotate(2deg); } }
.vml-mysterybox-reveal {
	margin-top: 10px;
	padding: 10px;
	background: rgba(0,234,255,0.1);
	border: 1px solid #00eaff;
	border-radius: 8px;
	animation: vmlRevealPop 0.4s cubic-bezier(.3,1.4,.5,1) both;
}
@keyframes vmlRevealPop { from { transform: scale(0.6) translateY(10px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
	.vml-mysterybox-img { animation: none; }
	.vml-mysterybox-reveal { animation: none; }
}
.vml-coin-partikel {
	position: absolute;
	font-size: 15px;
	pointer-events: none;
	z-index: 10;
	animation: vmlCoinBurst 0.8s ease-out forwards;
}
@keyframes vmlCoinBurst {
	0% { transform: translate(0,0) scale(1); opacity: 1; }
	100% { transform: translate(var(--vmldx), var(--vmldy)) scale(0.3); opacity: 0; }
}
.vml-paket-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 10px;
}
.vml-paket-card {
	flex: 1 1 260px;
	background: linear-gradient(160deg, rgba(255,47,208,0.14), rgba(0,234,255,0.08));
	border: 1px solid var(--neon-pink);
	border-radius: 12px;
	padding: 16px;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-paket-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(255,47,208,0.25);
}
.vml-paket-items {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 10px 0;
}
.vml-paket-items img {
	width: 55px;
	height: 55px;
	border-radius: 6px;
	border: 1px solid var(--neon-pink);
}

/* ============================================================
   Geschenke (myprofil_presents.php) - ueberarbeitet mit Seltenheitsstufen
   ============================================================ */
.vml-gift-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 10px;
}
.vml-gift-card {
	position: relative;
	width: 100px;
	flex: 0 0 100px;
	text-align: center;
	font-size: 11px;
	background: linear-gradient(160deg, #1c0f38, #150a2b);
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	padding: 10px 8px;
	cursor: pointer;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vml-gift-card img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	display: block;
	margin: 4px auto;
}
.vml-gift-card div {
	overflow-wrap: break-word;
	word-break: break-word;
}
.vml-gift-card:hover {
	transform: translateY(-4px) scale(1.04);
	box-shadow: 0 12px 24px rgba(0,0,0,0.4);
	z-index: 2;
}
.vml-gift-card::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.35) 45%, rgba(0,234,255,0.3) 52%, transparent 65%);
	transform: translateX(-120%);
	transition: transform 0.6s ease;
	pointer-events: none;
	mix-blend-mode: overlay;
}
.vml-gift-card:hover::before { transform: translateX(120%); }
.vml-gift-card.vml-gift-selected {
	border: 2px solid #00eaff;
	background: rgba(0,234,255,0.12);
	box-shadow: 0 0 16px rgba(0,234,255,0.6);
}
.vml-gift-check {
	position: absolute;
	top: 6px; left: 6px;
	width: 20px; height: 20px;
	border-radius: 50%;
	background: #00eaff;
	color: #04222b;
	font-weight: bold;
	font-size: 12px;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 3;
	box-shadow: 0 0 8px rgba(0,234,255,0.6);
}
.vml-gift-card.vml-gift-selected .vml-gift-check { display: flex; }
.vml-gift-card.vml-gift-card-gesperrt {
	opacity: 0.35;
	cursor: not-allowed;
	filter: grayscale(0.4);
}
.vml-gift-card.vml-gift-card-gesperrt:hover { transform: none; box-shadow: none; }
.vml-gift-price {
	color: #ffd54a;
	font-weight: bold;
	margin-top: 2px;
}
.vml-gift-rarity {
	display: inline-block;
	font-size: 9px;
	font-weight: bold;
	letter-spacing: 0.03em;
	padding: 2px 7px;
	border-radius: 999px;
	margin-top: 5px;
}
.vml-gift-card.rarity-common { border-color: rgba(160,160,170,0.5); }
.vml-gift-card.rarity-common .vml-gift-rarity { background: rgba(160,160,170,0.15); color: #c9c9d4; border: 1px solid rgba(160,160,170,0.4); }
.vml-gift-card.rarity-selten { border-color: rgba(75,232,255,0.6); }
.vml-gift-card.rarity-selten .vml-gift-rarity { background: rgba(0,234,255,0.15); color: #4be8ff; border: 1px solid rgba(0,234,255,0.5); }
.vml-gift-card.rarity-episch { border-color: rgba(138,43,226,0.7); animation: vmlGiftGlowEpisch 2.4s ease-in-out infinite; }
.vml-gift-card.rarity-episch .vml-gift-rarity { background: rgba(138,43,226,0.2); color: #c9a3ff; border: 1px solid rgba(138,43,226,0.6); }
.vml-gift-card.rarity-legendaer { border-color: rgba(255,215,106,0.8); animation: vmlGiftGlowLegendaer 2s ease-in-out infinite; }
.vml-gift-card.rarity-legendaer .vml-gift-rarity { background: rgba(255,215,106,0.2); color: #ffd76a; border: 1px solid rgba(255,215,106,0.6); }
@keyframes vmlGiftGlowEpisch { 0%,100% { box-shadow: 0 0 6px rgba(138,43,226,0.4); } 50% { box-shadow: 0 0 18px rgba(138,43,226,0.7); } }
@keyframes vmlGiftGlowLegendaer { 0%,100% { box-shadow: 0 0 8px rgba(255,215,106,0.5); } 50% { box-shadow: 0 0 22px rgba(255,215,106,0.85); } }
.vml-sammlung-fortschritt {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,0.08);
}
.vml-sammlung-kopf {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: #c9bdd8;
	margin-bottom: 8px;
}
.vml-sammlung-balken {
	height: 10px;
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	overflow: hidden;
}
.vml-sammlung-fuellung {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--neon-pink), #8a2be2, #00eaff);
	transition: width 0.5s ease;
}
.vml-gift-spar-balken {
	height: 5px;
	border-radius: 999px;
	background: rgba(255,255,255,0.1);
	overflow: hidden;
	margin-top: 5px;
}
.vml-gift-spar-fuellung {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #00eaff, var(--neon-pink));
}
.vml-angebot-countdown {
	margin-top: 8px;
	font-size: 12px;
	color: #ffd54a;
	font-family: monospace;
}
.vml-gift-rarity.rarity-common { background: rgba(160,160,170,0.15); color: #c9c9d4; border: 1px solid rgba(160,160,170,0.4); }
.vml-gift-rarity.rarity-selten { background: rgba(0,234,255,0.15); color: #4be8ff; border: 1px solid rgba(0,234,255,0.5); }
.vml-gift-rarity.rarity-episch { background: rgba(138,43,226,0.2); color: #c9a3ff; border: 1px solid rgba(138,43,226,0.6); }
.vml-gift-rarity.rarity-legendaer { background: rgba(255,215,106,0.2); color: #ffd76a; border: 1px solid rgba(255,215,106,0.6); }

/* Premium-Kollektion: eigene Bilder mit edlerem Gold-Rahmen-Stil */
.vml-gift-card.vml-gift-premium {
	width: 112px;
	flex: 0 0 112px;
	padding: 14px 10px 12px;
	background: linear-gradient(160deg, #3a1530, #180814);
	border: 1px solid #caa049 !important;
	box-shadow: 0 0 0 1px rgba(202,160,73,0.15), 0 10px 20px rgba(0,0,0,0.4);
}
.vml-gift-card.vml-gift-premium img {
	border-radius: 8px;
	box-shadow: 0 0 16px rgba(212,165,58,0.35);
}
.vml-gift-card.vml-gift-premium .vml-gift-price { color: #ffd76a; }
.vml-premium-ecke { position: absolute; width: 16px; height: 16px; opacity: 0.9; pointer-events: none; }
.vml-premium-ecke::before, .vml-premium-ecke::after { content: ""; position: absolute; background: #caa049; }
.vml-premium-ecke::before { width: 100%; height: 1.5px; top: 0; left: 0; }
.vml-premium-ecke::after { width: 1.5px; height: 100%; top: 0; left: 0; }
.vml-premium-ecke.tl { top: 6px; left: 6px; }
.vml-premium-ecke.tr { top: 6px; right: 6px; transform: scaleX(-1); }
.vml-premium-ecke.bl { bottom: 6px; left: 6px; transform: scaleY(-1); }
.vml-premium-ecke.br { bottom: 6px; right: 6px; transform: scale(-1,-1); }
.vml-premium-funkel {
	position: absolute;
	color: #ffe9a8;
	font-size: 10px;
	pointer-events: none;
	animation: vmlPremiumFunkelPuls 2.4s ease-in-out infinite;
}
@keyframes vmlPremiumFunkelPuls { 0%,100% { opacity: 0.2; transform: scale(0.7); } 50% { opacity: 1; transform: scale(1.2); } }
@media (prefers-reduced-motion: reduce) {
	.vml-premium-funkel { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
	.vml-gift-card.rarity-episch, .vml-gift-card.rarity-legendaer { animation: none; }
	.vml-gift-card::before { display: none; }
}
.vml-gift-sticky-preview {
	position: sticky;
	top: 8px;
	z-index: 20;
	display: none;
	align-items: center;
	gap: 14px;
	background: linear-gradient(135deg, rgba(255,47,208,0.18), rgba(0,234,255,0.12));
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	padding: 10px 16px;
	margin: 0 auto 14px auto;
	max-width: 420px;
	box-shadow: 0 0 14px rgba(255,47,208,0.4);
}
.vml-gift-sticky-preview img {
	border-radius: 6px;
}
.vml-gift-sticky-preview.vml-gift-preview-voll {
	border-color: #ffd54a;
	box-shadow: 0 0 16px rgba(255,213,74,0.5);
}
.vml-gift-sticky-preview-text {
	font-size: 13px;
	color: var(--text-light);
}
.vml-gift-sticky-preview-price {
	color: #ffd54a;
	font-weight: bold;
}

/* ============================================================
   Profil-Upgrades (myprofil_upgrades.php)
   ============================================================ */
.vml-upgrade-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.vml-upgrade-tile {
	flex: 1 1 45%;
	min-width: 220px;
	background: #150a2b;
	border: 1px solid var(--neon-cyan);
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 13px;
	text-align: center;
}
.vml-upgrade-tile a {
	color: var(--neon-cyan);
	text-decoration: none;
	display: block;
}
.vml-upgrade-tile a:hover {
	color: var(--neon-pink);
}

/* ============================================================
   Admin-Bereich Sidebar (administration/menu.php)
   ============================================================ */
.vml-admin-nav {
	display: flex;
	flex-direction: column;
	gap: 3px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 10px;
	padding: 10px;
}
.vml-admin-nav-group {
	color: var(--neon-gold);
	font-size: 11px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 8px 8px 2px 8px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.vml-admin-nav-group::before {
	content: "★";
	color: var(--neon-gold);
	font-size: 15px;
	text-shadow: 0 0 6px rgba(255,234,46,0.7);
}
.vml-admin-nav a {
	color: var(--text-light);
	text-decoration: none;
	font-size: 13px;
	padding: 6px 8px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}
.vml-admin-nav a::after {
	content: "☆";
	color: var(--neon-gold);
	font-size: 13px;
	opacity: 0.8;
	flex-shrink: 0;
}
.vml-admin-nav a:hover::after,
.vml-admin-nav a.active::after {
	content: "★";
	text-shadow: 0 0 6px rgba(255,234,46,0.8);
}
.vml-admin-nav a:hover {
	background: rgba(255,47,208,0.15);
	color: var(--neon-pink);
}
.vml-admin-nav a.active {
	background: linear-gradient(90deg, #ff2fd0, #8a2be2);
	color: #fff;
}

/* ============================================================
   Admin-Dashboard Stat-Karten (administration/admin.php)
   ============================================================ */
.vml-admin-stats-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 10px;
}
.vml-admin-stat-card {
	flex: 1 1 150px;
	background: #150a2b;
	border: 1px solid var(--neon-cyan);
	border-radius: 8px;
	padding: 12px;
	text-align: center;
}
.vml-admin-stat-value {
	font-size: 22px;
	font-weight: bold;
	color: var(--neon-gold);
}
.vml-admin-stat-label {
	font-size: 11px;
	opacity: 0.8;
	margin-top: 4px;
}

/* ============================================================
   Hauptseiten-Sidebar (menu.php) - Kartendesign
   ============================================================ */
.vml-sidebar {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.vml-sidebar-notify {
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: rgba(255,47,208,0.08);
	border: 1px solid var(--neon-pink);
	border-radius: 10px;
	padding: 8px;
}
.vml-sidebar-notify a {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--neon-pink);
	text-decoration: none;
	font-size: 12px;
	font-weight: bold;
	padding: 5px 6px;
	border-radius: 6px;
}
.vml-sidebar-notify a:hover {
	background: rgba(255,47,208,0.18);
}
.vml-sidebar-notify img {
	width: 15px;
	height: 15px;
}
.vml-sidebar-win {
	text-align: center;
}
.vml-sidebar-win .vml-panel-body img {
	width: 100%;
	max-width: 160px;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
	margin-top: 8px;
	border: 1px solid var(--neon-pink);
}


/* Live-Ticker Startseite */
.vml-ticker-wrap{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(255,47,208,.14),rgba(0,234,255,.08));border:1px solid rgba(255,47,208,.4);border-radius:12px;padding:10px 16px;margin-bottom:18px;overflow:hidden;box-shadow:0 0 16px rgba(255,47,208,.2)}
.vml-ticker-label{flex-shrink:0;background:#ff2f5d;color:#fff;font-weight:bold;font-size:11px;padding:4px 10px;border-radius:20px;letter-spacing:.5px;animation:vmlTickerPulse 1.5s infinite}
@keyframes vmlTickerPulse{0%,100%{opacity:1}50%{opacity:.55}}
.vml-ticker-track{display:flex;gap:0;white-space:nowrap;animation:vmlTickerScroll 40s linear infinite}
.vml-ticker-wrap:hover .vml-ticker-track{animation-play-state:paused}
@keyframes vmlTickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.vml-ticker-item{font-size:13px;color:var(--text-light,#f5eeec);padding:0 6px}
.vml-ticker-sep{color:#ff2fd0;padding:0 6px;opacity:.6}
.vml-forum-angepinnt{background:rgba(255,210,63,0.06);border-left:2px solid var(--neon-gold,#ffd23f)}

/* Glitzer-Funkeln fuer seltene/legendaere Geschenke */
.vml-gift-funkel{position:absolute;font-size:13px;pointer-events:none;animation:vmlGiftFunkeln 1.6s ease-in-out infinite;text-shadow:0 0 6px #fff,0 0 10px #ffd23f;}
@keyframes vmlGiftFunkeln{0%,100%{opacity:0;transform:scale(0.4) rotate(0deg);}50%{opacity:1;transform:scale(1.1) rotate(180deg);}}
