/* 页面整体 */
body {
  margin:0;
  padding:0;
  background:radial-gradient(circle at top, #1f2937 0, #020617 55%, #000 100%);
  color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

.wrap {
  max-width:900px;
  margin:0 auto;
  padding:20px 12px 40px;
}

/* 标题 */
.page-title {
  text-align:center;
  font-size:28px;
  margin:0 0 6px;
  color:#facc15;
  text-shadow:0 0 10px rgba(250,204,21,.7);
}

.sub-title {
  text-align:center;
  font-size:16px;
  opacity:.9;
  margin-bottom:18px;
}

/* 三大奖布局 */
.prize-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-bottom:20px;
}

@media (max-width:700px) {
  .prize-grid {
    grid-template-columns:1fr;
  }
}

/* 单个奖卡片 */
.prize-card {
  background:linear-gradient(145deg, #020617 0, #111827 50%, #020617 100%);
  border-radius:16px;
  padding:14px 10px 16px;
  text-align:center;
  border:2px solid rgba(148,163,184,.5);
  box-shadow:0 0 15px rgba(15,23,42,.8);
  transition:transform .25s, box-shadow .25s, border-color .25s;
  position:relative;
  overflow:hidden;
}

.prize-card::before {
  content:"";
  position:absolute;
  inset:-40%;
  background:conic-gradient(from 0deg, #22d3ee, #f97316, #e11d48, #22c55e, #22d3ee);
  opacity:0;
  mix-blend-mode:screen;
  pointer-events:none;
  transition:opacity .3s;
}

/* 开奖中状态：更大胆一点的效果 */
.prize-card.drawing {
  transform:scale(1.03);
  border-color:#38bdf8;
  box-shadow:0 0 25px rgba(56,189,248,.9);
  animation:cardPulse .7s infinite alternate;
}

.prize-card.drawing::before {
  opacity:.16;
}

/* 开奖完成高亮 */
.prize-card.done {
  border-color:#f97316;
  box-shadow:0 0 25px rgba(249,115,22,.9);
}

/* 卡片顶部标签 */
.prize-label {
  font-size:18px;
  font-weight:700;
  margin-bottom:4px;
}

.prize-label-1 { color:#f97316; }
.prize-label-2 { color:#22c55e; }
.prize-label-3 { color:#38bdf8; }

.prize-status {
  font-size:13px;
  opacity:.85;
  margin-bottom:6px;
}

/* 数字 */
.prize-digits {
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:6px;
}

.digit {
  width:46px;
  height:64px;
  line-height:64px;
  font-size:34px;
  font-weight:700;
  background:radial-gradient(circle at top, #0f172a 0, #020617 70%);
  border-radius:10px;
  border:2px solid #0ea5e9;
  box-shadow:0 0 10px rgba(14,165,233,.8);
  text-shadow:0 0 6px rgba(56,189,248,.9);
}

/* 抖动效果（数字在滚动时） */
.digit.shake {
  animation:digitShake .2s infinite;
}

/* 按钮 */
.start-btn {
  display:block;
  margin:10px auto 26px;
  padding:12px 28px;
  font-size:18px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg,#f97316,#ec4899);
  box-shadow:0 0 16px rgba(248,113,113,.8);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s, box-shadow .2s, opacity .2s;
}

.start-btn:hover:not(:disabled) {
  transform:translateY(-1px) scale(1.02);
  box-shadow:0 0 22px rgba(248,113,113,1);
}

.start-btn:active:not(:disabled) {
  transform:scale(.97);
}

.start-btn:disabled {
  opacity:.45;
  cursor:not-allowed;
}

/* 安慰奖 */
.section-title {
  font-size:20px;
  margin:0 0 10px;
  text-align:center;
  color:#a5b4fc;
}

.consolation-list {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:8px;
}

@media (max-width:600px) {
  .consolation-list {
    grid-template-columns:repeat(2, 1fr);
  }
}

.con-item {
  background:#020617;
  border-radius:10px;
  padding:8px 4px;
  font-size:18px;
  text-align:center;
  opacity:.35;
  border:1px solid rgba(148,163,184,.6);
  transition:opacity .25s, transform .25s, box-shadow .25s, border-color .25s;
}

.con-item.active {
  opacity:1;
  transform:scale(1.03);
  box-shadow:0 0 10px rgba(56,189,248,.8);
  border-color:#38bdf8;
}

/* 闪屏，配合每个大奖开奖完成时使用 */
.flash-overlay {
  position:fixed;
  inset:0;
  background:#f9fafb;
  opacity:0;
  pointer-events:none;
  mix-blend-mode:screen;
}

/* 动画 */
@keyframes cardPulse {
  0% { box-shadow:0 0 16px rgba(56,189,248,.6); }
  100% { box-shadow:0 0 28px rgba(56,189,248,1); }
}

@keyframes digitShake {
  0%   { transform:translateX(-1px); }
  50%  { transform:translateX(1px); }
  100% { transform:translateX(-1px); }
}
