/* 小游戏成功后的刮奖主场景，保持六套主题与手机横屏适配。 */
.equipment-unlock {
  position: absolute;
  inset: calc(var(--safe-top, 0px) + 76px) max(30px, env(safe-area-inset-right, 0px)) max(26px, env(safe-area-inset-bottom, 0px)) max(30px, env(safe-area-inset-left, 0px));
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(28px, 5vw, 76px);
  max-width: 1000px;
  max-height: 580px;
  margin: auto;
  color: var(--theme-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.equipment-unlock * { box-sizing: border-box; }
.equipment-scratch-column { min-width: 0; display: flex; flex-direction: column; align-items: center; }
.equipment-scratch-ticket {
  position: relative;
  width: min(100%, 380px, calc((100dvh - 175px) * 1.2));
  aspect-ratio: 6 / 5;
  overflow: hidden;
  isolation: isolate;
  border-radius: 23px;
  box-shadow: 0 18px 46px rgba(var(--theme-primary-rgb), .14), 0 0 0 1px var(--theme-line);
  background: radial-gradient(ellipse at 50% 45%, rgba(var(--theme-primary-rgb), .09), transparent 75%), var(--theme-surface);
}
.equipment-scratch-prize { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding: 25px 22px 23px; text-align: center; }
.equipment-scratch-number { color: var(--theme-muted); font-size: 10px; letter-spacing: 1.3px; }
.equipment-scratch-prize img { flex: 1; min-height: 0; width: 68%; margin: 12px 0 8px; object-fit: contain; filter: drop-shadow(0 7px 4px rgba(28, 49, 35, .12)); user-select: none; }
.equipment-scratch-prize h2 { flex-shrink: 0; margin: 0; color: var(--theme-text); font-size: 26px; font-weight: 700; line-height: 1.3; }
.equipment-scratch-prize p { flex-shrink: 0; margin: 8px 0 0; max-width: 27em; color: var(--theme-secondary); font-size: 11px; line-height: 1.7; }
.equipment-scratch-canvas, .equipment-scratch-fallback { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; display: block; border: 0; border-radius: inherit; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; cursor: crosshair; }
.equipment-scratch-canvas { background: var(--theme-primary); }
.equipment-scratch-canvas.is-ready { background: transparent; }
.equipment-scratch-canvas:focus-visible { outline: 3px solid var(--theme-on-primary); outline-offset: -7px; }
.equipment-scratch-fallback { font: inherit; font-size: 20px; background: var(--theme-primary); color: var(--theme-on-primary); cursor: pointer; }
.equipment-scratch-collected { position: absolute; right: 12px; top: 12px; padding: 5px 8px; border-radius: 7px; background: var(--theme-soft); color: var(--theme-primary); font-size: 10px; }
.equipment-scratch-footer { position: relative; width: 100%; min-height: 48px; padding-top: 18px; text-align: center; }
.equipment-scratch-progress { width: 92px; height: 3px; margin: 0 auto 9px; overflow: hidden; border-radius: 5px; background: rgba(var(--theme-primary-rgb), .14); }
.equipment-scratch-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--theme-primary); }
.equipment-scratch-footer p { margin: 0; color: var(--theme-secondary); font-size: 11px; line-height: 1.5; }
.equipment-scratch-keyboard { position: absolute; top: 100%; left: 0; right: 0; padding-top: 5px; color: var(--theme-primary); font-size: 10px; opacity: 0; }
.equipment-scratch-column:has(.equipment-scratch-canvas:focus-visible) .equipment-scratch-keyboard { opacity: 1; }
.equipment-unlock-copy { min-width: 0; }
.equipment-unlock-kicker { display: flex; align-items: center; gap: 8px; color: var(--theme-primary); font-size: 12px; font-weight: 600; letter-spacing: 1px; }
.equipment-unlock-kicker > span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(var(--theme-primary-rgb), .1); font-size: 12px; }
.equipment-unlock h1 { margin: 16px 0 24px; font-size: clamp(30px, 4vw, 46px); font-weight: 750; line-height: 1.2; letter-spacing: 1px; }
.equipment-unlock-message { min-height: 136px; }
.equipment-unlock-intro, .equipment-unlock-encouragement { margin: 0; color: var(--theme-secondary); font-size: clamp(15px, 1.8vw, 19px); line-height: 1.85; }
.equipment-unlock-encouragement { margin-top: 16px; color: var(--theme-text); }
.equipment-unlock-encouragement strong { margin: 0 4px; color: var(--theme-primary); font-size: 1.2em; }
.equipment-unlock-receipt { display: inline-flex; align-items: center; gap: 7px; color: var(--theme-primary); font-size: 12px; line-height: 1.5; }
.equipment-unlock-receipt > span:first-child { font-size: 19px; }
.equipment-unlock-waiting { display: flex; align-items: center; gap: 9px; margin-top: 19px; color: var(--theme-primary); font-size: 12px; }
.equipment-unlock-waiting > span { font-size: 22px; }
.equipment-unlock-action { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 22px; }
.equipment-unlock .equipment-quiz-button { min-width: 208px; min-height: 48px; padding: 12px 19px; font-size: 15px; }
.equipment-quiz-button > span { font-size: 24px; line-height: .8; }
.equipment-quiz-button:focus-visible { outline: 3px solid var(--theme-primary); outline-offset: 4px; }
.equipment-unlock-next { display: flex; align-items: center; min-height: 48px; color: var(--theme-muted); font-size: 12px; }
.equipment-unlock-count { color: var(--theme-muted); font-size: 11px; }
.equipment-unlock-count strong { margin-left: 3px; color: var(--theme-primary); font-size: 14px; font-variant-numeric: tabular-nums; }

