body {
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.custom-scroll::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: hsl(240 3.7% 22%);
  border-radius: 4px;
}

.heatmap-grid {
  display: grid;
  grid-template-rows: repeat(7, 12px);
  grid-auto-flow: column;
  grid-auto-columns: 12px;
  gap: 3.5px;
}

.heatmap-grid-compact {
  display: grid;
  grid-template-rows: repeat(7, 8.5px);
  grid-auto-flow: column;
  grid-auto-columns: 8.5px;
  gap: 2.5px;
}

.heatmap-grid-multi {
  display: grid;
  grid-template-rows: repeat(7, 10px);
  grid-auto-flow: column;
  grid-auto-columns: 10px;
  gap: 3px;
}

/* Information & Patreon styles */
kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0.15rem 0.45rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  color: #e4e4e7;
  background-color: #18181b;
  border: 1px solid #3f3f46;
  border-radius: 0.375rem;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.patreon-glow {
  box-shadow: 0 0 25px -5px rgba(255, 66, 77, 0.25);
}

.patreon-glow:hover {
  box-shadow: 0 0 35px -2px rgba(255, 66, 77, 0.45);
}

@keyframes pulse-subtle {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.88; transform: scale(1.02); }
}

.animate-pulse-subtle {
  animation: pulse-subtle 4s ease-in-out infinite;
}

