#canvas {
    background-color: black;
    width: min(400px, 85vw);
    height: min(400px, 85vw);
    border-radius: 50px;
    color: grey;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(12px, 3vw, 16px);
    text-align: center;
    padding: 12px;
}

.box {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: flex-start;
    margin-top: 70px;
}

#cps-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    font-size: clamp(11px, 3vw, 14px);
}

body {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    justify-content: center;
    padding-top: 80px;
}

.box button {
    text-decoration: none;
    color: inherit;
    background-color: yellowgreen;
    padding: 5px;
    border-radius: 10px;
    border: 2px solid red;
    width: 100px;
    height: 50px;
    margin: 5px;
}

.box button:hover {
    background-color: rgba(154, 205, 50, 0.75);
    border-color: rgba(255, 0, 0, 0.75);
}

.box button.chosen {
    background-color: #1a1a2e;
    border-color: yellowgreen;
    color: yellowgreen;
}

/* ── Click effects ── */
.click-ring {
  position: fixed;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2.5px solid rgba(34, 197, 94, 0.9);
  background: transparent;
  pointer-events: none;
  z-index: 9999;
  animation: ring-expand 0.45s ease-out forwards;
}
.click-ring.ring2 {
  animation-duration: 0.65s;
  animation-delay: 0.04s;
  border-color: rgba(34, 197, 94, 0.45);
}
@keyframes ring-expand {
  0%   { transform: translate(-50%, -50%) scale(0.1); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(4.5); opacity: 0; }
}

.click-particle {
  position: fixed;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #4ade80;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
}

.click-plus {
  position: fixed;
  color: #4ade80;
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  font-weight: 700;
  pointer-events: none;
  z-index: 9999;
  animation: plus-float 0.65s ease-out forwards;
  text-shadow: 0 0 8px rgba(74, 222, 128, 0.6);
}
@keyframes plus-float {
  0%   { transform: translate(-50%, -50%);        opacity: 1; }
  100% { transform: translate(-50%, calc(-50% - 48px)); opacity: 0; }
}

#cps-graph {
  display: block;
  width: min(400px, 85vw);
  height: 130px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  margin-bottom: 12px;
  opacity: 0;
  transition: opacity 0.4s ease;
}

#cps-graph.active { opacity: 1; }

#pb-display {
  min-height: 24px;
  margin-top: 6px;
}

.pb-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
  font-family: 'JetBrains Mono', monospace;
}

.pb-label {
  font-size: 9px;
  letter-spacing: 2px;
  color: #475569;
  padding-right: 4px;
}

.pb-item {
  color: #475569;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  padding: 3px 8px;
  transition: all 0.15s;
}

.pb-item b { font-weight: 700; }

.pb-item.pb-active {
  color: #4ade80;
  background: rgba(34,197,94,0.1);
  border-color: rgba(34,197,94,0.3);
}

@media (max-width: 600px) {
    body { flex-direction: column; align-items: center; padding-top: 70px; }
    .box { margin-top: 20px; width: 95%; }
    .box button { width: 80px; height: 44px; font-size: 11px; }
}