@media (max-height: 600px), (max-width: 850px) {
  .equipment-unlock { top: calc(var(--safe-top, 0px) + 62px); bottom: max(18px, env(safe-area-inset-bottom, 0px)); max-width: 870px; gap: clamp(24px, 4vw, 48px); }
  .equipment-scratch-ticket { width: min(100%, 330px, calc((100dvh - 150px) * 1.2)); border-radius: 18px; }
  .equipment-scratch-prize { padding: 18px 17px; }
  .equipment-scratch-prize h2 { font-size: 22px; }
  .equipment-scratch-prize img { margin: 9px 0 7px; }
  .equipment-scratch-prize p { margin-top: 6px; font-size: 10px; line-height: 1.5; }
  .equipment-scratch-collected { top: 8px; right: 8px; padding: 4px 6px; font-size: 9px; }
  .equipment-unlock h1 { margin: 10px 0 16px; font-size: 32px; }
  .equipment-unlock-message { min-height: 104px; }
  .equipment-unlock-intro, .equipment-unlock-encouragement { font-size: 16px; line-height: 1.7; }
  .equipment-unlock-waiting { margin-top: 12px; }
  .equipment-unlock-encouragement { margin-top: 10px; }
  .equipment-unlock-action { margin-top: 12px; gap: 9px; }
  .equipment-unlock .equipment-quiz-button { min-height: 44px; font-size: 14px; min-width: 184px; }
  .equipment-unlock-next { min-height: 44px; font-size: 11px; }
}
@media (max-height: 410px) {
  .equipment-unlock { top: calc(var(--safe-top, 0px) + 54px); bottom: max(13px, env(safe-area-inset-bottom, 0px)); }
  .equipment-scratch-ticket { width: min(100%, 290px, calc((100dvh - 123px) * 1.2)); }
  .equipment-scratch-prize { padding: 14px 13px; }
  .equipment-scratch-prize h2 { font-size: 21px; }
  .equipment-scratch-number { font-size: 9px; letter-spacing: .7px; }
  .equipment-scratch-footer { padding-top: 11px; min-height: 40px; }
  .equipment-scratch-footer p { font-size: 10px; }
  .equipment-unlock-kicker { font-size: 10px; gap: 6px; }
  .equipment-unlock-kicker > span { width: 18px; height: 18px; font-size: 10px; }
  .equipment-unlock h1 { margin: 8px 0 13px; font-size: 29px; }
  .equipment-unlock-message { min-height: 94px; }
  .equipment-unlock-intro, .equipment-unlock-encouragement { font-size: 14px; }
  .equipment-unlock-receipt, .equipment-unlock-waiting { font-size: 11px; }
  .equipment-unlock-action { margin-top: 8px; gap: 7px; }
}
@media (max-width: 650px) {
  .equipment-unlock { left: max(18px, env(safe-area-inset-left, 0px)); right: max(18px, env(safe-area-inset-right, 0px)); gap: 22px; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); }
  .equipment-unlock h1 { font-size: 26px; }
  .equipment-unlock-intro, .equipment-unlock-encouragement { font-size: 13px; }
  .equipment-unlock .equipment-quiz-button { min-width: 172px; }
}
@media (max-height: 340px) {
  .equipment-unlock h1 { margin: 6px 0 9px; font-size: 25px; }
  .equipment-unlock-message { min-height: 79px; }
  .equipment-unlock-waiting { margin-top: 7px; }
  .equipment-unlock-encouragement { margin-top: 6px; }
  .equipment-unlock-count { font-size: 10px; }
  .equipment-unlock-action { margin-top: 6px; gap: 5px; }
  .equipment-scratch-prize img { margin: 5px 0; }
  .equipment-scratch-prize h2 { font-size: 18px; }
  .equipment-scratch-prize p { font-size: 9px; }
}
