@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500&display=swap");

:root {
  --bg: #0D1229;
  --bg-dark: #080515;
  --pink: #d00b8d;
  --cyan: #6be1f6;
  --lavender: #C090FF;
  --text-muted: rgba(255,255,255,0.55);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: #0D1229;
  color: #ffffff;
  font-family: "Roboto", system-ui, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", system-ui, sans-serif;
  font-weight: 500;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0D1229; }
::-webkit-scrollbar-thumb { background: #9B22E9; border-radius: 3px; }
::selection { background: #7B22CE; color: white; }

.gradient-text {
  background: linear-gradient(135deg, #9B22E9 0%, #d00b8d 50%, #6be1f6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Nav transition */
#navbar { transition: background 0.5s, backdrop-filter 0.5s, border-color 0.5s; }

/* Card hover */
.card-hover {
  transition: transform 0.3s, box-shadow 0.3s;
}
.card-hover:hover {
  transform: translateY(-4px);
}

/* Group hover effects */
.group:hover .group-hover-opacity { opacity: 0.2; }
.group-hover-opacity { transition: opacity 0.5s; }
.group:hover .group-hover-bar { opacity: 1; }
.group-hover-bar { opacity: 0; transition: opacity 0.5s; }
.group:hover .group-hover-gap { gap: 12px; }
.group-hover-gap { transition: gap 0.3s; }
.group:hover .group-hover-translate { transform: translateX(4px); }
.group-hover-translate { transition: transform 0.3s; }
