/* ===== Buckets ===== */
#frequency-table td.freq-0    { background-color:#111827 !important; color:#fff !important; }
#frequency-table td.freq-1-4  { background-color:#dc2626 !important; color:#fff !important; }
#frequency-table td.freq-5-7  { background-color:#f97316 !important; color:#111 !important; }
#frequency-table td.freq-8-11 { background-color:#f59e0b !important; color:#111 !important; }
#frequency-table td.freq-12p  { background-color:#16a34a !important; color:#fff !important; }

/* ===== Cell base ===== */
#frequency-table td{
  transition: background-color .28s ease, color .22s ease, transform .18s ease;
  vertical-align: middle;
  font-weight: 600;
  position: relative;
  cursor: text; /* contenteditable */
}

/* Subtle inset shine for non-zero cells */
#frequency-table td[data-freq-val]:not([data-freq-val="0"])::after{
  content:"";
  position:absolute; inset:2px;
  border-radius:6px;
  box-shadow: inset 0 6px 18px rgba(0,0,0,.06);
  pointer-events:none;
}

/* Hover micro-lift (desktop/iPad hover-capable) */
@media (hover: hover){
  #frequency-table td:hover{ transform: translateY(-1px); }
}

/* ===== Change pulse ===== */
@keyframes freq-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(0, 151, 255, .38); }
  70%  { box-shadow: 0 0 0 14px rgba(0, 151, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 151, 255, 0); }
}
#frequency-table td.freq-just-updated{
  animation: freq-pulse .9s ease-out 1;
  outline: 1px solid rgba(0,151,255,.15);
  outline-offset: -1px;
}

#frequency-table td.freq-bright{ color:#0b1a2a !important; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  #frequency-table td{ transition: none !important; }
  #frequency-table td.freq-just-updated{ animation: none !important; }
}
