@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: dark;
  --accent: #c4b5fd;
  --panel: rgba(13, 14, 20, .60);
  --line: rgba(255, 255, 255, .12);
  --muted: rgba(255, 255, 255, .56);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body {
  min-height: 100vh;
  overflow: hidden;
  background: #08090d;
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.background {
  position: fixed; inset: -18px; z-index: -3;
  background: url("bg.png") center center / cover no-repeat;
  filter: blur(5px) brightness(.48) saturate(.82);
  transform: scale(1.035);
  transition: filter 1s ease, transform 1.2s ease;
}
.vignette {
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(7,8,12,.12) 0%, rgba(7,8,12,.54) 72%, rgba(7,8,12,.84) 100%);
}
.page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.enter-screen {
  position: fixed; inset: 0; z-index: 5; width: 100%; height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  border: 0; color: #fff; cursor: pointer;
  background: rgba(4, 5, 9, .48);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  transition: opacity .8s ease, visibility .8s ease, backdrop-filter .8s ease, background .8s ease;
}
.enter-screen:hover { background: rgba(4, 5, 9, .38); }
.enter-label { font-size: clamp(13px, 1.7vw, 16px); letter-spacing: .34em; font-weight: 700; text-indent: .34em; }
.enter-hint { font-size: 11px; color: rgba(255,255,255,.48); letter-spacing: .12em; text-transform: uppercase; }
.enter-screen::after {
  content: ""; width: 42px; height: 1px; background: var(--accent); opacity: .75;
  position: absolute; margin-top: 88px; transform-origin: center; transition: width .25s ease;
}
.enter-screen:hover::after { width: 76px; }
.enter-screen.leaving { opacity: 0; visibility: hidden; pointer-events: none; backdrop-filter: blur(0); }
.profile-card {
  width: min(100%, 370px); padding: 34px 30px 22px;
  border: 1px solid var(--line); border-radius: 22px;
  background: var(--panel); box-shadow: 0 24px 90px rgba(0,0,0,.36);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  text-align: center; opacity: 0; transform: translateY(14px) scale(.98);
  transition: opacity .8s ease .12s, transform .8s cubic-bezier(.2,.8,.2,1) .12s;
  pointer-events: none;
}
.profile-card.visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.avatar-wrap { width: 100px; height: 100px; margin: 0 auto 17px; position: relative; }
.avatar { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); box-shadow: 0 0 0 5px rgba(255,255,255,.035); }
.avatar-fallback { display: none; width: 100%; height: 100%; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#24243b,#7463a7); font-size: 34px; font-weight: 800; }
.username { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -.045em; }
.verified { display: inline-block; margin-left: 7px; color: var(--accent); font-size: 15px; vertical-align: 3px; }
.bio { margin: 9px 0 16px; color: rgba(255,255,255,.72); font-size: 12px; }
.status { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; letter-spacing: .025em; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #9be6bd; box-shadow: 0 0 10px rgba(155,230,189,.65); }
.links { display: flex; justify-content: center; gap: 10px; margin: 24px 0 22px; }
.links a {
  display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px;
  border: 1px solid var(--line); color: rgba(255,255,255,.86); background: rgba(255,255,255,.045);
  text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: -.02em;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.links a:hover { transform: translateY(-3px); background: rgba(196,181,253,.12); border-color: rgba(196,181,253,.45); }
.player { display: flex; align-items: center; gap: 12px; text-align: left; padding: 13px 14px; border-radius: 14px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.07); }
.music-toggle { flex: 0 0 32px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--accent); color: #171321; cursor: pointer; font-weight: 800; }
.track { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.track-title { font-size: 11px; font-weight: 600; }
.track-subtitle { font-size: 10px; color: var(--muted); }
.equalizer { margin-left: auto; display: flex; align-items: center; gap: 3px; height: 22px; }
.equalizer i { display: block; width: 3px; height: 7px; border-radius: 5px; background: var(--accent); opacity: .8; }
.profile-card.playing .equalizer i { animation: bounce .72s ease-in-out infinite alternate; }
.equalizer i:nth-child(2) { animation-delay: -.42s; }
.equalizer i:nth-child(3) { animation-delay: -.2s; }
.equalizer i:nth-child(4) { animation-delay: -.56s; }
.equalizer i:nth-child(5) { animation-delay: -.32s; }
@keyframes bounce { from { height: 4px; } to { height: 19px; } }
.footer-note { margin: 21px 0 0; color: rgba(255,255,255,.32); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.footer-note span { color: var(--accent); }
@media (max-width: 480px) { .profile-card { padding: 29px 22px 20px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
