/* v1-plus.css – Ergänzungen zum klassischen Dashboard (30.10.2026, aus dem NOVA-Versuch übernommen):
 * dunklerer Hintergrund + bewegende Icons. Sternbild-Muster an der Maus, Klick-Schauer und mehr Sternschnuppen
 * stecken im Sternenhimmel (scripts/starfield.js). Eingebunden in dashboard.php, profile.php und index.php. */

/* ---------- Dunklerer Hintergrund ---------- */
:root { --bg: #04050b; }
body { background: #04050b; }
body.eclipse-mode { --bg: #070203; background: #070203; }
.dash-orb, .login-orb { opacity: .55; }
#fx-light-rays { opacity: .6; }

/* ---------- Bewegende Icons ---------- */
/* Willkommen: Schild mit zwei Orbit-Ringen, die ständig kreisen */
.dash-welcome-icon { position: relative; overflow: visible; animation: v1Breathe 4s ease-in-out infinite; }
.dash-welcome-icon::before, .dash-welcome-icon::after {
  content: ''; position: absolute; inset: -8px; border-radius: 50%; pointer-events: none;
  border: 1px solid rgba(116, 185, 255, .28); border-top-color: #4da3ff; animation: v1Orbit 6s linear infinite;
}
.dash-welcome-icon::after { inset: -15px; border-color: rgba(167, 139, 250, .18); border-right-color: #a78bfa; animation-duration: 10s; animation-direction: reverse; }
body.eclipse-mode .dash-welcome-icon::before { border-color: rgba(255, 80, 80, .28); border-top-color: #ff4d4d; }
body.eclipse-mode .dash-welcome-icon::after { border-color: rgba(255, 140, 60, .18); border-right-color: #ff8c3c; }
@keyframes v1Orbit { to { transform: rotate(360deg); } }
@keyframes v1Breathe { 50% { box-shadow: 0 0 0 6px rgba(0, 140, 255, .08), 0 0 30px rgba(0, 140, 255, .45); } }
/* Herz im Health-Widget schlägt */
#health-icon { display: inline-block; animation: v1Beat 1.6s ease-in-out infinite; transform-origin: center; }
@keyframes v1Beat { 0%, 40%, 100% { transform: scale(1); } 10% { transform: scale(1.25); } 20% { transform: scale(.95); } 30% { transform: scale(1.15); } }
/* Übersicht: Icons schweben leicht versetzt, drehen sich beim Drüberfahren */
.digest-tile .dt-icon { animation: v1Float 4.5s ease-in-out infinite; transition: transform .45s cubic-bezier(.34, 1.56, .64, 1); }
.digest-tile:nth-child(2) .dt-icon { animation-delay: -.8s; } .digest-tile:nth-child(3) .dt-icon { animation-delay: -1.6s; }
.digest-tile:nth-child(4) .dt-icon { animation-delay: -2.4s; } .digest-tile:nth-child(5) .dt-icon { animation-delay: -3.2s; } .digest-tile:nth-child(6) .dt-icon { animation-delay: -4s; }
@keyframes v1Float { 50% { translate: 0 -3px; } }
.digest-tile:hover .dt-icon { transform: rotate(-10deg) scale(1.12); }
/* Sidebar: Icons wachsen, kippen und leuchten beim Drüberfahren */
.sidebar-nav .nav-link > i, .sidebar-nav .nav-link > .svc-emoji, .sidebar-nav > span.sb-section .sb-cat-icon { display: inline-block; transition: transform .45s cubic-bezier(.34, 1.56, .64, 1), filter .3s; }
.sidebar-nav .nav-link:hover > i, .sidebar-nav .nav-link:hover > .svc-emoji { transform: scale(1.2) rotate(-8deg); filter: drop-shadow(0 0 6px rgba(0, 160, 255, .6)); }
.sidebar-nav > span.sb-section:hover .sb-cat-icon { animation: v1Wiggle .6s ease; }
@keyframes v1Wiggle { 25% { transform: rotate(-14deg) scale(1.15); } 60% { transform: rotate(10deg) scale(1.1); } }
/* Kartenkopf: Icon-Chip dreht sich beim Drüberfahren, Neu-laden-Icons drehen sich */
.app-card .card-header .fw-semibold > i:first-child { transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s; }
.app-card:hover .card-header .fw-semibold > i:first-child { transform: rotate(-10deg) scale(1.12); box-shadow: inset 0 0 0 1px rgba(0, 160, 255, .35), 0 0 16px rgba(0, 150, 255, .4); }
.app-card .card-header .btn:hover i.fa-rotate, .app-card .card-header .btn:hover i.fa-arrows-rotate { display: inline-block; transform: rotate(180deg); transition: transform .6s ease; }
/* Topbar-Icons hüpfen beim Drüberfahren */
.topbar-badge i, .topbar-clock i { display: inline-block; transition: transform .45s cubic-bezier(.34, 1.56, .64, 1); }
.topbar-badge:hover i:not(#health-icon) { transform: translateY(-2px) scale(1.15); }
/* Login: Schild mit Orbit-Ringen */
.login-page .logo-icon { position: relative; overflow: visible; }
.login-page .form-container:not(.lx-checking) .logo-icon::before, .login-page .form-container:not(.lx-checking) .logo-icon::after {
  content: ''; position: absolute; inset: -10px; border-radius: 50%; pointer-events: none;
  border: 1px solid rgba(116, 185, 255, .28); border-top-color: #4da3ff; animation: v1Orbit 6s linear infinite;
}
.login-page .form-container:not(.lx-checking) .logo-icon::after { inset: -19px; border-color: rgba(167, 139, 250, .18); border-right-color: #a78bfa; animation-duration: 11s; animation-direction: reverse; }

@media (prefers-reduced-motion: reduce) {
  .dash-welcome-icon, .dash-welcome-icon::before, .dash-welcome-icon::after, #health-icon, .digest-tile .dt-icon, .login-page .logo-icon::before, .login-page .logo-icon::after { animation: none !important; }
}

