:root {
  --bg-dark: #0b0f14;
  --card-bg: rgba(20, 25, 35, 0.55);
  --text-main: #eb2869;
  --text-soft: #eb2869;
  --custom-font: 'Roboto Mono', monospace;
  --accent: #eb2869;
  --border: rgba(235, 40, 105, 1);
}

/* GLOBAL */
* { margin:0; padding:0; box-sizing:border-box; font-family: var(--custom-font); }
body { background: var(--bg-dark); color: var(--text-main); overflow: hidden; }

/* CLICK TO ENTER */
#enter {
  position: fixed; inset: 0; display: flex; justify-content: center; align-items: center;
  background: black; cursor: pointer; z-index: 10; transition: opacity 1s ease;
}
.enter-text { font-size: 1.4rem; color: var(--text-soft); letter-spacing: 2px; animation: fade 2s infinite; }
@keyframes fade { 0%,100%{opacity:.4;}50%{opacity:1;} }

/* BACKGROUND VIDEO */
.background { position: fixed; inset: 0; overflow: hidden; z-index: -1; }
.bg-video { position: absolute; top:50%; left:50%; min-width:100%; min-height:100%; transform:translate(-50%,-50%); object-fit: cover; filter: blur(2px) brightness(.7); }

/* CLOCK */
.clock {
  position: fixed; top: 20px; right: 20px;
  background: rgba(20,25,35,0.7); padding: 8px 12px; border-radius: 8px;
  color:#fff; font-family: var(--custom-font); font-size: 16px; z-index:1000;
  backdrop-filter: blur(6px); text-shadow: 0 0 6px #000;
}

/* CONTENT */
#content { height:100vh; display:flex; justify-content:center; align-items:center; opacity:0; filter: blur(14px); transition: all 1s ease; }

/* CARD */
.card {
  background: var(--card-bg); backdrop-filter: blur(26px);
  border-radius: 20px; padding: 30px 40px; border:1px solid var(--border);
  box-shadow: 0 25px 70px rgba(0,0,0,0.45); text-align:center;
  width: min(850px, 92vw);
  padding: clamp(18px, 4vw, 40px);
  animation: breathe 6s ease-in-out infinite; cursor:pointer; position: relative;
}
@keyframes breathe {0%,100%{transform: scale(1);}50%{transform: scale(1.008);}}

/* AVATAR */
.avatar { width:88px; height:88px; border-radius:50%; margin-bottom:16px; border:2px solid var(--accent); }

/* NAME */
.name { color: var(--accent); font-size:26px; font-weight:600; margin-bottom:6px;
  text-shadow: 0 0 8px rgba(235,40,105,0.35), 0 0 20px rgba(235,40,105,0.15);
  transition: text-shadow 0.4s ease;
}
.card:hover .name { text-shadow: 0 0 12px rgba(235,40,105,0.6), 0 0 28px rgba(235,40,105,0.25); }

/* TYPEWRITER CURSOR */
.cursor { color:white; animation: blink 1.1s infinite; }
@keyframes blink { 0%,50%{opacity:1;}50.01%,100%{opacity:0;} }

/* BIO */
.bio { color: rgba(255,255,255,0.55); font-size:14px; min-height:1.2em; margin-bottom:22px; }
.bio span { text-shadow:0 0 6px rgba(255,255,255,0.05); }

/* LINKS */
.links { display:flex; gap:12px; }
.btn { flex:1; text-align:center; padding:10px 0; border-radius:12px; background: rgba(255,255,255,0.06);
  color: var(--accent); font-size:14px; text-decoration:none; transition: 0.12s ease;
}
.btn:hover { background: rgba(255,255,255,0.12); transform: scale(1.04); }

/* VOLUME CONTROL */
.volume-control {
  position: fixed; bottom:26px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:10px; padding:10px 14px;
  border-radius:999px; background: rgba(20,25,35,0.65); backdrop-filter: blur(14px);
  border:1px solid var(--border); opacity:0.35; transition: opacity 0.25s ease, transform 0.25s ease;
  z-index:5;
}
.volume-control:hover { opacity:1; transform: translateX(-50%) scale(1.03); }
.vol-icon { font-size:14px; opacity:0.85; }
#volume-slider { width:90px; height:4px; border-radius:999px; appearance:none; background: rgba(255,255,255,0.25); cursor:pointer; }
#volume-slider::-webkit-slider-thumb { width:12px; height:12px; background:white; border-radius:50%; appearance:none; box-shadow:0 0 10px rgba(255,255,255,0.6); }
#volume-slider::-moz-range-thumb { width:12px; height:12px; background:white; border-radius:50%; }

@media (pointer: coarse){ .card { transform: none !important; } }
.top-button {
  position: fixed;
  top: 20px;
  left: -160px; /* start off-screen for animation */
  padding: 10px 18px;
  border-radius: 12px;
  background: rgba(235, 40, 105, 0.85);
  color: #fff;
  font-family: var(--custom-font);
  font-weight: 600;
  text-decoration: none;
  font-size: 14px;
  z-index: 1000;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  transition: all 0.3s ease;
  backdrop-filter: blur(6px);
}

/* Hover effect */
.top-button:hover {
  transform: translateX(10px) scale(1.05);
  background: rgba(235,40,105,1);
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

/* Slide in animation */
.top-button.show {
  left: 20px;
}
.top-center-controls {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}
@media (max-width: 600px) {
  .name { font-size: 22px; }
  .bio { font-size: 13px; }
  .links { flex-direction: column; }
  .btn { padding: 12px 0; }
}
@media (hover: none) {
  .card:hover {
    transform: none;
    box-shadow: 0 20px 50px rgba(0,0,0,0.4);
  }
}

.clock {
  position: fixed; top: 20px; right: 20px;
  background: rgba(20,25,35,0.7); padding: 8px 12px; border-radius: 8px;
  color:#fff; font-family: var(--custom-font); font-size: 16px; z-index:1000;
  backdrop-filter: blur(6px); text-shadow: 0 0 6px #000;
}


