/* --- THE MATRIX OF SMOKE // CINEMATIC GLASS ENGINE --- */
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Syncopate:wght@700&display=swap');

:root {
    --neon: #00f2ff;
    --glass-solid: rgba(0, 5, 8, 0.95);
    --glass-blur: rgba(0, 15, 20, 0.7);
    --border: rgba(0, 242, 255, 0.4);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body, html {
    margin: 0; padding: 0;
    background: #000;
    color: var(--neon);
    font-family: 'Share Tech Mono', monospace;
    overflow: hidden;
    height: 100vh;
    width: 100vw;
}

#world-canvas { position: fixed; inset: 0; z-index: 1; pointer-events: none; }

/* --- BOOT OVERLAY --- */
#boot-overlay {
    position: fixed; inset: 0; z-index: 1000;
    background: #000; display: flex; flex-direction: column;
    align-items: center; justify-content: center; padding: 20px;
}

.system-title {
    font-family: 'Syncopate'; font-size: clamp(1.4rem, 6vw, 2.5rem);
    letter-spacing: clamp(6px, 2vw, 15px); text-align: center;
    text-shadow: 0 0 20px var(--neon); margin-bottom: 25px;
}

.load-bar-container { width: 100%; max-width: 350px; height: 1px; background: rgba(255,255,255,0.1); margin: 30px 0; }
#load-bar { height: 100%; background: var(--neon); width: 0%; box-shadow: 0 0 15px var(--neon); transition: width 0.1s; }

#ignite-btn {
    padding: 18px 45px; background: transparent; border: 1px solid var(--neon);
    color: var(--neon); cursor: pointer; font-family: 'Syncopate';
    font-size: 0.7rem; letter-spacing: 5px; transition: 0.4s;
}

#ignite-btn:hover { background: var(--neon); color: #000; box-shadow: 0 0 40px var(--neon); }

/* --- HUD INTERFACE --- */
#hud-interface {
    position: relative; z-index: 10; height: 100vh; width: 100vw;
    display: flex; flex-direction: column; padding: clamp(15px, 4vw, 30px);
    pointer-events: none;
}

header, nav, aside, .bottom-dock { pointer-events: auto; }

header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 25px; }

.hud-box {
    background: var(--glass-blur); backdrop-filter: blur(20px);
    padding: 12px 20px; border: 1px solid var(--border);
    font-size: 0.85rem; flex: 1; text-align: center;
    box-shadow: inset 0 0 15px rgba(0, 242, 255, 0.05);
}

#node-directory {
    position: absolute; right: 30px; top: 120px; width: 340px; bottom: 200px;
    background: var(--glass-solid); backdrop-filter: blur(25px);
    border: 1px solid var(--border); display: flex; flex-direction: column;
}

.directory-header { 
    padding: 18px; background: rgba(0, 242, 255, 0.15); 
    font-size: 0.8rem; letter-spacing: 3px; border-bottom: 1px solid var(--border);
}

#song-list { flex: 1; overflow-y: auto; scroll-behavior: smooth; }
.song-node {
    padding: 15px 25px; font-size: 0.8rem; color: #777;
    border-bottom: 1px solid rgba(0, 242, 255, 0.1); cursor: pointer; transition: 0.3s;
}
.song-node:hover { color: var(--neon); background: rgba(0,242,255,0.1); padding-left: 35px; }

/* --- BOTTOM DOCK --- */
.bottom-dock {
    margin-top: auto; background: var(--glass-solid); backdrop-filter: blur(25px);
    border: 1px solid var(--border); padding: 25px 40px;
    display: flex; align-items: center; justify-content: space-between; gap: 30px;
}

.track-info h2 { font-family: 'Syncopate'; font-size: clamp(0.8rem, 2.5vw, 1rem); margin: 0; letter-spacing: 2px; }
.mini-visualizer { width: 180px; height: 35px; margin-top: 8px; }

#share-dna-btn {
    background: transparent; border: 1px solid var(--neon); color: var(--neon);
    padding: 12px 25px; font-family: 'Share Tech Mono'; cursor: pointer;
    transition: 0.3s; letter-spacing: 2px;
}
#share-dna-btn:hover { background: var(--neon); color: #000; }

/* --- POSTER POPUP SYSTEM --- */
#dna-card-popup {
    position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,0.98);
    display: none; align-items: center; justify-content: center; flex-direction: column; padding: 20px;
}

.popup-inner { width: 100%; max-width: 450px; display: flex; flex-direction: column; height: 90vh; }
.card-frame { 
    flex: 1; border: 1px solid var(--border); background: #000; 
    overflow: hidden; box-shadow: 0 0 50px rgba(0, 242, 255, 0.2);
    display: flex; align-items: center;
}
#dna-card-image { width: 100%; height: auto; object-fit: contain; }

.popup-btns { display: flex; gap: 15px; justify-content: center; padding: 25px 0; }
.popup-btns a, .popup-btns button {
    padding: 15px 25px; border: 1px solid var(--neon); background: transparent;
    color: var(--neon); cursor: pointer; text-decoration: none; font-family: 'Share Tech Mono';
    font-size: 0.8rem; transition: 0.3s;
}
.popup-btns a:hover { background: var(--neon); color: #000; }

/* --- RESPONSIVE ADJUSTMENTS --- */
@media (max-width: 768px) {
    .hidden-mobile { display: none; }
    #node-directory { position: relative; right: 0; top: 0; width: 100%; height: 250px; margin-bottom: 15px; }
    .bottom-dock { flex-direction: column; text-align: center; padding: 20px; }
    .mini-visualizer { margin: 15px auto; }
    .hud-box { padding: 10px; font-size: 0.7rem; }
}
