/* Random Number Generator — tool-specific styles */
.rng-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rng-opts { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 14px; }
.rng-opts label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .92rem;
  font-weight: 600; cursor: pointer; }
.rng-gobtn { margin-top: 18px; font-size: 1rem; padding: 13px 30px; }

.rng-result { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; min-height: 30px; }
.rng-num { font-variant-numeric: tabular-nums; font-weight: 800; font-size: 1.6rem; background: var(--bg-soft);
  border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 18px;
  animation: rng-pop .35s cubic-bezier(.23,1,.32,1) both; }
.rng-num.big { font-size: clamp(2.6rem, 9vw, 4.4rem); padding: 18px 38px; color: transparent;
  background-image: var(--accent-grad); -webkit-background-clip: text; background-clip: text;
  border-color: rgba(108,139,255,.4); }
.rng-list { width: 100%; background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 14px 16px; font-variant-numeric: tabular-nums; font-size: .95rem; max-height: 230px; overflow: auto;
  white-space: pre-wrap; word-break: break-word; text-align: left; }
@keyframes rng-pop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
#rngCopy { margin-top: 14px; }

.rng-dice { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.rng-die { width: 64px; height: 64px; display: grid; place-items: center; font-weight: 800; font-size: 1.5rem;
  background: var(--bg-soft); border: 1.5px solid var(--line); border-radius: 14px;
  animation: rng-roll .5s cubic-bezier(.23,1,.32,1) both; font-variant-numeric: tabular-nums; }
.rng-die.max { border-color: var(--accent-2); color: var(--accent-2); box-shadow: 0 0 18px -4px rgba(92,214,192,.5); }
@keyframes rng-roll { from { opacity: 0; transform: rotate(-160deg) scale(.4); } to { opacity: 1; transform: none; } }
.rng-total { text-align: center; font-weight: 700; font-size: 1.15rem; margin: 16px 0 0; color: var(--muted);
  font-variant-numeric: tabular-nums; }
.rng-total b { color: var(--text); font-size: 1.35rem; }

.rng-coinwrap { display: flex; justify-content: center; margin-top: 22px; perspective: 700px; }
.rng-coin { width: 130px; height: 130px; border-radius: 50%; display: grid; place-items: center;
  font-weight: 800; font-size: 1.5rem; color: #0b0e1c; letter-spacing: .02em;
  background: linear-gradient(135deg, #ffce5c, #ff9e7a); box-shadow: 0 14px 38px -12px rgba(255,206,92,.55),
  0 0 0 6px rgba(255,206,92,.15); transform-style: preserve-3d; }
.rng-coin.spin { animation: rng-flip .9s cubic-bezier(.3,.6,.3,1); }
@keyframes rng-flip { 0% { transform: rotateX(0); } 100% { transform: rotateX(1800deg); } }

#tab-num, #tab-coin { text-align: center; }
#tab-num .rng-row, #tab-num .rng-opts { text-align: left; }
@media (max-width: 620px) { .rng-row { grid-template-columns: 1fr; } }
