/* Shared layout; each game's colors and ornament sprites follow its existing UI. */
#daily-reward {
  font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif;
  color: var(--dr-ink);
  position: relative;
  z-index: 99999;
}
#daily-reward.dr-fishing {
  --dr-ink: #284d46;
  --dr-muted: #596956;
  --dr-panel: #f0eadc;
  --dr-line: #c8b989;
  --dr-soft: #e2e8d6;
  --dr-accent: #245f55;
  --dr-number: #af581f;
  --dr-cta-top: #458e79;
  --dr-cta-bottom: #22584d;
  --dr-cta-text: #fff3d0;
  --dr-cta-border: #d2b46b;
  --dr-cta-shadow: #173f36;
  --dr-chest-shine: #fff2ba;
  --dr-chest-metal: #c89a45;
  --dr-chest-edge: #ebd092;
  --dr-chest-lid: #1d514b;
  --dr-chest-body: #357d6e;
}
#daily-reward.dr-cupid {
  --dr-ink: #755132;
  --dr-muted: #846142;
  --dr-panel: #ffe6ad;
  --dr-line: #e5b978;
  --dr-soft: #fff4d8;
  --dr-accent: #15776b;
  --dr-number: #c42c75;
  --dr-cta-top: #ff83b6;
  --dr-cta-bottom: #e6478c;
  --dr-cta-text: #fff;
  --dr-cta-border: #fff4de;
  --dr-cta-shadow: #ad2e69;
  --dr-chest-shine: #fff9d8;
  --dr-chest-metal: #f2c460;
  --dr-chest-edge: #fff0b6;
  --dr-chest-lid: #c94485;
  --dr-chest-body: #f582b6;
}
#daily-reward * { box-sizing: border-box; }
#daily-reward [hidden] { display: none !important; }
#daily-reward button { font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
#daily-reward button:focus-visible { outline: 3px solid var(--dr-accent); outline-offset: 3px; }
#daily-reward .dr-chest {
  position: fixed; right: max(12px, calc((100vw - 750px)/2 + 12px)); top: 28%;
  width: 76px; padding: 3px; border: 0; color: #fff5d9; background: transparent;
  filter: drop-shadow(0 3px 4px #162f3d66);
}
#daily-reward .dr-chest svg { width: 65px; height: 53px; display: block; margin: auto; }
#daily-reward .dr-chest span {
  display: block; font-size: 13px; font-weight: 700;
  background: var(--dr-chest-lid); border: 1px solid var(--dr-chest-edge); border-radius: 12px;
}
#daily-reward .dr-mask {
  position: fixed; inset: 0; background: #061e20a6; display: flex; align-items: center;
  justify-content: center; padding: 24px 18px; z-index: 2; overscroll-behavior: contain;
}
#daily-reward.dr-cupid .dr-mask { background: #34234991; }
#daily-reward .dr-panel {
  position: relative; width: 440px; max-height: calc(100dvh - 48px); overflow: auto;
  padding: 0 22px 18px; background: var(--dr-panel); border: 2px solid var(--dr-line);
  border-radius: 15px; box-shadow: 0 0 0 4px #285d53, 0 0 0 6px #d9c083, 0 18px 70px #001e2b66;
  scrollbar-width: thin; scrollbar-color: var(--dr-line) var(--dr-panel);
}
#daily-reward.dr-cupid .dr-panel {
  border: 6px solid #edb66a; border-radius: 25px;
  box-shadow: 0 0 0 3px #fff8e8, inset 0 0 0 3px #fff0c9, 0 18px 70px #57376866;
}
#daily-reward .dr-close {
  position: absolute; right: 8px; top: 9px; z-index: 2;
  border: 0; width: 33px; height: 35px; background: none; padding: 0;
}
#daily-reward .dr-close-art { width: 100%; height: 100%; display: block; }
#daily-reward .dr-heading { position: relative; margin: 0 -22px 16px; }
#daily-reward .dr-heading-art { width: 100%; height: auto; display: block; }
#daily-reward h2 {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  margin: 0; padding-bottom: 1%; font-size: clamp(19px, 5.3vw, 25px); letter-spacing: 2px;
  color: #1c3f35; font-family: "Songti SC", "STSong", "SimSun", serif; font-weight: 900;
}
#daily-reward.dr-cupid h2 {
  padding-bottom: 0; transform: rotate(-8deg); color: #fff;
  font-family: inherit; font-size: clamp(18px, 5vw, 24px); font-weight: 600;
  text-shadow: 0 2px 0 #15786e;
}
#daily-reward .dr-totals {
  padding: 15px 10px 13px; border: 1px solid var(--dr-line); background: var(--dr-soft);
  text-align: center; border-radius: 10px; box-shadow: inset 0 0 0 3px #fff8e74d;
}
#daily-reward.dr-fishing .dr-totals { background: linear-gradient(135deg, #edf0df, #e1e8d7); }
#daily-reward .dr-totals > div { display: flex; align-items: center; justify-content: center; gap: 15px; font-weight: 600; }
#daily-reward .dr-totals b { font-size: 25px; color: var(--dr-accent); min-width: 95px; text-align: left; font-variant-numeric: tabular-nums; }
#daily-reward .dr-amount { margin: 12px 0; color: var(--dr-muted); font-size: 13px; }
#daily-reward .dr-amount strong { font-size: 30px; color: var(--dr-number); }
#daily-reward .dr-claim {
  display: block; margin: auto; min-width: 180px; padding: 9px 20px;
  background: linear-gradient(var(--dr-cta-top), var(--dr-cta-bottom));
  border: 2px solid var(--dr-cta-border); border-radius: 24px;
  box-shadow: inset 0 1px 0 #ffffff80, 0 3px 0 var(--dr-cta-shadow);
  color: var(--dr-cta-text); font-size: 21px; font-weight: bold;
}
#daily-reward.dr-fishing .dr-claim { border-radius: 8px 20px; text-shadow: 0 1px 2px #123d35; }
#daily-reward .dr-claim:disabled {
  cursor: default; background: linear-gradient(#ced1c4, #aeb5a5); border-color: #edf0e5;
  color: #455044; box-shadow: 0 3px 0 #89937e; text-shadow: none;
}
#daily-reward.dr-cupid .dr-claim:disabled { background: linear-gradient(#edd8c2, #d5bca6); color: #705b4d; box-shadow: 0 3px 0 #b79b85; }
#daily-reward .dr-message { font-size: 12px; margin: 12px 0 0; min-height: 18px; color: var(--dr-muted); }
#daily-reward .dr-retry { background: none; border: 0; text-decoration: underline; color: var(--dr-accent); padding: 8px; }
#daily-reward h3 {
  display: flex; align-items: center; gap: 14px; font-size: 18px; font-weight: 600;
  color: var(--dr-accent); text-align: center; margin: 20px 0 8px;
}
#daily-reward h3::before, #daily-reward h3::after { content: ""; flex: 1; height: 1px; background: var(--dr-line); }
#daily-reward .dr-rules { font-size: 13px; color: var(--dr-muted); line-height: 1.7; }
#daily-reward .dr-rules p { margin: 9px 0; white-space: pre-line; overflow-wrap: anywhere; }
#daily-reward table { width: 100%; border-collapse: collapse; text-align: center; margin: 15px 0; color: var(--dr-ink); font-size: 14px; }
#daily-reward th, #daily-reward td { border: 1px solid var(--dr-line); padding: 7px; }
#daily-reward th { background: var(--dr-accent); color: #fff9dd; font-weight: 500; }
#daily-reward td { background: #fff8e866; }
#daily-reward tr:nth-child(even) td { background: var(--dr-soft); }
@media (max-width: 360px) {
  #daily-reward .dr-panel { padding: 0 13px 14px; }
  #daily-reward .dr-heading { margin-left: -13px; margin-right: -13px; }
  #daily-reward .dr-chest { width: 62px; right: 8px; }
  #daily-reward .dr-rules { font-size: 12px; }
}
@media (max-height: 550px) {
  #daily-reward .dr-panel { max-height: 90vh; }
  #daily-reward .dr-mask { padding: 16px; }
}

/* 小礼物入口：按各游戏坐标定位，随原生舞台缩放。 */
#daily-reward .dr-chest {
  left: 0; top: 0; right: auto; width: 88px; height: 96px; padding: 0;
  transform-origin: 0 0; visibility: hidden;
}
#daily-reward .dr-chest.dr-positioned { visibility: visible; }
#daily-reward .dr-chest .dr-gift-icon { width: 64px; height: 70px; margin: 0 auto 2px; }
#daily-reward .dr-chest span { font-size: 16px; line-height: 22px; border-radius: 12px; }
