
:root {
  --bg: #f4f6ff;
  --icon: #111;
}

body.dark {
  --bg: #0b0f2a;
  --icon: #ffffff;
}

body {
  margin: 0;
  height: 100vh;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.4s ease;
}


#themeToggle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
}


.icon {
  width: 28px;
  height: 28px;
  stroke: var(--icon);
  fill: none;
  stroke-width: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease, transform 0.3s ease;
}


body.dark .sun {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
}

body:not(.dark) .moon {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
}

#themeToggle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;
  background: transparent;
  cursor: pointer;

  
  position: fixed;
  top: 20px;
  right: 20px;

  display: flex;
  align-items: center;
  justify-content: center;
}



body.light {
  background: #f4f6ff;
}


body.dark {
  background: #0f0f0f;
}

.avatar-container {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.banner {
  width: 420px;              
  height: 130px;       
  top: 22px;      
  border-radius: 10px;

  
  background: rgba(180, 180, 180, 0.15);

  position: relative;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


.banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.banner::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: inherit;

  border: 2px solid rgba(170, 110, 255, 0.9);
  box-shadow:
    0 0 12px rgba(170, 110, 255, 0.9),
    0 0 30px rgba(170, 110, 255, 0.6),
    0 0 60px rgba(170, 110, 255, 0.4);

  pointer-events: none;
}



.avatar-container {
  width: 140px;   
  height: 140px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative; 
  top: -295px;   
  left: -130px;
}

.avatar {
  width: 120px;   
  height: 120px;
  border-radius: 50%;
  
  
  border: 3px solid rgba(150, 90, 255, 0.8);

  transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.avatar:hover {
  box-shadow:
    0 0 15px rgba(120, 140, 255, 0.8),
    0 0 10px rgba(150, 90, 255, 0.8),
    0 0 25px rgba(150, 90, 255, 0.6);
  transform: scale(1.05);

  
  border-color: rgb(111, 0, 255);
}

.avatar:active {
  transform: scale(0.95);
}




.glow-banner {
  width: 420px;              
  height: 230px;             
  border-radius: 18px;

  
  background: rgba(180, 180, 180, 0.15);

  position: relative;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


.glow-banner::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: inherit;

  border: 2px solid rgba(170, 110, 255, 0.9);
  box-shadow:
    0 0 12px rgba(170, 110, 255, 0.9),
    0 0 30px rgba(170, 110, 255, 0.6),
    0 0 60px rgba(170, 110, 255, 0.4);

  pointer-events: none;
}

/* Glowing Text */
/* Glowing Text */
.glow-text {
    position: absolute;
    top: 34%;           /* responsive vertical position */
    left: 50%;          /* center horizontally */
    transform: translateX(-50%); /* truly center */
    color: #ffffff;
    font-size: 40px;    /* fixed size, stays same on all devices */
    text-align: center;
    text-shadow:
      0 0 5px #ee82ee,
      0 0 10px #ee82ee,
      0 0 20px #ee82ee,
      0 0 40px #d500f9,
      0 0 80px #d500f9;
    z-index: 10;
}

/* Tag Banner */
.tag-banner {
    position: relative;
    top: -5vh;            /* 5% of viewport height from top */
    left: 180%;           /* center horizontally */
    transform: translateX(-50%);
    padding: 1px 5px;
    border-radius: 30px;
    display: flex;
    gap: 2px;            /* small gap between tags */
    align-items: center;
    flex-wrap: wrap;     /* wrap if screen is small */
    max-width: 90vw;     /* prevent overflow */
}

/* Individual Tag */
.tag {
    position: relative;
    width: 22px;        /* fixed size */
    height: 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Tooltip */
.tag span {
    visibility: hidden;
    width: max-content;
    max-width: 80px;
    background-color: #222;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 3px 5px;
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    font-size: 10px;    /* fixed font size */
    pointer-events: none;
    white-space: nowrap;
}

.tag:hover span {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(-5px);
}

/* Owner Tag Glow */
.owner-tag svg {
    fill: #fff;
    width: 20px;       /* fixed icon size */
    top: 100px;
    height: 20px;
    filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px #fff);
    transition: transform 0.2s, filter 0.2s;
}

.owner-tag:hover svg {
    transform: scale(1.2);
    filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #fff);
}

/* Developer Tag Glow */
.dev-tag svg {
    fill: #fff;
    width: 20px;
    height: 20px;
    filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px #fff);
    transition: transform 0.2s, filter 0.2s;
}

.dev-tag:hover svg {
    transform: scale(1.2);
    filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #fff);
}


/* Back to Main Menu Button */
.back-btn {
  position: absolute;
  top: 225px;
  right: 1180px;

  width: 36px;
  height: 36px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  border: 1px solid rgba(170, 110, 255, 0.6);
  box-shadow:
    0 0 8px rgba(170, 110, 255, 0.7),
    0 0 16px rgba(170, 110, 255, 0.4);

  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  z-index: 20;
}

.back-btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #fff;
  stroke-width: 2.5;
}

.back-btn:hover {
  transform: scale(1.1);
  box-shadow:
    0 0 12px rgba(200, 140, 255, 0.9),
    0 0 30px rgba(170, 110, 255, 0.6);
}

.back-btn:active {
  transform: scale(0.95);
}

.description-text {
  position: absolute;          
  top: 120px;                   
  left: 30px;                  

  font-size: 15px;             
  font-weight: 500;
  line-height: 1;

  background: linear-gradient(
    90deg,
    #ffd900,
    #ff5100,
    #ff0000
  );
  background-size: 300% 300%;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  animation: violetPink 4s ease infinite;
}

/* Animation */
@keyframes violetPink {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.credits-text {
  position: relative;
  bottom: -480px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  color: #aaa;
  opacity: 0.8;
  font-weight: 400;
  letter-spacing: 0.5px;
  user-select: none;
  
  text-align: center;    
  line-height: 1.4;      
  white-space: pre-line; 
}


.credits-text:hover {
  opacity: 1;
  color: #ff00c8;
}





