body {
  margin: 0;
  font-family: Arial;
  background: #111;
  color: #fff;
}

header {
  background: #c40000;
  padding: 18px;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
}

.wrap {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
}

.hero {
  background: #1b1b1b;
  padding: 25px;
  border-radius: 12px;
  margin-bottom: 20px;
  text-align: center;
}

#countdown {
  font-size: 22px;
  font-weight: bold;
  color: #ffd700;
}

.card {
  background: #1d1d1d;
  padding: 18px;
  border-radius: 12px;
  margin-bottom: 15px;
}

.meta {
  margin-bottom: 10px;
  color: #ccc;
}

.row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.ball {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fff;
}

.ball small {
  font-size: 12px;
}

.red {
  background: #e00000;
}

.blue {
  background: #1877ff;
}

.green {
  background: #00a83d;
}

.plus {
  font-size: 24px;
  font-weight: bold;
}

.pager {
  text-align: center;
  margin-top: 20px;
}

button {
  padding: 10px 16px;
  border: none;
  background: #c40000;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
}

button:hover {
  background: #ff0000;
}

@media (max-width: 768px) {
  .ball {
    width: 50px;
    height: 50px;
    font-size: 14px;
  }
}

.pending{
background:#444;
color:#999;
}

.pending small{
display:none;
}

.pan-grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(90px,1fr));
gap:12px;
}

.pan-item{
background:#1f1f1f;
border-radius:12px;
padding:15px;
text-align:center;
border:1px solid #333;
}

.pan-title{
font-size:20px;
font-weight:bold;
margin-bottom:8px;
}

.pan-value{
font-size:24px;
font-weight:bold;
color:#ffd700;
}

.color-grid{
display:grid;
grid-template-columns:repeat(7,1fr);
gap:10px;
margin-top:20px;
}

.color-card{
padding:20px;
border:1px solid #fff;
text-align:center;
font-weight:bold;
}

.color-card span{
display:block;
margin-top:10px;
font-size:28px;
}

.red-card{
background:#d00000;
}

.blue-card{
background:#1565ff;
}

.green-card{
background:#00a63f;
}

.tool-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:20px;
margin-top:15px;
}

.tool-card{
display:block;
background:#1d1d1d;
border:1px solid #333;
border-radius:18px;
padding:30px;
text-decoration:none;
color:#fff;
transition:.25s;
text-align:center;
}

.tool-card:hover{
transform:translateY(-5px);
border-color:#d00000;
box-shadow:0 10px 25px rgba(208,0,0,.25);
}

.tool-icon{
font-size:48px;
margin-bottom:15px;
}

.tool-title{
font-size:22px;
font-weight:bold;
margin-bottom:10px;
}

.tool-desc{
color:#aaa;
font-size:14px;
}

.feature-card{
display:block;
background:#1d1d1d;
border:1px solid #333;
border-radius:15px;
padding:25px;
text-align:center;
text-decoration:none;
color:#fff;
transition:.3s;
}

.feature-card:hover{
transform:translateY(-5px);
border-color:#d00000;
box-shadow:0 10px 25px rgba(208,0,0,.3);
}

.feature-icon{
font-size:48px;
margin-bottom:12px;
}

.feature-title{
font-size:22px;
font-weight:bold;
margin-bottom:8px;
}

.feature-desc{
font-size:14px;
color:#bbb;
}

/* =========================
   LIVE REVEAL ANIMATION
========================= */

.reveal-ball {
    animation: ballReveal 0.9s cubic-bezier(.17,.67,.35,1.3);
}

.reveal-number {
    animation: numberPop 0.6s ease-out;
}

.pending {
    background: #444;
    color: #999;
    animation: pendingBounce 1.2s ease-in-out infinite;
}

@keyframes ballReveal {

    0% {
        transform: translateY(-150px) rotate(-45deg) scale(.5);
        opacity: 0;
    }

    40% {
        transform: translateY(20px) rotate(20deg) scale(1.15);
        opacity: 1;
    }

    55% {
        transform: translateY(-15px) rotate(-10deg) scale(1);
    }

    70% {
        transform: translateY(8px) rotate(5deg);
    }

    85% {
        transform: translateY(-4px) rotate(-2deg);
    }

    100% {
        transform: translateY(0) rotate(0) scale(1);
        opacity: 1;
    }
}

@keyframes numberPop {

    0% {
        transform: scale(.2);
        opacity: 0;
    }

    60% {
        transform: scale(1.3);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes pendingBounce {

    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}