/* Golden poster skin for the game landing page; reward and staff pages use the base skin. */
body.review-lottery-page:has(.review-lottery-poster) {
  background: #1d0d04;
}
.review-lottery-poster {
  --review-wheel-size: min(550px, calc(100vw - 94px));
  max-width: 940px;
  min-height: 100dvh;
  margin: 0 auto;
  padding: 34px 42px 32px;
  background:
    radial-gradient(ellipse at 50% 63%, #b57413 0, #683306 34%, transparent 69%),
    radial-gradient(ellipse at 94% 5%, #754318, transparent 52%), #301300;
  box-shadow: 0 0 90px #0008;
}
.review-lottery-poster::before {
  inset: 12px;
  z-index: -1;
  border: 1.5px solid #f1d582;
  border-radius: 22px;
  opacity: 1;
  background: radial-gradient(circle, #f0b74255 .8px, transparent 1.6px) 0 0 / 22px 22px;
  box-shadow: inset 0 0 0 3px #462300, 0 0 13px #f2b74122;
}
.review-lottery-poster::after {
  inset: 17% -35% 4%;
  z-index: -2;
  opacity: .48;
  background: repeating-conic-gradient(from 5deg at 50% 59%, transparent 0deg 13deg, #ffc83c23 14deg 19deg, transparent 20deg 30deg);
  mask-image: radial-gradient(ellipse, #000 8%, transparent 62%);
}
.review-lottery-poster .review-lottery-brandbar {
  min-height: 62px;
  margin-bottom: 18px;
  padding: 0 65px;
}
.review-lottery-poster .review-lottery-brand-copy { gap: 6px; }
.review-lottery-poster .review-lottery-brand-copy strong {
  position: relative;
  max-width: 580px;
  font-size: clamp(25px, 4vw, 40px);
  white-space: normal;
  overflow-wrap: anywhere;
  text-shadow: 0 3px 8px #180700;
}
.review-lottery-poster .review-lottery-brand-copy strong::before,
.review-lottery-poster .review-lottery-brand-copy strong::after {
  content: "";
  position: absolute;
  top: 58%;
  width: 65px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #f5dea0);
}
.review-lottery-poster .review-lottery-brand-copy strong::before { right: calc(100% + 20px); }
.review-lottery-poster .review-lottery-brand-copy strong::after { left: calc(100% + 20px); transform: rotate(180deg); }
.review-lottery-poster .review-lottery-brand-copy small {
  font: 12px Georgia, "Times New Roman", serif;
  color: #ffedc5;
  letter-spacing: .48em;
  padding-left: .48em;
}
.review-lottery-poster .review-lottery-lang-switcher .lang-switcher-toggle {
  background: #30150480;
  border-color: #d6b26270;
}
.review-lottery-poster .review-lottery-heading { margin-bottom: 26px; }
.review-lottery-poster .review-lottery-panel h1 {
  position: relative;
  margin: 0;
  font-size: clamp(36px, 7vw, 72px);
  line-height: 1.02;
  letter-spacing: -.045em;
  overflow-wrap: normal;
  text-shadow: 0 3px 2px #351500, 0 7px 16px #170700a0;
}
.review-lottery-title-top { display: block; }
.review-lottery-title-gold {
  display: block;
  margin: 1px -12px 4px;
  color: #ffda67;
  font-size: 1.16em;
  line-height: 1.1;
  background: linear-gradient(180deg, #fff1ae 4%, #ffe47c 30%, #e8a913 54%, #ffdf72 62%, #a75d04 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: .5px #f7cd64;
  text-shadow: none;
  filter: drop-shadow(0 2px 0 #7f4500) drop-shadow(0 6px 5px #210a00);
}
html[lang="en"] .review-lottery-title-gold { font-size: .94em; }
html[lang="zh"] .review-lottery-title-gold,
html[lang="zh-CN"] .review-lottery-title-gold { margin-top: 10px; }
.review-lottery-poster .review-lottery-intro {
  color: #fff0d1;
  font: 700 clamp(17px, 3vw, 27px)/1.3 Georgia, "Times New Roman", serif;
  text-shadow: 0 3px 4px #200a00;
}
.review-lottery-poster .review-lottery-wheel-stage {
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  height: calc(var(--review-wheel-size) + 64px);
  padding: 20px 0 0;
  filter: drop-shadow(0 12px 16px #230b0066);
}
.review-lottery-poster .review-lottery-light-ring {
  top: 18px;
  width: calc(var(--review-wheel-size) + 44px);
  height: calc(var(--review-wheel-size) + 44px);
  border: 11px solid transparent;
  background: conic-gradient(from -30deg, #b97302, #ffe88c 14%, #d79206 28%, #fff1a2 42%, #ae6500 57%, #ffd34d 72%, #ffed9a 83%, #b97302) border-box;
  box-shadow: inset 0 0 0 2px #fff0a0, inset 0 0 12px #854800, 0 0 0 2px #ffec92, 0 0 0 4px #b9790c, 0 0 23px #ffb90d99, 0 0 64px #ffbe212e;
}
.review-lottery-poster .review-lottery-light-ring i {
  width: 13px;
  height: 13px;
  background: #fffde0;
  box-shadow: 0 0 5px 2px #fff49f, 0 0 15px 5px #ffcf3488;
  animation-name: review-poster-lights;
  animation-duration: var(--review-chase-duration, 3.2s);
  animation-delay: calc(var(--light-index) * var(--review-chase-step, -0.2s));
}
.review-lottery-poster .review-lottery-wheel {
  border: 2px solid #a26008;
  box-shadow: inset 0 0 16px #5c250080, inset 0 0 2px 2px #4c2300, 0 0 0 2px #ffda65;
}
.review-lottery-poster .review-lottery-wheel::after {
  z-index: 0;
  background: radial-gradient(circle at 48% 39%, #fffbd21c, transparent 38%), radial-gradient(circle, transparent 52%, #4d1b0044 100%);
}
.review-lottery-poster .review-lottery-wheel-labels > span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  height: 50%;
  width: 1px;
  background: #ffe37f8c;
  box-shadow: 1px 0 2px #65310080;
  transform-origin: bottom;
  transform: rotate(calc(var(--segment-angle) / -2));
}
.review-lottery-poster .review-lottery-wheel-labels b {
  top: 20%;
  width: var(--prize-label-width, 27%);
  transform: translate(-50%, -50%) rotate(calc(var(--label-rotation, 0deg) - var(--wheel-label-compensation, 0deg)));
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #fff0ba;
  font: 700 clamp(13px, 2.6vw, 26px)/1.02 Georgia, "Times New Roman", serif;
  text-transform: uppercase;
  text-shadow: 0 2px 3px #713400a6;
  overflow-wrap: anywhere;
}
.review-lottery-prize-icon {
  display: block;
  width: clamp(40px, 8vw, 77px);
  height: clamp(40px, 8vw, 77px);
  filter: drop-shadow(0 4px 3px #57260070);
}
.review-lottery-poster .review-lottery-wheel[data-segment-count="1"] .review-lottery-wheel-labels > span::before { display: none; }
.review-lottery-poster .review-lottery-wheel:not([data-segment-count="1"]):not([data-segment-count="2"]):not([data-segment-count="3"]):not([data-segment-count="4"]):not([data-segment-count="5"]):not([data-segment-count="6"]) .review-lottery-wheel-labels b {
  top: 15%; font-size: clamp(9px, 1.5vw, 15px); gap: 3px;
}
.review-lottery-poster .review-lottery-wheel:not([data-segment-count="1"]):not([data-segment-count="2"]):not([data-segment-count="3"]):not([data-segment-count="4"]):not([data-segment-count="5"]):not([data-segment-count="6"]) .review-lottery-prize-icon { width: 30px; height: 30px; }
.review-lottery-poster .review-lottery-wheel-center {
  width: 20%; height: 20%;
  border: 4px solid #ffe38a;
  background: linear-gradient(125deg, #fff0a0, #edc043 36%, #c98a0e 64%, #f5ce52);
  box-shadow: 0 6px 8px #47200099, 0 0 0 2px #a45f03, inset 0 0 0 2px #a2670e, inset 0 0 0 5px #ffd771;
}
.review-lottery-poster .review-lottery-wheel-center span {
  font-size: clamp(25px, 4vw, 38px);
  transform: rotate(calc(0deg - var(--wheel-label-compensation, 0deg)));
}
.review-lottery-poster .review-lottery-pointer {
  top: 0; width: 40px; height: 61px;
  border: 0; border-radius: 0;
  background: #ffe063;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  filter: drop-shadow(0 3px 3px #4c1800);
}
.review-lottery-poster .review-lottery-pointer span {
  inset: 2px 3px 6px; width: auto; height: auto;
  transform: none; border: 0;
  background: linear-gradient(110deg, #ff6025, #ea160d 45%, #b30a00);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.review-lottery-poster .review-lottery-footer {
  position: relative; inset: auto;
  margin: 28px auto 0; max-width: 640px;
  color: #edd3a285;
}
.review-lottery-participation-note {
  margin: 0 auto 14px;
  max-width: 550px;
  color: #e9cfa4;
  font-size: 12px;
  line-height: 1.65;
}
.review-lottery-confetti { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.review-lottery-confetti i {
  position: absolute; top: 45%; left: 7%; width: 18px; height: 56px;
  background: linear-gradient(105deg, #8e5000, #ffe891 35%, #ffcd41 58%, #8e5000);
  border-radius: 85% 0 75% 0;
  transform: rotate(-35deg);
  box-shadow: 0 2px 8px #ffc53920;
}
.review-lottery-confetti i:nth-child(2) { top: 68%; left: 10%; transform: rotate(55deg); }
.review-lottery-confetti i:nth-child(3) { top: 82%; left: 16%; transform: rotate(-70deg); width: 12px; height: 36px; }
.review-lottery-confetti i:nth-child(4) { top: 36%; left: 89%; transform: rotate(20deg); }
.review-lottery-confetti i:nth-child(5) { top: 61%; left: 93%; transform: rotate(-50deg); }
.review-lottery-confetti i:nth-child(6) { top: 83%; left: 85%; transform: rotate(45deg); }
.review-lottery-confetti i:nth-child(n+7) { width: 9px; height: 9px; border-radius: 0; transform: rotate(45deg); background: #ffe999; box-shadow: 0 0 15px 4px #ffbd3d80; }
.review-lottery-confetti i:nth-child(7) { top: 33%; left: 18%; }
.review-lottery-confetti i:nth-child(8) { top: 49%; left: 90%; width: 6px; height: 6px; }
.review-lottery-confetti i:nth-child(9) { top: 74%; left: 5%; }
.review-lottery-confetti i:nth-child(10) { top: 78%; left: 94%; width: 5px; height: 5px; }
.review-lottery-confetti i:nth-child(11) { top: 21%; left: 11%; width: 5px; height: 5px; }
.review-lottery-confetti i:nth-child(12) { top: 26%; left: 89%; }
@keyframes review-poster-lights {
  0%, 28%, 100% { opacity: .65; filter: brightness(.9); box-shadow: 0 0 5px #ffda63; }
  9%, 15% { opacity: 1; filter: brightness(1.5); box-shadow: 0 0 8px 3px #fff5b0, 0 0 24px 8px #ffc429aa; }
}
/* Light follows existing spin/result states; no timers or draw requests. */
/* The rim shadows provide a soft halo without a clipped stage-sized disc. */
.review-lottery-poster .review-lottery-light-ring::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg 270deg, #ffdb7333 315deg, #fffbdacc 347deg, transparent 360deg);
  mask-image: radial-gradient(circle, transparent 65%, #000 68%, transparent 72%);
  pointer-events: none;
  animation: review-ring-sweep 9s linear infinite;
}
.review-lottery-poster .review-lottery-wheel-stage.is-spinning {
  --review-chase-duration: 1.6s;
  --review-chase-step: -0.1s;
}
.review-lottery-poster .review-lottery-wheel-stage.is-spinning .review-lottery-light-ring i {
  animation-duration: var(--review-chase-duration);
}
.review-lottery-poster .review-lottery-wheel-stage.is-spinning .review-lottery-light-ring::after { animation-duration: 3s; }
.review-lottery-poster .review-lottery-wheel-stage.has-result .review-lottery-light-ring i {
  animation: review-winner-glow 1.8s ease-out 2;
  opacity: 1;
  box-shadow: 0 0 7px 2px #fff0a3, 0 0 17px 5px #ffc73699;
}
.review-lottery-poster .review-lottery-title-gold {
  background-size: 100% 200%;
  animation: review-title-shine 7s ease-in-out infinite;
}
.review-lottery-poster .review-lottery-confetti i:nth-child(n+7) {
  animation: review-star-glow 3.8s ease-in-out infinite alternate;
}
.review-lottery-poster .review-lottery-confetti i:nth-child(2n+8) { animation-delay: -1.9s; }
@keyframes review-ring-sweep { to { transform: rotate(360deg); } }
@keyframes review-winner-glow { 0%, 100% { filter: brightness(1); } 40% { filter: brightness(1.5); box-shadow: 0 0 10px 4px #fff9ce, 0 0 32px 10px #ffca4399; } }
@keyframes review-title-shine { 0%, 100% { background-position: 50% 0%; } 50% { background-position: 50% 65%; } }
@keyframes review-star-glow { from { opacity: .35; filter: brightness(.9); } to { opacity: 1; filter: brightness(1.4); } }
@media (max-width: 620px) {
  .review-lottery-poster { --review-wheel-size: calc(100vw - 78px); padding: 25px 24px 28px; }
  .review-lottery-poster::before { inset: 8px; border-radius: 16px; background-size: 17px 17px; }
  .review-lottery-poster .review-lottery-brandbar { min-height: 60px; padding: 0 45px; margin-bottom: 15px; }
  .review-lottery-poster .review-lottery-brand-copy strong { font-size: clamp(18px, 5.7vw, 28px); }
  .review-lottery-poster .review-lottery-brand-copy strong::before,
  .review-lottery-poster .review-lottery-brand-copy strong::after { display: none; }
  .review-lottery-poster .review-lottery-brand-copy small { font-size: 9px; letter-spacing: .28em; }
  .review-lottery-poster .review-lottery-language { right: -8px; }
  .review-lottery-poster .review-lottery-lang-switcher .lang-switcher-toggle { min-width: 43px; padding: 5px 7px; font-size: 12px; }
  .review-lottery-poster .review-lottery-heading { margin-bottom: 20px; }
  .review-lottery-poster .review-lottery-panel h1 { font-size: clamp(28px, 8.2vw, 49px); }
  .review-lottery-poster .review-lottery-intro { font-size: clamp(14px, 3.65vw, 19px); margin-top: 8px; }
  .review-lottery-poster .review-lottery-wheel-stage { height: calc(var(--review-wheel-size) + 55px); padding-top: 15px; }
  .review-lottery-poster .review-lottery-light-ring { top: 17px; width: calc(var(--review-wheel-size) + 30px); height: calc(var(--review-wheel-size) + 30px); border-width: 8px; }
  .review-lottery-poster .review-lottery-light-ring i { width: 8px; height: 8px; }
  .review-lottery-poster .review-lottery-wheel-labels b { font-size: clamp(12px, 3.45vw, 20px); gap: 5px; }
  .review-lottery-poster .review-lottery-prize-icon { width: clamp(33px, 10vw, 57px); height: clamp(33px, 10vw, 57px); }
  .review-lottery-poster .review-lottery-pointer { width: 26px; height: 42px; top: 6px; }
  .review-lottery-poster .review-lottery-footer { margin-top: 21px; }
  .review-lottery-participation-note { font-size: 10px; line-height: 1.6; }
  .review-lottery-confetti i { width: 10px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .review-lottery-poster .review-lottery-light-ring i,
  .review-lottery-poster .review-lottery-light-ring::after,
  .review-lottery-poster .review-lottery-title-gold,
  .review-lottery-poster .review-lottery-confetti i { animation: none !important; }
}

/* Measured label boxes keep names and chosen pictures inside their sector. */
.review-lottery-poster .review-lottery-wheel-labels b > span:first-child { display:block; width:100%; min-width:0; word-break:normal; overflow-wrap:normal; }
.review-lottery-prize-visual { position:relative; display:block; flex:none; width:77px; height:77px; }
.review-lottery-prize-photo { display:none; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 3px 3px #57260055); }
.review-lottery-prize-visual.has-image .review-lottery-prize-photo { display:block; }
.review-lottery-prize-visual.has-image .review-lottery-prize-icon { display:none; }
.review-lottery-poster .review-lottery-prize-visual .review-lottery-prize-icon { width:100%; height:100%; }
