.ma-lottery-panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); border: 1px solid var(--ma-line); border-radius: 16px; overflow: hidden; background: var(--ma-surface); }
.ma-wheel-stage { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 56px 32px 40px; background: radial-gradient(circle at 50% 40%, var(--ma-paper) 0, rgba(251, 248, 241, 0) 62%); }

/* Only verified server prizes populate the dial's eight slots. */
.ma-wheel-machine { position: relative; width: min(100%, 460px); aspect-ratio: 1; padding: 10px; border-radius: 50%; background: var(--ma-jade); box-shadow: 0 0 0 1px rgba(135, 101, 47, .3), 0 28px 48px -24px rgba(13, 47, 40, .5); }
.ma-wheel-rim { position: relative; width: 100%; height: 100%; padding: 4px; border: 1px solid rgba(230, 207, 156, .55); border-radius: 50%; }
.ma-wheel-rotor { position: relative; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: repeating-conic-gradient(from -22.5deg, var(--ma-paper) 0deg 44.4deg, #d6bd8a 44.4deg 45deg, #e4eee7 45deg 89.4deg, #d6bd8a 89.4deg 90deg); transition: transform 3.6s cubic-bezier(.16, .7, .14, 1); }
.ma-wheel-slot { position: absolute; inset: 0; transform: rotate(calc(var(--ma-slice) * 45deg)); }
.ma-wheel-slot::before { content: ""; position: absolute; top: 12%; left: 50%; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: var(--ma-gold-deep); opacity: .5; }
.ma-wheel-slot:nth-child(1) { --ma-slice: 0; }
.ma-wheel-slot:nth-child(2) { --ma-slice: 1; }
.ma-wheel-slot:nth-child(3) { --ma-slice: 2; }
.ma-wheel-slot:nth-child(4) { --ma-slice: 3; }
.ma-wheel-slot:nth-child(5) { --ma-slice: 4; }
.ma-wheel-slot:nth-child(6) { --ma-slice: 5; }
.ma-wheel-slot:nth-child(7) { --ma-slice: 6; }
.ma-wheel-slot:nth-child(8) { --ma-slice: 7; }
.ma-wheel-hub { position: absolute; top: 50%; left: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 30%; height: 30%; transform: translate(-50%, -50%); border: 1px solid rgba(230, 207, 156, .7); border-radius: 50%; color: var(--ma-on-dark); background: var(--ma-jade); box-shadow: 0 0 0 6px rgba(13, 47, 40, .08); }
.ma-wheel-hub > strong { font-family: var(--ma-serif); font-size: clamp(16px, 1.5vw, 20px); font-weight: 400; letter-spacing: .08em; }
.ma-wheel-hub > span { margin-top: 4px; color: rgba(246, 236, 210, .7); font-size: 12px; letter-spacing: .24em; }
.ma-wheel-pointer { position: absolute; left: 50%; top: -14px; z-index: 3; width: 28px; height: 40px; transform: translateX(-50%); background: linear-gradient(90deg, #d9b772, #f6e6bd 50%, #cfa95e); clip-path: polygon(50% 100%, 0 26%, 16% 0, 84% 0, 100% 26%); filter: drop-shadow(0 2px 2px rgba(13, 47, 40, .25)); }
.ma-wheel-controls { width: min(100%, 360px); margin-top: 36px; text-align: center; }
.ma-page .ma-spin-button { width: 100%; }
.ma-spin-result { min-height: 44px; margin-top: 12px; color: var(--ma-muted); font-size: 13px; line-height: 1.7; }

.ma-lottery-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 56px clamp(28px, 4.5vw, 64px); border-left: 1px solid var(--ma-line); }
.ma-lottery-copy h3 { font-family: var(--ma-serif); font-size: clamp(26px, 2.3vw, 32px); font-weight: 500; line-height: 1.5; letter-spacing: .02em; }
.ma-lottery-lead { margin-top: 14px; color: var(--ma-muted); font-size: 15px; line-height: 1.9; }
.ma-lottery-facts { margin-top: 28px; border-top: 1px solid var(--ma-line); }
.ma-lottery-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--ma-line); font-size: 14px; }
.ma-lottery-facts dt { flex-shrink: 0; color: var(--ma-muted); }
.ma-lottery-facts dd { margin: 0; text-align: right; }
.ma-lottery-facts em { color: var(--cc-brand-dark); font-family: var(--ma-serif); font-size: 18px; font-style: normal; }

[data-ma-draw] .ma-wheel-slot > strong { position: absolute; top: 10%; left: 50%; width: 32%; transform: translateX(-50%); color: var(--ma-ink); text-align: center; font-size: clamp(11px, 1.35vw, 17px); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
[data-ma-draw].ma-draw-configured .ma-wheel-slot::before { display: none; }
[data-ma-draw] .ma-wheel-controls > .btn + .btn { margin-top: 10px; }
[data-ma-draw] .ma-spin-result, [data-ma-draw] [data-ma-draw-record], [data-ma-draw] .ma-lottery-facts dd { overflow-wrap: anywhere; }
[data-ma-draw] .ma-lottery-facts dd { min-width: 0; line-height: 1.7; }
[data-ma-draw] .ma-draw-prizes { margin-top: 20px; }
[data-ma-draw] .ma-prize-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
[data-ma-draw] .ma-draw-prizes h4 { display: flex; align-items: center; gap: 7px; font-size: 14px; line-height: 1.5; }
[data-ma-draw] .ma-draw-prizes h4::before { content: ""; width: 3px; height: 14px; border-radius: 2px; background: var(--ma-gold-deep); }
[data-ma-draw] [data-ma-draw-prize-note] { font-size: 11px; line-height: 1.6; }
[data-ma-draw] [data-ma-draw-prizes]:not([hidden]) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 10px; padding: 0; list-style: none; line-height: 1.5; }
[data-ma-draw] .ma-prize-card { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 8px; min-width: 0; padding: 5px 9px; border: 1px solid var(--ma-line); border-radius: 6px; background: var(--ma-paper); font-variant-numeric: tabular-nums; }
[data-ma-draw] .ma-prize-amount { min-width: 0; color: var(--ma-jade); font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
[data-ma-draw] .ma-prize-chance { margin-left: auto; color: var(--ma-gold-deep); font-size: 12px; white-space: nowrap; }
[data-ma-draw] .ma-prize-details { margin-top: 7px; color: var(--ma-muted); font-size: 11px; line-height: 1.7; }
[data-ma-draw] .ma-prize-details summary { width: fit-content; cursor: pointer; }
[data-ma-draw] .ma-prize-details summary:hover { color: var(--ma-jade); }
[data-ma-draw] .ma-prize-details summary:focus-visible { outline: 2px solid var(--ma-gold-deep); outline-offset: 3px; border-radius: 2px; }
[data-ma-draw] [data-ma-draw-prize-fractions] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 12px; margin-top: 6px; padding: 8px 10px; border-left: 2px solid var(--ma-line); list-style: none; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
[data-ma-draw][data-ma-draw-state="awarded"] .ma-spin-result, [data-ma-draw][data-ma-draw-state="animating"] .ma-spin-result { color: var(--ma-jade); font-size: 16px; font-weight: 600; }
[data-ma-draw] .ma-card-heading { flex-wrap: wrap; }

@media (max-width: 1100px) {
  .ma-wheel-stage { padding: 48px 24px 36px; }
  .ma-lottery-copy { padding: 40px 32px; }
}
@media (max-width: 900px) {
  .ma-lottery-panel { grid-template-columns: 1fr; }
  .ma-lottery-copy { padding: 32px; border-top: 1px solid var(--ma-line); border-left: 0; }
  .ma-lottery-copy h3 br, .ma-lottery-lead br { display: none; }
}
@media (max-width: 760px) {
  [data-ma-draw] .ma-wheel-slot > strong { font-size: 13px; }
  [data-ma-draw] .ma-lottery-facts > div { flex-wrap: wrap; gap: 6px 16px; }
  [data-ma-draw] .ma-lottery-facts dd { flex: 1 1 150px; }
  .ma-wheel-stage { padding: 40px 18px 28px; }
  .ma-wheel-machine { width: min(100%, 340px); padding: 8px; }
  .ma-wheel-rim { padding: 3px; }
  .ma-wheel-pointer { top: -10px; width: 24px; height: 34px; }
  .ma-wheel-hub > strong { font-size: 16px; }
  .ma-wheel-controls { margin-top: 28px; }
  .ma-lottery-copy { padding: 28px 20px 24px; }
  .ma-lottery-copy h3 { font-size: 24px; }
  .ma-lottery-lead { font-size: 14px; }
}
@media (min-width: 901px) and (max-width: 1350px), (max-width: 600px) {
  [data-ma-draw] [data-ma-draw-prizes]:not([hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  [data-ma-draw] .ma-wheel-rotor { transition: none; }
}
@media (max-width: 380px) {
  [data-ma-draw] .ma-wheel-slot > strong { font-size: 11px; }
  .ma-wheel-stage { padding-inline: 12px; }
  .ma-wheel-hub > strong { font-size: 14px; }
  .ma-wheel-hub > span { margin-top: 2px; letter-spacing: .12em; }
}
