/* =========================================================
   HOME PAGE — MUST PSC
   Page-specific styles only
   Requires base/global CSS loaded first
   ========================================================= */

/* Container adjustment for Home */
.page-home .container {
  max-width: 820px;
  text-align: center;
}


/* ================= HERO ================= */

.page-home .hero {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: #fff;
  border-radius: var(--r-xl);
  padding: 36px 28px;
  margin-bottom: 20px;
}

.page-home .hero h1 {
  color: #fff;
  margin-bottom: 8px;
}

.page-home .hero p {
  color: rgba(255,255,255,0.75);
  font-size: 15px;
}


/* ================= STATS GRID ================= */

.page-home .stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.page-home .stat-card {
  background: #fff;
  border-radius: var(--r-md);
  padding: 18px 14px;
  border: 1.5px solid var(--gray-200);
}

.page-home .stat-card .num {
  font-size: 28px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
  margin-bottom: 4px;
}

.page-home .stat-card .lbl {
  font-size: 12px;
  color: var(--gray-500);
  font-weight: 500;
}


/* ================= LAST TEST BOX ================= */

.page-home .last-test-box {
  background: var(--gray-50);
  border: 1.5px solid var(--gray-200);
  border-radius: var(--r-md);
  padding: 18px;
  text-align: left;
  margin-bottom: 12px;
}


/* ================= RESPONSIVE ================= */

@media (max-width: 600px) {

  /* Stats → single column */
  .page-home .stats-grid {
    grid-template-columns: 1fr;
  }

  .page-home .hero {
    padding: 26px 18px;
  }

  .page-home .last-test-box {
    font-size: 14px;
  }
}

/* ================= GRAPH Y-AXIS LABEL ================= */

.chart-container {
  position: relative;
}

.y-axis-label {
  position: absolute;
  left: -48px;                 /* space for vertical text */
  top: 50%;
  transform: translateY(-50%) rotate(180deg);  /* bottom → up */
  transform-origin: center;

  writing-mode: vertical-rl;   /* vertical text */
  text-orientation: mixed;

  font-size: 16px;             /* same as subject size */
  font-weight: 600;
  color: var(--gray-600);
  white-space: nowrap;
}