* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family:'Outfit', sans-serif;
  background:black;
  overflow:hidden;
  cursor:none;
  color:white;
}

/* INTRO */
#intro {
  position:fixed;
  width:100%;
  height:100%;
  background:black;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:1000;
}

#intro h1 {
  font-size:48px;
  letter-spacing:2px;
  animation:pulse 2s infinite alternate;
  cursor:pointer;
}

@keyframes pulse {
  from { opacity:0.4; transform:scale(0.97); }
  to { opacity:1; transform:scale(1.03); }
}

/* BG */
.bg {
  position:fixed;
  width:100%;
  height:100%;
  background:url("3064f972a7ba8844e6f267d5dde96c4f.gif") center/cover no-repeat;
  filter:brightness(0.22);
  z-index:-2;
}

.vignette {
  position:fixed;
  width:100%;
  height:100%;
  background:radial-gradient(circle, transparent 40%, black 100%);
}

/* CARD (better balance) */
.card {
  position:absolute;
  top:34%;
  left:50%;
  transform:translate(-50%,-50%);
  display:flex;
  gap:32px;
  padding:42px 48px;
  background:rgba(20,20,20,0.55);
  backdrop-filter:blur(30px);
  border-radius:28px;
  align-items:center;
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
}

/* PFP */
.pfp {
  width:125px;
  height:125px;
  border-radius:50%;
  object-fit:cover;
  transition:0.3s;
}

.pfp:hover {
  transform:scale(1.05);
}

/* NAME */
.name {
  font-size:34px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

/* STATUS */
.status {
  margin-top:8px;
  opacity:0.6;
  font-size:15px;
}

#typing::after {
  content:"|";
  margin-left:5px;
  animation:blink 1s infinite;
}

@keyframes blink {
  0%,100% { opacity:0; }
  50% { opacity:1; }
}

/* META */
.meta {
  margin-top:12px;
  display:flex;
  gap:18px;
  font-size:13px;
  opacity:0.75;
}

/* BADGES (refined) */
.badge {
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  background:rgba(255,255,255,0.03);
  position:relative;
  transition:0.2s ease;
}

/* ICON */
.badge i {
  font-size:10px;
}

/* HOVER */
.badge:hover {
  transform:translateY(-2px);
  background:rgba(255,255,255,0.07);
}

/* COLORS */
.owner i { color:#f7c948; }
.dev i { color:#5aa9ff; }
.larp i { color:#4cd964; }
.og i { color:#a970ff; }
.contrib i { color:#4de0d2; }
.vip i { color:#ff66cc; }
.known i { color:#ff9f43; }

/* TOOLTIP */
.badge::after {
  content:attr(data-label);
  position:absolute;
  bottom:140%;
  left:50%;
  transform:translateX(-50%) translateY(4px);
  background:rgba(0,0,0,0.9);
  padding:5px 8px;
  font-size:10px;
  border-radius:6px;
  opacity:0;
  transition:0.2s;
  white-space:nowrap;
}

.badge:hover::after {
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* SOCIALS */
.socials {
  margin-top:16px;
  display:flex;
  gap:10px;
}

.social {
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(255,255,255,0.05);
  color:white;
  text-decoration:none;
  transition:0.2s ease;
}

.social:hover {
  transform:translateY(-3px) scale(1.08);
}

.social.tiktok:hover { color:#ff0050; }
.social.discord:hover { color:#5865F2; }

/* MUSIC BAR */
.music-bar {
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  width:680px;
  padding:14px 18px;
  background:rgba(20,20,20,0.6);
  backdrop-filter:blur(25px);
  border-radius:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* LEFT */
.left { display:flex; gap:14px; align-items:center; }

.cover {
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
}

/* TIMELINE */
.timeline {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  opacity:0.7;
}

/* PROGRESS */
.progress {
  width:180px;
  height:3px;
  background:rgba(255,255,255,0.15);
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
}

#progressFill {
  height:100%;
  width:0%;
  background:white;
  transition:width 0.1s linear;
}

/* CONTROLS */
.controls {
  display:flex;
  align-items:center;
  gap:14px;
}

.controls button {
  background:none;
  border:none;
  color:white;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:0.2s ease;
}

/* Back / Forward */
#back i, #forward i {
  font-size:14px;
  opacity:0.7;
}

/* Play (focus) */
#play i {
  font-size:20px;
}

/* Hover */
.controls button:hover {
  transform:scale(1.15);
  opacity:1;
}

#play:hover i {
  text-shadow:0 0 10px rgba(255,255,255,0.6);
}

/* CURSOR */
.cursor {
  position:fixed;
  width:14px;
  height:14px;
  border:2px solid white;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transition:transform 0.08s ease;
}
