/* Shared atmosphere sits outside the pages, so it persists across navigation. */
.ambient-background { background: radial-gradient(ellipse at 72% 5%, #322718 0, transparent 55%), #0b0b0e; }
.ambient-light { opacity: .85; background: radial-gradient(ellipse, #d8b16a40, #d8b16a0c 45%, transparent 68%); }
.ambient-orb { background: radial-gradient(circle, #c7d5ee26, transparent 66%); }
.ambient-grid { opacity: .12; }
.ambient-aurora, .ambient-beam, .ambient-ring { position: absolute; pointer-events: none; }
.ambient-aurora { width: 90%; height: 65%; border-radius: 50%; animation: aurora-drift 26s ease-in-out infinite alternate; }
.ambient-aurora-gold { left: -30%; bottom: -24%; background: radial-gradient(ellipse, #b8853538, #b8853508 50%, transparent 70%); transform: rotate(-24deg); }
.ambient-aurora-silver { right: -38%; top: 8%; background: radial-gradient(ellipse, #bacce328, #bacce308 50%, transparent 70%); animation-duration: 32s; animation-delay: -14s; }
.ambient-beam { top: -45%; width: 140px; height: 170%; transform: rotate(32deg); transform-origin: center; background: linear-gradient(90deg, transparent, #efd6a411 43%, #fff0d822 50%, #efd6a411 57%, transparent); mask-image: linear-gradient(transparent, #000 35%, transparent 90%); animation: beam-drift 24s ease-in-out infinite alternate; }
.ambient-beam-left { left: 12%; }
.ambient-beam-right { right: 3%; width: 230px; opacity: .6; animation-duration: 31s; animation-delay: -17s; }
.ambient-ring { width: 660px; height: 660px; border: 1px solid #e1bc7726; border-radius: 50%; box-shadow: inset 0 0 65px #d8b16a05, 0 0 65px #d8b16a05; }
.ambient-ring::before, .ambient-ring::after { position: absolute; inset: 28px; border: 1px solid #dce4f012; border-radius: inherit; content: ""; }
.ambient-ring::after { inset: -16px; border-color: #d8b16a0c; }
.ambient-ring-top { right: -320px; top: -350px; animation: ring-breathe 18s ease-in-out infinite alternate; }
.ambient-ring-bottom { left: -410px; bottom: -470px; width: 850px; height: 850px; opacity: .7; animation: ring-breathe 23s -9s ease-in-out infinite alternate-reverse; }

/* The spark layer is click-through. Opaque cards and dialogs protect text contrast. */
.ambient-particles { position: fixed; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; opacity: .7; }
.sidebar { background: linear-gradient(165deg, #151517b8, #0d0d10d4 75%); }
.main-content { background: linear-gradient(135deg, #18181b80, #11111394); }
:is(.dashboard-panel, .stat-card, .folder-group, .cpu-focus-card, .restore-form, .restore-history) { background-color: #111114e8; }
.dashboard-heading { border-color: #d8b16a38; background: linear-gradient(110deg, #d8b16a12, #161619dc 52%, #d8b16a08); }
.brand-logo { flex-shrink: 0; }
.dashboard-logo { flex-shrink: 0; }
.dashboard-heading .dashboard-logo { animation: emblem-breathe 7s ease-in-out infinite alternate; }
.topbar::after { box-shadow: 0 0 16px #d8b16a60; }
.nav-link[aria-current="page"] { box-shadow: inset 0 1px 0 #e3c79212, 0 0 26px #d8b16a0e; }
.is-spotlit::after { background: radial-gradient(340px circle at var(--spot-x, 50%) var(--spot-y, 50%), #e2c58e12, transparent 70%); }
@keyframes aurora-drift { to { transform: translate3d(75px, -45px, 0) rotate(8deg) scale(1.12); opacity: .55; } }
@keyframes beam-drift { to { transform: translate3d(90px, 0, 0) rotate(38deg); opacity: .35; } }
@keyframes ring-breathe { to { transform: translate3d(-25px, 20px, 0) scale(1.06); opacity: .4; } }
@keyframes emblem-breathe { to { box-shadow: 0 0 0 5px #d8b16a0c, 0 0 32px #d8b16a40; } }
@media (max-width: 700px) { .ambient-beam-right, .ambient-ring-bottom { display: none; } .ambient-particles { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .ambient-particles { opacity: .35; } .ambient-aurora, .ambient-beam, .ambient-ring, .dashboard-heading .dashboard-logo { animation: none; } }
