/* Custom threesided project tracker theme utilities */
.bg-void { background-color: #06060b; }
.bg-abyss { background-color: #0a0a14; }
.bg-deep { background-color: #0f0f1a; }
.bg-surface { background-color: #161625; }
.bg-raised { background-color: #1e1e32; }
.bg-muted { background-color: #2a2a40; }
.bg-subtle { background-color: #3a3a55; }
.text-text { color: #c8c8e0; }
.text-bright { color: #e8e8f5; }
.text-soft { color: #9090aa; }
.text-dim { color: #6b6b8a; }
.text-white { color: #f5f5ff; }
.text-amber-glow { color: #f59e0b; }
.text-cyan-glow { color: #06b6d4; }
.text-violet-glow { color: #8b5cf6; }
.text-emerald-glow { color: #10b981; }
.bg-amber-glow { background-color: #f59e0b; }
.bg-cyan-glow { background-color: #06b6d4; }
.bg-violet-glow { background-color: #8b5cf6; }
.bg-emerald-glow { background-color: #10b981; }
.border-amber-glow { border-color: #f59e0b; }
.border-cyan-glow { border-color: #06b6d4; }
.border-violet-glow { border-color: #8b5cf6; }
.border-emerald-glow { border-color: #10b981; }
.glass { background: rgba(22,22,37,0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.06); border-radius: 16px; }
.glass-hover { transition: all 0.4s cubic-bezier(0.16,1,0.3,1); }
.glass-hover:hover { background: rgba(30,30,50,0.8); border-color: rgba(255,255,255,0.1); transform: translateY(-4px); box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 40px rgba(139,92,246,0.05); }
@keyframes pulse-glow { 0%,100% { opacity: 0.6; } 50% { opacity: 1; } }
.animate-pulse-glow { animation: pulse-glow 3s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } }
.animate-float { animation: float 6s ease-in-out infinite; }
@keyframes fade-in-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in-up { animation: fade-in-up 0.6s ease-out forwards; }