/* assets/style.css */

/* 1.1. Kalpurush Font */
@import url('https://fonts.maateen.me/kalpurush/font.css');
/* 1.2. Dipro Unicode */
@font-face {
  font-family: 'Dipro Unicode';
  src: url('/assets/fonts/dipro_unicode.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
/* 1.3. Bangabandhu */
@font-face {
  font-family: 'Bangabandhu';
  src: url('/assets/fonts/bangabandhu.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Kalpurush', sans-serif;
  background: #e0e5ec; /* neutral neuromorphic background */
  min-height: 100vh;
}

h1 {
  color: #00adff !important;
  font-family: 'Bangabandhu', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin: 2rem 0 1rem;
  text-shadow:
    1px 1px 2px rgba(0, 0, 0, 0.1),
   -1px -1px 2px rgba(255, 255, 255, 0.3);
}


/* 2. Cards — override Bootstrap .card */
.card {
  background: #e0e5ec !important;
  border-radius: 2rem !important;
  border: none !important;
  box-shadow:
    8px 8px 16px rgba(0, 0, 0, 0.1),
   -8px -8px 16px rgba(255, 255, 255, 0.7) !important;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(0, 173, 255, 0.08), transparent 70%);
  transform: rotate(25deg);
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 0;
}

.card:hover::before {
  opacity: 1;
}

.card:hover {
  box-shadow:
    0 0 20px rgba(0, 173, 255, 0.2),
    0 0 40px rgba(0, 173, 255, 0.1);
  scale: 1.003;
}

.card-body {
  position: relative;
  z-index: 1;
  padding: 2.5rem !important;
  text-align: center;
}

.topic-card {
  cursor: pointer;
}

.topic-card * {
  cursor: inherit;
}

/* 3. Inputs — override .form-control */
.form-control {
  background: #e0e5ec;
  border: none;
  border-radius: 1rem;
  box-shadow:
    inset 4px 4px 8px rgba(0, 0, 0, 0.1),
    inset -4px -4px 8px rgba(255, 255, 255, 0.7);
  padding: 0.75rem 1rem;
  color: #333;
}

/* 4. Radios — override .form-check-input */
.form-check-input {
  width: 1.2em;
  height: 1.2em;
  accent-color: #6a11cb;
  box-shadow:
    inset 2px 2px 4px rgba(0, 0, 0, 0.1),
    inset -2px -2px 4px rgba(255, 255, 255, 0.7);
}

form p {
  margin-bottom: 0px;
}

.form-check, .form-check-input, .form-check-label {
    cursor: pointer;
}
.form-check {
    padding-top: 15px;
}
.form-check-label {
  padding-left: 10px;
}

/* 5. Buttons — override .btn */
.btn {
  background: #e0e5ec !important;
  border: none !important;
  border-radius: 2rem !important;
  padding: 0.75rem 2rem !important;
  font-weight: 600;
  color: #28a745 !important; /* standard green */
  box-shadow:
    8px 8px 16px rgba(0, 0, 0, 0.1),
   -8px -8px 16px rgba(255, 255, 255, 0.7);
  transition: all 0.3s ease;
}

.btn:active {
  box-shadow:
    inset 4px 4px 8px rgba(0, 0, 0, 0.1),
    inset -4px -4px 8px rgba(255, 255, 255, 0.7);
  color: #1e7e34 !important; /* darker green on active */
}

/*** dashboard aesthetics ***/
.dashboard-card{
  background:#e0e5ec;border:none;border-radius:1.5rem;
  box-shadow:8px 8px 16px rgba(0,0,0,.1),-8px -8px 16px rgba(255,255,255,.7);
}

.score-value {
  font-family: 'Bangabandhu';
  font-size: 3rem;
  font-weight: 700;
  color: #28a845;  
}
.score-value-leaderboard {
  font-family: 'Bangabandhu';
  font-size: 1.0rem;
  font-weight: 700;
  color: #28a845;  
}
.card .fs-2 {
  font-size: 2rem;
  min-width: 3rem;
}

/* 6. Navbar — override .navbar */
.navbar {
  background: #e0e5ec !important;
  box-shadow:
    4px 4px 8px rgba(0, 0, 0, 0.05),
   -4px -4px 8px rgba(255, 255, 255, 0.6) !important;
}
.navbar .nav-link,
.navbar .navbar-text {
  color: #333 !important;
}
.navbar-text {
  display: flex;
  align-items: center;
  height: 100%;
  font-weight: 500;
}
.navbar-brand {
  color: #00adff !important;
  font-family: 'Bangabandhu', sans-serif;
  font-weight: 700;
  text-align: center;
  text-shadow:
    1px 1px 2px rgba(0, 0, 0, 0.1),
   -1px -1px 2px rgba(255, 255, 255, 0.3);
}


/* 7. Footer */
footer {
  background: #e0e5ec;
  box-shadow:
    inset 2px 2px 4px rgba(0, 0, 0, 0.05),
    inset -2px -2px 4px rgba(255, 255, 255, 0.6);
  text-align: center;
  padding: 1rem 0;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}


/* 8. Utility */
.text-white {
  color: #fff !important;
}