:root{
  --glass: rgba(255,255,255,.08);
  --glass2: rgba(255,255,255,.12);
  --stroke: rgba(255,255,255,.18);
  --stroke2: rgba(255,255,255,.10);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.60);
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --blur: 18px;

  --cyan:#35f4ff;
  --magenta:#ff40c7;
  --teal:#2cffc7;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background: radial-gradient(1200px 700px at 50% 30%, #142a5a 0%, #050913 45%, #03050b 100%);
}

/* Background FX */
.bg{position:fixed; inset:0; z-index:-2; overflow:hidden;}
.stars{
  position:absolute; inset:-40%;
  background:
    radial-gradient(circle at 30% 40%, rgba(255,255,255,.12) 0 1px, transparent 2px) 0 0/90px 90px,
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.08) 0 1px, transparent 2px) 0 0/120px 120px,
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.06) 0 1px, transparent 2px) 0 0/160px 160px;
  filter: blur(.2px);
  opacity:.85;
}
.glow{
  position:absolute; width:680px; height:680px; border-radius:50%;
  filter: blur(50px);
  opacity:.35;
  mix-blend-mode: screen;
}
.glow-a{left:-120px; top:120px; background: radial-gradient(circle, var(--cyan), transparent 60%);}
.glow-b{right:-180px; top:220px; background: radial-gradient(circle, var(--magenta), transparent 60%);}
.glow-c{left:40%; bottom:-260px; background: radial-gradient(circle, var(--teal), transparent 60%);}
.vignette{
  position:absolute; inset:0;
  background: radial-gradient(circle at 50% 35%, transparent 0 40%, rgba(0,0,0,.55) 78%);
  opacity:.75;
}

/* Glass */
.glass{
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
  border: 1px solid var(--stroke);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
}
.glass-soft{
  background: rgba(0,0,0,.10);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
}

/* Topbar */
.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 14px 16px;
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.brand-dot{
  width:10px; height:10px; border-radius:50%;
  background: linear-gradient(135deg, var(--cyan), var(--magenta));
  box-shadow: 0 0 18px rgba(53,244,255,.35);
}
.brand-name{letter-spacing:.24em; font-weight:700;}
.icon-btn{
  width:40px;height:40px;border-radius:12px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
  cursor:pointer;
  backdrop-filter: blur(var(--blur));
}
.icon-btn:hover{background: rgba(255,255,255,.09);}

/* Panel */
.panel-wrap{margin-top:18px; position:relative;}
.panel{
  display:grid;
  grid-template-columns: 120px 1fr 280px;
  gap:14px;
  padding: 14px;
  border-radius: 24px;
  box-shadow: var(--shadow);
  min-height: 590px;
  position:relative;
}

/* Hologram sheen */
.holo{position:relative; overflow:hidden;}
.holo::before{
  content:"";
  position:absolute; inset:-40%;
  background: conic-gradient(from 120deg,
    rgba(53,244,255,0),
    rgba(53,244,255,.20),
    rgba(255,64,199,.20),
    rgba(44,255,199,.18),
    rgba(53,244,255,0));
  animation: spin 8s linear infinite;
  opacity:.55;
  filter: blur(10px);
  pointer-events:none;
}
.holo::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.16), transparent 35%),
    radial-gradient(900px 240px at 30% 10%, rgba(255,255,255,.18), transparent 55%);
  opacity:.35;
  pointer-events:none;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* Left nav */
.nav{
  border-radius: 18px;
  padding: 10px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.nav-item{
  height:92px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  transition: .2s;
}
.nav-item:hover{background: rgba(255,255,255,.09);}
.nav-item.active{background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.22);}
.ring{
  width:44px; height:44px; border-radius:50%;
  border:2px solid rgba(255,255,255,.18);
  position:relative;
}
.ring::after{
  content:""; position:absolute; inset:6px;
  border-radius:50%;
  background: rgba(255,255,255,.05);
}
.ring-cyan{border-color: rgba(53,244,255,.35); box-shadow:0 0 22px rgba(53,244,255,.35);}
.ring-magenta{border-color: rgba(255,64,199,.35); box-shadow:0 0 22px rgba(255,64,199,.35);}
.ring-teal{border-color: rgba(44,255,199,.35); box-shadow:0 0 22px rgba(44,255,199,.35);}
.label{font-size:12px; opacity:.8;}

/* Center */
.center{
  border-radius: 18px;
  padding: 14px;
  overflow:hidden;
  position:relative;
}
.hud{
  position:relative;
  border-radius: 18px;
  padding: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  height: 330px;
  overflow:hidden;
}
.hud-top{position:absolute; left:16px; top:14px;}
.hud-title{font-weight:800; letter-spacing:.10em; opacity:.92}
.hud-sub{font-size:12px; opacity:.7; margin-top:4px;}

.hud-data{
  position:absolute;
  right:16px; top:16px;
  font-size:11px;
  opacity:.55;
  line-height:1.6;
  text-align:right;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Holo core */
.holo-core{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.globe{
  position:relative;
  width: 210px;
  height: 210px;
  border-radius: 50%;
}
.globe-core{
  position:absolute; inset:0; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 60%),
              radial-gradient(circle at 60% 70%, rgba(53,244,255,.22), transparent 55%),
              radial-gradient(circle at 40% 55%, rgba(255,64,199,.18), transparent 55%),
              rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 0 60px rgba(53,244,255,.18);
}
.globe-grid{
  position:absolute; inset:0; border-radius:50%;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.12) 0 1px, transparent 10px 20px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 10px 20px);
  opacity:.20;
  mix-blend-mode: screen;
}
.globe-glow{
  position:absolute; inset:-18px; border-radius:50%;
  background: radial-gradient(circle, rgba(53,244,255,.18), transparent 60%);
  filter: blur(14px);
  opacity:.8;
}

.orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  opacity:.35;
  animation: orbit 10s linear infinite;
}
.orbit-1{width: 340px; height: 340px;}
.orbit-2{width: 420px; height: 420px; opacity:.22; animation-duration: 14s;}
.orbit-3{width: 500px; height: 500px; opacity:.18; animation-duration: 18s;}
@keyframes orbit{to{transform:rotate(360deg)}}

.node{
  position:absolute;
  width: 34px; height: 34px;
  border-radius: 12px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 0 22px rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}
.n1{top:56px; left:52%}
.n2{top:120px; left:70%}
.n3{top:206px; left:78%}
.n4{top:286px; left:66%}
.n5{top:316px; left:46%}
.n6{top:270px; left:26%}
.n7{top:176px; left:18%}
.n8{top:98px; left:30%}

/* Scanline */
.scanline{
  position:absolute;
  left:0; right:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(53,244,255,.55), transparent);
  opacity:.6;
  animation: scan 3.2s linear infinite;
  filter: blur(.3px);
}
@keyframes scan{
  0%{ top:20px; opacity:.2}
  30%{opacity:.6}
  100%{ top:310px; opacity:.1}
}

/* Pages below HUD */
.pages{margin-top: 12px;}
.page{display:none;}
.page.show{display:block;}
.page-card{
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.12);
  padding: 12px;
}
.page-h{font-weight:800; letter-spacing:.06em;}
.page-p{font-size:13px; opacity:.7; margin-top:6px;}

.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.chip{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  opacity:.9;
}

.gridcards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.mini-card{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding:10px;
}
.mini-art{
  height:70px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, rgba(53,244,255,.22), rgba(255,64,199,.16));
  box-shadow: 0 0 22px rgba(53,244,255,.10);
}
.mini-art.b{background: linear-gradient(135deg, rgba(255,64,199,.22), rgba(44,255,199,.16));}
.mini-art.c{background: linear-gradient(135deg, rgba(44,255,199,.22), rgba(53,244,255,.16));}
.mini-t{font-weight:800; font-size:13px; margin-top:8px;}
.mini-s{font-size:12px; opacity:.7; margin-top:2px;}

/* Player */
.player{
  margin-top: 12px;
  border-radius: 18px;
  padding: 12px 14px;
  display:grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  gap:12px;
  align-items:center;
}
.track{display:flex; align-items:center; gap:10px;}
.track-art{
  width:44px;height:44px;border-radius:14px;
  background: linear-gradient(135deg, rgba(53,244,255,.25), rgba(255,64,199,.20));
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 0 26px rgba(53,244,255,.12);
}
.track-title{font-weight:800; font-size:14px;}
.track-artist{font-size:12px; opacity:.7; margin-top:2px;}
.controls{display:flex; justify-content:center; gap:10px;}
.pbtn{
  width:42px;height:42px;border-radius:14px;
  background: rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  color:var(--text);
  cursor:pointer;
}
.pbtn:hover{background: rgba(255,255,255,.10);}
.pbtn.play{
  width:50px;height:50px;
  border-radius:18px;
  border-color: rgba(53,244,255,.28);
  box-shadow: 0 0 26px rgba(53,244,255,.12);
}
.progress{display:flex; align-items:center; gap:10px;}
.time{font-size:12px; opacity:.7; width:42px; text-align:center;}
#seek{width:100%}

/* Mirror glow under player */
.mirror{position:relative;}
.mirror::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:-16px;
  height:22px;
  background: linear-gradient(180deg, rgba(255,255,255,.14), transparent 80%);
  filter: blur(6px);
  opacity:.28;
  transform: scaleY(-1);
  pointer-events:none;
}

/* Right preview */
.preview{
  border-radius: 18px;
  padding: 12px;
}
.preview-title{font-weight:800; font-size:14px; opacity:.9; margin-bottom:10px;}
.preview-img{
  border-radius: 14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.preview-img img{width:100%; display:block; opacity:.95}
.preview-note{margin-top:10px; font-size:12px; opacity:.75}

/* Panel reflection under the glass */
.panel-reflection{
  position:absolute;
  left: 26px;
  right: 26px;
  top: calc(100% - 10px);
  height: 140px;
  border-radius: 0 0 24px 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.16), transparent 75%);
  filter: blur(14px);
  opacity:.18;
  transform: scaleY(-1);
  pointer-events:none;
}

/* Stand like in the image */
.stand{
  position:relative;
  margin: 22px auto 0;
  width: 380px;
  height: 120px;
  opacity:.7;
}
.stand-top{
  position:absolute; left:50%; transform:translateX(-50%);
  width: 320px; height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  filter: blur(.2px);
}
.stand-leg{
  position:absolute; left:50%; transform:translateX(-50%);
  top: 14px;
  width: 24px; height: 64px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
}
.stand-base{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom: 0;
  width: 360px; height: 36px;
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  filter: blur(.1px);
}

/* Footer */
.foot{margin-top:14px; text-align:center; opacity:.65; font-size:12px}

/* Responsive */
@media (max-width: 980px){
  .panel{grid-template-columns: 110px 1fr;}
  .preview{display:none;}
  .gridcards{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 680px){
  .panel{grid-template-columns: 1fr;}
  .nav{flex-direction:row; justify-content:space-between;}
  .nav-item{height:74px; flex:1;}
  .player{grid-template-columns: 1fr; gap:10px;}
  .gridcards{grid-template-columns: 1fr;}
}
