.weekly-scratch {
  margin-top: 16px;
  padding: clamp(14px, 3vw, 22px);
  border: 1px solid #8d7545;
  border-radius: 12px;
  background: radial-gradient(ellipse at top right, #3c3222, transparent 70%), #171e18;
}
.weekly-scratch [hidden] { display: none; }
.weekly-scratch .label { margin-bottom: 7px; color: #f3d38f; }
.weekly-scratch h2 { margin: 0 0 6px; font-size: clamp(25px, 5vw, 34px); line-height: 1.12; }
.weekly-scratch-period, .weekly-scratch-status { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
.weekly-scratch-ticket {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 142px;
  margin-bottom: 10px;
  overflow: hidden;
  border: 2px solid #d1ad66;
  border-radius: 10px;
  background: radial-gradient(ellipse at top, #3d5030, #17271a);
}
.weekly-scratch-reward { padding: 12px; text-align: center; }
.weekly-scratch-reward span { color: #f3d38f; font-size: 23px; }
.weekly-scratch-reward strong { display: block; font-size: clamp(22px, 5vw, 32px); line-height: 1.15; }
.weekly-scratch-reward p { margin: 5px 0 0; font-size: 13px; }
.weekly-scratch canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  touch-action: none;
  cursor: url("assets/srebrna-pilka-kursor.svg") 16 16, crosshair;
}
.weekly-scratch button { background: #20291f; color: var(--white); }

.weekly-scratch-confetti {
  position: fixed;
  inset: 0;
  z-index: 100;
  overflow: hidden;
  pointer-events: none;
}
.weekly-scratch-confetti span {
  position: absolute;
  top: -24px;
  border-radius: 2px;
}
