/* Score gauge animation */
.gauge-circle {
  transition: stroke-dashoffset 1.2s ease-in-out;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}

/* Keyword chips */
.keyword-chip {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 500;
  margin: 3px;
}

/* Breakdown bars */
.bar-fill {
  height: 8px;
  border-radius: 9999px;
  transition: width 0.9s ease-in-out;
}

/* Drop zone hover */
.drop-active {
  border-color: #1B4F8A !important;
  background-color: #EFF6FF !important;
}

/* Spinner */
@keyframes spin {
  to { transform: rotate(360deg); }
}
.spinner {
  animation: spin 0.8s linear infinite;
}

/* Fade in results */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-in {
  animation: fadeIn 0.4s ease-out forwards;
}

/* AdSense sidebar — hide on mobile */
@media (max-width: 768px) {
  .sidebar-ad { display: none !important; }
}

/* History cards */
.history-card {
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.history-card:hover {
  border-color: #1B4F8A;
  box-shadow: 0 0 0 3px rgba(27,79,138,0.08);
}

/* ── Print styles ── */
@media print {
  header, footer, nav,
  #drop-zone, #file-feedback, #resume-text, #job-description,
  #job-url-row, #submit-btn, #error-box,
  #history-section, #loading-section,
  #below-results-ad, .adsbygoogle,
  .sidebar-ad, #action-bar button:not(#print-btn),
  .no-print { display: none !important; }

  body { font-size: 11pt; color: #111; }

  #results-section {
    display: block !important;
    margin: 0;
    padding: 0;
  }

  .gauge-circle {
    transition: none;
  }

  @page { margin: 1.5cm; }
}
