/* B"H
 - BASE */
*, *::before, *::after { box-sizing: border-box; }
html, body { 
    height: 100%; margin: 0; font-family: var(--font-ui); 
    background-color: var(--color-bg-deep); color: var(--color-text-primary); 
    overflow: hidden; -webkit-font-smoothing: antialiased; font-synthesis: none;
    font-size: 16px;
}
body {
     background-color: #000;
     background-image: var(--neon-cyan) 1px, transparent 1px);
     background-size: 40px 40px;
     background-position: -1px -1px;
     animation: bg-flicker 10s infinite linear;
}
@keyframes bg-flicker {
    0%, 100% { background-color: rgba(2, 4, 10, 0.9); }
    50% { background-color: rgba(10, 12, 20, 0.95); }
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleUp { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
@keyframes appFadeIn { to { opacity: 1; } }

.hidden { display: none !important; } 
.visible { display: flex !important; }
.svg-icon { width: 1.25em; height: 1.25em; fill: currentColor; vertical-align: middle; }

::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { 
    background-color: var(--color-bg-tertiary); 
    border-radius: 10px; 
    border: 3px solid var(--color-bg-primary); 
}
::-webkit-scrollbar-thumb:hover { 
background-color: var(--neon-cyan); }