/* public/css/custom.css */
/* Modern system font stack (100% offline, zero CSP violations) */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background-color: #F5F7FB;
  color: #1e293b;
}

code, pre, .font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Base Image & Media Reset to prevent unconstrained layout explosion */
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
}

/* Fail-safe image dimension utilities */
.w-14 { width: 3.5rem !important; max-width: 3.5rem !important; }
.h-14 { height: 3.5rem !important; max-height: 3.5rem !important; }
.w-9 { width: 2.25rem !important; max-width: 2.25rem !important; }
.h-9 { height: 2.25rem !important; max-height: 2.25rem !important; }
.rounded-full { border-radius: 9999px !important; }
.object-cover { object-fit: cover !important; }

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Radar SVG animation & glow */
.radar-polygon {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  filter: drop-shadow(0 4px 12px rgba(36, 53, 104, 0.18));
}

.radar-spoke {
  transition: stroke 0.2s ease, stroke-width 0.2s ease;
}
.radar-spoke:hover {
  stroke: #D89524;
  stroke-width: 2.5;
  cursor: pointer;
}

.radar-point {
  transition: r 0.2s ease, fill 0.2s ease;
}
.radar-point:hover {
  r: 6.5;
  fill: #D89524;
  cursor: pointer;
}

/* Dirty cell indicator */
.cell-dirty {
  background-color: #fef3c7 !important;
  border-left: 3px solid #d97706 !important;
}

/* Saffron gold gradient text */
.text-saffron-gold {
  background: linear-gradient(135deg, #d97706 0%, #f59e0b 50%, #b45309 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
